/**
 * Zovelo compatibility styles.
 *
 * Loaded after the core theme stylesheet to normalize optional plugin and
 * WooCommerce presentation without overriding user content.
 */

/* Dark cards and sidebars always keep readable contrast. */

.blog-sidebar-newsletter,
.zovelo-sidebar .blog-sidebar-newsletter,
.article-sidebar .blog-sidebar-newsletter,
.blog-single-sidebar .blog-sidebar-newsletter {
    background: var(--ink,#151714) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.12) !important;
}

.blog-sidebar-newsletter h2,
.blog-sidebar-newsletter h3,
.blog-sidebar-newsletter h4,
.blog-sidebar-newsletter p,
.blog-sidebar-newsletter label,
.blog-sidebar-newsletter .zovelo-newsletter-consent {
    color: #fff !important;
}

.blog-sidebar-newsletter p {
    color: rgba(255,255,255,.68) !important;
}

.blog-sidebar-newsletter .zovelo-newsletter-consent {
    color: rgba(255,255,255,.75) !important;
    padding: 0 !important;
}

.blog-sidebar-newsletter .zovelo-newsletter-consent a {
    color: var(--lime,#d9ff57) !important;
}

.blog-sidebar-newsletter .zovelo-newsletter-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
}

.blog-sidebar-newsletter .zovelo-newsletter-row>input {
    min-height: 50px !important;
    background: #fff !important;
    color: var(--ink,#151714) !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    border-radius: 14px !important;
    padding: 12px 15px !important;
}

.blog-sidebar-newsletter .zovelo-newsletter-row>.btn {
    width: 100% !important;
    min-height: 48px !important;
}

/* Footer contrast. */

.footer:not(.footer--minimal),.footer--editorial {
    color: var(--zovelo-footer-text,#fff) !important;
}

.footer:not(.footer--minimal) .footer-col h2,
.footer:not(.footer--minimal) .footer-col h3,
.footer:not(.footer--minimal) .footer-col h4,
.footer--editorial .footer-col h2,
.footer--editorial .footer-col h3,
.footer--editorial .footer-col h4 {
    color: var(--zovelo-footer-text,#fff) !important;
}

.footer:not(.footer--minimal) .footer-col a,.footer:not(.footer--minimal) p {
    color: color-mix(in srgb,var(--zovelo-footer-text,#fff) 68%,transparent) !important;
}

.footer .footer-col > h3.footer-heading {
    font-size: clamp(1.25rem,1.3vw,1.375rem) !important;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.035em;
}

.footer .socials .icon-btn {
    background: rgba(255,255,255,.09) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.18) !important;
}

.footer .socials .icon-btn svg:not(.zovelo-icon--brand) {
    stroke: currentColor !important;
    fill: none !important;
}

.footer .socials .icon-btn:hover {
    background: var(--lime,#d9ff57) !important;
    color: var(--ink,#151714) !important;
}

/* Shop view switcher: clear visible icons. */

.zovelo-view-buttons {
    display: flex !important;
    gap: 8px !important;
    flex: none !important;
}

.zovelo-view-buttons .icon-btn {
    display: grid !important;
    place-items: center !important;
    width: 48px !important;
    height: 48px !important;
    background: var(--surface,#fff) !important;
    color: var(--ink,#151714) !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 14px !important;
    opacity: 1 !important;
}

.zovelo-view-buttons .icon-btn svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

.zovelo-view-buttons .icon-btn.active {
    background: var(--ink,#151714) !important;
    color: #fff !important;
    border-color: var(--ink,#151714) !important;
}

/* Premium product list layout. */

.zovelo-list-summary,.zovelo-list-actions {
    display: none;
}

.zovelo-list-summary {
    color: var(--muted,#666b65);
    line-height: 1.65;
    max-width: 660px;
}

.woocommerce ul.products.list-view {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
}

.woocommerce ul.products.list-view li.product.product-card {
    display: grid !important;
    grid-template-columns: minmax(260px,34%) minmax(0,1fr) !important;
    min-height: 310px !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 30px !important;
    background: var(--surface,#fff) !important;
    overflow: hidden !important;
    box-shadow: 0 18px 50px rgba(17,20,16,.06) !important;
}

.woocommerce ul.products.list-view .product-media {
    min-height: 310px !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
}

.woocommerce ul.products.list-view .product-image-link,
.woocommerce ul.products.list-view .product-image-link img {
    height: 100% !important;
    min-height: 310px !important;
    width: 100% !important;
    object-fit: cover !important;
}

.woocommerce ul.products.list-view .product-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: clamp(28px,4vw,54px) !important;
    border: 0 !important;
}

.woocommerce ul.products.list-view .product-info small {
    margin: 0 !important;
}

.woocommerce ul.products.list-view .woocommerce-loop-product__title {
    font-size: clamp(1.65rem,3vw,2.7rem) !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.woocommerce ul.products.list-view .zovelo-list-summary {
    display: block !important;
}

.woocommerce ul.products.list-view .product-meta {
    width: 100% !important;
    margin-top: 2px !important;
}

.woocommerce ul.products.list-view .quick-add {
    display: none !important;
}

.woocommerce ul.products.list-view .zovelo-list-actions {
    display: block !important;
    margin-top: 10px !important;
    width: min(260px,100%) !important;
}

.woocommerce ul.products.list-view .zovelo-list-actions .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 999px !important;
    background: var(--lime,#d9ff57) !important;
    color: var(--ink,#151714) !important;
    font-weight: 900 !important;
}

.woocommerce ul.products.list-view .zovelo-compare-card {
    top: 72px !important;
}

/* Shared category/catalogue title area. */

.zovelo-home-canvas>.page-heading:first-child {
    margin-top: 0;
}

.tax-product_cat .page-heading-shell,.post-type-archive-product .page-heading-shell {
    overflow: hidden;
}

/* Premium checkout. */

.woocommerce-checkout .woocommerce {
    max-width: 1280px;
    margin: 0 auto;
}

.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(360px,440px) !important;
    gap: 32px !important;
    align-items: start !important;
}

.woocommerce-checkout form.checkout>.col2-set,
.woocommerce-checkout #order_review {
    background: var(--surface,#fff) !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 30px !important;
    padding: clamp(24px,4vw,42px) !important;
    box-shadow: 0 20px 60px rgba(17,20,16,.06) !important;
}

.woocommerce-checkout .col-1,.woocommerce-checkout .col-2 {
    float: none !important;
    width: 100% !important;
}

.woocommerce-checkout .col-2 {
    margin-top: 28px !important;
    padding-top: 28px !important;
    border-top: 1px solid var(--line,#dedfd9) !important;
}

.woocommerce-checkout #order_review_heading {
    grid-column: 2 !important;
    margin: 0 0 -20px !important;
    padding: 28px 34px 0 !important;
    position: relative !important;
    z-index: 2 !important;
    font-size: 1.55rem !important;
}

.woocommerce-checkout #order_review {
    grid-column: 2 !important;
    position: sticky !important;
    top: 120px !important;
}

.woocommerce-checkout h3 {
    font-size: clamp(1.45rem,2.5vw,2rem) !important;
    margin: 0 0 22px !important;
}

.woocommerce form.checkout .form-row {
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.woocommerce form.checkout .form-row label {
    display: block !important;
    margin: 0 0 8px !important;
    font-weight: 800 !important;
    color: var(--ink,#151714) !important;
}

.woocommerce form.checkout .input-text,
.woocommerce form.checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
    min-height: 56px !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 15px !important;
    background: var(--paper,#f6f4ee) !important;
    color: var(--ink,#151714) !important;
    padding: 14px 16px !important;
    box-shadow: none !important;
}

.woocommerce-checkout .select2-container .select2-selection--single {
    padding: 12px 45px 12px 14px !important;
}

.woocommerce form.checkout textarea.input-text {
    min-height: 130px !important;
    resize: vertical !important;
}

.woocommerce form.checkout .input-text:focus,.woocommerce form.checkout select:focus {
    border-color: var(--ink,#151714) !important;
    box-shadow: 0 0 0 3px rgba(21,23,20,.1) !important;
    outline: 0 !important;
}

.woocommerce-checkout-review-order-table {
    margin: 0 0 24px !important;
}

.woocommerce-checkout-review-order-table .product-name {
    font-weight: 750 !important;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    font-size: 1.15rem !important;
    color: var(--ink,#151714) !important;
}

.woocommerce-checkout #payment {
    background: var(--paper,#f6f4ee) !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 22px !important;
    overflow: hidden !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 22px !important;
}

.woocommerce-checkout #payment div.payment_box {
    background: var(--surface,#fff) !important;
    border-radius: 14px !important;
    color: var(--muted,#666b65) !important;
}

.woocommerce-checkout #payment div.payment_box:before {
    border-bottom-color: var(--surface,#fff) !important;
}

.woocommerce-checkout #payment .place-order {
    padding: 22px !important;
}

.woocommerce-checkout #place_order {
    min-height: 58px !important;
    border-radius: 999px !important;
    background: var(--lime,#d9ff57) !important;
    color: var(--ink,#151714) !important;
    font-weight: 900 !important;
    font-size: 1rem !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle,.woocommerce-checkout .woocommerce-form-login-toggle {
    grid-column: 1/-1 !important;
}

.woocommerce-checkout .woocommerce-info {
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 18px !important;
    background: var(--surface,#fff) !important;
    color: var(--ink,#151714) !important;
    padding: 18px 22px 18px 58px !important;
}

.woocommerce-checkout .woocommerce-info:before {
    top: 18px !important;
    color: var(--ink,#151714) !important;
}

/* Comments/reviews rhythm. */

.zovelo-comments-panel,.woocommerce #reviews #review_form_wrapper {
    padding: clamp(26px,4vw,48px) !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 30px !important;
    background: var(--surface,#fff) !important;
}

.zovelo-comment-form,.woocommerce #review_form #respond form {
    display: grid !important;
    gap: 18px !important;
    margin-top: 24px !important;
}

.comment-form p,.woocommerce #review_form #respond p {
    margin: 0 !important;
}

.comment-form label,.woocommerce #review_form #respond label {
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 800 !important;
}

.comment-form input,
.comment-form textarea,
.woocommerce #review_form #respond input,
.woocommerce #review_form #respond textarea {
    min-height: 52px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 15px !important;
    background: var(--paper,#f6f4ee) !important;
    color: var(--ink,#151714) !important;
}

.comment-form textarea,.woocommerce #review_form #respond textarea {
    min-height: 150px !important;
}

.comment-form .form-submit,.woocommerce #review_form #respond .form-submit {
    margin-top: 4px !important;
}

.comment-form .submit,.woocommerce #review_form #respond #submit {
    min-height: 56px !important;
    width: 100% !important;
    border-radius: 999px !important;
    background: var(--ink,#151714) !important;
    color: #fff !important;
}

.zovelo-post-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 34px;
    padding-top: 24px;
    border-top: 1px solid var(--line,#dedfd9);
}

.zovelo-post-tags>span {
    font-weight: 900;
}

.zovelo-post-tags a {
    padding: 8px 12px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 999px;
    background: var(--paper,#f6f4ee);
    font-weight: 750;
}

/* WordPress required presentation classes and block styles. */

.wp-caption {
    max-width: 100%;
    margin-bottom: 1.5em;
}

.wp-caption-text,.gallery-caption {
    color: var(--muted,#666b65);
    font-size: .85rem;
    line-height: 1.5;
    margin-top: .5rem;
}

.sticky {
    position: relative;
}

.bypostauthor {
    position: relative;
}

.alignleft {
    float: left;
    margin: .35rem 1.5rem 1rem 0;
}

.alignright {
    float: right;
    margin: .35rem 0 1rem 1.5rem;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.is-style-zovelo-panel {
    padding: clamp(24px,5vw,56px);
    border: 1px solid var(--line,#dedfd9);
    border-radius: var(--radius,28px);
    background: var(--surface,#fff);
}

.wp-block-button.is-style-zovelo-pill .wp-block-button__link {
    border-radius: 999px;
}

.wp-block-image.is-style-zovelo-rounded img {
    border-radius: var(--radius,28px);
}

@media (max-width:900px) {
    .woocommerce ul.products.list-view li.product.product-card {
        grid-template-columns: 220px minmax(0,1fr) !important;
    }

    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review {
        grid-column: 1 !important;
    }

    .woocommerce-checkout #order_review {
        position: static !important;
    }

    .woocommerce-checkout #order_review_heading {
        margin: 0 0 -18px !important;
    }
}

@media (max-width:640px) {
    .woocommerce ul.products.list-view li.product.product-card {
        grid-template-columns: 1fr !important;
    }

    .woocommerce ul.products.list-view .product-media,
    .woocommerce ul.products.list-view .product-image-link,
    .woocommerce ul.products.list-view .product-image-link img {
        min-height: 260px !important;
        height: 260px !important;
    }

    .woocommerce ul.products.list-view .product-info {
        padding: 24px !important;
    }

    .zovelo-shop-toolbar {
        flex-wrap: wrap !important;
    }

    .zovelo-wc-toolbar {
        order: 3;
        flex-basis: 100% !important;
    }

    .alignleft,.alignright {
        float: none;
        margin: 1rem auto;
        display: block;
    }
}

/* Zovelo 1.5.5 final commerce fixes. */

.zovelo-cart-overlay {
    background: rgba(10,12,10,.48) !important;
    backdrop-filter: blur(5px);
}

.zovelo-cart-overlay .drawer-head .icon-btn {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    line-height: 1 !important;
    border-radius: 50% !important;
}

.zovelo-cart-overlay .drawer-head .icon-btn svg {
    display: none !important;
}

.zovelo-cart-overlay .drawer-head .icon-btn::before,.zovelo-cart-overlay .drawer-head .icon-btn::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transform-origin: center;
}

.zovelo-cart-overlay .drawer-head .icon-btn::before {
    transform: translate(-50%,-50%) rotate(45deg);
}

.zovelo-cart-overlay .drawer-head .icon-btn::after {
    transform: translate(-50%,-50%) rotate(-45deg);
}

.tax-product_cat .page-heading-shell,.post-type-archive-product .page-heading-shell {
    background: var(--ink,#151714) !important;
    color: #fff !important;
}

.tax-product_cat .page-heading h1,
.tax-product_cat .page-heading .kicker,
.tax-product_cat .page-heading p,
.post-type-archive-product .page-heading h1,
.post-type-archive-product .page-heading .kicker,
.post-type-archive-product .page-heading p {
    color: #fff !important;
}

.tax-product_cat .page-heading p,.post-type-archive-product .page-heading p {
    color: rgba(255,255,255,.7) !important;
}

.woocommerce div.product form.cart .variations .zovelo-variation-control {
    display: grid;
    gap: 10px;
    position: relative;
}

.zovelo-swatches {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 2px;
}

.zovelo-swatch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 44px;
    min-height: 44px;
    padding: 6px 12px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 999px;
    background: var(--surface,#fff);
    color: var(--ink,#151714);
    cursor: pointer;
    font: inherit;
    font-size: .82rem;
    font-weight: 800;
    transition: border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.zovelo-swatch:hover {
    border-color: var(--ink,#151714);
    transform: translateY(-1px);
}

.zovelo-swatch.is-selected {
    border-color: var(--ink,#151714);
    box-shadow: 0 0 0 2px var(--surface,#fff),0 0 0 4px var(--ink,#151714);
}

.zovelo-swatch:focus-visible {
    outline: 3px solid color-mix(in srgb,var(--lime,#d9ff57) 72%,transparent);
    outline-offset: 3px;
}

.zovelo-swatch:disabled,.zovelo-swatch.is-disabled {
    opacity: .35;
    cursor: not-allowed;
    text-decoration: line-through;
    transform: none;
}

.zovelo-swatch--color {
    width: 46px;
    min-width: 46px;
    padding: 5px;
    border-radius: 50%;
}

.zovelo-swatch--color .zovelo-swatch__visual {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: linear-gradient(135deg,#ddd 0 50%,#999 50%);
    border: 1px solid rgba(15,18,15,.18);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.55);
}

.zovelo-swatch--color svg.zovelo-swatch__visual {
    background: #fff;
    overflow: visible;
}

.zovelo-swatch--color svg.zovelo-swatch__visual circle {
    stroke: rgba(15,18,15,.12);
    stroke-width: 1;
}

.zovelo-swatch--color .zovelo-swatch__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

.zovelo-checkout-intro {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    margin: 0 0 30px;
    padding: clamp(25px,4vw,40px);
    border-radius: 30px;
    background: var(--ink,#151714);
    color: #fff;
    overflow: hidden;
}

.zovelo-checkout-intro .kicker,.zovelo-checkout-intro h2 {
    color: #fff !important;
}

.zovelo-checkout-intro h2 {
    margin: 6px 0 0 !important;
    max-width: 620px;
    font-size: clamp(1.8rem,4vw,3.3rem) !important;
    line-height: 1 !important;
}

.zovelo-checkout-intro ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.zovelo-checkout-intro li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 13px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    font-size: .78rem;
    font-weight: 800;
}

.zovelo-checkout-intro svg {
    width: 17px;
    height: 17px;
    stroke: var(--lime,#d9ff57);
}

.woocommerce-checkout form.checkout>.col2-set {
    grid-column: 1 !important;
    grid-row: 1 / span 4 !important;
}

.woocommerce-checkout #order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.woocommerce-checkout #order_review {
    grid-column: 2 !important;
    grid-row: 2 !important;
}

.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
    grid-column: 1/-1 !important;
}

.woocommerce-checkout form.checkout_coupon,.woocommerce-checkout form.login {
    max-width: 760px;
    margin: 0 0 26px !important;
    padding: 24px !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 22px !important;
    background: var(--surface,#fff) !important;
}

/* WooCommerce Checkout Block support. */

.woocommerce-checkout .wp-block-woocommerce-checkout {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.woocommerce-checkout .wc-block-checkout {
    gap: 32px !important;
}

.woocommerce-checkout .wc-block-checkout__main {
    padding-right: 0 !important;
}

.woocommerce-checkout .wc-block-checkout__sidebar {
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout .wc-block-components-checkout-step,.woocommerce-checkout .wc-block-components-sidebar {
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 28px !important;
    background: var(--surface,#fff) !important;
    box-shadow: 0 18px 55px rgba(17,20,16,.055) !important;
}

.woocommerce-checkout .wc-block-components-checkout-step {
    margin: 0 0 18px !important;
    padding: clamp(22px,3vw,34px) !important;
}

.woocommerce-checkout .wc-block-components-checkout-step__heading {
    margin: 0 0 20px !important;
}

.woocommerce-checkout .wc-block-components-sidebar {
    padding: clamp(22px,3vw,32px) !important;
    position: sticky !important;
    top: 118px !important;
}

.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input {
    min-height: 56px !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 15px !important;
    background: var(--paper,#f6f4ee) !important;
    box-shadow: none !important;
}

.woocommerce-checkout .wc-block-components-button.wc-block-components-checkout-place-order-button {
    min-height: 60px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--lime,#d9ff57) !important;
    color: var(--ink,#151714) !important;
    font-weight: 900 !important;
    box-shadow: none !important;
}

.woocommerce-checkout .wc-block-components-totals-wrapper {
    border-color: var(--line,#dedfd9) !important;
}

.woocommerce-checkout .wc-block-components-order-summary-item__description {
    padding-right: 0 !important;
}

/* Last-loaded contrast rules: prevent generic sidebar/card rules from turning this card white. */

.zovelo-journal-sidebar .blog-sidebar-card.blog-sidebar-newsletter,.blog-sidebar-card.blog-sidebar-newsletter {
    background: var(--ink,#151714) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.12) !important;
}

.zovelo-journal-sidebar .blog-sidebar-card.blog-sidebar-newsletter h3,
.zovelo-journal-sidebar .blog-sidebar-card.blog-sidebar-newsletter p,
.zovelo-journal-sidebar .blog-sidebar-card.blog-sidebar-newsletter label {
    color: #fff !important;
}

.zovelo-journal-sidebar .blog-sidebar-card.blog-sidebar-newsletter p {
    color: rgba(255,255,255,.7) !important;
}

.footer.footer--classic .footer-col h2,
.footer.footer--classic .footer-col h3,
.footer.footer--classic .footer-col h4,
.footer.footer--editorial .footer-col h2,
.footer.footer--editorial .footer-col h3,
.footer.footer--editorial .footer-col h4,
.footer.footer--catalog .footer-col h2,
.footer.footer--catalog .footer-col h3,
.footer.footer--catalog .footer-col h4 {
    color: #fff !important;
}

@media (max-width:900px) {
    .zovelo-checkout-intro {
        align-items: flex-start;
        flex-direction: column;
    }

    .zovelo-checkout-intro ul {
        justify-content: flex-start;
    }

    .woocommerce-checkout form.checkout>.col2-set,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .woocommerce-checkout .wc-block-components-sidebar {
        position: static !important;
    }
}

@media (max-width:600px) {
    .zovelo-checkout-intro li {
        width: 100%;
        justify-content: flex-start;
    }

    .zovelo-swatch {
        min-height: 42px;
    }
}

/* Zovelo 1.5.5 — single product layout matched to the approved storefront reference. */

.single-product .zovelo-single-product-main .inner-section {
    padding-top: 34px;
}

.single-product .zovelo-product-detail-container {
    width: min(1280px,calc(100% - 40px));
    max-width: 1280px;
}

.single-product div.product.zovelo-product-showcase {
    display: block !important;
    margin: 0 !important;
}

.single-product div.product.zovelo-product-showcase:before,
.single-product div.product.zovelo-product-showcase:after {
    display: none !important;
}

.zovelo-product-showcase__top {
    display: grid;
    grid-template-columns: minmax(0,1.08fr) minmax(420px,.92fr);
    gap: clamp(32px,4vw,54px);
    align-items: start;
}

.zovelo-product-showcase__media {
    position: relative;
    min-width: 0;
}

.zovelo-product-showcase__summary.summary {
    width: auto !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    padding: clamp(28px,3vw,38px) !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 34px !important;
    background: var(--surface,#fff) !important;
    box-shadow: 0 20px 55px rgba(17,20,16,.07) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    position: relative !important;
    top: auto !important;
}

.zovelo-showcase-badge {
    position: absolute;
    z-index: 8;
    left: 148px;
    top: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    background: var(--lime,#d9ff57);
    color: var(--ink,#151714);
    font-size: .84rem;
    font-weight: 900;
    line-height: 1;
}

.zovelo-product-showcase .woocommerce-product-gallery {
    display: grid !important;
    grid-template-columns: 112px minmax(0,1fr);
    grid-template-rows: auto;
    gap: 16px;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    position: relative;
}

.zovelo-product-showcase .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper,
.zovelo-product-showcase .woocommerce-product-gallery>.flex-viewport {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    border-radius: 46px 46px 112px 0 !important;
    overflow: hidden !important;
    background: var(--surface,#fff);
}

.zovelo-product-showcase .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
    background: transparent !important;
}

.zovelo-product-showcase .woocommerce-product-gallery__image {
    overflow: hidden;
    background: var(--surface,#fff);
}

.zovelo-product-showcase .woocommerce-product-gallery__image a {
    display: block;
}

.zovelo-product-showcase .woocommerce-product-gallery__image img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1/1.01;
    object-fit: cover;
    margin: 0 !important;
}

.zovelo-product-showcase .flex-control-thumbs {
    grid-column: 1;
    grid-row: 1;
    display: flex !important;
    flex-direction: column;
    gap: 12px;
    width: 100% !important;
    max-height: 716px;
    margin: 0 !important;
    padding: 0 3px !important;
    overflow: auto;
    list-style: none;
    scrollbar-width: thin;
}

.zovelo-product-showcase .flex-control-thumbs li {
    float: none !important;
    flex: 0 0 auto;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.zovelo-product-showcase .flex-control-thumbs img {
    display: block;
    width: 100% !important;
    aspect-ratio: 1;
    object-fit: cover;
    border: 3px solid transparent;
    border-radius: 22px !important;
    opacity: 1 !important;
    cursor: pointer;
    transition: border-color .2s ease,box-shadow .2s ease;
}

.zovelo-product-showcase .flex-control-thumbs img.flex-active {
    border-color: var(--lime,#d9ff57) !important;
    box-shadow: 0 0 0 3px var(--paper,#f6f4ee),0 0 0 5px var(--lime,#d9ff57) !important;
}

.zovelo-product-showcase .woocommerce-product-gallery__trigger {
    display: none !important;
}

.single-product .zovelo-showcase-title {
    margin: 0 0 18px !important;
    color: var(--ink,#151714) !important;
    font-size: clamp(2rem,3.4vw,3.7rem) !important;
    font-weight: 900 !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
}

.zovelo-showcase-description {
    margin: 0 0 26px;
    color: var(--muted,#666b65);
    font-size: clamp(1rem,1.25vw,1.22rem);
    line-height: 1.7;
}

.zovelo-showcase-description>:first-child {
    margin-top: 0;
}

.zovelo-showcase-description>:last-child {
    margin-bottom: 0;
}

.zovelo-showcase-size-guide-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: -6px 0 26px;
    padding: 15px 18px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 16px;
    background: var(--paper,#f6f4ee);
    font-weight: 900;
}

.zovelo-showcase-size-guide-row .zovelo-size-guide-link {
    color: var(--muted,#666b65);
    font-size: .92rem;
    font-weight: 650;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.zovelo-showcase-size-guide-row .zovelo-size-guide-link:hover {
    color: var(--ink,#151714);
}

.zovelo-product-showcase table.variations {
    display: block;
    width: 100%;
    margin: 0 0 34px !important;
    border: 0 !important;
}

.zovelo-product-showcase table.variations tbody {
    display: block;
}

.zovelo-product-showcase table.variations tr {
    display: block;
    position: relative;
    margin: 0;
    padding: 0;
    border: 0;
}

.zovelo-product-showcase table.variations tr+tr {
    margin-top: 27px;
}

.zovelo-product-showcase table.variations th.label,.zovelo-product-showcase table.variations td.value {
    display: block;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left;
}

.zovelo-product-showcase table.variations th.label {
    margin: 0 0 12px;
}

.zovelo-product-showcase table.variations th.label label {
    display: block;
    margin: 0;
    color: var(--ink,#151714);
    font-size: 1.08rem;
    font-weight: 900;
    line-height: 1.25;
}

.zovelo-product-showcase .zovelo-variation-control {
    display: block !important;
    position: relative !important;
}

.zovelo-product-showcase .zovelo-variation-control>select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.zovelo-product-showcase .zovelo-variation-current {
    position: absolute;
    right: 0;
    top: -40px;
    color: var(--muted,#666b65);
    font-size: .92rem;
    font-weight: 500;
    line-height: 1.3;
}

.zovelo-product-showcase .zovelo-size-guide-link:hover {
    color: var(--ink,#151714);
}

.zovelo-product-showcase .reset_variations {
    display: inline-flex !important;
    margin-top: 10px;
    color: var(--muted,#666b65);
    font-size: .76rem;
    font-weight: 750;
}

.zovelo-product-showcase .zovelo-swatches {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    margin: 0;
}

.zovelo-product-showcase .zovelo-swatch {
    min-width: 58px;
    min-height: 54px;
    padding: 0 15px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 15px;
    background: #fff;
    color: var(--ink,#151714);
    font-size: 1rem;
    font-weight: 900;
    box-shadow: none;
    transform: none;
}

.zovelo-product-showcase .zovelo-swatch:hover {
    border-color: var(--ink,#151714);
    transform: none;
}

.zovelo-product-showcase .zovelo-swatch.is-selected {
    border-color: var(--ink,#151714);
    background: var(--ink,#151714);
    color: #fff;
    box-shadow: none;
}

.zovelo-product-showcase .zovelo-swatch--color {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    height: 44px;
    padding: 5px;
    border-radius: 50%;
    background: #fff !important;
    color: inherit;
}

.zovelo-product-showcase .zovelo-swatch--color .zovelo-swatch__visual {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: linear-gradient(135deg,#ddd 0 50%,#999 50%);
    border: 1px solid rgba(15,18,15,.16);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.55);
}

.zovelo-product-showcase .zovelo-swatch--color.is-selected {
    border-color: var(--lime,#d9ff57);
    background: #fff !important;
    box-shadow: 0 0 0 2px var(--lime,#d9ff57);
}

.zovelo-product-showcase .zovelo-swatch:disabled,.zovelo-product-showcase .zovelo-swatch.is-disabled {
    opacity: .34;
    background: #f5f5f2;
    color: var(--muted,#666b65);
    text-decoration: line-through;
    cursor: not-allowed;
}

.zovelo-showcase-purchase {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    width: 100%;
    margin: 0;
}

.zovelo-showcase-cart {
    flex: 1 1 auto;
    min-width: 0;
}

.zovelo-showcase-cart form.cart {
    width: 100%;
    margin: 0 !important;
}

.zovelo-showcase-cart form.cart:not(.variations_form),
.zovelo-showcase-cart .woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center;
    gap: 14px;
    flex-wrap: nowrap !important;
    width: 100%;
}

.zovelo-showcase-cart .single_variation_wrap {
    width: 100%;
}

.zovelo-showcase-cart .woocommerce-variation {
    min-height: 0 !important;
    margin: 0 !important;
}

.zovelo-showcase-cart .woocommerce-variation-price,.zovelo-showcase-cart .woocommerce-variation-availability {
    display: none !important;
}

.zovelo-showcase-cart .quantity {
    display: grid !important;
    grid-template-columns: 38px 48px 38px;
    align-items: center;
    justify-content: center;
    flex: 0 0 124px;
    width: 124px !important;
    height: 64px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 999px;
    background: #fff;
    overflow: hidden;
}

.zovelo-showcase-cart .quantity .qty {
    display: block;
    width: 48px !important;
    min-width: 0 !important;
    height: 62px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--ink,#151714);
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
    box-shadow: none !important;
    -moz-appearance: textfield;
}

.zovelo-showcase-cart .quantity .qty::-webkit-outer-spin-button,
.zovelo-showcase-cart .quantity .qty::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.zovelo-showcase-qty {
    display: grid;
    place-items: center;
    width: 38px;
    height: 62px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ink,#151714);
    font-size: 1.16rem;
    line-height: 1;
}

.zovelo-showcase-qty:hover {
    background: transparent;
    color: var(--muted,#666b65);
}

.zovelo-showcase-cart .single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 64px !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--lime,#d9ff57) !important;
    color: var(--ink,#151714) !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

.zovelo-showcase-cart .single_add_to_cart_button:hover {
    transform: none !important;
    filter: brightness(.97);
}

.zovelo-showcase-cart .single_add_to_cart_button.disabled {
    opacity: .48 !important;
    cursor: not-allowed;
}

.zovelo-showcase-wishlist {
    flex: 0 0 auto;
}

.zovelo-showcase-wishlist .icon-btn.wish {
    display: grid !important;
    place-items: center !important;
    width: 58px !important;
    height: 58px !important;
    margin: 0 0 3px !important;
    padding: 0 !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--ink,#151714) !important;
    box-shadow: none !important;
}

.zovelo-showcase-wishlist .icon-btn.wish svg {
    width: 22px;
    height: 22px;
    margin: 0 !important;
}

.zovelo-showcase-wishlist .icon-btn.wish.active {
    background: var(--ink,#151714) !important;
    color: #fff !important;
}

.zovelo-showcase-stock-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 14px 0 0;
    color: var(--muted,#666b65);
    font-size: .84rem;
    line-height: 1.4;
}

.zovelo-showcase-stock {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.zovelo-showcase-stock.is-in-stock {
    color: #28743c;
}

.zovelo-showcase-stock.is-out-of-stock {
    color: #b33a35;
}

.zovelo-showcase-stock-icon {
    display: inline-grid;
    place-items: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: currentColor;
    color: #fff;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
}

.zovelo-showcase-perks {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
    margin: 34px 0 31px;
}

.zovelo-showcase-perk {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 130px;
    padding: 20px 17px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 24px;
    background: #fff;
}

.zovelo-showcase-perk__icon {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    margin: 0 0 8px;
    color: var(--ink,#151714);
}

.zovelo-showcase-perk__icon svg {
    width: 23px;
    height: 23px;
}

.zovelo-showcase-perk strong {
    margin: 0 0 5px;
    color: var(--ink,#151714);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.2;
}

.zovelo-showcase-perk small {
    color: var(--muted,#666b65);
    font-size: .83rem;
    line-height: 1.35;
}

.zovelo-showcase-details-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 58px;
    padding: 0;
    border-top: 1px solid var(--line,#dedfd9);
    border-bottom: 1px solid var(--line,#dedfd9);
    color: var(--ink,#151714);
    font-size: .96rem;
    font-weight: 900;
}

.zovelo-showcase-details-link span:last-child {
    font-size: 1.45rem;
    font-weight: 500;
    line-height: 1;
}

.zovelo-showcase-meta {
    margin-top: 18px;
    color: var(--muted,#666b65);
    font-size: .78rem;
}

.zovelo-showcase-meta .product_meta {
    display: flex !important;
    flex-wrap: wrap;
    gap: 7px 18px;
    padding: 0 !important;
    border: 0 !important;
}

.zovelo-product-showcase__after {
    margin-top: 20px;
}

.zovelo-product-showcase__after>.woocommerce-tabs {
    margin-top: 0 !important;
}

@media (max-width:1380px) {
    .zovelo-product-showcase__top {
        grid-template-columns: minmax(0,1.04fr) minmax(420px,.96fr);
        gap: 40px;
    }

    .zovelo-product-showcase .woocommerce-product-gallery {
        grid-template-columns: 92px minmax(0,1fr);
        gap: 14px;
    }

    .zovelo-showcase-badge {
        left: 124px;
    }

    .zovelo-product-showcase .flex-control-thumbs {
        max-height: 620px;
    }

    .zovelo-showcase-cart .quantity {
        grid-template-columns: 34px 42px 34px;
        flex-basis: 110px;
        width: 110px !important;
    }

    .zovelo-showcase-cart .quantity .qty {
        width: 42px !important;
    }

    .zovelo-showcase-qty {
        width: 34px;
    }
}

@media (max-width:1050px) {
    .single-product .zovelo-product-detail-container {
        width: min(100% - 40px,900px);
    }

    .zovelo-product-showcase__top {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .zovelo-product-showcase .woocommerce-product-gallery {
        grid-template-columns: 96px minmax(0,1fr);
    }

    .zovelo-showcase-badge {
        left: 130px;
    }

    .zovelo-product-showcase__summary.summary {
        max-width: 760px !important;
        margin: 0 auto !important;
        width: 100% !important;
    }
}

@media (max-width:680px) {
    .single-product .zovelo-single-product-main .inner-section {
        padding-top: 18px;
    }

    .single-product .zovelo-product-detail-container {
        width: min(100% - 26px,680px);
    }

    .zovelo-product-showcase .woocommerce-product-gallery {
        display: flex !important;
        flex-direction: column;
        gap: 10px;
    }

    .zovelo-product-showcase .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper,
    .zovelo-product-showcase .woocommerce-product-gallery>.flex-viewport {
        order: 1;
        width: 100%;
        border-radius: 28px 28px 72px 0 !important;
    }

    .zovelo-product-showcase .flex-control-thumbs {
        order: 2;
        display: grid !important;
        grid-template-columns: repeat(4,minmax(0,1fr));
        gap: 8px;
        max-height: none;
        padding: 3px !important;
        overflow-x: auto;
    }

    .zovelo-product-showcase .flex-control-thumbs li {
        min-width: 72px;
    }

    .zovelo-product-showcase .flex-control-thumbs img {
        border-radius: 15px !important;
    }

    .zovelo-showcase-badge {
        left: 16px;
        top: 16px;
    }

    .zovelo-showcase-description {
        font-size: 1rem;
        margin-bottom: 24px;
    }

    .zovelo-product-showcase .zovelo-variation-current {
        font-size: .82rem;
    }

    .zovelo-product-showcase .zovelo-swatch {
        min-width: 52px;
        min-height: 50px;
        padding: 0 12px;
    }

    .zovelo-showcase-purchase {
        align-items: stretch;
        gap: 10px;
    }

    .zovelo-showcase-cart form.cart:not(.variations_form),
    .zovelo-showcase-cart .woocommerce-variation-add-to-cart {
        gap: 9px;
    }

    .zovelo-showcase-cart .quantity {
        grid-template-columns: 31px 38px 31px;
        flex-basis: 100px;
        width: 100px !important;
        height: 58px;
    }

    .zovelo-showcase-cart .quantity .qty {
        width: 38px !important;
        height: 56px !important;
    }

    .zovelo-showcase-qty {
        width: 31px;
        height: 56px;
    }

    .zovelo-showcase-cart .single_add_to_cart_button {
        height: 58px !important;
        min-height: 58px !important;
        padding: 0 15px !important;
        font-size: .88rem !important;
    }

    .zovelo-showcase-wishlist .icon-btn.wish {
        width: 54px !important;
        height: 54px !important;
        margin-top: 2px !important;
    }

    .zovelo-showcase-stock-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .zovelo-showcase-perks {
        grid-template-columns: 1fr;
        margin-top: 26px;
    }

    .zovelo-showcase-perk {
        min-height: 0;
    }
}

/* Zovelo 1.5.6 — targeted product, checkout, title and footer corrections. */

.footer-col ul.footer-menu {
    padding-left: 0;
}

.footer-col ul.footer-menu li {
    margin-left: 15px;
}

/* Keep the single-product information in a stable right-hand grid. */

.single-product .zovelo-product-showcase__top {
    grid-template-columns: minmax(0,1.08fr) minmax(420px,.92fr) !important;
    gap: clamp(36px,4vw,66px) !important;
}

.single-product .zovelo-product-showcase__media,
.single-product .zovelo-product-showcase__summary {
    min-width: 0 !important;
}

.single-product .zovelo-showcase-summary-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 0;
    width: 100%;
    min-width: 0;
}

.single-product .zovelo-showcase-summary-grid>.zovelo-showcase-description,
.single-product .zovelo-showcase-summary-grid>.zovelo-showcase-purchase,
.single-product .zovelo-showcase-summary-grid>.zovelo-showcase-stock-row,
.single-product .zovelo-showcase-summary-grid>.zovelo-showcase-perks,
.single-product .zovelo-showcase-summary-grid>.zovelo-showcase-meta,
.single-product .zovelo-showcase-summary-grid>.zovelo-showcase-actions {
    grid-column: 1/-1;
    min-width: 0;
}

.single-product .zovelo-showcase-purchase {
    display: block !important;
    width: 100% !important;
}

.single-product .zovelo-showcase-cart,
.single-product .zovelo-showcase-cart form.cart,
.single-product .zovelo-showcase-cart .single_variation_wrap,
.single-product .zovelo-showcase-cart .woocommerce-variation-add-to-cart {
    min-width: 0 !important;
    width: 100% !important;
}

.single-product .zovelo-showcase-cart .single_add_to_cart_button {
    white-space: normal !important;
    text-align: center !important;
}

.single-product .zovelo-showcase-perks {
    margin: 30px 0 24px !important;
}

.single-product .zovelo-showcase-meta {
    margin: 0 !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid var(--line,#dedfd9) !important;
    color: var(--muted,#666b65) !important;
    font-size: .82rem !important;
}

.single-product .zovelo-showcase-meta .sku_wrapper {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.single-product .zovelo-showcase-meta .sku {
    color: var(--ink,#151714);
    font-weight: 800;
}

.single-product .zovelo-showcase-actions {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px !important;
    margin: 16px 0 0 !important;
}

.single-product .zovelo-showcase-actions .zovelo-product-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    margin: 0 !important;
    text-align: center;
}

.single-product .zovelo-product-showcase__after {
    margin-top: 46px !important;
}

.single-product .zovelo-product-showcase__after>.woocommerce-tabs {
    margin-top: 0 !important;
}

/* Classic checkout: labels and controls share the same two-column grid. */

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px 20px;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper>.form-row {
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row-wide,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row-wide,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper>.form-row-wide {
    grid-column: 1/-1 !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row-first,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row-last,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row-first,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row-last {
    grid-column: auto !important;
}

.woocommerce-checkout form.checkout .form-row label {
    min-height: 0 !important;
    margin: 0 0 8px !important;
    text-align: left !important;
}

.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout form.checkout .select2-container {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .select2-container .select2-selection--single {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Coupon form: one compact professional row instead of floated fields. */

.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin: 0 0 14px !important;
}

.woocommerce-checkout form.checkout_coupon {
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 0 28px !important;
    padding: 22px !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout form.checkout_coupon .form-row {
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout form.checkout_coupon .input-text {
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout form.checkout_coupon .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 180px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 26px !important;
    border-radius: 999px !important;
    background: var(--ink,#151714) !important;
    color: #fff !important;
    font-weight: 900 !important;
}

.woocommerce-checkout form.checkout_coupon .clear {
    display: none !important;
}

.woocommerce-checkout form.checkout_coupon[style*="display:none"],
.woocommerce-checkout form.checkout_coupon[style*="display: none"] {
    display: none !important;
}

.woocommerce-checkout form.checkout_coupon[style*="display:block"],
.woocommerce-checkout form.checkout_coupon[style*="display: block"] {
    display: grid !important;
}

/* Product archives use the same boxed title system as every internal page. */

.tax-product_cat .page-heading,
.post-type-archive-product .page-heading {
    padding: 34px 0 27px !important;
}

.tax-product_cat .page-heading-shell,
.post-type-archive-product .page-heading-shell {
    min-height: 350px !important;
    padding: 58px 62px !important;
    border-radius: 40px 40px 112px 40px !important;
    background: var(--ink,#151714) !important;
    color: #fff !important;
    overflow: hidden !important;
}

@media (max-width:1050px) {
    .single-product .zovelo-product-showcase__top {
        grid-template-columns: 1fr !important;
    }

    .single-product .zovelo-product-showcase__summary.summary {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }
}

@media (max-width:720px) {
    .single-product .zovelo-showcase-actions {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row,
    .woocommerce-checkout .woocommerce-additional-fields__field-wrapper>.form-row {
        grid-column: 1 !important;
    }

    .woocommerce-checkout form.checkout_coupon {
        grid-template-columns: 1fr;
        padding: 18px !important;
    }

    .woocommerce-checkout form.checkout_coupon .button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .tax-product_cat .page-heading-shell,
  .post-type-archive-product .page-heading-shell {
        min-height: 300px !important;
        padding: 38px 24px !important;
        border-radius: 28px 28px 78px 28px !important;
    }
}

/* Zovelo 1.5.7 — scoped regression corrections only. */

.single-product .zovelo-product-breadcrumb {
    padding: 0 !important;
    margin: 0 0 28px !important;
}

.single-product .zovelo-product-breadcrumb .product-page-top-shell {
    width: 100%;
    box-sizing: border-box;
}

.single-product .zovelo-showcase-cart>.stock,
.single-product .zovelo-showcase-cart form.cart>.stock {
    display: none !important;
}

/* Product-card controls stay visible in normal, hover and active states. */

.product-card.unified-product-card .wish,
.product-card.unified-product-card .zovelo-compare-card .icon-btn {
    display: grid !important;
    place-items: center !important;
    color: var(--ink,#151714) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.product-card.unified-product-card .wish .zovelo-icon,
.product-card.unified-product-card .zovelo-compare-card .icon-btn .zovelo-icon {
    display: block !important;
    width: 21px !important;
    height: 21px !important;
    color: inherit !important;
    stroke: currentColor !important;
    fill: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.product-card.unified-product-card .wish:hover,
.product-card.unified-product-card .wish.active,
.product-card.unified-product-card .zovelo-compare-card .icon-btn:hover,
.product-card.unified-product-card .zovelo-compare-card .icon-btn.active {
    background: var(--ink,#151714) !important;
    color: #fff !important;
    border-color: var(--ink,#151714) !important;
}

.product-card.unified-product-card:hover .quick-add,
.product-card.unified-product-card:focus-within .quick-add {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

@media (max-width:680px) {
    .single-product .zovelo-product-breadcrumb {
        margin-bottom: 18px !important;
    }

    .single-product .zovelo-product-showcase__summary.summary {
        padding: 24px !important;
        border-radius: 26px !important;
    }
}

/* Empty storefront states never fabricate products or category data. */

.zovelo-new-grid-section .zovelo-products-empty,
.categories-grid .zovelo-products-empty {
    grid-column: 1/-1;
    width: 100%;
    box-sizing: border-box;
}

.zovelo-home-products-stage .zovelo-products-empty {
    width: 100%;
    box-sizing: border-box;
}

/* Zovelo 1.5.8 — checkout/cart field alignment and coupon controls. */

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper>.form-row,
.woocommerce-checkout form.checkout_coupon .form-row {
    display: block !important;
}

.woocommerce-checkout form.checkout .form-row .woocommerce-input-wrapper,
.woocommerce-checkout form.checkout .form-row .select2-container {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
}

.woocommerce-checkout form.checkout .form-row input.input-text,
.woocommerce-checkout form.checkout .form-row textarea.input-text,
.woocommerce-checkout form.checkout .form-row select {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 30px !important;
    padding: 0 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    right: 14px !important;
    transform: translateY(-50%) !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout form.checkout_coupon {
    grid-template-columns: minmax(280px,1fr) minmax(190px,230px) !important;
    gap: 14px !important;
    padding: 24px !important;
    border-radius: 24px !important;
    box-shadow: 0 16px 44px rgba(17,20,16,.05) !important;
}

.woocommerce-checkout form.checkout_coupon .input-text {
    min-height: 58px !important;
    padding: 0 20px !important;
    border-radius: 999px !important;
}

.woocommerce-checkout form.checkout_coupon .button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px !important;
}

.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message {
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-cart table.cart td.actions {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: minmax(260px,1fr) minmax(170px,210px) !important;
    align-items: center !important;
    gap: 12px !important;
    float: left !important;
    width: min(650px,100%) !important;
}

.woocommerce-cart table.cart td.actions .coupon label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon #coupon_code {
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 999px !important;
    background: var(--paper,#f6f4ee) !important;
    color: var(--ink,#151714) !important;
    box-sizing: border-box !important;
}

.woocommerce-cart table.cart td.actions .coupon .button {
    float: none !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    background: var(--ink,#151714) !important;
    color: #fff !important;
    font-weight: 900 !important;
}

.woocommerce-cart table.cart td.actions button[name="update_cart"] {
    min-width: 176px !important;
    min-height: 54px !important;
    border-radius: 999px !important;
    background: var(--ink,#151714) !important;
    color: #fff !important;
    font-weight: 900 !important;
    opacity: 1 !important;
}

.woocommerce-cart table.cart td.actions button[name="update_cart"]:disabled,
.woocommerce-cart table.cart td.actions button[name="update_cart"][disabled] {
    background: #e1e3de !important;
    color: #5d625c !important;
    border-color: #e1e3de !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
}

/* Dedicated, editor-friendly Size Guide page. */

.zovelo-size-guide-page .zovelo-size-guide-shell {
    display: grid;
    gap: 28px;
}

.zovelo-size-guide-page .zovelo-size-guide-measure {
    display: grid;
    grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr);
    gap: 30px;
    padding: clamp(28px,5vw,58px);
    border: 1px solid var(--line,#dedfd9);
    border-radius: 34px;
    background: var(--ink,#151714);
    color: #fff;
    overflow: hidden;
}

.zovelo-size-guide-page .zovelo-size-guide-measure__intro {
    align-self: start;
}

.zovelo-size-guide-page .zovelo-size-guide-measure__intro .kicker {
    color: var(--lime,#d9ff57) !important;
}

.zovelo-size-guide-page .zovelo-size-guide-measure__intro h2 {
    margin: 14px 0 18px;
    color: #fff;
    font-size: clamp(2rem,4vw,4rem);
    line-height: .98;
}

.zovelo-size-guide-page .zovelo-size-guide-measure__intro p {
    margin: 0;
    color: rgba(255,255,255,.7);
    line-height: 1.75;
}

.zovelo-size-guide-page .zovelo-measure-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}

.zovelo-size-guide-page .zovelo-measure-card {
    padding: 20px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 22px;
    background: rgba(255,255,255,.07);
}

.zovelo-size-guide-page .zovelo-measure-card span {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    margin-bottom: 16px;
    border-radius: 12px;
    background: var(--lime,#d9ff57);
    color: var(--ink,#151714);
    font-weight: 900;
}

.zovelo-size-guide-page .zovelo-measure-card h3 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 1rem;
}

.zovelo-size-guide-page .zovelo-measure-card p {
    margin: 0;
    color: rgba(255,255,255,.66);
    font-size: .84rem;
    line-height: 1.6;
}

.zovelo-size-guide-page .zovelo-size-guide-content {
    padding: clamp(24px,4vw,46px) !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 30px !important;
    background: var(--surface,#fff) !important;
}

.zovelo-size-guide-page .zovelo-size-guide-content>h2:first-child {
    margin-top: 0;
}

.zovelo-size-guide-page .zovelo-size-guide-content h2 {
    margin: 38px 0 12px;
    font-size: clamp(1.55rem,3vw,2.35rem);
}

.zovelo-size-guide-page .zovelo-size-guide-content p {
    color: var(--muted,#666b65);
    line-height: 1.75;
}

.zovelo-size-guide-page .zovelo-size-guide-content .wp-block-table {
    margin: 22px 0 34px;
    overflow: auto;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 22px;
}

.zovelo-size-guide-page .zovelo-size-guide-content table {
    width: 100%;
    min-width: 620px;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse;
}

.zovelo-size-guide-page .zovelo-size-guide-content th,
.zovelo-size-guide-page .zovelo-size-guide-content td {
    padding: 15px 18px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--line,#dedfd9) !important;
    text-align: left;
}

.zovelo-size-guide-page .zovelo-size-guide-content th {
    background: var(--ink,#151714);
    color: #fff;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.zovelo-size-guide-page .zovelo-size-guide-content tr:last-child td {
    border-bottom: 0 !important;
}

.zovelo-size-guide-page .zovelo-size-guide-content tbody tr:nth-child(even) {
    background: var(--paper,#f6f4ee);
}

.zovelo-size-guide-page .zovelo-size-guide-note {
    padding: 18px 20px;
    border-radius: 18px;
    background: var(--sage,#eef5df);
    color: var(--ink,#151714);
    font-size: .88rem;
    line-height: 1.65;
}

@media (max-width:900px) {
    .zovelo-size-guide-page .zovelo-size-guide-measure {
        grid-template-columns: 1fr;
    }
}

@media (max-width:720px) {
    .woocommerce-checkout form.checkout_coupon,
  .woocommerce-cart table.cart td.actions .coupon {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        float: none !important;
        width: 100% !important;
        margin-bottom: 12px !important;
    }

    .woocommerce-cart table.cart td.actions button[name="update_cart"] {
        float: none !important;
        width: 100% !important;
    }

    .zovelo-size-guide-page .zovelo-measure-grid {
        grid-template-columns: 1fr;
    }
}

/* Zovelo 1.5.15 — responsive Size Guide modal and compact checkout legal/coupon layout. */

.zovelo-size-guide-modal[hidden] {
    display: none !important;
}

.zovelo-size-guide-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(8,10,8,.72);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .24s ease,visibility .24s ease;
}

.zovelo-size-guide-modal.open {
    opacity: 1;
    visibility: visible;
}

.zovelo-size-guide-modal__dialog {
    position: relative;
    width: min(1120px,calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 34px;
    background: var(--paper,#f6f4ee);
    box-shadow: 0 32px 100px rgba(0,0,0,.34);
    transform: translateY(18px) scale(.985);
    transition: transform .28s ease;
}

.zovelo-size-guide-modal.open .zovelo-size-guide-modal__dialog {
    transform: translateY(0) scale(1);
}

.zovelo-size-guide-modal__scroll {
    max-height: calc(100vh - 48px);
    overflow: auto;
    overscroll-behavior: contain;
    padding: clamp(24px,4vw,48px);
}

.zovelo-size-guide-modal__header {
    max-width: 760px;
    padding: 0 64px 28px 0;
}

.zovelo-size-guide-modal__header .kicker {
    color: var(--accent,#8ba832);
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.zovelo-size-guide-modal__header h2 {
    margin: 10px 0 12px;
    font-size: clamp(2rem,4vw,4rem);
    line-height: 1;
    color: var(--ink,#151714);
}

.zovelo-size-guide-modal__header p {
    margin: 0;
    color: var(--muted,#666b65);
    font-size: 1rem;
    line-height: 1.7;
}

.zovelo-size-guide-modal__close {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 50%;
    background: #fff;
    color: var(--ink,#151714);
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
}

.zovelo-size-guide-modal__close:hover,.zovelo-size-guide-modal__close:focus-visible {
    background: var(--lime,#d9ff57);
    outline: 0;
}

.zovelo-size-guide-modal .zovelo-size-guide-shell {
    width: 100%;
}

.zovelo-size-guide-modal .zovelo-size-guide-content {
    margin: 0 !important;
}

.woocommerce-checkout form.checkout_coupon {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    width: min(100%,680px) !important;
    max-width: 680px !important;
    gap: 12px !important;
}

.woocommerce-checkout form.checkout_coupon .form-row {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout form.checkout_coupon .form-row-first {
    flex: 0 1 350px !important;
    width: 350px !important;
    max-width: 100% !important;
}

.woocommerce-checkout form.checkout_coupon .form-row-last {
    flex: 0 0 auto !important;
    width: auto !important;
}

.woocommerce-checkout form.checkout_coupon .input-text {
    width: 350px !important;
    max-width: 100% !important;
}

.woocommerce-checkout form.checkout_coupon .button {
    width: auto !important;
    min-width: 170px !important;
    padding-inline: 28px !important;
    white-space: nowrap !important;
}

.woocommerce-checkout #payment .place-order {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

.woocommerce-checkout #payment .woocommerce-privacy-policy-text p {
    margin: 0 0 18px !important;
    max-width: none !important;
    color: var(--muted,#666b65) !important;
    line-height: 1.7 !important;
    text-align: left !important;
}

.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox.checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 11px !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    color: var(--ink,#151714) !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
}

.woocommerce-checkout #payment .woocommerce-form__input-checkbox {
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 2px 0 0 !important;
    accent-color: var(--lime,#d9ff57);
}

.woocommerce-checkout #payment #place_order {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

@media (max-width:680px) {
    .zovelo-size-guide-modal {
        padding: 10px;
    }

    .zovelo-size-guide-modal__dialog {
        width: calc(100vw - 20px);
        max-height: calc(100vh - 20px);
        border-radius: 24px;
    }

    .zovelo-size-guide-modal__scroll {
        max-height: calc(100vh - 20px);
        padding: 22px 16px 26px;
    }

    .zovelo-size-guide-modal__header {
        padding: 34px 44px 20px 4px;
    }

    .zovelo-size-guide-modal__close {
        top: 14px;
        right: 14px;
        width: 44px;
        height: 44px;
    }

    .zovelo-size-guide-modal .zovelo-size-guide-measure {
        padding: 24px 18px;
        border-radius: 24px;
    }

    .zovelo-size-guide-modal .zovelo-size-guide-content {
        padding: 22px 16px !important;
        border-radius: 22px !important;
    }

    .woocommerce-checkout form.checkout_coupon {
        width: 100% !important;
        max-width: none !important;
    }

    .woocommerce-checkout form.checkout_coupon .form-row-first,
    .woocommerce-checkout form.checkout_coupon .form-row-last {
        flex: 1 1 100% !important;
        width: 100% !important;
    }

    .woocommerce-checkout form.checkout_coupon .input-text,
  .woocommerce-checkout form.checkout_coupon .button {
        width: 100% !important;
        max-width: none !important;
    }
}

/* Zovelo 1.5.16 — single-article comment grid and unified checkout coupon panel. */

.zovelo-comments-layout .zovelo-comments-column {
    min-width: 0;
}

.zovelo-comments-layout.sidebar-left .zovelo-comments-column,
.zovelo-comments-layout.sidebar-both .zovelo-comments-column {
    grid-column: 2;
}

.zovelo-comments-layout .zovelo-comments-panel {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
}

.woocommerce-checkout .zovelo-checkout-coupon-panel {
    display: grid;
    gap: 18px;
    width: 100%;
    margin: 0 0 28px;
    padding: 24px 28px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 24px;
    background: var(--surface,#fff);
    box-shadow: 0 16px 44px rgba(17,20,16,.05);
    box-sizing: border-box;
}

.woocommerce-checkout .zovelo-checkout-coupon-panel .woocommerce-form-coupon-toggle {
    width: auto !important;
    margin: 0 !important;
}

.woocommerce-checkout .zovelo-checkout-coupon-panel .woocommerce-info {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.woocommerce-checkout .zovelo-checkout-coupon-panel form.checkout_coupon {
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.woocommerce-checkout .zovelo-checkout-coupon-panel form.checkout_coupon[style*="display:block"],
.woocommerce-checkout .zovelo-checkout-coupon-panel form.checkout_coupon[style*="display: block"] {
    display: flex !important;
}

.woocommerce-checkout .zovelo-checkout-coupon-panel form.checkout_coupon .form-row-first {
    flex: 0 1 350px !important;
    width: 350px !important;
    max-width: 100% !important;
}

.woocommerce-checkout .zovelo-checkout-coupon-panel form.checkout_coupon .form-row-last {
    flex: 0 0 auto !important;
    width: auto !important;
}

.woocommerce-checkout .zovelo-checkout-coupon-panel form.checkout_coupon .button {
    width: auto !important;
    min-width: 170px !important;
}

@media (max-width:1050px) {
    .zovelo-comments-layout.sidebar-left .zovelo-comments-column,
    .zovelo-comments-layout.sidebar-both .zovelo-comments-column {
        grid-column: auto;
    }
}

@media (max-width:680px) {
    .woocommerce-checkout .zovelo-checkout-coupon-panel {
        gap: 15px;
        padding: 20px 18px;
        border-radius: 20px;
    }

    .woocommerce-checkout .zovelo-checkout-coupon-panel form.checkout_coupon {
        width: 100% !important;
    }

    .woocommerce-checkout .zovelo-checkout-coupon-panel form.checkout_coupon .form-row-first,
    .woocommerce-checkout .zovelo-checkout-coupon-panel form.checkout_coupon .form-row-last,
    .woocommerce-checkout .zovelo-checkout-coupon-panel form.checkout_coupon .input-text,
    .woocommerce-checkout .zovelo-checkout-coupon-panel form.checkout_coupon .button {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: none !important;
    }
}

/* Zovelo 1.5.17 — keep the native terms consent full width. */

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper .form-row {
    display: block !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox.checkbox {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    white-space: normal !important;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text {
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

/* Zovelo 1.5.19 — scoped article, tracking and About page corrections. */

.zovelo-article-lead-image {
    margin-top: 0 !important;
}

.zovelo-article-lead-image img {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

.zovelo-order-tracking-entry,
.zovelo-about-entry {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.zovelo-order-tracking-entry>.woocommerce {
    width: 100%;
}

.zovelo-order-tracking-entry form.track_order {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(280px,.82fr) repeat(2,minmax(0,1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px !important;
    overflow: hidden !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 34px !important;
    background: var(--surface,#fff) !important;
    box-shadow: 0 28px 80px rgba(21,23,20,.07) !important;
}

.zovelo-order-tracking-entry form.track_order>p:first-child {
    grid-column: 1 !important;
    grid-row: 1/3 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    min-height: 270px !important;
    margin: 0 !important;
    padding: clamp(28px,4vw,46px) !important;
    border-radius: 24px 24px 76px 24px !important;
    background: var(--ink,#151714) !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
}

.zovelo-order-tracking-entry form.track_order>p:first-child:before {
    content: '↗';
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin: 0 0 auto;
    border-radius: 50%;
    background: var(--lime,#d9ff57);
    color: var(--ink,#151714);
    font-size: 1.45rem;
    font-weight: 900;
}

.zovelo-order-tracking-entry form.track_order>.form-row {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 22px !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 24px !important;
    background: color-mix(in srgb,var(--paper,#f6f4ee) 72%,var(--surface,#fff)) !important;
}

.zovelo-order-tracking-entry form.track_order>.form-row-first {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.zovelo-order-tracking-entry form.track_order>.form-row-last {
    grid-column: 3 !important;
    grid-row: 1 !important;
}

.zovelo-order-tracking-entry form.track_order>.form-row:not(.form-row-first):not(.form-row-last) {
    grid-column: 2/4 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.zovelo-order-tracking-entry form.track_order>.clear {
    display: none !important;
}

.zovelo-order-tracking-entry form.track_order label {
    display: block !important;
    margin: 0 0 11px !important;
    color: var(--ink,#151714) !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    letter-spacing: .055em !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

.zovelo-order-tracking-entry form.track_order input.input-text {
    display: block !important;
    width: 100% !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 16px !important;
    background: var(--surface,#fff) !important;
    color: var(--ink,#151714) !important;
    text-align: left !important;
    box-shadow: none !important;
}

.zovelo-order-tracking-entry form.track_order input.input-text:focus {
    border-color: var(--ink,#151714) !important;
    outline: 2px solid rgba(21,23,20,.38) !important;
    outline-offset: 1px !important;
}

.zovelo-order-tracking-entry form.track_order button.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 64px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--lime,#d9ff57) !important;
    color: var(--ink,#151714) !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    box-shadow: none !important;
}

.zovelo-order-tracking-entry form.track_order button.button:hover {
    transform: translateY(-2px) !important;
    filter: brightness(.97) !important;
}

@media (max-width:960px) {
    .zovelo-order-tracking-entry form.track_order {
        grid-template-columns: 1fr 1fr !important;
    }

    .zovelo-order-tracking-entry form.track_order>p:first-child {
        grid-column: 1/3 !important;
        grid-row: 1 !important;
        min-height: 240px !important;
    }

    .zovelo-order-tracking-entry form.track_order>.form-row-first {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .zovelo-order-tracking-entry form.track_order>.form-row-last {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    .zovelo-order-tracking-entry form.track_order>.form-row:not(.form-row-first):not(.form-row-last) {
        grid-column: 1/3 !important;
        grid-row: 3 !important;
    }
}

@media (max-width:640px) {
    .zovelo-order-tracking-entry form.track_order {
        display: block !important;
        padding: 12px !important;
        border-radius: 26px !important;
    }

    .zovelo-order-tracking-entry form.track_order>p:first-child {
        min-height: 230px !important;
        margin-bottom: 12px !important;
        padding: 28px 22px !important;
        border-radius: 20px 20px 58px 20px !important;
    }

    .zovelo-order-tracking-entry form.track_order>.form-row {
        margin-bottom: 12px !important;
        padding: 18px !important;
    }

    .zovelo-order-tracking-entry form.track_order>.form-row:not(.form-row-first):not(.form-row-last) {
        margin-bottom: 0 !important;
    }
}

.zovelo-order-tracking-entry .woocommerce-order-details,
.zovelo-order-tracking-entry .woocommerce-customer-details,
.zovelo-order-tracking-entry .order-info {
    margin: 24px 0 0 !important;
    padding: clamp(22px,4vw,36px) !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 28px !important;
    background: var(--surface,#fff) !important;
}

.zovelo-order-tracking-entry .woocommerce-order-details__title,
.zovelo-order-tracking-entry .woocommerce-column__title {
    margin-top: 0 !important;
}

.zovelo-order-tracking-entry .woocommerce-error,
.zovelo-order-tracking-entry .woocommerce-info,
.zovelo-order-tracking-entry .woocommerce-message {
    border-radius: 20px !important;
}

/* Zovelo 1.5.20 — focused demo, checkout, tracking, cart and About corrections. */

/* Checkout follows the custom wrapper in woocommerce/checkout/form-checkout.php. */

.woocommerce-checkout form.checkout.zovelo-checkout-form {
    display: block !important;
    max-width: none !important;
}

.woocommerce-checkout .zovelo-checkout-layout {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(380px,450px) !important;
    gap: 32px !important;
    align-items: start !important;
}

.woocommerce-checkout .zovelo-checkout-customer>.col2-set,
.woocommerce-checkout .zovelo-checkout-order {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: clamp(26px,4vw,42px) !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 30px !important;
    background: var(--surface,#fff) !important;
    box-shadow: 0 20px 60px rgba(17,20,16,.06) !important;
}

.woocommerce-checkout .zovelo-checkout-order {
    position: sticky !important;
    top: 120px !important;
    min-width: 0 !important;
}

.woocommerce-checkout .zovelo-checkout-order #order_review_heading {
    display: block !important;
    grid-column: auto !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    position: static !important;
    font-size: clamp(1.65rem,2.5vw,2.2rem) !important;
    line-height: 1.1 !important;
}

.woocommerce-checkout .zovelo-checkout-order #order_review {
    grid-column: auto !important;
    position: static !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.woocommerce-checkout .zovelo-checkout-order .woocommerce-checkout-review-order-table {
    margin-top: 0 !important;
}

@media (max-width:960px) {
    .woocommerce-checkout .zovelo-checkout-layout {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-checkout .zovelo-checkout-order {
        position: static !important;
    }
}

/* Tracking: equal, full-width fields with normal proportions. */

.zovelo-order-tracking-entry form.track_order {
    grid-template-columns: minmax(280px,.72fr) minmax(0,1fr) minmax(0,1fr) !important;
}

.zovelo-order-tracking-entry form.track_order>.form-row-first,
.zovelo-order-tracking-entry form.track_order>.form-row-last {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
}

.zovelo-order-tracking-entry form.track_order input.input-text {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.zovelo-order-tracking-entry form.track_order>.form-row>span {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

/* About uses soft editorial surfaces instead of a plain white canvas. */

.zovelo-about-entry .zovelo-about-intro {
    background: linear-gradient(135deg,color-mix(in srgb,var(--sage,#eef5df) 82%,var(--surface,#fff)),color-mix(in srgb,var(--lime,#d9ff57) 10%,var(--surface,#fff))) !important;
    box-shadow: 0 24px 70px rgba(21,23,20,.07) !important;
}

.zovelo-about-entry .zovelo-about-values-section {
    padding: clamp(26px,5vw,58px) !important;
    border-radius: 38px !important;
    background: color-mix(in srgb,var(--paper,#f6f4ee) 72%,var(--sage,#eef5df)) !important;
}

.zovelo-about-entry .zovelo-about-values article {
    background: var(--surface,#fff) !important;
}

.zovelo-about-entry .zovelo-about-values article:nth-child(2) {
    background: color-mix(in srgb,var(--lime,#d9ff57) 24%,var(--surface,#fff)) !important;
}

.zovelo-about-entry .zovelo-about-values article:nth-child(3) {
    background: color-mix(in srgb,#b9d8ff 36%,var(--surface,#fff)) !important;
}

/* Mini-cart remove icon: transparent button with a mathematically centered X. */

.zovelo-mini-cart-content a.remove {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--ink,#151714) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}

.zovelo-mini-cart-content a.remove:before,
.zovelo-mini-cart-content a.remove:after {
    content: '' !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 15px !important;
    height: 2px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: currentColor !important;
    transform-origin: center !important;
}

.zovelo-mini-cart-content a.remove:before {
    transform: translate(-50%,-50%) rotate(45deg) !important;
}

.zovelo-mini-cart-content a.remove:after {
    transform: translate(-50%,-50%) rotate(-45deg) !important;
}

.zovelo-mini-cart-content a.remove:hover {
    color: #b32d2e !important;
}

/* Larger product Size Guide dialog. */

.zovelo-size-guide-modal__dialog {
    width: min(1320px,calc(100vw - 42px)) !important;
    max-height: calc(100vh - 36px) !important;
}

.zovelo-size-guide-modal__scroll {
    max-height: calc(100vh - 36px) !important;
}

/* Zovelo 1.5.23 — clean page surfaces and consistent vertical rhythm. */

:root {
    --zovelo-content-gap: var(--zovelo-section-space,90px);
}

body:not(.single-product) .inner-section,.section {
    padding-top: var(--zovelo-section-space,90px) !important;
    padding-bottom: var(--zovelo-section-space,90px) !important;
}

.zovelo-about-page,
.zovelo-info-page,
.zovelo-contact-page,
.zovelo-discounts-page,
.zovelo-brands-page,
.zovelo-voucher-page,
.zovelo-page-pattern {
    gap: var(--zovelo-content-gap) !important;
}

.zovelo-structured-entry.panel,
.woocommerce-cart .zovelo-entry.panel,
.woocommerce-checkout .zovelo-entry.panel,
.woocommerce-account .zovelo-entry.panel {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.woocommerce-account .woocommerce {
    align-items: start !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content {
    background: var(--surface,#fff) !important;
}

/* About: two independent cards on the page background, never a white card inside another white card. */

.zovelo-about-entry .zovelo-about-intro {
    gap: clamp(20px,2.4vw,34px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.zovelo-about-entry .zovelo-about-copy {
    padding: clamp(34px,5vw,70px) !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 38px !important;
    background: var(--surface,#fff) !important;
}

.zovelo-about-entry .zovelo-about-image {
    padding: 12px !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 38px 38px 118px 38px !important;
    background: var(--surface,#fff) !important;
}

.zovelo-about-entry .zovelo-about-image img {
    border-radius: 28px 28px 104px 28px !important;
}

/* Text icons receive a small optical gap; icon-only controls remain perfectly centered. */

.zovelo-icon:not(:only-child) {
    margin-right: 4px;
}

.zovelo-icon:last-child:not(:first-child) {
    margin-right: 0;
    margin-left: 4px;
}

.icon-btn .zovelo-icon,
.market-action-icon .zovelo-icon,
.catalog-search-submit .zovelo-icon,
.market-search-submit .zovelo-icon,
.catalog-menu-icon .zovelo-icon,
.catalog-support-icon .zovelo-icon,
.catalog-cart-icon .zovelo-icon,
.zovelo-about-image-mark .zovelo-icon {
    margin: 0 !important;
}

/* Product category headings use the editorial shapes only, without a cropped category photo. */

.tax-product_cat .page-heading-visual img {
    display: none !important;
}

.tax-product_cat .page-heading-visual {
    background: linear-gradient(145deg,color-mix(in srgb,var(--lime,#d9ff57) 18%,transparent),transparent) !important;
}

@media (max-width:720px) {
    :root {
        --zovelo-content-gap: var(--zovelo-section-space-mobile,58px);
    }

    .zovelo-about-entry .zovelo-about-copy {
        padding: 30px 22px !important;
    }

    .zovelo-about-entry .zovelo-about-image {
        padding: 8px !important;
    }
}

/* Zovelo 1.5.23 — final product tab and category title corrections. */

.single-product .woocommerce-tabs .panel>:first-child,
.single-product .woocommerce-tabs .panel>h2:first-child,
.single-product .woocommerce-tabs .panel .woocommerce-Tabs-panel--description>h2:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.single-product .woocommerce-tabs .panel>h2:first-child {
    margin-bottom: 20px !important;
}

.tax-product_cat .page-heading-visual {
    background: transparent !important;
}

/* Zovelo 1.6.2 — native Gutenberg page system. */

.zovelo-gutenberg-entry {
    font-size: 1rem;
    line-height: 1.75;
}

.zovelo-gutenberg-entry>.alignwide {
    width: min(100%,var(--zovelo-container,1280px));
    max-width: none;
}

.zovelo-gutenberg-entry>.alignfull {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.zovelo-gutenberg-entry h2,.zovelo-gutenberg-entry h3,.zovelo-gutenberg-entry h4 {
    font-family: var(--zovelo-heading-font,Manrope,Arial,sans-serif);
    color: var(--ink,#151714);
}

.zovelo-gutenberg-entry h2 {
    font-size: clamp(2.25rem,4vw,4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.zovelo-gutenberg-entry h3 {
    font-size: clamp(1.35rem,2.2vw,1.8rem);
    line-height: 1.1;
    letter-spacing: -.035em;
}

.zovelo-gutenberg-entry .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 24px;
    border-radius: 999px;
    font-family: var(--zovelo-heading-font,Manrope,Arial,sans-serif);
    font-weight: 850;
    text-decoration: none !important;
    transition: transform .2s ease,filter .2s ease,background-color .2s ease,color .2s ease;
}

.zovelo-gutenberg-entry .wp-block-button__link:hover {
    transform: translateY(-2px);
}

.wp-block-button.is-style-zovelo-accent .wp-block-button__link {
    border: 1px solid var(--lime,#d9ff57);
    background: var(--lime,#d9ff57);
    color: var(--ink,#151714);
}

.wp-block-button.is-style-zovelo-outline .wp-block-button__link {
    border: 1px solid var(--line,#dedfd9);
    background: transparent;
    color: currentColor;
}

.wp-block-button.is-style-zovelo-pill .wp-block-button__link {
    border-radius: 999px;
}

.wp-block-group.is-style-zovelo-panel {
    padding: clamp(28px,5vw,62px);
    border: 1px solid var(--line,#dedfd9);
    border-radius: 34px;
    background: var(--surface,#fff);
}

.wp-block-group.is-style-zovelo-soft {
    padding: clamp(28px,5vw,62px);
    border-radius: 34px;
    background: color-mix(in srgb,var(--paper,#f6f4ee) 70%,var(--lime,#d9ff57) 12%);
}

.wp-block-group.is-style-zovelo-dark {
    padding: clamp(28px,5vw,62px);
    border-radius: 34px;
    background: var(--ink,#151714);
    color: #fff;
}

.wp-block-group.is-style-zovelo-dark h2,
.wp-block-group.is-style-zovelo-dark h3,
.wp-block-group.is-style-zovelo-dark h4 {
    color: #fff;
}

.wp-block-quote.is-style-zovelo-highlight {
    padding: 28px;
    border: 0;
    border-radius: 24px;
    background: var(--lime,#d9ff57);
    color: var(--ink,#151714);
}

.zovelo-gutenberg-entry .wp-block-table {
    overflow: auto;
}

.zovelo-gutenberg-entry .wp-block-table table {
    overflow: hidden;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 20px;
    background: var(--surface,#fff);
}

.zovelo-gutenberg-entry .wp-block-table th,.zovelo-gutenberg-entry .wp-block-table td {
    padding: 15px 16px;
    border-color: var(--line,#dedfd9);
}

.zovelo-gutenberg-entry .wp-block-table th {
    font-family: var(--zovelo-heading-font,Manrope,Arial,sans-serif);
    font-weight: 850;
}

.zovelo-gutenberg-entry .wp-block-details {
    border: 1px solid var(--line,#dedfd9);
    border-radius: 20px;
    background: var(--surface,#fff);
}

.zovelo-gutenberg-entry .wp-block-details summary {
    cursor: pointer;
    padding: 19px 22px;
    font-weight: 850;
}

.zovelo-gutenberg-entry .wp-block-details>p {
    padding: 0 22px 22px;
    color: var(--muted,#666b65);
}

.zovelo-gutenberg-entry .wp-block-media-text {
    gap: clamp(24px,5vw,70px);
}

.zovelo-gutenberg-entry .wp-block-media-text__content {
    padding: clamp(26px,5vw,60px);
}

.zovelo-gutenberg-entry .wp-block-gallery {
    gap: 16px;
}

.zovelo-gutenberg-entry .wp-block-gallery img,
.zovelo-gutenberg-entry .wp-block-image img,
.zovelo-gutenberg-entry .wp-block-cover {
    border-radius: 24px;
}

/* Gutenberg About page keeps the approved frontend design. */

.zovelo-about-entry .zovelo-about-page.wp-block-group {
    display: grid;
    gap: var(--zovelo-content-gap,clamp(44px,6vw,84px));
    margin: 0;
    padding: 0;
}

.zovelo-about-entry .zovelo-about-intro.wp-block-group {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr);
    gap: clamp(20px,2.4vw,34px);
    align-items: stretch;
}

.zovelo-about-entry .zovelo-about-copy.wp-block-group {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    max-width: none;
    margin: 0;
    padding: clamp(34px,5vw,70px);
    border: 1px solid var(--line,#dedfd9);
    border-radius: 38px;
    background: var(--surface,#fff);
    text-align: left;
}

.zovelo-about-entry .zovelo-about-copy>.wp-block-heading {
    width: 100%;
    max-width: 760px;
    margin: 12px 0 20px;
    font-size: clamp(2.65rem,4.7vw,4.9rem);
    line-height: .94;
    letter-spacing: -.058em;
    text-align: left;
}

.zovelo-about-entry .zovelo-about-copy>.zovelo-about-lead {
    font-size: clamp(1.05rem,1.45vw,1.28rem);
    color: var(--ink,#151714);
}

.zovelo-about-entry .zovelo-about-copy>.wp-block-buttons {
    margin-top: 26px;
}

.zovelo-about-entry .zovelo-about-image.wp-block-group {
    position: relative;
    min-height: 650px;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 38px 38px 118px 38px;
    background: var(--surface,#fff);
    overflow: hidden;
}

.zovelo-about-entry .zovelo-about-image .wp-block-image {
    height: 100%;
    margin: 0;
}

.zovelo-about-entry .zovelo-about-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 626px;
    object-fit: cover;
    border-radius: 28px 28px 104px 28px;
}

.zovelo-about-entry .zovelo-about-image-mark {
    position: absolute;
    right: 24px;
    bottom: 24px;
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    margin: 0;
    border-radius: 50%;
    background: var(--lime,#d9ff57);
    color: var(--ink,#151714);
    font: 900 1.65rem/1 var(--zovelo-heading-font,Manrope,Arial,sans-serif);
    box-shadow: 0 16px 45px rgba(0,0,0,.16);
}

.zovelo-about-entry .wp-block-zovelo-store-stats.zovelo-about-stats,.zovelo-about-entry .zovelo-about-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap: 1px;
    overflow: hidden;
    margin: 0;
    border-radius: 34px;
    background: var(--line,#dedfd9);
    box-shadow: 0 26px 70px rgba(21,23,20,.13);
}

.zovelo-about-entry .zovelo-about-stats>div {
    min-width: 0;
    padding: clamp(24px,4vw,44px);
    background: var(--surface,#fff);
    text-align: left;
}

.zovelo-about-entry .zovelo-about-stats strong {
    display: block;
    font: 900 clamp(2.8rem,5vw,5.4rem)/.9 var(--zovelo-heading-font,Manrope,Arial,sans-serif);
    letter-spacing: -.07em;
}

.zovelo-about-entry .zovelo-about-stats span {
    display: block;
    max-width: 100%;
    margin-top: 9px;
    color: var(--muted,#666b65);
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
}

.zovelo-about-entry .zovelo-about-story.wp-block-group {
    display: grid;
    grid-template-columns: minmax(390px,.95fr) minmax(0,1.05fr);
    gap: clamp(28px,5vw,70px);
    align-items: stretch;
    margin: 0;
}

.zovelo-about-entry .zovelo-about-story-image.wp-block-group {
    min-height: 600px;
    margin: 0;
    overflow: hidden;
    border-radius: 36px 36px 118px 36px;
    background: var(--paper,#f6f4ee);
}

.zovelo-about-entry .zovelo-about-story-image .wp-block-image {
    height: 100%;
    margin: 0;
}

.zovelo-about-entry .zovelo-about-story-image img {
    width: 100%;
    height: 100%;
    min-height: 600px;
    object-fit: cover;
    border-radius: 0;
}

.zovelo-about-entry .zovelo-about-story-copy.wp-block-group {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin: 0;
    padding: clamp(30px,5vw,64px);
    border-radius: 36px;
    background: color-mix(in srgb,var(--lime,#d9ff57) 28%,var(--paper,#f6f4ee));
    text-align: left;
}

.zovelo-about-entry .zovelo-about-story-copy>.wp-block-heading,
.zovelo-about-entry .zovelo-about-values-heading>.wp-block-heading,
.zovelo-about-entry .zovelo-about-cta .wp-block-heading {
    margin: 12px 0 18px;
    font-size: clamp(2.2rem,4vw,4rem);
    line-height: .98;
    letter-spacing: -.05em;
    text-align: left;
}

.zovelo-about-entry .zovelo-about-story-copy>.wp-block-quote {
    margin: clamp(28px,5vw,54px) 0 0;
    padding: 26px 0 0;
    border: 0;
    border-top: 1px solid color-mix(in srgb,var(--ink,#151714) 18%,transparent);
    border-radius: 0;
    background: transparent;
    font: 800 clamp(1.35rem,2.4vw,2.2rem)/1.25 var(--zovelo-heading-font,Manrope,Arial,sans-serif);
    box-shadow: none;
}

.zovelo-about-entry .zovelo-about-story-copy>.wp-block-quote p {
    margin: 0;
}

.zovelo-about-entry .zovelo-about-values-section.wp-block-group {
    display: grid;
    gap: 24px;
    margin: 0;
    padding: clamp(22px,3.4vw,42px);
    border-radius: 38px;
    background: color-mix(in srgb,var(--paper,#f6f4ee) 72%,var(--sage,#eef5df));
}

.zovelo-about-entry .zovelo-about-values-heading.wp-block-group {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 12px;
    align-items: start;
    justify-items: start;
    margin: 0;
    text-align: left;
}

.zovelo-about-entry .zovelo-about-values-heading>.wp-block-heading {
    margin: 0;
    max-width: 980px;
    text-align: left;
}

.zovelo-about-entry .zovelo-about-values.wp-block-group {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
    margin: 0;
}

.zovelo-about-entry .zovelo-about-value-card.wp-block-group {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 290px;
    margin: 0;
    padding: 30px 32px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 30px;
    background: var(--surface,#fff);
    text-align: left;
    transition: transform .3s ease,box-shadow .3s ease;
}

.zovelo-about-entry .zovelo-about-value-card:nth-child(2) {
    background: color-mix(in srgb,var(--lime,#d9ff57) 24%,var(--surface,#fff));
}

.zovelo-about-entry .zovelo-about-value-card:nth-child(3) {
    background: color-mix(in srgb,#b9d8ff 36%,var(--surface,#fff));
}

.zovelo-about-entry .zovelo-about-value-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 55px rgba(21,23,20,.09);
}

.zovelo-about-entry .zovelo-about-value-number {
    position: absolute;
    right: 25px;
    top: 24px;
    margin: 0;
    font: 900 2.2rem/1 var(--zovelo-heading-font,Manrope,Arial,sans-serif);
    color: color-mix(in srgb,var(--ink,#151714) 13%,transparent);
}

.zovelo-about-entry .zovelo-about-value-card>.wp-block-heading {
    width: 100%;
    margin: 68px 0 10px;
    font-size: 1.38rem;
    text-align: left;
}

.zovelo-about-entry .zovelo-about-value-card>p:last-child {
    width: 100%;
    max-width: 34ch;
    margin: 0;
    color: var(--muted,#666b65);
    text-align: left;
}

.zovelo-about-entry .zovelo-about-cta.wp-block-group {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1.3fr) minmax(280px,.7fr);
    gap: 34px;
    align-items: end;
    margin: 0;
    padding: clamp(34px,6vw,76px);
    overflow: hidden;
    border-radius: 38px 38px 118px 38px;
    background: var(--ink,#151714);
    color: #fff;
    text-align: left;
}

.zovelo-about-entry .zovelo-about-cta:after {
    content: '';
    position: absolute;
    right: -100px;
    top: -130px;
    width: 370px;
    height: 370px;
    border: 70px solid rgba(217,255,87,.1);
    border-radius: 50%;
}

.zovelo-about-entry .zovelo-about-cta>.wp-block-group,.zovelo-about-entry .zovelo-about-cta>.wp-block-buttons {
    position: relative;
    z-index: 1;
    margin: 0;
}

.zovelo-about-entry .zovelo-about-cta .wp-block-heading {
    margin: 0;
    color: #fff;
    max-width: 850px;
}

.zovelo-about-entry .zovelo-about-cta p {
    max-width: 680px;
    color: rgba(255,255,255,.66);
}

.zovelo-about-entry .zovelo-about-cta>.wp-block-buttons {
    justify-content: flex-end;
}

.zovelo-about-entry .zovelo-about-cta .is-style-zovelo-outline .wp-block-button__link {
    border-color: rgba(255,255,255,.3);
    color: #fff;
}

/* Reusable native information pages. */

.zovelo-info-entry .zovelo-info-page.wp-block-group {
    display: grid;
    gap: var(--zovelo-content-gap,clamp(44px,6vw,84px));
    margin: 0;
}

.zovelo-info-entry .zovelo-info-hero.wp-block-group {
    display: grid;
    grid-template-columns: minmax(0,.95fr) minmax(420px,1.05fr);
    gap: 24px;
    align-items: stretch;
    margin: 0;
}

.zovelo-info-entry .zovelo-info-hero-copy.wp-block-group {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin: 0;
    padding: clamp(34px,5vw,68px);
    border: 1px solid var(--line,#dedfd9);
    border-radius: 36px;
    background: var(--surface,#fff);
    text-align: left;
}

.zovelo-info-entry .zovelo-info-hero-copy>.wp-block-heading {
    width: 100%;
    max-width: 760px;
    margin: 12px 0 18px;
    font-size: clamp(2.5rem,4.6vw,4.7rem);
    line-height: .96;
    letter-spacing: -.055em;
    text-align: left;
}

.zovelo-info-entry .zovelo-info-hero-copy>p:last-child {
    color: var(--muted,#666b65);
    font-size: 1.05rem;
}

.zovelo-info-entry .zovelo-info-hero-image.wp-block-group {
    min-height: 560px;
    margin: 0;
    padding: 10px;
    overflow: hidden;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 36px 36px 110px 36px;
    background: var(--surface,#fff);
}

.zovelo-info-entry .zovelo-info-hero-image .wp-block-image {
    height: 100%;
    margin: 0;
}

.zovelo-info-entry .zovelo-info-hero-image img {
    width: 100%;
    height: 100%;
    min-height: 540px;
    object-fit: cover;
    border-radius: 27px 27px 96px 27px;
}

.zovelo-info-cards.wp-block-group {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
    margin: 0;
}

.zovelo-info-card.wp-block-group {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 300px;
    margin: 0;
    padding: 30px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 28px;
    background: var(--surface,#fff);
}

.zovelo-info-card:nth-child(2) {
    background: color-mix(in srgb,var(--lime,#d9ff57) 20%,var(--surface,#fff));
}

.zovelo-info-card:nth-child(3) {
    background: color-mix(in srgb,#b9d8ff 30%,var(--surface,#fff));
}

.zovelo-info-card-number {
    margin: 0;
    color: color-mix(in srgb,var(--ink,#151714) 15%,transparent);
    font: 900 2.5rem/1 var(--zovelo-heading-font,Manrope,Arial,sans-serif);
}

.zovelo-info-card>.wp-block-heading {
    margin: auto 0 10px;
}

.zovelo-info-card>p:last-child {
    margin: 0;
    color: var(--muted,#666b65);
}

.zovelo-info-closing.wp-block-group {
    margin: 0;
    padding: clamp(32px,5vw,64px);
    border-radius: 34px;
    background: var(--ink,#151714);
    color: #fff;
}

.zovelo-info-closing>.wp-block-heading {
    margin: 0 0 16px;
    color: #fff;
}

.zovelo-info-closing>p:last-child {
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: 1.05rem;
}

.zovelo-pattern-split.wp-block-group {
    display: grid;
    grid-template-columns: minmax(360px,.95fr) minmax(0,1.05fr);
    gap: clamp(24px,5vw,64px);
    align-items: stretch;
}

.zovelo-pattern-split>.wp-block-image {
    margin: 0;
}

.zovelo-pattern-split>.wp-block-image img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    border-radius: 34px 34px 104px 34px;
}

.zovelo-pattern-split-copy.wp-block-group {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(30px,5vw,60px);
    border-radius: 34px;
    background: color-mix(in srgb,var(--lime,#d9ff57) 18%,var(--paper,#f6f4ee));
}

@media (max-width:1020px) {
    .zovelo-about-entry .zovelo-about-intro.wp-block-group,
    .zovelo-about-entry .zovelo-about-story.wp-block-group,
    .zovelo-about-entry .zovelo-about-cta.wp-block-group,
    .zovelo-info-entry .zovelo-info-hero.wp-block-group,
    .zovelo-pattern-split.wp-block-group {
        grid-template-columns: 1fr;
    }

    .zovelo-about-entry .zovelo-about-values-heading.wp-block-group {
        grid-template-columns: 1fr;
    }

    .zovelo-about-entry .zovelo-about-stats,
    .zovelo-about-entry .zovelo-about-values.wp-block-group,
    .zovelo-info-cards.wp-block-group {
        grid-template-columns: 1fr;
    }

    .zovelo-about-entry .zovelo-about-image.wp-block-group,
    .zovelo-about-entry .zovelo-about-image img,
    .zovelo-about-entry .zovelo-about-story-image.wp-block-group,
    .zovelo-about-entry .zovelo-about-story-image img,
    .zovelo-info-entry .zovelo-info-hero-image.wp-block-group,
    .zovelo-info-entry .zovelo-info-hero-image img {
        min-height: 460px;
    }

    .zovelo-about-entry .zovelo-about-cta>.wp-block-buttons {
        justify-content: flex-start;
    }
}

@media (max-width:640px) {
    .zovelo-about-entry .zovelo-about-copy.wp-block-group,
    .zovelo-info-entry .zovelo-info-hero-copy.wp-block-group {
        padding: 30px 22px;
    }

    .zovelo-about-entry .zovelo-about-image.wp-block-group,
    .zovelo-about-entry .zovelo-about-story-image.wp-block-group,
    .zovelo-info-entry .zovelo-info-hero-image.wp-block-group {
        min-height: 360px;
    }

    .zovelo-about-entry .zovelo-about-image img,
    .zovelo-about-entry .zovelo-about-story-image img,
    .zovelo-info-entry .zovelo-info-hero-image img {
        min-height: 340px;
    }

    .zovelo-about-entry .zovelo-about-values-section.wp-block-group {
        padding: 26px 18px;
    }

    .zovelo-about-entry .zovelo-about-value-card.wp-block-group,.zovelo-info-card.wp-block-group {
        min-height: 260px;
        padding: 24px;
    }

    .zovelo-about-entry .zovelo-about-cta.wp-block-group,.zovelo-info-closing.wp-block-group {
        padding: 36px 24px;
        border-radius: 28px 28px 76px 28px;
    }
}

/* Native Gutenberg page composer sections. */

.zovelo-gutenberg-entry>.zovelo-layout-section {
    margin: 0 0 var(--zovelo-section-space,90px);
}

.zovelo-gutenberg-entry>.zovelo-layout-section:last-child {
    margin-bottom: 0;
}

.zovelo-gutenberg-entry .zovelo-about-cta.zovelo-layout-section {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1.3fr) minmax(280px,.7fr);
    gap: 34px;
    align-items: end;
    padding: clamp(34px,6vw,76px);
    overflow: hidden;
    border-radius: 38px 38px 118px 38px;
    background: var(--ink,#151714);
    color: #fff;
}

.zovelo-gutenberg-entry .zovelo-about-cta.zovelo-layout-section:after {
    content: "";
    position: absolute;
    right: -100px;
    top: -130px;
    width: 370px;
    height: 370px;
    border: 70px solid rgba(217,255,87,.1);
    border-radius: 50%;
}

.zovelo-gutenberg-entry .zovelo-about-cta.zovelo-layout-section>* {
    position: relative;
    z-index: 1;
}

.zovelo-gutenberg-entry .zovelo-about-cta.zovelo-layout-section h2 {
    margin: 0;
    color: #fff;
}

.zovelo-gutenberg-entry .zovelo-about-cta.zovelo-layout-section p {
    color: rgba(255,255,255,.68);
}

.zovelo-gutenberg-entry .zovelo-about-cta.zovelo-layout-section .is-style-zovelo-outline .wp-block-button__link {
    border-color: rgba(255,255,255,.35);
    color: #fff;
}

@media (max-width:900px) {
    .zovelo-gutenberg-entry .zovelo-about-cta.zovelo-layout-section {
        grid-template-columns: 1fr;
    }

    .zovelo-gutenberg-entry .zovelo-about-cta.zovelo-layout-section .wp-block-buttons {
        justify-content: flex-start;
    }
}

@media (max-width:600px) {
    .zovelo-gutenberg-entry>.zovelo-layout-section {
        margin: 0 0 var(--zovelo-section-space-mobile,58px);
    }

    .zovelo-gutenberg-entry .zovelo-about-cta.zovelo-layout-section {
        padding: 34px 24px;
        border-radius: 28px 28px 76px 28px;
    }
}

/* Zovelo 1.6.9 — final comments, reviews and About responsive alignment. */

.page .zovelo-comments-panel,
.zovelo-comments-section .zovelo-comments-panel,
.zovelo-premium-reviews>.container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.page .zovelo-comments-panel {
    margin-top: 34px !important;
}

.zovelo-premium-reviews>.container {
    width: min(var(--zovelo-container,1280px),calc(100% - 40px)) !important;
    margin-inline: auto !important;
}

@media (max-width:720px) {
    .zovelo-premium-reviews>.container {
        width: min(100% - 26px,var(--zovelo-container,1280px)) !important;
    }

    .zovelo-about-entry .zovelo-about-value-card.wp-block-group {
        min-height: 250px;
        padding: 26px;
    }

    .zovelo-about-entry .zovelo-about-value-card>.wp-block-heading {
        margin-top: 60px;
    }
}

/* Zovelo 1.8.2 — unified page alignment and Home Catalog container. */

body.zovelo-home-catalog-content {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.zovelo-home-catalog-content>.header,
body.zovelo-home-catalog-content>#primary,
body.zovelo-home-catalog-content>.footer {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
}

body.zovelo-home-catalog-content #primary.zovelo-canvas-main {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.zovelo-home-catalog-content .zovelo-catalog-hero,
body.zovelo-home-catalog-content .zovelo-categories-shortcode,
body.zovelo-home-catalog-content .zovelo-catalog-products {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
}

body.zovelo-home-catalog-content .zovelo-catalog-hero>.container,
body.zovelo-home-catalog-content .zovelo-categories-shortcode>.container,
body.zovelo-home-catalog-content .zovelo-catalog-products>.container,
body.zovelo-home-catalog-content .footer--minimal>.container {
    width: min(var(--zovelo-container,1280px),calc(100% - 40px)) !important;
    max-width: var(--zovelo-container,1280px) !important;
    margin-inline: auto !important;
}

body.zovelo-home-catalog-content .zovelo-catalog-shell>div,
body.zovelo-home-catalog-content .zovelo-catalog-products-head,
body.zovelo-home-catalog-content .zovelo-catalog-products-head>div {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

body.zovelo-home-catalog-content .zovelo-catalog-shell :where(.kicker,h1,p),
body.zovelo-home-catalog-content .zovelo-catalog-products-head :where(.kicker,h2,p) {
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
}

body.zovelo-home-catalog-content .zovelo-category-overview-grid,
body.zovelo-home-catalog-content ul.products.zovelo-shortcode-products {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
}

body.zovelo-home-catalog-content .zovelo-catalog-products {
    padding-top: clamp(56px,6vw,92px) !important;
    padding-bottom: clamp(88px,8vw,132px) !important;
}

body.zovelo-home-catalog-content .zovelo-catalog-products-head {
    margin-bottom: 34px !important;
}

body.zovelo-home-catalog-content .footer--minimal .zovelo-footer-minimal {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Native pages default to a consistent left-aligned reading direction. */

.page-heading-copy,
.zovelo-page-layout .zovelo-entry,
.zovelo-gutenberg-entry,
.zovelo-structured-entry,
.zovelo-page-pattern,
.zovelo-info-page,
.zovelo-layout-section {
    text-align: left;
}

.zovelo-page-layout .zovelo-entry :where(h1,h2,h3,h4,h5,h6,p,li,blockquote,figcaption,summary),
.zovelo-gutenberg-entry :where(h1,h2,h3,h4,h5,h6,p,li,blockquote,figcaption,summary),
.zovelo-structured-entry :where(h1,h2,h3,h4,h5,h6,p,li,blockquote,figcaption,summary) {
    text-align: left;
}

.zovelo-gutenberg-entry .wp-block-buttons:not(.is-content-justification-center):not(.is-content-justification-right),
.zovelo-structured-entry .wp-block-buttons:not(.is-content-justification-center):not(.is-content-justification-right) {
    justify-content: flex-start;
}

/* Preserve an explicit alignment selected by the page author. */

.zovelo-page-layout .has-text-align-center {
    text-align: center !important;
}

.zovelo-page-layout .has-text-align-right {
    text-align: right !important;
}

.zovelo-page-layout .has-text-align-left {
    text-align: left !important;
}

@media (max-width:720px) {
    body.zovelo-home-catalog-content .zovelo-catalog-hero>.container,
    body.zovelo-home-catalog-content .zovelo-categories-shortcode>.container,
    body.zovelo-home-catalog-content .zovelo-catalog-products>.container,
    body.zovelo-home-catalog-content .footer--minimal>.container {
        width: min(100% - 26px,var(--zovelo-container,1280px)) !important;
    }
}

/* Zovelo 1.8.2 — one shared vertical rhythm for every native page section. */

.zovelo-page-pattern,
.zovelo-about-page,
.zovelo-info-page,
.zovelo-contact-page,
.zovelo-discounts-page,
.zovelo-brands-page,
.zovelo-voucher-page {
    display: grid !important;
    row-gap: var(--zovelo-section-space,90px) !important;
}

.zovelo-page-pattern>.wp-block-group,
.zovelo-about-page>.wp-block-group,
.zovelo-info-page>.wp-block-group,
.zovelo-contact-page>section,
.zovelo-discounts-page>section,
.zovelo-brands-page>section,
.zovelo-voucher-page>section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.about-team-section,
.about-timeline-section,
.about-closing,
.category-feature-row {
    margin-top: 0 !important;
}

@media (max-width:782px) {
    .zovelo-page-pattern,
    .zovelo-about-page,
    .zovelo-info-page,
    .zovelo-contact-page,
    .zovelo-discounts-page,
    .zovelo-brands-page,
    .zovelo-voucher-page {
        row-gap: var(--zovelo-section-space-mobile,58px) !important;
    }
}

/* Zovelo 1.8.2 — admin/frontend parity, equal card padding and native widget styling. */

.zovelo-about-entry .zovelo-about-story.wp-block-group {
    grid-template-columns: minmax(360px,.92fr) minmax(0,1.08fr);
    gap: clamp(24px,4vw,52px);
}

.zovelo-about-entry .zovelo-about-story-image.wp-block-group {
    min-height: 520px;
}

.zovelo-about-entry .zovelo-about-story-image img {
    min-height: 520px;
}

.zovelo-about-entry .zovelo-about-story-copy.wp-block-group {
    justify-content: flex-start;
    padding: clamp(36px,5vw,60px);
}

.zovelo-about-entry .zovelo-about-story-copy>* {
    width: 100%;
    max-width: 720px;
}

.zovelo-info-card.wp-block-group {
    justify-content: flex-start;
    padding: 30px;
}

.zovelo-info-card>.wp-block-heading {
    margin: 62px 0 10px;
}

.zovelo-info-card>p:last-child {
    width: 100%;
    max-width: 36ch;
}

.zovelo-journal-sidebar .widget {
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: 26px;
    background: var(--surface);
}

.zovelo-journal-sidebar .widget+.widget {
    margin-top: 18px;
}

.zovelo-widget-search {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
}

.zovelo-widget-search input {
    min-width: 0;
}

.zovelo-widget-search button {
    padding-inline: 16px;
}

.zovelo-widget-product {
    display: grid;
    gap: 12px;
}

.zovelo-widget-product img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 18px;
}

.zovelo-page-pattern,
.zovelo-about-page,
.zovelo-info-page,
.zovelo-contact-page,
.zovelo-discounts-page,
.zovelo-brands-page,
.zovelo-voucher-page {
    row-gap: var(--zovelo-section-space,90px) !important;
}

@media (max-width:782px) {
    .zovelo-page-pattern,
    .zovelo-about-page,
    .zovelo-info-page,
    .zovelo-contact-page,
    .zovelo-discounts-page,
    .zovelo-brands-page,
    .zovelo-voucher-page {
        row-gap: var(--zovelo-section-space-mobile,58px) !important;
    }

    .zovelo-about-entry .zovelo-about-story-image.wp-block-group,
    .zovelo-about-entry .zovelo-about-story-image img {
        min-height: 380px;
    }

    .zovelo-about-entry .zovelo-about-story-copy.wp-block-group {
        padding: 30px 24px;
    }
}

/* Zovelo 1.8.2 final parity: equal cards and a single section rhythm. */

.zovelo-about-entry .zovelo-about-story.wp-block-group {
    align-items: stretch !important;
    grid-template-columns: minmax(340px,.92fr) minmax(0,1.08fr) !important;
    gap: clamp(22px,3vw,40px) !important;
}

.zovelo-about-entry .zovelo-about-story-image.wp-block-group,
.zovelo-about-entry .zovelo-about-story-image img {
    min-height: 470px !important;
    height: 100% !important;
}

.zovelo-about-entry .zovelo-about-story-copy.wp-block-group {
    min-height: 470px !important;
    padding: 44px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
}

.zovelo-about-entry .zovelo-about-story-copy.wp-block-group>* {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
}

.zovelo-page-pattern,
.zovelo-about-page,
.zovelo-info-page,
.zovelo-contact-page,
.zovelo-discounts-page,
.zovelo-brands-page,
.zovelo-voucher-page {
    row-gap: var(--zovelo-section-space,90px) !important;
}

.zovelo-page-pattern>:where(.wp-block-group,section),
.zovelo-about-page>:where(.wp-block-group,section),
.zovelo-info-page>:where(.wp-block-group,section) {
    margin-block: 0 !important;
}

@media (max-width:782px) {
    .zovelo-about-entry .zovelo-about-story-image.wp-block-group,
    .zovelo-about-entry .zovelo-about-story-image img {
        min-height: 340px !important;
    }

    .zovelo-about-entry .zovelo-about-story-copy.wp-block-group {
        min-height: auto !important;
        padding: 30px 24px !important;
    }

    .zovelo-page-pattern,
    .zovelo-about-page,
    .zovelo-info-page,
    .zovelo-contact-page,
    .zovelo-discounts-page,
    .zovelo-brands-page,
    .zovelo-voucher-page {
        row-gap: var(--zovelo-section-space-mobile,58px) !important;
    }
}

/* Zovelo 1.8.2 — About values align with the page container. */

.zovelo-about-entry .zovelo-about-values-section,
.zovelo-about-entry .zovelo-about-values-section.wp-block-group {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width:720px) {
    .zovelo-about-entry .zovelo-about-values-section,
    .zovelo-about-entry .zovelo-about-values-section.wp-block-group {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Zovelo 1.8.2 — avoid double horizontal padding for dynamic sections inside native pages. */

.zovelo-page-layout .zovelo-layout-section>.container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Standalone WordPress shell — Zovelo Core is optional. */

html {
    min-height: 100%;
}

body.zovelo-standalone-theme {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--paper);
}

body.zovelo-standalone-theme>.header {
    flex: 0 0 auto;
}

body.zovelo-standalone-theme>#primary,
body.zovelo-standalone-theme>main {
    width: 100%;
    flex: 1 0 auto;
}

body.zovelo-standalone-theme>.footer {
    flex: 0 0 auto;
    margin-top: auto;
}

body.zovelo-standalone-theme .header-main {
    min-height: 96px;
}

body.zovelo-standalone-theme .header .nav {
    position: static;
    transform: none;
}

body.zovelo-standalone-theme .footer {
    padding: 42px 0 24px;
}

body.zovelo-standalone-theme .footer .container {
    max-width: var(--zovelo-container);
}

.zovelo-standalone-footer-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
    padding-bottom: 34px;
}

.zovelo-standalone-footer-brand {
    max-width: 560px;
}

.zovelo-standalone-footer-brand p {
    max-width: 540px;
    margin: 18px 0 0;
    color: color-mix(in srgb,var(--zovelo-footer-text) 72%,transparent);
    font-size: 1rem;
    line-height: 1.75;
}

.zovelo-standalone-footer-nav .footer-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px 28px;
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
}

.zovelo-standalone-footer-nav a {
    color: inherit;
    font-weight: 700;
    text-decoration: none;
}

.zovelo-native-front {
    padding: 0;
}

.zovelo-native-hero {
    padding: clamp(54px,7vw,104px) 0 24px;
}

.zovelo-native-hero-panel {
    position: relative;
    overflow: hidden;
    min-height: clamp(310px,43vw,520px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: clamp(34px,6vw,82px);
    border: 1px solid var(--line);
    border-radius: clamp(24px,4vw,44px);
    background: linear-gradient(135deg,var(--card),color-mix(in srgb,var(--lime) 16%,var(--paper)));
    box-shadow: 0 24px 70px rgba(21,23,20,.08);
}

.zovelo-native-hero-panel:after {
    content: "";
    position: absolute;
    width: clamp(180px,32vw,420px);
    aspect-ratio: 1;
    right: clamp(-100px,-5vw,-30px);
    top: clamp(-120px,-8vw,-50px);
    border-radius: 50%;
    background: color-mix(in srgb,var(--lime) 48%,transparent);
    filter: blur(2px);
}

.zovelo-native-hero-panel>* {
    position: relative;
    z-index: 1;
    max-width: 760px;
}

.zovelo-native-hero-panel h1 {
    margin: .18em 0 .24em;
    font-size: clamp(3rem,7vw,7rem);
    line-height: .92;
    letter-spacing: -.07em;
}

.zovelo-native-hero-panel p {
    margin: 0;
    max-width: 650px;
    color: var(--muted);
    font-size: clamp(1rem,1.5vw,1.2rem);
    line-height: 1.7;
}

.zovelo-native-hero-panel .btn {
    margin-top: 28px;
}

.zovelo-native-posts {
    padding-top: clamp(44px,6vw,82px);
    padding-bottom: clamp(64px,8vw,112px);
}

.zovelo-native-section-head {
    margin-bottom: 30px;
}

body.zovelo-standalone-theme .blog-grid {
    align-items: stretch;
}

body.zovelo-standalone-theme .blog-card {
    height: 100%;
}

@media (max-width:940px) {
    body.zovelo-standalone-theme .header-main {
        min-height: 76px;
    }

    .zovelo-standalone-footer-main {
        display: grid;
        gap: 26px;
    }

    .zovelo-standalone-footer-nav .footer-menu {
        justify-content: flex-start;
    }

    .zovelo-native-hero {
        padding-top: 28px;
    }
}

@media (max-width:600px) {
    .zovelo-native-hero-panel {
        min-height: 300px;
        padding: 30px 24px;
    }

    .zovelo-native-hero-panel h1 {
        font-size: clamp(2.7rem,16vw,4.5rem);
    }

    .zovelo-standalone-footer-nav .footer-menu {
        display: grid;
        gap: 12px;
    }
}

/* Clear standalone footer social marks. */

.zovelo-standalone-footer-socials .socials {
    margin-top: 22px !important;
}

.footer .socials .icon-btn .zovelo-icon--brand {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
    stroke: none !important;
}

.footer .socials .icon-btn:hover .zovelo-icon--brand,
.footer .socials .icon-btn:focus-visible .zovelo-icon--brand {
    fill: currentColor !important;
    stroke: none !important;
}

@media (max-width:600px) {
    .zovelo-standalone-footer-socials .socials {
        margin-top: 18px !important;
    }
}

/* Native WordPress presentation used when Core is inactive. */

body.zovelo-standalone-theme {
    --zovelo-native-content: 780px;
    --zovelo-native-wide: 1120px;
}

body.zovelo-standalone-theme .page-heading--minimal {
    padding: clamp(34px,6vw,76px) 0 0;
}

body.zovelo-standalone-theme .page-heading--minimal .page-heading-shell {
    position: relative;
    min-height: auto;
    padding: clamp(34px,5vw,66px);
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: clamp(24px,3vw,38px);
    background: linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--lime) 8%,var(--paper)));
    box-shadow: 0 22px 70px rgba(21,23,20,.07);
}

body.zovelo-standalone-theme .page-heading--minimal .page-heading-copy {
    position: relative;
    z-index: 2;
    max-width: 850px;
}

body.zovelo-standalone-theme .page-heading--minimal .page-heading-copy h1 {
    max-width: 16ch;
    margin: 0;
    overflow-wrap: anywhere;
    font-size: clamp(2.6rem,7vw,6.4rem);
    line-height: .94;
    letter-spacing: -.065em;
}

body.zovelo-standalone-theme .page-heading--minimal .page-heading-copy p {
    max-width: 720px;
    margin: 22px 0 0;
    color: var(--muted);
    font-size: clamp(1rem,1.4vw,1.18rem);
    line-height: 1.75;
}

body.zovelo-standalone-theme .page-heading--minimal .page-heading-visual {
    display: block;
    position: absolute;
    inset: 0;
    pointer-events: none;
}

body.zovelo-standalone-theme .page-heading--minimal .page-heading-orb-one {
    position: absolute;
    width: 330px;
    aspect-ratio: 1;
    right: -90px;
    top: -150px;
    border-radius: 50%;
    background: color-mix(in srgb,var(--lime) 45%,transparent);
}

body.zovelo-standalone-theme .page-heading--minimal .page-heading-orb-two {
    position: absolute;
    width: 130px;
    aspect-ratio: 1;
    right: 18%;
    bottom: -90px;
    border-radius: 50%;
    background: color-mix(in srgb,var(--ink) 8%,transparent);
}

body.zovelo-standalone-theme .page-heading--minimal .page-heading-ring {
    position: absolute;
    width: 220px;
    aspect-ratio: 1;
    right: 8%;
    top: 18%;
    border: 1px solid color-mix(in srgb,var(--ink) 15%,transparent);
    border-radius: 50%;
}

body.zovelo-standalone-theme .zovelo-native-hero {
    padding: clamp(32px,5vw,68px) 0 0;
}

body.zovelo-standalone-theme .zovelo-native-hero-panel {
    min-height: clamp(300px,36vw,430px);
    padding: clamp(38px,6vw,78px);
    justify-content: center;
    background: radial-gradient(circle at 86% 18%,color-mix(in srgb,var(--lime) 54%,transparent) 0 16%,transparent 16.5%),
    linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--lime) 10%,var(--paper)));
}

body.zovelo-standalone-theme .zovelo-native-hero-panel:after {
    width: clamp(170px,25vw,320px);
    right: -80px;
    top: auto;
    bottom: -160px;
    background: transparent;
    border: 1px solid color-mix(in srgb,var(--ink) 14%,transparent);
    filter: none;
}

body.zovelo-standalone-theme .zovelo-native-hero-panel h1 {
    max-width: 13ch;
    overflow-wrap: anywhere;
    font-size: clamp(3rem,8vw,7rem);
}

body.zovelo-standalone-theme .zovelo-native-posts {
    padding-top: clamp(38px,5vw,70px);
}

body.zovelo-standalone-theme .zovelo-native-post-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: clamp(18px,2.4vw,30px);
}

body.zovelo-standalone-theme .zovelo-native-card {
    position: relative;
    min-width: 0;
    height: 100%;
    border-radius: 30px;
    background: var(--surface);
    box-shadow: 0 16px 50px rgba(21,23,20,.04);
}

body.zovelo-standalone-theme .zovelo-native-card-media {
    position: relative;
    aspect-ratio: 1.34;
    display: block;
    background: linear-gradient(145deg,#ecebe4,#f8f7f2);
}

body.zovelo-standalone-theme .zovelo-native-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.zovelo-standalone-theme .zovelo-native-card-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-content: center;
    text-align: center;
    background: radial-gradient(circle at 24% 28%,#d7e6e1 0 17%,transparent 17.5%),
  linear-gradient(135deg,#e9e6dc,#f4f1e8);
    color: var(--ink);
}

body.zovelo-standalone-theme .zovelo-native-card-placeholder span {
    display: block;
    font: 900 clamp(2.8rem,6vw,5.4rem)/.85 var(--zovelo-heading-font,Manrope,sans-serif);
    letter-spacing: -.08em;
}

body.zovelo-standalone-theme .zovelo-native-card-placeholder small {
    display: block;
    margin-top: 8px;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

body.zovelo-standalone-theme .zovelo-native-sticky-label {
    position: absolute;
    left: 16px;
    top: 16px;
    padding: 8px 12px;
    border-radius: 999px;
    background: var(--lime);
    color: var(--ink);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.zovelo-standalone-theme .zovelo-native-card-content {
    display: flex;
    min-height: 270px;
    flex-direction: column;
    padding: clamp(22px,2.5vw,30px);
}

body.zovelo-standalone-theme .zovelo-native-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    color: var(--muted);
    font-size: .71rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.zovelo-standalone-theme .zovelo-native-card-title {
    margin: 14px 0 12px;
    font: 800 clamp(1.35rem,2vw,1.75rem)/1.12 var(--zovelo-heading-font,Manrope,sans-serif);
    letter-spacing: -.04em;
    overflow-wrap: anywhere;
}

body.zovelo-standalone-theme .zovelo-native-card-content p {
    margin: 0 0 20px;
}

body.zovelo-standalone-theme .zovelo-native-card-content .blog-read {
    margin-top: auto;
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card:only-child {
    max-width: 980px;
    display: grid;
    grid-template-columns: minmax(300px,.95fr) minmax(0,1.05fr);
    margin-inline: auto;
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card:only-child .zovelo-native-card-media {
    aspect-ratio: auto;
    min-height: 390px;
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card:only-child .zovelo-native-card-content {
    justify-content: center;
    min-height: 390px;
}

body.zovelo-standalone-theme .zovelo-native-entry-section {
    padding-top: clamp(34px,5vw,68px);
    padding-bottom: clamp(64px,8vw,110px);
}

body.zovelo-standalone-theme .zovelo-native-entry {
    width: min(100%,var(--zovelo-native-content));
    margin-inline: auto;
    padding: clamp(26px,5vw,58px);
    border: 1px solid var(--line);
    border-radius: clamp(24px,3vw,36px);
    background: var(--surface);
    box-shadow: 0 18px 60px rgba(21,23,20,.05);
}

body.zovelo-standalone-theme .zovelo-native-page-entry:has(.alignwide),
body.zovelo-standalone-theme .zovelo-native-page-entry:has(.alignfull) {
    width: min(100%,var(--zovelo-native-wide));
}

body.zovelo-standalone-theme .zovelo-native-entry-content {
    min-width: 0;
    font-size: clamp(1rem,1.1vw,1.1rem);
    line-height: 1.82;
    overflow-wrap: anywhere;
}

body.zovelo-standalone-theme .zovelo-native-entry-content>:first-child {
    margin-top: 0;
}

body.zovelo-standalone-theme .zovelo-native-entry-content>:last-child {
    margin-bottom: 0;
}

body.zovelo-standalone-theme .zovelo-native-entry-content :where(h1,h2,h3,h4,h5,h6) {
    margin: 1.35em 0 .55em;
    line-height: 1.12;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
}

body.zovelo-standalone-theme .zovelo-native-entry-content :where(p,ul,ol,blockquote,pre,table,figure,.wp-block-group) {
    margin-top: 0;
    margin-bottom: 1.45em;
}

body.zovelo-standalone-theme .zovelo-native-entry-content :where(img,video,iframe,embed,object) {
    max-width: 100%;
    height: auto;
}

body.zovelo-standalone-theme .zovelo-native-entry-content .alignwide {
    width: min(100vw - 48px,var(--zovelo-native-wide));
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

body.zovelo-standalone-theme .zovelo-native-entry-content .alignfull {
    width: 100vw;
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

body.zovelo-standalone-theme .zovelo-native-entry-content :where(pre,.wp-block-code) {
    max-width: 100%;
    overflow: auto;
    padding: 22px;
    border-radius: 18px;
    background: #151714;
    color: #f8f9f5;
    white-space: pre;
}

body.zovelo-standalone-theme .zovelo-native-entry-content code {
    overflow-wrap: anywhere;
}

body.zovelo-standalone-theme .zovelo-native-entry-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

body.zovelo-standalone-theme .zovelo-native-entry-content th,
body.zovelo-standalone-theme .zovelo-native-entry-content td {
    padding: 12px 14px;
    border: 1px solid var(--line);
    text-align: left;
}

body.zovelo-standalone-theme .zovelo-native-entry-content blockquote {
    padding: 4px 0 4px 24px;
    border-left: 4px solid var(--lime);
    font-size: 1.12em;
}

body.zovelo-standalone-theme .zovelo-native-entry-content figure {
    max-width: 100%;
}

body.zovelo-standalone-theme .zovelo-native-entry-content figcaption {
    margin-top: 9px;
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.5;
    text-align: center;
}

body.zovelo-standalone-theme .zovelo-native-entry-content .wp-caption {
    max-width: 100%;
}

body.zovelo-standalone-theme .zovelo-native-entry-content :where(.gallery,.wp-block-gallery) {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
    gap: 14px;
}

body.zovelo-standalone-theme .zovelo-native-entry-content :where(.gallery-item,.wp-block-gallery figure) {
    min-width: 0;
    margin: 0;
}

body.zovelo-standalone-theme .zovelo-native-entry-content .wp-block-cover {
    border-radius: 26px;
    overflow: hidden;
}

body.zovelo-standalone-theme .zovelo-native-featured-image {
    margin: -1px -1px clamp(28px,4vw,48px);
}

body.zovelo-standalone-theme .zovelo-native-featured-image img {
    display: block;
    width: 100%;
    max-height: 720px;
    object-fit: cover;
    border-radius: 36px 36px 0 0;
}

body.zovelo-standalone-theme .zovelo-native-single-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 32px;
    align-items: start;
}

body.zovelo-standalone-theme .zovelo-native-single-layout.has-sidebar {
    grid-template-columns: minmax(0,1fr) 320px;
}

body.zovelo-standalone-theme .zovelo-native-single-layout.has-sidebar .zovelo-native-entry {
    width: 100%;
}

body.zovelo-standalone-theme .zovelo-native-sidebar {
    position: sticky;
    top: calc(var(--zovelo-header-height,90px) + 24px);
    display: grid;
    gap: 18px;
}

body.zovelo-standalone-theme .zovelo-native-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 700;
}

body.zovelo-standalone-theme .zovelo-native-taxonomy {
    display: grid;
    gap: 12px;
    margin-top: 44px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: .88rem;
}

body.zovelo-standalone-theme .zovelo-native-taxonomy div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.zovelo-standalone-theme .zovelo-native-taxonomy strong {
    color: var(--ink);
    margin-right: 8px;
}

body.zovelo-standalone-theme .post-navigation {
    width: min(100%,var(--zovelo-native-wide));
    margin: 34px auto 0;
}

body.zovelo-standalone-theme .post-navigation .nav-links {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
}

body.zovelo-standalone-theme .post-navigation a {
    display: grid;
    gap: 8px;
    height: 100%;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--surface);
}

body.zovelo-standalone-theme .post-navigation .nav-next {
    text-align: right;
}

body.zovelo-standalone-theme .post-navigation .nav-subtitle {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body.zovelo-standalone-theme .post-navigation .nav-title {
    font-weight: 800;
    overflow-wrap: anywhere;
}

body.zovelo-standalone-theme .page-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}

body.zovelo-standalone-theme .page-links>span,
body.zovelo-standalone-theme .page-links>a {
    display: grid;
    min-width: 38px;
    height: 38px;
    place-items: center;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--paper);
}

body.zovelo-standalone-theme .zovelo-native-comments-wrap {
    width: min(100%,var(--zovelo-native-wide));
    margin: 42px auto 0;
}

body.zovelo-standalone-theme .zovelo-native-comments {
    padding: clamp(24px,4vw,44px);
}

body.zovelo-standalone-theme .zovelo-native-comments .zovelo-comments-heading h2 {
    font-size: clamp(1.8rem,3.4vw,3rem);
}

body.zovelo-standalone-theme .zovelo-attachment-media {
    text-align: center;
}

body.zovelo-standalone-theme .zovelo-attachment-media img {
    max-width: 100%;
    height: auto;
}

body.zovelo-standalone-theme .zovelo-attachment-parent {
    margin-top: 28px;
    text-align: center;
}

body.zovelo-standalone-theme .post-password-form {
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--paper);
}

body.zovelo-standalone-theme .post-password-form p:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: end;
}

body.zovelo-standalone-theme .post-password-form input[type=password] {
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface);
}

body.zovelo-standalone-theme .post-password-form input[type=submit] {
    min-height: 48px;
    padding: 0 20px;
    border: 0;
    border-radius: 999px;
    background: var(--ink);
    color: #fff;
    font-weight: 800;
}

body.zovelo-standalone-theme .zovelo-no-results {
    grid-column: 1/-1;
    padding: clamp(28px,5vw,54px);
    text-align: center;
}

body.zovelo-standalone-theme .zovelo-no-results .search-form {
    max-width: 620px;
    margin: 24px auto 0;
}

body.zovelo-standalone-theme :where(a,button,summary):focus-visible {
    outline: 3px solid color-mix(in srgb,var(--lime) 75%,#000);
    outline-offset: 3px;
}

body.zovelo-standalone-theme :where(input,textarea,select):focus-visible {
    outline: 2px solid rgba(21,23,20,.38);
    outline-offset: 2px;
}

@media (max-width:1050px) {
    body.zovelo-standalone-theme .zovelo-native-post-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    body.zovelo-standalone-theme .zovelo-native-single-layout.has-sidebar {
        grid-template-columns: 1fr;
    }

    body.zovelo-standalone-theme .zovelo-native-sidebar {
        position: static;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width:760px) {
    body.zovelo-standalone-theme .page-heading--minimal .page-heading-visual {
        opacity: .55;
    }

    body.zovelo-standalone-theme .page-heading--minimal .page-heading-copy h1 {
        font-size: clamp(2.35rem,14vw,4rem);
    }

    body.zovelo-standalone-theme .zovelo-native-post-grid {
        grid-template-columns: 1fr;
    }

    body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card:only-child {
        display: block;
        max-width: 580px;
    }

    body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card:only-child .zovelo-native-card-media {
        min-height: 280px;
    }

    body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card:only-child .zovelo-native-card-content {
        min-height: 0;
    }

    body.zovelo-standalone-theme .zovelo-native-entry {
        padding: 24px;
        border-radius: 24px;
    }

    body.zovelo-standalone-theme .zovelo-native-entry-content .alignwide,
    body.zovelo-standalone-theme .zovelo-native-entry-content .alignfull {
        width: calc(100% + 48px);
        margin-left: -24px;
        transform: none;
    }

    body.zovelo-standalone-theme .zovelo-native-featured-image {
        margin: -24px -24px 28px;
    }

    body.zovelo-standalone-theme .zovelo-native-featured-image img {
        border-radius: 24px 24px 0 0;
    }

    body.zovelo-standalone-theme .zovelo-native-sidebar {
        grid-template-columns: 1fr;
    }

    body.zovelo-standalone-theme .post-navigation .nav-links {
        grid-template-columns: 1fr;
    }

    body.zovelo-standalone-theme .post-navigation .nav-next {
        text-align: left;
    }
}

/* Coherent standalone feed and content-driven footer defaults. */

body.zovelo-standalone-theme .zovelo-native-feed-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 clamp(24px,3.5vw,42px);
}

body.zovelo-standalone-theme .zovelo-native-feed-heading h2 {
    margin: 0;
    font: 800 clamp(2.4rem,5vw,4.8rem)/.95 var(--zovelo-heading-font,Manrope,sans-serif);
    letter-spacing: -.06em;
}

body.zovelo-standalone-theme .zovelo-native-feed-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: clamp(26px,3vw,38px);
    align-items: start;
}

body.zovelo-standalone-theme .zovelo-native-feed-layout.has-sidebar {
    grid-template-columns: minmax(0,1fr) 320px;
}

body.zovelo-standalone-theme .zovelo-native-feed-layout.has-sidebar .zovelo-native-post-grid {
    grid-template-columns: 1fr;
}

body.zovelo-standalone-theme .zovelo-native-post-grid {
    width: 100%;
    grid-template-columns: repeat(2,minmax(0,1fr));
}

body.zovelo-standalone-theme .zovelo-native-card--text-only {
    isolation: isolate;
    min-height: 320px;
    overflow: hidden;
    border: 1px solid var(--line);
    background: linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--lime) 5%,var(--paper)));
}

body.zovelo-standalone-theme .zovelo-native-card--text-only:after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 210px;
    aspect-ratio: 1;
    right: -92px;
    bottom: -118px;
    border: 1px solid color-mix(in srgb,var(--ink) 10%,transparent);
    border-radius: 50%;
    pointer-events: none;
}

body.zovelo-standalone-theme .zovelo-native-card--text-only .zovelo-native-card-content {
    min-height: 320px;
    padding: clamp(28px,4vw,50px);
}

body.zovelo-standalone-theme .zovelo-native-card--text-only .zovelo-native-card-title {
    max-width: 18ch;
    font-size: clamp(1.7rem,3vw,2.75rem);
}

body.zovelo-standalone-theme .zovelo-native-sticky-label--inline {
    position: static;
    align-self: flex-start;
    margin: 0 0 16px;
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-content {
    min-height: clamp(330px,36vw,470px);
    justify-content: center;
    padding: clamp(34px,6vw,76px);
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-meta,
body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-title,
body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-content>p,
body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .blog-read {
    max-width: 800px;
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-title {
    margin-top: 18px;
    font-size: clamp(2.5rem,6vw,5.5rem);
    line-height: .94;
    letter-spacing: -.07em;
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-content>p {
    font-size: clamp(1rem,1.35vw,1.18rem);
    line-height: 1.75;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-main {
    display: grid;
    justify-items: center;
    gap: 20px;
    padding: 10px 0 34px;
    text-align: center;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-main .zovelo-footer-brand {
    justify-content: center;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-socials .socials {
    justify-content: center;
    margin: 0 !important;
}

body.zovelo-standalone-theme .footer-bottom {
    justify-content: center;
    gap: 10px 20px;
    text-align: center;
}

body.zovelo-standalone-theme .footer-bottom>span {
    text-align: center;
}

@media (max-width:1050px) {
    body.zovelo-standalone-theme .zovelo-native-feed-layout.has-sidebar {
        grid-template-columns: 1fr;
    }
}

@media (max-width:760px) {
    body.zovelo-standalone-theme .zovelo-native-post-grid {
        grid-template-columns: 1fr;
    }

    body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child {
        max-width: none;
    }

    body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-content {
        min-height: 300px;
        padding: 30px 24px;
    }

    body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-title {
        font-size: clamp(2.25rem,13vw,4rem);
    }
}

/* Clear brand marks in article sharing controls. */

.zovelo-share-buttons a,
.zovelo-share-buttons button {
    width: 48px;
    height: 48px;
    color: var(--ink,#151714);
}

.zovelo-share-buttons .zovelo-icon--brand {
    width: 20px;
    height: 20px;
    fill: currentColor;
    stroke: none;
}

/* Zovelo 1.8.19 — balanced native blog, real-content rail and centered footer. */

body.zovelo-standalone-theme .zovelo-native-front-feed {
    padding-top: clamp(58px,7vw,104px);
}

body.zovelo-standalone-theme .zovelo-native-feed-heading {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(240px,520px);
    align-items: end;
    gap: clamp(24px,6vw,84px);
    margin-bottom: clamp(34px,5vw,58px);
    padding-bottom: clamp(22px,3vw,34px);
    border-bottom: 1px solid var(--line);
}

body.zovelo-standalone-theme .zovelo-native-feed-heading h1,
body.zovelo-standalone-theme .zovelo-native-feed-heading h2 {
    margin: 0;
    max-width: 13ch;
    font: 800 clamp(3.2rem,7vw,6.6rem)/.9 var(--zovelo-heading-font,Manrope,sans-serif);
    letter-spacing: -.075em;
    overflow-wrap: anywhere;
}

body.zovelo-standalone-theme .zovelo-native-feed-heading p {
    max-width: 520px;
    margin: 0 0 .4em;
    color: var(--muted);
    font-size: clamp(1rem,1.4vw,1.16rem);
    line-height: 1.75;
}

body.zovelo-standalone-theme .zovelo-native-feed-layout.has-sidebar {
    grid-template-columns: minmax(0,1fr) minmax(280px,330px);
    gap: clamp(28px,4vw,54px);
}

body.zovelo-standalone-theme .zovelo-native-feed-layout.has-sidebar .zovelo-native-post-grid {
    grid-template-columns: 1fr;
}

body.zovelo-standalone-theme .zovelo-native-card--text-only {
    min-height: 0;
    border-radius: 32px;
    background: var(--surface);
    box-shadow: 0 20px 60px rgba(21,23,20,.055);
}

body.zovelo-standalone-theme .zovelo-native-card--text-only:after {
    display: none;
}

body.zovelo-standalone-theme .zovelo-native-card--text-only .zovelo-native-card-content {
    min-height: 320px;
    padding: clamp(30px,4.5vw,58px);
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child {
    width: 100%;
    max-width: none;
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-content {
    min-height: clamp(330px,31vw,410px);
    justify-content: flex-start;
    padding: clamp(34px,5vw,64px);
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-title {
    max-width: 13ch;
    margin: 18px 0 14px;
    font-size: clamp(2.7rem,5.5vw,5.1rem);
    line-height: .95;
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-content>p {
    max-width: 650px;
    font-size: clamp(1rem,1.25vw,1.12rem);
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .blog-read {
    margin-top: auto;
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar {
    position: sticky;
    top: calc(var(--zovelo-header-height,86px) + 24px);
    display: grid;
    gap: 18px;
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .zovelo-sidebar-widget {
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 26px;
    background: var(--surface);
    box-shadow: 0 14px 42px rgba(21,23,20,.04);
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .widget-title {
    margin: 0 0 18px;
    font: 800 1.15rem/1.15 var(--zovelo-heading-font,Manrope,sans-serif);
    letter-spacing: -.035em;
}

body.zovelo-standalone-theme .zovelo-native-sidebar-search .zovelo-search-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

body.zovelo-standalone-theme .zovelo-native-sidebar-search .zovelo-search-form input {
    width: 100%;
    height: 48px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--paper);
    padding: 0 17px;
}

body.zovelo-standalone-theme .zovelo-native-sidebar-search .zovelo-search-form .btn {
    width: 100%;
    min-height: 46px;
}

body.zovelo-standalone-theme .zovelo-native-sidebar-list ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.zovelo-standalone-theme .zovelo-native-sidebar-list li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--line);
}

body.zovelo-standalone-theme .zovelo-native-sidebar-list li:last-child {
    border-bottom: 0;
}

body.zovelo-standalone-theme .zovelo-native-sidebar-list li>a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    color: var(--ink);
    font-size: .92rem;
    font-weight: 700;
    text-decoration: none;
}

body.zovelo-standalone-theme .zovelo-native-sidebar-list li>a small,
body.zovelo-standalone-theme .zovelo-native-sidebar-list li>a::marker {
    color: var(--muted);
}

body.zovelo-standalone-theme .zovelo-standalone-footer-main {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 14px 0 8px;
    text-align: center;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-main .zovelo-footer-brand {
    margin: 0 auto;
    justify-content: center;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-copyright {
    width: 100%;
    margin-top: 6px;
    color: color-mix(in srgb,var(--zovelo-footer-text) 48%,transparent);
    font-size: .82rem;
    line-height: 1.6;
    text-align: center;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-legal {
    display: flex;
    justify-content: center;
    gap: 9px;
    color: color-mix(in srgb,var(--zovelo-footer-text) 48%,transparent);
    font-size: .8rem;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-legal a {
    color: inherit;
}

@media (max-width:1050px) {
    body.zovelo-standalone-theme .zovelo-native-feed-layout.has-sidebar {
        grid-template-columns: minmax(0,1fr) 280px;
        gap: 28px;
    }
}

@media (max-width:900px) {
    body.zovelo-standalone-theme .zovelo-native-feed-layout.has-sidebar {
        grid-template-columns: 1fr;
    }

    body.zovelo-standalone-theme .zovelo-native-context-sidebar {
        position: static;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    body.zovelo-standalone-theme .zovelo-native-sidebar-search {
        grid-column: 1/-1;
    }
}

@media (max-width:720px) {
    body.zovelo-standalone-theme .zovelo-native-front-feed {
        padding-top: 38px;
    }

    body.zovelo-standalone-theme .zovelo-native-feed-heading {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    body.zovelo-standalone-theme .zovelo-native-feed-heading h1,
    body.zovelo-standalone-theme .zovelo-native-feed-heading h2 {
        font-size: clamp(3rem,17vw,5rem);
    }

    body.zovelo-standalone-theme .zovelo-native-context-sidebar {
        grid-template-columns: 1fr;
    }

    body.zovelo-standalone-theme .zovelo-native-sidebar-search {
        grid-column: auto;
    }

    body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-content {
        min-height: 300px;
        padding: 30px 24px;
    }

    body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-title {
        font-size: clamp(2.25rem,13vw,4rem);
    }
}

/* Zovelo 1.8.19 — honest blog hierarchy, compact text cards and consistent native widths. */

body.zovelo-standalone-theme .zovelo-native-front-feed {
    padding-top: clamp(42px,5vw,72px);
}

body.zovelo-standalone-theme .zovelo-native-front-feed>.container>.zovelo-native-feed-layout:first-child {
    margin-top: 0;
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-content {
    min-height: 0;
    justify-content: flex-start;
    padding: clamp(32px,4.2vw,52px);
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-title {
    margin: 16px 0 12px;
    font-size: clamp(2.35rem,4.7vw,4.45rem);
}

body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .blog-read {
    margin-top: clamp(24px,3vw,34px);
}

body.zovelo-standalone-theme .zovelo-native-sidebar-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    white-space: nowrap;
}

body.zovelo-standalone-theme .zovelo-native-sidebar-list li>a {
    min-width: 0;
    flex: 1 1 auto;
}

body.zovelo-standalone-theme .zovelo-native-single-layout:not(.has-sidebar) .zovelo-native-entry {
    width: min(100%,var(--zovelo-native-wide));
}

body.zovelo-standalone-theme .zovelo-native-single-layout:not(.has-sidebar) .zovelo-native-entry-content,
body.zovelo-standalone-theme .zovelo-native-single-layout:not(.has-sidebar) .zovelo-native-taxonomy {
    width: min(100%,var(--zovelo-native-content));
    margin-left: auto;
    margin-right: auto;
}

body.zovelo-standalone-theme .zovelo-native-comments-wrap {
    width: min(100%,var(--zovelo-native-wide));
}

body.zovelo-standalone-theme .footer {
    padding: 38px 0 24px;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-main {
    gap: 14px;
    padding: 6px 0 4px;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-main .zovelo-footer-brand {
    gap: 14px;
    font-size: 1.55rem;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-main .zovelo-footer-brand .brand-mark {
    width: 46px;
    height: 46px;
    border-radius: 15px 15px 5px 15px;
    background: var(--lime);
    color: var(--ink);
    font-size: 1.15rem;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-main .zovelo-footer-brand-name {
    font-size: 1.55rem;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-main .zovelo-footer-logo {
    max-width: min(280px,72vw);
    max-height: 74px;
}

body.zovelo-standalone-theme .zovelo-standalone-footer-copyright {
    margin-top: 2px;
}

@media (max-width:720px) {
    body.zovelo-standalone-theme .zovelo-native-post-grid>.zovelo-native-card--text-only:only-child .zovelo-native-card-content {
        min-height: 0;
    }

    body.zovelo-standalone-theme .zovelo-native-single-layout:not(.has-sidebar) .zovelo-native-entry-content,
    body.zovelo-standalone-theme .zovelo-native-single-layout:not(.has-sidebar) .zovelo-native-taxonomy {
        width: 100%;
    }
}

/* Keep the primary sticky header at the real viewport edge.
   The JavaScript variable is zero for visitors and equals the visible
   WordPress toolbar height for logged-in users. */

:root {
    --zovelo-admin-bar-offset: 0px;
}

body .header,
body .header.scrolled,
body.admin-bar .header,
body.admin-bar .header.scrolled {
    top: var(--zovelo-admin-bar-offset,0px) !important;
    margin-top: 0 !important;
}

/* Zovelo 1.8.19 — native Swiper sizing with premium, consistent card spacing. */

.zovelo-home-products .grid-head-actions > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.zovelo-home-products .products-swiper {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 2px 2px 22px;
}

.zovelo-home-products .products-swiper > .swiper-wrapper,
.zovelo-home-products .products-swiper > .zovelo-home-product-slides {
    display: flex !important;
    align-items: stretch;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.zovelo-home-products .products-swiper .swiper-slide.product-card.unified-product-card {
    min-width: 0;
    max-width: none;
    height: auto;
    flex: 0 0 auto;
}

.zovelo-home-products .products-swiper .zovelo-ajax-empty-slide {
    width: 100% !important;
    flex-basis: 100%;
}

@media (max-width: 720px) {
    .zovelo-home-products .products-swiper {
        padding-bottom: 16px;
    }
}

/* Zovelo 1.8.19 — targeted homepage carousel restoration.
   Keep Swiper's horizontal crop, allow vertical hover motion, preserve the
   original card design, and restore the spacing calculated at each breakpoint. */

.zovelo-home-products .products-swiper {
    overflow: visible !important;
    clip-path: inset(-44px 0 -56px 0);
    padding: 2px 2px 22px;
}

.zovelo-home-products .products-swiper .swiper-slide.product-card.unified-product-card {
    margin-right: 16px !important;
}

.zovelo-home-products .products-swiper .swiper-slide.product-card.unified-product-card:hover {
    z-index: 5;
}

.home-page .zovelo-home-categories .cat-card .cat-info,
.home-page .zovelo-home-categories .cat-card .cat-info h3,
.home-page .zovelo-home-categories .cat-card .cat-info h3 a,
.home-page .zovelo-home-categories .cat-card .cat-info span:not(.cat-go) {
    color: #fff !important;
}

.home-page .zovelo-home-categories .cat-card .cat-go {
    color: #fff !important;
}

.home-page .zovelo-home-categories .cat-card:hover .cat-go {
    color: var(--ink) !important;
}

@media (min-width: 640px) {
    .zovelo-home-products .products-swiper .swiper-slide.product-card.unified-product-card {
        margin-right: 18px !important;
    }
}

@media (min-width: 900px) {
    .zovelo-home-products .products-swiper .swiper-slide.product-card.unified-product-card {
        margin-right: 20px !important;
    }
}

@media (min-width: 1200px) {
    .zovelo-home-products .products-swiper .swiper-slide.product-card.unified-product-card {
        margin-right: 24px !important;
    }
}



/* Zovelo 1.8.26 — native Journal widgets share the built-in sidebar cards. */
.zovelo-journal-sidebar .zovelo-widget-stack {
    display: grid;
    gap: 16px;
}

.zovelo-journal-sidebar .zovelo-sidebar-widget.blog-sidebar-card {
    margin: 0;
}

.zovelo-journal-sidebar .zovelo-sidebar-widget.blog-sidebar-newsletter {
    padding: 23px !important;
    overflow: hidden;
}

.zovelo-journal-sidebar .zovelo-sidebar-widget.blog-sidebar-newsletter > .zovelo-icon {
    width: 48px;
    height: 48px;
    padding: 13px;
    border-radius: 16px;
    background: var(--lime,#d9ff57);
    color: var(--ink,#151714);
}

.zovelo-journal-sidebar .zovelo-sidebar-widget.blog-sidebar-newsletter .newsletter-form {
    width: 100%;
    min-width: 0;
}

.zovelo-journal-sidebar .zovelo-sidebar-widget.blog-sidebar-newsletter .zovelo-newsletter-consent {
    align-items: flex-start;
    overflow-wrap: anywhere;
}


/* Zovelo 1.8.30 — Journal, native-page alignment and catalogue-page polish. */

/* Gutenberg constrained layouts can auto-center a width-sized paragraph.
   Kickers on internal pages must always follow the left reading edge. */
.zovelo-page-layout :where(p.kicker,.wp-block-paragraph.kicker),
.zovelo-gutenberg-entry :where(p.kicker,.wp-block-paragraph.kicker),
.zovelo-structured-entry :where(p.kicker,.wp-block-paragraph.kicker) {
    width: fit-content !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    justify-self: start !important;
    align-self: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

/* About intro copy and its controls share one exact left edge. */
.zovelo-about-entry .zovelo-about-copy :where(.kicker,h2,p),
.zovelo-about-entry .zovelo-about-copy .zovelo-page-actions {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    align-self: flex-start !important;
}

.zovelo-about-entry .zovelo-about-copy .zovelo-page-actions {
    justify-content: flex-start !important;
}

/* Keep the closing CTA split layout, but vertically center the buttons beside
   the copy rather than anchoring them to the lower edge. */
.zovelo-about-entry .zovelo-about-cta {
    align-items: center !important;
}

.zovelo-about-entry .zovelo-about-cta .zovelo-page-actions {
    justify-content: flex-end !important;
    align-self: center !important;
    margin-top: 0 !important;
}

/* The green editorial panel stays deliberately simple; balanced vertical
   centering removes the unused-looking lower area without adding clutter. */
.zovelo-about-entry .zovelo-about-story-copy.wp-block-group {
    justify-content: center !important;
}

/* Product-only landing pages use the same open paper surface as Shop. */
.zovelo-product-grid-entry.panel,
.zovelo-product-grid-entry.zovelo-entry.panel {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.zovelo-product-grid-entry ul.products.zovelo-shortcode-products,
.zovelo-product-grid-entry .woocommerce ul.products {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
}

@media (max-width:1000px) {
    .zovelo-product-grid-entry ul.products.zovelo-shortcode-products,
    .zovelo-product-grid-entry .woocommerce ul.products {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:620px) {
    .zovelo-product-grid-entry ul.products.zovelo-shortcode-products,
    .zovelo-product-grid-entry .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* Zovelo 1.8.41 — compact native Journal rail before demo import. */
body.zovelo-standalone-theme .zovelo-native-context-sidebar.blog-sidebar-pro {
    gap: 16px;
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .blog-sidebar-card {
    padding: 23px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 25px;
    background: var(--surface,#fff);
    box-shadow: 0 16px 40px rgba(20,24,18,.045);
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .sidebar-eyebrow,
body.zovelo-standalone-theme .zovelo-native-context-sidebar .blog-sidebar-title h3 {
    color: var(--ink,#151714);
}


/* Zovelo 1.8.41 — native and imported Journal rails keep one compact scale. */
body.zovelo-standalone-theme .zovelo-native-context-sidebar .sidebar-eyebrow {
    display: block;
    margin: 0 0 12px;
    font-size: .69rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .blog-sidebar-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 10px;
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .blog-sidebar-title h3 {
    margin: 0;
    font: 800 1rem/1.2 var(--zovelo-heading-font,Manrope,sans-serif);
    letter-spacing: -.025em;
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .blog-category-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 10px 0;
    border-bottom: 1px solid var(--line,#dedfd9);
    color: var(--muted,#686d66);
    font-size: .81rem;
    line-height: 1.35;
    text-decoration: none;
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .blog-category-list a:last-child {
    border-bottom: 0;
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .blog-category-list b {
    min-width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--sage,#f1f5d6);
    color: var(--ink,#151714);
    font-size: .66rem;
    font-weight: 800;
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .blog-search-card form {
    display: grid;
    grid-template-columns: minmax(0,1fr) 42px;
    gap: 8px;
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .blog-search-card input {
    min-width: 0;
    width: 100%;
    height: 45px;
    padding: 0 13px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 13px;
    background: var(--paper,#f7f5ef);
    font-size: .88rem;
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .blog-search-card button {
    width: 42px;
    height: 42px;
    align-self: center;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 13px;
    background: var(--lime,#d9ff57);
    color: var(--ink,#151714);
}

body.zovelo-standalone-theme .zovelo-native-context-sidebar .blog-search-card button svg {
    width: 18px;
    height: 18px;
}

/* Zovelo 1.8.44 — CSS-only Journal widget normalization.
   Existing WordPress widgets remain rendered and configured exactly as saved;
   only their visual scale is aligned with the premium Journal rail. */
.zovelo-journal-sidebar .zovelo-widget-stack {
    display: grid;
    gap: 16px;
}

.zovelo-journal-sidebar .zovelo-widget-stack > .zovelo-sidebar-widget,
.zovelo-journal-sidebar .zovelo-widget-stack > .widget {
    margin: 0 !important;
    padding: 23px !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 25px !important;
    background: var(--surface,#fff) !important;
    box-shadow: 0 16px 40px rgba(20,24,18,.045) !important;
}

.zovelo-journal-sidebar .zovelo-widget-stack .wp-block-group {
    margin: 0;
    padding: 0;
}

.zovelo-journal-sidebar .zovelo-widget-stack :where(.widget-title,.wp-block-heading),
.zovelo-journal-sidebar .zovelo-widget-stack > .widget > h2,
.zovelo-journal-sidebar .zovelo-widget-stack > .widget > h3 {
    margin: 0 0 12px !important;
    color: var(--ink,#151714) !important;
    font-family: var(--zovelo-heading-font,Manrope,sans-serif) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
    text-transform: none !important;
}

.zovelo-journal-sidebar .zovelo-widget-stack :where(
    .wp-block-archives-list,
    .wp-block-categories-list,
    .widget_archive ul,
    .widget_categories ul
) {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.zovelo-journal-sidebar .zovelo-widget-stack :where(
    .wp-block-archives-list,
    .wp-block-categories-list,
    .widget_archive ul,
    .widget_categories ul
) > li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--line,#dedfd9);
    color: var(--muted,#686d66);
    font-size: .81rem;
    line-height: 1.35;
}

.zovelo-journal-sidebar .zovelo-widget-stack :where(
    .wp-block-archives-list,
    .wp-block-categories-list,
    .widget_archive ul,
    .widget_categories ul
) > li:last-child {
    border-bottom: 0;
}

.zovelo-journal-sidebar .zovelo-widget-stack :where(
    .wp-block-archives-list,
    .wp-block-categories-list,
    .widget_archive ul,
    .widget_categories ul
) > li > a {
    display: block;
    padding: 10px 0;
    color: var(--muted,#686d66) !important;
    font-size: .81rem !important;
    line-height: 1.35;
    text-decoration: none !important;
    transition: color .2s ease,transform .2s ease;
}

.zovelo-journal-sidebar .zovelo-widget-stack :where(
    .wp-block-archives-list,
    .wp-block-categories-list,
    .widget_archive ul,
    .widget_categories ul
) > li > a:hover,
.zovelo-journal-sidebar .zovelo-widget-stack :where(
    .wp-block-archives-list,
    .wp-block-categories-list,
    .widget_archive ul,
    .widget_categories ul
) > li > a:focus-visible {
    color: var(--ink,#151714) !important;
    transform: translateX(2px);
}

.zovelo-journal-sidebar .zovelo-widget-stack .wp-block-categories-list .children,
.zovelo-journal-sidebar .zovelo-widget-stack .widget_categories .children {
    margin: 0 0 8px 12px !important;
    padding: 0 !important;
    list-style: none !important;
}

.zovelo-journal-sidebar .zovelo-widget-stack .wp-block-categories-list .children a,
.zovelo-journal-sidebar .zovelo-widget-stack .widget_categories .children a {
    display: block;
    padding: 7px 0;
    color: var(--muted,#686d66);
    font-size: .76rem;
    text-decoration: none;
}

/* Native Search widget titles match the other compact widget headings.
   The dedicated Search Journal component keeps its own eyebrow style. */
.zovelo-journal-sidebar .zovelo-widget-stack .widget_search :where(.widget-title,.wp-block-heading) {
    margin-bottom: 12px !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
    text-transform: none !important;
}

@media (max-width: 520px) {
    .zovelo-journal-sidebar .zovelo-widget-stack > .zovelo-sidebar-widget,
    .zovelo-journal-sidebar .zovelo-widget-stack > .widget {
        padding: 20px !important;
        border-radius: 22px !important;
    }
}

/* Zovelo 1.8.44 — restore the dedicated dark Journal newsletter card after
   the generic 1.8.44 widget normalization. This is visual-only: widget data,
   order and rendering remain untouched. */
.zovelo-journal-sidebar .zovelo-widget-stack > .zovelo-sidebar-widget.blog-sidebar-newsletter,
.zovelo-journal-sidebar .zovelo-widget-stack > .widget.blog-sidebar-newsletter {
    background: var(--ink,#151714) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: 0 20px 46px rgba(20,24,18,.14) !important;
}

.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter :where(
    .widget-title,
    .wp-block-heading,
    h2,
    h3,
    h4,
    label
) {
    color: #fff !important;
}

.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter > p,
.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter .zovelo-newsletter-form > p {
    color: rgba(255,255,255,.68) !important;
}

.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter .zovelo-newsletter-consent {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255,255,255,.78) !important;
    font-size: .76rem !important;
    line-height: 1.45 !important;
    cursor: pointer;
}

.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter .zovelo-newsletter-consent > input[type="checkbox"] {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: var(--lime,#d9ff57);
}

.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter .zovelo-newsletter-consent > span {
    min-width: 0;
    color: inherit !important;
}

.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter .zovelo-newsletter-consent a {
    color: var(--lime,#d9ff57) !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter .zovelo-newsletter-consent a:hover,
.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter .zovelo-newsletter-consent a:focus-visible {
    color: #fff !important;
}

.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter .zovelo-newsletter-status:empty {
    display: none;
}

/* Exact newsletter typography must also outrank the direct-child heading rule
   used by the generic widget normalization above. */
.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter {
    border-radius: 25px 25px 70px 25px !important;
}

.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter > h2,
.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter > h3,
.zovelo-journal-sidebar .zovelo-widget-stack > .blog-sidebar-newsletter > h4 {
    margin: 20px 0 8px !important;
    color: #fff !important;
    font-family: var(--zovelo-heading-font,Manrope,sans-serif) !important;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
}

/* Zovelo 1.8.46 — consistent page and long-form heading scale.
   Standard page titles and editorial content share one responsive hierarchy.
   Compact component headings (cards, widgets, filters and navigation) retain
   their deliberately smaller component-specific sizing. */
:root {
    --zovelo-heading-h1: clamp(2.7rem, 5vw, 4.75rem);
    --zovelo-heading-h2: clamp(2rem, 3.35vw, 3.2rem);
    --zovelo-heading-h3: clamp(1.5rem, 2.15vw, 2rem);
    --zovelo-heading-h4: clamp(1.22rem, 1.5vw, 1.48rem);
    --zovelo-heading-h5: 1.125rem;
    --zovelo-heading-h6: .95rem;
}

/* One smaller H1 scale for all public page-level titles. */
.page-heading .page-heading-copy > h1,
.hero-content > h1,
.hero-content > .hero-title,
.shop-hero h1,
.product-summary h1,
.zovelo-showcase-title,
.zovelo-curated-hero-intro h1,
.inner-hero h1,
.zovelo-native-hero-panel h1,
body.zovelo-standalone-theme .page-heading--minimal .page-heading-copy h1,
body.zovelo-standalone-theme .zovelo-native-feed-heading h1,
.zovelo-404 h1,
.zovelo-gutenberg-entry > h1,
.zovelo-article-content h1,
.zovelo-native-entry-content h1 {
    font-size: var(--zovelo-heading-h1) !important;
}

/* Consistent editorial hierarchy in Gutenberg pages and blog articles. */
.zovelo-gutenberg-entry > h2,
.zovelo-gutenberg-entry > .wp-block-group:not([class*="zovelo-"]) > h2,
.zovelo-article-content h2,
.zovelo-native-entry-content h2 {
    font-size: var(--zovelo-heading-h2) !important;
}

.zovelo-gutenberg-entry > h3,
.zovelo-gutenberg-entry > .wp-block-group:not([class*="zovelo-"]) > h3,
.zovelo-article-content h3,
.zovelo-native-entry-content h3 {
    font-size: var(--zovelo-heading-h3) !important;
}

.zovelo-gutenberg-entry > h4,
.zovelo-gutenberg-entry > .wp-block-group:not([class*="zovelo-"]) > h4,
.zovelo-article-content h4,
.zovelo-native-entry-content h4 {
    font-size: var(--zovelo-heading-h4) !important;
}

.zovelo-gutenberg-entry > h5,
.zovelo-gutenberg-entry > .wp-block-group:not([class*="zovelo-"]) > h5,
.zovelo-article-content h5,
.zovelo-native-entry-content h5 {
    font-size: var(--zovelo-heading-h5) !important;
}

.zovelo-gutenberg-entry > h6,
.zovelo-gutenberg-entry > .wp-block-group:not([class*="zovelo-"]) > h6,
.zovelo-article-content h6,
.zovelo-native-entry-content h6 {
    font-size: var(--zovelo-heading-h6) !important;
}

/* Reusable major section headings use the same H2 scale across templates. */
.section-head h2,
.promo-copy h2,
.story-copy h2,
.campaign-copy h2,
.newsletter h2,
.shop-bottom-shell h2,
.product-story-grid h2,
.reviews-head h2,
.zovelo-curated-story-copy h2,
.zovelo-home-story-curated-copy h2,
.zovelo-about-copy h2,
.zovelo-about-values-heading h2,
.zovelo-about-story-copy h2,
.zovelo-about-cta h2,
.zovelo-info-hero-copy h2,
.zovelo-checkout-intro h2,
.zovelo-size-guide-measure__intro h2,
.zovelo-size-guide-content > h2,
.zovelo-comments-heading h2 {
    font-size: var(--zovelo-heading-h2) !important;
}

@media (max-width: 600px) {
    :root {
        --zovelo-heading-h1: clamp(2.45rem, 12vw, 3.35rem);
        --zovelo-heading-h2: clamp(1.85rem, 8.5vw, 2.5rem);
        --zovelo-heading-h3: clamp(1.4rem, 6vw, 1.8rem);
    }
}


/* Zovelo 1.8.50 — compact native widget headings and one sidebar search UI.
   Visual-only normalization: widget data, rendering, ordering and demo logic
   remain unchanged. */
body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(.zovelo-sidebar-widget,.widget):not(.blog-sidebar-newsletter) > :is(.widget-title,.wp-block-heading,h2,h3),
body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(.zovelo-sidebar-widget,.widget):not(.blog-sidebar-newsletter) > .wp-block-group > :is(.widget-title,.wp-block-heading,h2,h3):first-child {
    margin: 0 0 12px !important;
    color: var(--ink,#151714) !important;
    font-family: var(--zovelo-heading-font,Manrope,Arial,sans-serif) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
    text-transform: none !important;
}

/* Native Search headings use the same typography as Recent Posts, Recent
   Comments, Categories and other WordPress widgets. Search Journal remains a
   separate custom component with its deliberate eyebrow label. */
body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(.widget_search,.wp-block-search) :is(.widget-title,.wp-block-heading,.wp-block-search__label),
body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) .widget_block > .wp-block-search > .wp-block-search__label {
    display: block !important;
    margin: 0 0 12px !important;
    color: var(--ink,#151714) !important;
    font-family: var(--zovelo-heading-font,Manrope,Arial,sans-serif) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
    text-transform: none !important;
}

/* All sidebar search variants share one pill shell. */
body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(
    .zovelo-widget-search,
    .widget_search .search-form,
    .zovelo-search-form,
    .wp-block-search__inside-wrapper,
    .blog-search-card form
) {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 46px !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 6px !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 999px !important;
    background: var(--paper,#f6f4ee) !important;
    box-shadow: none !important;
}

body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(.widget_search .search-form,.zovelo-search-form) > label {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
}

body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(
    .zovelo-widget-search input[type="search"],
    .widget_search .search-field,
    .zovelo-search-form .search-field,
    .wp-block-search__input,
    .blog-search-card input[type="search"]
) {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ink,#151714) !important;
    font: inherit !important;
}

/* One circular lime action on Home, native articles and imported Journal. */
body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(
    .zovelo-widget-search button,
    .widget_search .search-submit,
    .zovelo-search-form button,
    .wp-block-search__button,
    .blog-search-card button
) {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    align-self: center !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--lime,#d9ff57) !important;
    border-radius: 50% !important;
    background: var(--lime,#d9ff57) !important;
    color: var(--ink,#151714) !important;
    font-size: 0 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background-color .2s ease,border-color .2s ease,transform .2s ease !important;
}

body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(
    .zovelo-widget-search button,
    .widget_search .search-submit,
    .zovelo-search-form button,
    .wp-block-search__button,
    .blog-search-card button
):hover,
body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(
    .zovelo-widget-search button,
    .widget_search .search-submit,
    .zovelo-search-form button,
    .wp-block-search__button,
    .blog-search-card button
):focus-visible {
    border-color: var(--ink,#151714) !important;
    background: var(--ink,#151714) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(.zovelo-widget-search button,.blog-search-card button) .zovelo-icon,
body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(.zovelo-widget-search button,.blog-search-card button) svg {
    width: 20px !important;
    height: 20px !important;
}

/* The theme searchform uses a text button; replace that hidden label with the
   same CSS magnifier used by WordPress Search blocks. */
body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) .zovelo-search-form button::before {
    content: "";
    width: 17px;
    height: 17px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) .zovelo-search-form button::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 2px;
    margin: 12px 0 0 12px;
    border-radius: 2px;
    background: currentColor;
    transform: rotate(45deg);
}

/* Zovelo 1.8.50 — align native Recent Comments content with its widget title.
   WordPress adds a 3.25em content offset when the Latest Comments block is
   configured with avatars. The compact Zovelo sidebar does not display that
   avatar rail, so remove only that orphaned offset. */
body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(.widget_recent_comments,.widget_block) :is(#recentcomments,.wp-block-latest-comments) {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) .wp-block-latest-comments.has-avatars .wp-block-latest-comments__comment-avatar {
    display: none !important;
}

body :is(
    .zovelo-native-sidebar,
    .zovelo-native-context-sidebar,
    .zovelo-sidebar,
    .zovelo-journal-sidebar,
    .blog-single-sidebar
) :is(.widget_recent_comments,.widget_block) :is(
    .recentcomments,
    .wp-block-latest-comments__comment,
    .wp-block-latest-comments__comment-meta,
    .wp-block-latest-comments__comment-excerpt
) {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Zovelo 1.8.54 — accessible mobile menu dropdowns and flush sticky header. */
.mobile-menu-list > .menu-item-has-children {
    position: relative;
}

.mobile-menu-list > .menu-item-has-children > a {
    padding-right: 58px;
}

.mobile-submenu-toggle {
    position: absolute;
    top: 8px;
    right: 0;
    z-index: 2;
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    place-items: center;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 50%;
    background: var(--surface,#fff);
    color: var(--ink,#151714);
    box-shadow: none;
    cursor: pointer;
    transition: background-color .2s ease,border-color .2s ease,color .2s ease;
}

.mobile-submenu-toggle:hover,
.mobile-submenu-toggle:focus-visible,
.mobile-menu-list > .menu-item-has-children.is-open > .mobile-submenu-toggle {
    border-color: var(--lime,#d9ff57);
    background: var(--lime,#d9ff57);
    color: var(--ink,#151714);
}

.mobile-submenu-toggle:focus-visible {
    outline: 3px solid color-mix(in srgb,var(--lime,#d9ff57) 58%,transparent);
    outline-offset: 3px;
}

.mobile-submenu-toggle > span {
    display: block;
    width: 9px;
    height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .24s ease;
}

.mobile-menu-list > .menu-item-has-children.is-open > .mobile-submenu-toggle > span {
    transform: translateY(2px) rotate(-135deg);
}

.mobile-menu-list .sub-menu[hidden] {
    display: none !important;
}

.mobile-menu-list > .menu-item-has-children.is-open > .sub-menu {
    animation: zovelo-mobile-submenu-in .22s ease both;
}

.mobile-menu-list .sub-menu {
    margin: 0;
    padding: 4px 0 10px 16px;
    border-bottom: 1px solid var(--line,#dedfd9);
}

.mobile-menu-list .sub-menu a {
    padding: 11px 0;
    border-bottom: 0;
    font-size: .96rem;
    line-height: 1.35;
}

@keyframes zovelo-mobile-submenu-in {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion:reduce) {
    .mobile-submenu-toggle > span,
    .mobile-menu-list > .menu-item-has-children.is-open > .sub-menu {
        animation: none;
        transition: none;
    }
}

/* Zovelo 1.8.59 — one title system and one left edge for every Journal
   sidebar card. This intentionally overrides older eyebrow and newsletter
   exceptions without changing widget content or order. */
.zovelo-journal-sidebar,
.blog-single-sidebar .zovelo-widget-stack {
    --zovelo-journal-card-padding: 23px;
    --zovelo-journal-title-size: 1rem;
}

:is(.zovelo-journal-sidebar,.blog-single-sidebar .zovelo-widget-stack) :is(
    .sidebar-eyebrow,
    .blog-sidebar-title h3,
    .blog-sidebar-card > h2,
    .blog-sidebar-card > h3,
    .zovelo-sidebar-widget > .widget-title,
    .zovelo-sidebar-widget > .wp-block-heading,
    .widget > .widget-title,
    .widget > .wp-block-heading,
    .widget > .wp-block-group > .wp-block-heading:first-child
) {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: var(--ink,#151714) !important;
    font-family: var(--zovelo-heading-font,Manrope,Arial,sans-serif) !important;
    font-size: var(--zovelo-journal-title-size) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
    text-align: left !important;
    text-transform: none !important;
}

:is(.zovelo-journal-sidebar,.blog-single-sidebar .zovelo-widget-stack) .blog-sidebar-title {
    justify-content: flex-start;
    margin: 0 0 12px !important;
}

:is(.zovelo-journal-sidebar,.blog-single-sidebar .zovelo-widget-stack) .blog-sidebar-title h3 {
    margin-bottom: 0 !important;
}

:is(.zovelo-journal-sidebar,.blog-single-sidebar .zovelo-widget-stack) .blog-featured-product > .sidebar-eyebrow,
:is(.zovelo-journal-sidebar,.blog-single-sidebar .zovelo-widget-stack) .zovelo-sidebar-widget.blog-featured-product > .sidebar-eyebrow {
    margin: 0 0 12px !important;
    padding: var(--zovelo-journal-card-padding) var(--zovelo-journal-card-padding) 0 !important;
}

:is(.zovelo-journal-sidebar,.blog-single-sidebar .zovelo-widget-stack) .blog-sidebar-newsletter > h3,
:is(.zovelo-journal-sidebar,.blog-single-sidebar .zovelo-widget-stack) .zovelo-widget-stack > .blog-sidebar-newsletter > h3 {
    margin: 18px 0 12px !important;
    color: #fff !important;
    font-size: var(--zovelo-journal-title-size) !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

/* Zovelo 1.8.61 — Home Editorial final recovery.
 * Keep the hero full-cover even when an image optimizer wraps the IMG in PICTURE,
 * and use the same dropdown treatment as the other approved headers. */
body.zovelo-home-editorial-content .zovelo-editorial-shell {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

body.zovelo-home-editorial-content .zovelo-editorial-shell > img,
body.zovelo-home-editorial-content .zovelo-editorial-shell > picture {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
}

body.zovelo-home-editorial-content .zovelo-editorial-shell > picture > img,
body.zovelo-home-editorial-content .zovelo-editorial-shell > picture img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}

body.zovelo-home-editorial-content .zovelo-editorial-shell > img {
    object-fit: cover !important;
    object-position: center !important;
}

body.zovelo-home-editorial-content .zovelo-editorial-shell::after {
    z-index: 1;
}

body.zovelo-home-editorial-content .zovelo-editorial-shell > div {
    z-index: 2;
}

/* Editorial keeps its distinct top-level navigation, but its dropdown must
 * match the compact menu used everywhere else. */
body.zovelo-home-editorial-content .alt-header--editorial .alt-main-nav .sub-menu {
    top: calc(100% + 16px);
    min-width: 240px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--surface, #fff);
    box-shadow: var(--shadow);
}

body.zovelo-home-editorial-content .alt-header--editorial .alt-main-nav .sub-menu a {
    min-height: 0;
    padding: 10px 12px;
    border-radius: 12px;
    color: var(--muted);
    font-size: .92rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

body.zovelo-home-editorial-content .alt-header--editorial .alt-main-nav .sub-menu a:hover,
body.zovelo-home-editorial-content .alt-header--editorial .alt-main-nav .sub-menu a:focus-visible,
body.zovelo-home-editorial-content .alt-header--editorial .alt-main-nav .sub-menu .current-menu-item > a,
body.zovelo-home-editorial-content .alt-header--editorial .alt-main-nav .sub-menu .current_page_item > a {
    background: var(--sage);
    color: var(--ink);
    opacity: 1;
}


/* Zovelo 1.8.62 — responsive containment and breakpoint stability.
 * Prevent root-level horizontal dragging while keeping intentional inner rails
 * scrollable, and restore compact tablet headers after late cascade overrides. */
html,
body {
    max-width: 100%;
}

html {
    overflow-x: clip;
}

@supports not (overflow: clip) {
    html {
        overflow-x: hidden;
    }
}

body.home-page,
body.home-alt-page,
body.home-catalog-page,
body.zovelo-home-editorial-content {
    overflow-x: clip;
}

body.home-page :is(main,.site-main,.site-content),
body.home-alt-page :is(main,.site-main,.site-content),
body.home-catalog-page :is(main,.site-main,.site-content),
body.zovelo-home-editorial-content :is(main,.site-main,.site-content) {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 1050px) {
    .zovelo-home-products .products-swiper {
        max-width: 100%;
        overflow: hidden !important;
        clip-path: none !important;
        touch-action: pan-y;
    }

    .zovelo-home-products .products-swiper > .swiper-wrapper,
    .zovelo-home-products .products-swiper > .zovelo-home-product-slides {
        max-width: 100%;
    }
}

@media (max-width: 940px) {
    .home-alt-page .alt-header-main {
        grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
        gap: 12px !important;
    }

    .home-alt-page .alt-header-left-zone,
    .home-alt-page .alt-header-actions,
    .home-alt-page .alt-brand {
        min-width: 0;
    }

    .home-alt-page .alt-header-actions .desktop-only {
        display: none !important;
    }

    .home-alt-page .alt-mobile-menu {
        display: grid !important;
    }
}

@media (max-width: 900px) {
    .market-header-top {
        grid-template-columns: minmax(0,1fr) auto !important;
        gap: 12px !important;
        padding-block: 12px;
    }

    .market-search-shell {
        grid-column: 1 / -1;
        grid-row: 2;
        height: 52px;
    }

    .market-top-actions {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
    }

    .market-cart-card {
        padding: 6px;
    }

    .market-cart-card .market-action-copy,
    .market-utility-card > span:last-child {
        display: none !important;
    }

    .market-nav-row {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        min-height: 58px;
    }

    .market-category-trigger {
        min-width: 0;
        align-self: auto;
        height: 44px;
        padding: 0 13px;
        border-radius: 14px;
    }

    .market-category-trigger > span:nth-child(2) {
        display: none;
    }

    .market-utility-actions {
        min-width: 0;
        gap: 6px;
    }

    .catalog-header-main {
        grid-template-columns: minmax(0,1fr) auto !important;
        gap: 12px;
    }

    .catalog-search-shell {
        grid-column: 1 / -1;
        order: 3;
        min-width: 0;
        margin-bottom: 14px;
    }

    .catalog-header-actions .desktop-only {
        display: none !important;
    }
}

/* Zovelo 1.8.63 — responsive product media cover.
 * Image optimizers may wrap WooCommerce thumbnails in PICTURE. Keep both the
 * wrapper and its IMG locked to the product media box so no empty strip can
 * appear below the image in carousels or shop grids. */
.product-card.unified-product-card .product-image-link > picture,
.product-card.unified-product-card .product-image-link picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    line-height: 0 !important;
}

.product-card.unified-product-card .product-image-link > picture > img,
.product-card.unified-product-card .product-image-link picture img,
.woocommerce ul.products li.product.product-card.unified-product-card .product-image-link picture img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}

@media (max-width: 900px) {
    .zovelo-home-products .products-swiper .product-card.unified-product-card .product-media,
    .woocommerce ul.products .product-card.unified-product-card .product-media {
        isolation: isolate;
    }

    .zovelo-home-products .products-swiper .product-card.unified-product-card .product-image-link,
    .woocommerce ul.products .product-card.unified-product-card .product-image-link {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        overflow: hidden !important;
        line-height: 0 !important;
    }
}


/* Zovelo 1.8.64 — mini-cart item alignment.
 * Keep the product thumbnail, title and quantity on a stable two-column grid,
 * including image optimizers that wrap the thumbnail in a PICTURE element.
 * The remove control is isolated at the outer edge so it can never overlap a
 * long product name or variation text. */
.zovelo-mini-cart-content li.woocommerce-mini-cart-item {
    grid-template-columns: 76px minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 16px !important;
    row-gap: 5px !important;
    align-items: start !important;
    min-height: 112px !important;
    padding: 18px 48px 18px 0 !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) {
    display: contents !important;
    min-width: 0 !important;
    color: var(--ink,#151714) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > img,
.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > picture {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    display: block !important;
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: var(--surface,#fff) !important;
    line-height: 0 !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > picture > img,
.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    border-radius: inherit !important;
    object-fit: cover !important;
    object-position: center !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item .quantity {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin: 0 !important;
    color: var(--muted,#6a6d66) !important;
    line-height: 1.35 !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a.remove {
    right: 0 !important;
    top: 50% !important;
    width: 30px !important;
    height: 30px !important;
    transform: translateY(-50%) !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 50% !important;
    background: var(--surface,#fff) !important;
    box-shadow: 0 4px 14px rgba(14,17,14,.06) !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a.remove:hover,
.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a.remove:focus-visible {
    border-color: color-mix(in srgb,#b32d2e 38%,var(--line,#dedfd9)) !important;
    background: color-mix(in srgb,#b32d2e 8%,var(--surface,#fff)) !important;
    color: #b32d2e !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a.remove:focus-visible {
    outline: 3px solid color-mix(in srgb,var(--lime,#d9ff57) 72%,transparent) !important;
    outline-offset: 2px !important;
}

@media (max-width: 520px) {
    .zovelo-cart-overlay .drawer {
        padding-left: 20px;
        padding-right: 20px;
    }

    .zovelo-mini-cart-content li.woocommerce-mini-cart-item {
        grid-template-columns: 64px minmax(0,1fr) !important;
        column-gap: 13px !important;
        min-height: 98px !important;
        padding-right: 40px !important;
    }

    .zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > img,
    .zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > picture {
        width: 64px !important;
        height: 64px !important;
        min-width: 64px !important;
        min-height: 64px !important;
    }

    .zovelo-mini-cart-content li.woocommerce-mini-cart-item > a.remove {
        width: 28px !important;
        height: 28px !important;
    }
}

/* Zovelo 1.8.68 — resilient mini-cart layout.
 * This final scoped layer is intentionally present in the base integration
 * stylesheet as well as the late compatibility stylesheet. It keeps the
 * drawer correct when cache/optimization plugins reorder or defer CSS. */
.zovelo-mini-cart-content li.woocommerce-mini-cart-item {
    display: grid !important;
    grid-template-columns: 76px minmax(0,1fr) 30px !important;
    grid-auto-rows: min-content !important;
    column-gap: 16px !important;
    row-gap: 5px !important;
    align-items: start !important;
    min-height: 112px !important;
    padding: 18px 0 !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) {
    display: contents !important;
    color: var(--ink,#151714) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > .zovelo-mini-cart-product-name {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: inherit !important;
    line-height: 1.35 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > img,
.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > picture {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: start !important;
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: var(--surface,#fff) !important;
    line-height: 0 !important;
    float: none !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > picture > img,
.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    border-radius: inherit !important;
    object-fit: cover !important;
    object-position: center !important;
    float: none !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > dl.variation {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--muted,#6a6d66) !important;
    font-size: .82rem !important;
    line-height: 1.35 !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > dl.variation dt {
    display: none !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > dl.variation dd,
.zovelo-mini-cart-content li.woocommerce-mini-cart-item > dl.variation p {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > dl.variation dd:not(:first-of-type)::before {
    content: ", ";
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item .quantity {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--muted,#6a6d66) !important;
    line-height: 1.35 !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item.zovelo-mini-cart-has-variation .quantity,
.zovelo-mini-cart-content li.woocommerce-mini-cart-item:has(> dl.variation) .quantity {
    grid-row: 3 !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item.zovelo-mini-cart-has-variation > a:not(.remove) > img,
.zovelo-mini-cart-content li.woocommerce-mini-cart-item.zovelo-mini-cart-has-variation > a:not(.remove) > picture,
.zovelo-mini-cart-content li.woocommerce-mini-cart-item:has(> dl.variation) > a:not(.remove) > img,
.zovelo-mini-cart-content li.woocommerce-mini-cart-item:has(> dl.variation) > a:not(.remove) > picture {
    grid-row: 1 / span 3 !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item > a.remove {
    position: relative !important;
    display: block !important;
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    justify-self: end !important;
    right: auto !important;
    top: auto !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    transform: none !important;
    border: 1px solid var(--line,#dedfd9) !important;
    border-radius: 50% !important;
    background: var(--surface,#fff) !important;
    box-shadow: 0 4px 14px rgba(14,17,14,.06) !important;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item.zovelo-mini-cart-has-variation > a.remove,
.zovelo-mini-cart-content li.woocommerce-mini-cart-item:has(> dl.variation) > a.remove {
    grid-row: 1 / span 3 !important;
}

@media (max-width: 520px) {
    .zovelo-mini-cart-content li.woocommerce-mini-cart-item {
        grid-template-columns: 64px minmax(0,1fr) 28px !important;
        column-gap: 13px !important;
        min-height: 98px !important;
        padding: 18px 0 !important;
    }

    .zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > img,
    .zovelo-mini-cart-content li.woocommerce-mini-cart-item > a:not(.remove) > picture {
        width: 64px !important;
        height: 64px !important;
        min-width: 64px !important;
        min-height: 64px !important;
    }

    .zovelo-mini-cart-content li.woocommerce-mini-cart-item > a.remove {
        width: 28px !important;
        height: 28px !important;
    }
}

