/* Zovelo WordPress and WooCommerce integration. */

:root {
    --zovelo-container: 1280px;
}

html {
    scroll-padding-top: 110px;
}

body {
    min-height: 100vh;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

.screen-reader-text:focus {
    clip: auto !important;
    width: auto;
    height: auto;
    top: 8px;
    left: 8px;
    padding: 12px 16px;
    background: #fff;
    color: #111;
    z-index: 99999;
}

.skip-link {
    border-radius: 8px;
}

.zovelo-icon {
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    vertical-align: -.18em;
    pointer-events: none;
}

.icon-btn .zovelo-icon {
    width: 20px;
    height: 20px;
}

.btn .zovelo-icon {
    width: 18px;
    height: 18px;
}

.brand .custom-logo-link {
    display: block;
}

.brand .custom-logo {
    width: auto;
    max-width: 190px;
    max-height: 54px;
}

.zovelo-custom-logo {
    display: flex;
    align-items: center;
}

.zovelo-custom-logo+span {
    display: none;
}


.header-actions .count:empty {
    display: none;
}

.header-actions .count {
    line-height: 1;
}

.zovelo-hero-ghost {
    color: #fff;
    border-color: rgba(255,255,255,.3);
}

/* WordPress navigation. */

.zovelo-primary-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

.zovelo-primary-menu>li {
    position: relative;
}

.zovelo-primary-menu>li>a {
    padding: 14px 13px;
    font-weight: 700;
    font-size: .92rem;
    display: flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
}

.zovelo-primary-menu>li>a:hover {
    background: #fff;
}

.zovelo-primary-menu .sub-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 16px);
    min-width: 240px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 12px;
    box-shadow: var(--shadow);
    list-style: none;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: .25s;
}

.zovelo-primary-menu li:hover>.sub-menu,.zovelo-primary-menu li:focus-within>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.zovelo-primary-menu .sub-menu a {
    display: block;
    padding: 10px 12px;
    border-radius: 12px;
    color: var(--muted);
    font-weight: 700;
}

.zovelo-primary-menu .sub-menu a:hover {
    background: var(--sage);
    color: var(--ink);
}

/* Campaign and home additions. */

.zovelo-slider-actions {
    display: flex;
    gap: 8px;
}

.campaign {
    padding: 40px 0 90px;
}

.campaign-shell {
    min-height: 620px;
    background: var(--ink);
    color: #fff;
    border-radius: 50px 50px 140px 50px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 1fr;
    box-shadow: var(--shadow);
}

.campaign-copy {
    padding: clamp(42px,7vw,90px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.campaign-copy .kicker:before {
    background: var(--lime);
}

.campaign-copy h2 {
    font: 800 clamp(3.2rem,6vw,6.4rem)/.88 Manrope,Arial,sans-serif;
    letter-spacing: -.07em;
    margin: 18px 0 24px;
}

.campaign-copy h2 em {
    color: var(--lime);
    font-style: normal;
}

.campaign-copy p {
    color: rgba(255,255,255,.68);
    font-size: 1.05rem;
    line-height: 1.75;
    max-width: 580px;
    margin: 0 0 30px;
}

.campaign-image {
    min-height: 620px;
    overflow: hidden;
}

.campaign-image img {
    height: 100%;
    object-fit: cover;
    transition: transform 1s ease;
}

.campaign-shell:hover .campaign-image img {
    transform: scale(1.05);
}

.zovelo-new-grid-section {
    padding-top: 70px;
}

.zovelo-front-content>.wp-block-group.alignfull:first-child {
    margin-top: 0;
}

/* Global overlays. */

.zovelo-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(7,9,7,.58);
    backdrop-filter: blur(7px);
    z-index: 98;
    opacity: 0;
    transition: .3s;
}

.zovelo-modal-backdrop.open {
    opacity: 1;
}

.simple-search-modal {
    position: fixed;
    left: 50%;
    top: 9%;
    z-index: 120;
    transform: translate(-50%,-20px);
    opacity: 0;
    visibility: hidden;
    box-shadow: var(--shadow);
}

.simple-search-modal.open {
    transform: translate(-50%,0);
    opacity: 1;
    visibility: visible;
}

.zovelo-cart-overlay {
    z-index: 120;
}

.zovelo-cart-overlay[hidden],.simple-search-modal[hidden],.zovelo-modal-backdrop[hidden] {
    display: none !important;
}

.mobile-menu {
    z-index: 130;
}

.mobile-menu-search .zovelo-icon {
    width: 20px;
    height: 20px;
}

.mobile-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-nav li a {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
    font: 800 1.25rem Manrope,Arial,sans-serif;
}

.mobile-nav .sub-menu {
    padding-left: 15px;
}

.mobile-nav .sub-menu a {
    font-size: 1rem;
    color: var(--muted);
}

/* Mini cart. */

.zovelo-mini-cart-content {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
}

.zovelo-mini-cart-content .widget_shopping_cart_content {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.zovelo-mini-cart-content ul.woocommerce-mini-cart {
    list-style: none;
    padding: 10px 0;
    margin: 0;
    overflow: auto;
    flex: 1;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item {
    position: relative;
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 14px;
    padding: 15px 34px 15px 0;
    border-bottom: 1px solid var(--line);
    min-height: 116px;
}

.zovelo-mini-cart-content li.woocommerce-mini-cart-item>a:not(.remove) {
    display: contents;
    font-weight: 800;
}

.zovelo-mini-cart-content li img {
    width: 84px;
    height: 92px;
    object-fit: cover;
    border-radius: 16px;
    grid-row: 1/3;
}

.zovelo-mini-cart-content a.remove {
    position: absolute;
    right: 2px;
    top: 16px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    border: 1px solid var(--line);
    font-size: 20px;
    color: var(--ink) !important;
}

.zovelo-mini-cart-content .quantity {
    grid-column: 2;
    color: var(--muted);
}

.zovelo-mini-cart-content .woocommerce-mini-cart__total {
    display: flex;
    justify-content: space-between;
    font-weight: 900;
    border-top: 1px solid var(--line);
    padding: 18px 0 0;
    margin: 0;
}

.zovelo-mini-cart-content .woocommerce-mini-cart__buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin: 16px 0 0;
}

.zovelo-mini-cart-content .woocommerce-mini-cart__buttons .button {
    min-height: 52px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ink);
    color: #fff;
    font-weight: 800;
}

.zovelo-mini-cart-content .woocommerce-mini-cart__buttons .checkout {
    background: var(--lime);
    color: var(--ink);
}

.zovelo-mini-cart-content .woocommerce-mini-cart__empty-message {
    padding: 50px 10px;
    text-align: center;
    color: var(--muted);
}

/* Inner content. */

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

.zovelo-entry>*:first-child {
    margin-top: 0;
}

.zovelo-entry>*:last-child {
    margin-bottom: 0;
}

.zovelo-entry img {
    border-radius: 24px;
}

.zovelo-entry a:not(.btn):not(.button) {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.zovelo-featured-image {
    margin: -30px -30px 30px;
}

.zovelo-featured-image img {
    border-radius: 30px 30px 0 0;
    max-height: 620px;
    object-fit: cover;
}

.zovelo-blog-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 330px;
    gap: 30px;
    align-items: start;
}

.zovelo-sidebar {
    display: grid;
    gap: 18px;
}

.widget {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 24px;
}

.widget-title {
    margin: 0 0 16px;
    font: 800 1.2rem Manrope,Arial,sans-serif;
}

.widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.widget li {
    padding: 8px 0;
    border-bottom: 1px solid var(--line);
}

.widget li:last-child {
    border: 0;
}

.blog-card {
    overflow: hidden;
}

.blog-card-image {
    display: block;
    aspect-ratio: 1.25;
    overflow: hidden;
}

.blog-card-image img {
    height: 100%;
    object-fit: cover;
    transition: .6s;
}

.blog-card:hover .blog-card-image img {
    transform: scale(1.05);
}

.blog-card-content {
    padding: 24px;
}

.blog-card-content>span {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.blog-card h2 {
    font: 800 1.55rem/1.1 Manrope,Arial,sans-serif;
    letter-spacing: -.035em;
    margin: 10px 0;
}

.blog-card p {
    color: var(--muted);
    line-height: 1.65;
}

.blog-read {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
}

.navigation.pagination {
    grid-column: 1/-1;
}

.nav-links {
    display: flex;
    gap: 8px;
    justify-content: center;
}

.page-numbers {
    min-width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    border: 1px solid var(--line);
    font-weight: 800;
}

.page-numbers.current {
    background: var(--ink);
    color: #fff;
}

.zovelo-search-form {
    display: flex;
    gap: 8px;
}

.zovelo-search-form label {
    flex: 1;
}

.zovelo-search-form input {
    width: 100%;
    height: 52px;
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 999px;
    padding: 0 18px;
}

.zovelo-404 {
    padding: 70px 0 120px;
}

.zovelo-404-shell {
    min-height: 650px;
    border-radius: 48px 48px 150px 48px;
    background: var(--ink);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 50px;
    position: relative;
    overflow: hidden;
}

.zovelo-404-shell:after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    border: 80px solid rgba(217,255,87,.1);
    border-radius: 50%;
    right: -180px;
    top: -230px;
}

.zovelo-404-shell>strong {
    font: 800 clamp(8rem,25vw,18rem)/.8 Manrope,Arial,sans-serif;
    color: var(--lime);
    letter-spacing: -.1em;
}

.zovelo-404-shell h1 {
    font: 800 clamp(2.3rem,5vw,4.7rem)/.95 Manrope,Arial,sans-serif;
    margin: 15px 0;
}

.zovelo-404-shell p {
    color: rgba(255,255,255,.65);
    max-width: 560px;
}

/* WooCommerce notices and buttons. */

.woocommerce-message,.woocommerce-info,.woocommerce-error {
    list-style: none !important;
    border: 1px solid var(--line) !important;
    border-top: 0 !important;
    border-left: 5px solid var(--lime) !important;
    background: #fff !important;
    color: var(--ink) !important;
    border-radius: 18px !important;
    padding: 18px 22px !important;
    margin: 0 0 20px !important;
    box-shadow: none !important;
}

.woocommerce-error {
    border-left-color: #e76565 !important;
}

.woocommerce-message:before,.woocommerce-info:before,.woocommerce-error:before {
    display: none !important;
}

.woocommerce-message .button,.woocommerce-info .button {
    float: right;
    background: var(--ink) !important;
    color: #fff !important;
    border-radius: 999px !important;
}

.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit {
    background: var(--ink);
    color: #fff;
    border-radius: 999px;
    min-height: 48px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    line-height: 1;
}

.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover {
    background: var(--lime);
    color: var(--ink);
}

.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt {
    background: var(--lime);
    color: var(--ink);
}

/* Product archive. */

.zovelo-shop-layout {
    display: grid;
    grid-template-columns: 280px minmax(0,1fr);
    gap: 34px;
    align-items: start;
}

.zovelo-shop-content {
    position: relative;
    scroll-margin-top: 120px;
}

.zovelo-shop-layout.is-ajax-loading .zovelo-shop-content {
    min-height: 360px;
    pointer-events: none;
}

.zovelo-shop-layout.is-ajax-loading .zovelo-shop-content:before {
    content: "";
    position: absolute;
    inset: -8px;
    z-index: 30;
    border-radius: 24px;
    background: rgba(246,244,238,.78);
    backdrop-filter: blur(2px);
}

.zovelo-shop-layout.is-ajax-loading .zovelo-shop-content:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 130px;
    z-index: 31;
    width: 42px;
    height: 42px;
    margin: -21px 0 0 -21px;
    border: 4px solid rgba(21,23,20,.16);
    border-top-color: var(--ink);
    border-radius: 50%;
    animation: zovelo-shop-spin .72s linear infinite;
}

@keyframes zovelo-shop-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .zovelo-shop-layout.is-ajax-loading .zovelo-shop-content:after {
        animation-duration: 1.5s;
    }
}

.zovelo-shop-filters {
    position: sticky;
    top: 120px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 28px;
    padding: 24px;
}

.zovelo-filter-head {
    display: flex;
    justify-content: space-between;
    align-items: start;
    margin-bottom: 18px;
}

.zovelo-filter-head h2 {
    font: 800 2rem Manrope,Arial,sans-serif;
    margin: 5px 0;
}

.zovelo-filter-close {
    display: none;
}

.zovelo-filter-empty {
    color: var(--muted);
    font-size: .9rem;
}

.zovelo-shop-toolbar {
    min-height: 64px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.zovelo-wc-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex: 1;
}

.zovelo-wc-toolbar:after {
    content: "";
    display: block;
    clear: both;
}

.woocommerce .woocommerce-result-count {
    margin: 0;
    color: var(--muted);
}

.woocommerce .woocommerce-ordering {
    margin: 0;
    float: none;
}

.woocommerce .woocommerce-ordering select {
    height: 48px;
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 999px;
    padding: 0 42px 0 16px;
    color: var(--ink);
    font-weight: 700;
}

.zovelo-view-buttons {
    display: flex;
    gap: 7px;
}

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

.zovelo-filter-open {
    display: none;
}

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(var(--zovelo-shop-columns,3),minmax(0,1fr));
    gap: 20px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce ul.products:before,.woocommerce ul.products:after {
    display: none !important;
}

.woocommerce ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce ul.products li.product a img {
    margin: 0;
}

.product-card.unified-product-card .woocommerce-loop-product__title {
    font: 800 1.08rem Manrope,Arial,sans-serif;
    letter-spacing: -.035em;
    margin: 7px 0 12px;
    padding: 0 !important;
}

.product-card.unified-product-card .product-info small a {
    color: inherit;
}

.product-card.unified-product-card .product-meta .price {
    margin: 0;
    color: var(--ink) !important;
    font-weight: 900 !important;
    font-size: 1rem !important;
}

.product-card.unified-product-card .product-meta .price del {
    color: var(--muted);
    opacity: .6;
}

.product-card.unified-product-card .product-meta .price ins {
    text-decoration: none;
}

.product-card.unified-product-card .star-rating {
    font-size: .78rem;
    color: #e4a11b;
    margin: 0;
}

.zovelo-empty-stars {
    color: #d5d5cc;
    letter-spacing: .04em;
}

.product-card.unified-product-card .quick-add a.button {
    width: 100%;
    height: 52px;
    margin: 0;
    background: var(--lime);
    color: var(--ink);
    white-space: nowrap;
}

.product-card.unified-product-card .quick-add a.added_to_cart {
    display: none;
}

.product-card.unified-product-card .zovelo-compare-card {
    position: absolute;
    right: 14px;
    top: 66px;
    z-index: 3;
}

.product-card.unified-product-card .zovelo-compare-card .icon-btn {
    width: 46px;
    height: 46px;
}

.woocommerce nav.woocommerce-pagination {
    margin-top: 38px;
}

.woocommerce nav.woocommerce-pagination ul {
    border: 0;
    display: flex;
    gap: 7px;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span {
    min-width: 46px;
    height: 46px;
    border: 1px solid var(--line);
    border-radius: 50%;
    display: grid;
    place-items: center;
    padding: 0;
    background: #fff;
    font-weight: 800;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--ink);
    color: #fff;
}

.woocommerce ul.products.list-view {
    grid-template-columns: 1fr;
}

.woocommerce ul.products.list-view .product-card {
    display: grid;
    grid-template-columns: 280px 1fr;
}

.woocommerce ul.products.list-view .product-media {
    aspect-ratio: auto;
    min-height: 290px;
}

.woocommerce ul.products.list-view .product-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px;
}

.woocommerce ul.products.list-view .woocommerce-loop-product__title {
    font-size: 1.8rem;
}

.woocommerce ul.products.list-view .quick-add {
    transform: none;
    opacity: 1;
    max-width: 210px;
}

.woocommerce ul.products.list-view .product-image-link img {
    height: 100%;
}

/* Automatic filter UI supplied by Core. */

.zovelo-filter-form {
    display: grid;
    gap: 0;
}

.zovelo-filter-group {
    padding: 18px 0;
    border-top: 1px solid var(--line);
}

.zovelo-filter-group:first-child {
    border-top: 0;
}

.zovelo-filter-group h3 {
    font: 800 1rem Manrope,Arial,sans-serif;
    margin: 0 0 12px;
}

.zovelo-filter-options {
    display: grid;
    gap: 8px;
}

.zovelo-filter-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--muted);
    font-size: .9rem;
}

.zovelo-filter-option label {
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    flex: 1;
}

.zovelo-filter-option input {
    accent-color: var(--ink);
}

.zovelo-color-dot {
    display: block;
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 1px var(--line);
}

.zovelo-color-dot circle {
    stroke: #fff;
    stroke-width: 2;
}

.zovelo-price-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.zovelo-price-fields input {
    width: 100%;
    height: 42px;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 0 10px;
}

.zovelo-filter-actions {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    padding-top: 18px;
}

.zovelo-filter-actions .btn {
    min-height: 46px;
    padding: 0 15px;
}

.zovelo-filter-clear {
    width: 46px;
    padding: 0;
}

.zovelo-rating-label {
    color: #d99a14;
    letter-spacing: .05em;
}

/* Single product. */

.zovelo-product-breadcrumb {
    padding: 28px 0 0;
}

.single-product div.product {
    display: grid;
    grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr);
    gap: 60px;
    align-items: start;
}

.single-product div.product:before,.single-product div.product:after {
    display: none;
}

.single-product div.product .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.single-product div.product .summary {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    position: relative;
    top: auto;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 34px;
    padding: 36px;
}

.single-product div.product .woocommerce-product-gallery__wrapper {
    border-radius: 38px 38px 100px 38px;
    overflow: hidden;
    background: #eef0ea;
}

.single-product div.product .woocommerce-product-gallery__image img {
    width: 100%;
    aspect-ratio: 1/1.08;
    object-fit: cover;
}

.single-product div.product .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 10px;
    margin: 14px 0 0 !important;
}

.single-product div.product .flex-control-thumbs li {
    width: auto !important;
    float: none !important;
}

.single-product div.product .flex-control-thumbs img {
    border-radius: 16px;
    aspect-ratio: 1;
    object-fit: cover;
    opacity: .65;
}

.single-product div.product .flex-control-thumbs img.flex-active {
    opacity: 1;
    box-shadow: 0 0 0 2px var(--ink);
}

.single-product .product_title {
    font: 800 clamp(2.6rem,5vw,5rem)/.9 Manrope,Arial,sans-serif;
    letter-spacing: -.065em;
    margin: 10px 0 20px;
}

.single-product .summary>.price {
    font: 900 1.6rem Manrope,Arial,sans-serif;
    color: var(--ink) !important;
}

.single-product .summary>.price del {
    color: var(--muted);
    opacity: .5;
}

.single-product .summary>.price ins {
    text-decoration: none;
}

.single-product .woocommerce-product-details__short-description {
    color: var(--muted);
    line-height: 1.75;
}

.single-product form.cart {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 28px 0 !important;
}

.single-product form.cart .quantity .qty {
    height: 54px;
    width: 80px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--paper);
}

.single-product form.cart .single_add_to_cart_button {
    flex: 1;
    min-height: 54px !important;
}

.single-product table.variations {
    margin: 20px 0 !important;
}

.single-product table.variations th,.single-product table.variations td {
    display: block;
    padding: 4px 0 !important;
}

.single-product table.variations select {
    width: 100%;
    height: 50px;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 0 14px;
    background: #fff;
}

.single-product .product_meta {
    padding-top: 20px;
    border-top: 1px solid var(--line);
    display: grid;
    gap: 7px;
    color: var(--muted);
    font-size: .88rem;
}

.zovelo-single-tools {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.zovelo-product-action {
    min-height: 48px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    padding: 0 17px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
}

.zovelo-product-action.active {
    background: var(--ink);
    color: #fff;
}

.single-product .woocommerce-tabs,.single-product .related.products,.single-product .upsells.products {
    grid-column: 1/-1;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 !important;
    margin: 60px 0 0 !important;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.woocommerce div.product .woocommerce-tabs ul.tabs:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:after {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: 1px solid var(--line) !important;
    background: #fff !important;
    border-radius: 999px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 13px 20px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: var(--ink) !important;
    color: #fff !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    padding: 36px !important;
    margin: 18px 0 0 !important;
}

.single-product .related.products>h2,.single-product .upsells.products>h2 {
    font: 800 clamp(2.2rem,4vw,4rem)/.95 Manrope,Arial,sans-serif;
    letter-spacing: -.055em;
    margin: 75px 0 28px;
}

/* Cart and checkout. */

.woocommerce-cart .zovelo-entry,.woocommerce-checkout .zovelo-entry,.woocommerce-account .zovelo-entry {
    background: transparent;
    border: 0;
    padding: 0;
}

.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-checkout .col2-set,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 28px;
    padding: 25px;
}

.woocommerce table.shop_table {
    border: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
}

.woocommerce table.shop_table th {
    font: 800 .78rem Manrope,Arial,sans-serif;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--muted);
}

.woocommerce table.shop_table td,.woocommerce table.shop_table th {
    border-color: var(--line) !important;
    padding: 16px 12px !important;
}

.woocommerce-cart table.cart img {
    width: 86px;
    border-radius: 16px;
}

.woocommerce-cart .cart-collaterals {
    display: grid;
    grid-template-columns: 1fr 430px;
    gap: 25px;
    margin-top: 25px;
}

.woocommerce-cart .cart-collaterals:before,.woocommerce-cart .cart-collaterals:after {
    display: none;
}

.woocommerce-cart .cart_totals {
    width: auto !important;
    float: none !important;
    grid-column: 2;
}

.cart_totals h2,.woocommerce-checkout h3 {
    font: 800 1.6rem Manrope,Arial,sans-serif;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    font-size: 1rem;
    background: var(--lime);
    color: var(--ink);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 14px;
    min-height: 50px;
    padding: 12px 14px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 25px;
}

.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 440px;
    gap: 28px;
}

.woocommerce-checkout form.checkout>.col2-set {
    width: auto !important;
    float: none !important;
}

.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review {
    width: auto !important;
    float: none !important;
}

.woocommerce-checkout #order_review_heading {
    grid-column: 2;
    margin: 0;
    padding: 0 20px;
    align-self: end;
}

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

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

.woocommerce-checkout #payment {
    background: var(--paper) !important;
    border-radius: 20px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    border-color: var(--line) !important;
}

.woocommerce-checkout #place_order {
    width: 100%;
    min-height: 56px;
}

/* My account. */

.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 280px minmax(0,1fr);
    gap: 28px;
}

.woocommerce-account .woocommerce:before,.woocommerce-account .woocommerce:after {
    display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: auto !important;
    float: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 14px 12px;
    border-bottom: 1px solid var(--line);
    font-weight: 800;
    color: var(--muted);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--ink);
    color: #fff;
    border-radius: 14px;
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: auto !important;
    float: none !important;
    min-height: 360px;
}

.woocommerce-account .addresses .title h3 {
    font-family: Manrope,Arial,sans-serif;
}

.woocommerce-account form.login,.woocommerce-account form.register {
    border: 0;
    padding: 0;
    margin: 0;
}

.woocommerce-account:not(.logged-in) .woocommerce {
    grid-template-columns: 1fr;
}

.woocommerce-account:not(.logged-in) .woocommerce h2 {
    font: 800 2rem Manrope,Arial,sans-serif;
}

/* Wishlist and compare. */

.zovelo-empty-state {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 28px;
    padding: 60px 28px;
    text-align: center;
}

.zovelo-empty-state h2 {
    font: 800 2.4rem Manrope,Arial,sans-serif;
    margin: 0 0 12px;
}

.zovelo-empty-state p {
    color: var(--muted);
    margin: 0 0 22px;
}

.zovelo-wishlist-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 20px;
}

.zovelo-compare-wrap {
    overflow: auto;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 30px;
    padding: 22px;
}

.zovelo-compare-table {
    width: 100%;
    min-width: 850px;
    border-collapse: collapse;
}

.zovelo-compare-table th {
    width: 170px;
    text-align: left;
    font: 800 .8rem Manrope,Arial,sans-serif;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--muted);
}

.zovelo-compare-table th,.zovelo-compare-table td {
    padding: 18px;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
}

.zovelo-compare-table td {
    min-width: 220px;
}

.zovelo-compare-product img {
    width: 180px;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 22px;
    margin-bottom: 14px;
}

.zovelo-compare-product h3 {
    font: 800 1.1rem Manrope,Arial,sans-serif;
    margin: 0 0 8px;
}

.zovelo-compare-remove {
    margin-top: 10px;
    border: 0;
    background: none;
    color: #b13b3b;
    text-decoration: underline;
}

.zovelo-compare-attributes {
    display: grid;
    gap: 8px;
}

.zovelo-compare-attributes span {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

/* Comments. */

.comments-area {
    margin-top: 28px;
}

.comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.comment-body {
    padding: 18px 0;
    border-bottom: 1px solid var(--line);
}

.comment-author {
    display: flex;
    gap: 10px;
    align-items: center;
}

.comment-author img {
    border-radius: 50%;
    width: 56px;
    height: 56px;
}

.comment-form input,.comment-form textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 12px;
    background: #fff;
}

.comment-form .submit {
    background: var(--ink);
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: 14px 22px;
    font-weight: 800;
}

@media (max-width:1150px) {
    .zovelo-primary-menu {
        display: none;
    }

    .zovelo-shop-layout {
        grid-template-columns: 240px minmax(0,1fr);
    }

    .woocommerce ul.products {
        --zovelo-shop-columns: 2 !important;
    }

    .zovelo-wishlist-grid {
        grid-template-columns: repeat(3,1fr);
    }

    .single-product div.product {
        gap: 35px;
    }

    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr 390px;
    }
}

@media (max-width:1050px) {
    .campaign-shell {
        grid-template-columns: 1fr;
    }

    .campaign-image {
        min-height: 420px;
    }

    .zovelo-blog-layout {
        grid-template-columns: 1fr;
    }

    .zovelo-sidebar {
        grid-template-columns: repeat(2,1fr);
    }

    .zovelo-shop-layout {
        display: block;
    }

    .zovelo-filter-open {
        display: inline-flex;
    }

    .zovelo-shop-filters {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        width: min(370px,90vw);
        z-index: 180;
        border-radius: 0 30px 30px 0;
        transform: translateX(-105%);
        transition: .35s;
        overflow: auto;
    }

    .zovelo-filter-drawer-open .zovelo-shop-filters {
        transform: none;
        box-shadow: 30px 0 80px rgba(0,0,0,.2);
    }

    .zovelo-filter-drawer-open:after {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.42);
        z-index: 170;
    }

    .zovelo-filter-close {
        display: grid;
    }

    .single-product div.product {
        grid-template-columns: 1fr;
    }

    .single-product div.product .summary {
        position: relative;
        top: auto;
    }

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

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

    .woocommerce-cart .cart-collaterals {
        grid-template-columns: 1fr;
    }

    .woocommerce-cart .cart_totals {
        grid-column: 1;
    }

    .woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        overflow: auto;
        gap: 6px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li a {
        border: 1px solid var(--line);
        border-radius: 999px;
        padding: 10px 15px;
    }
}

@media (max-width:720px) {

    .campaign {
        padding-bottom: 50px;
    }

    .campaign-shell {
        border-radius: 34px 34px 90px 34px;
    }

    .campaign-copy {
        padding: 44px 25px;
    }

    .campaign-copy h2 {
        font-size: clamp(3rem,14vw,5rem);
    }

    .campaign-image {
        min-height: 340px;
    }

    .simple-search-modal {
        top: 4%;
        padding: 20px;
    }

    .simple-search-form {
        display: grid;
        grid-template-columns: auto 1fr;
    }

    .simple-search-form .btn {
        grid-column: 1/-1;
        width: 100%;
    }

    .zovelo-shop-toolbar {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .zovelo-wc-toolbar {
        order: 3;
        width: 100%;
        flex-wrap: wrap;
    }

    .zovelo-view-buttons {
        margin-left: auto;
    }

    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }

    .woocommerce ul.products.list-view .product-card {
        display: block;
    }

    .zovelo-wishlist-grid {
        grid-template-columns: 1fr;
    }

    .single-product div.product .summary {
        padding: 24px;
        border-radius: 26px;
    }

    .single-product .product_title {
        font-size: clamp(2.6rem,13vw,4.3rem);
    }

    .woocommerce div.product .woocommerce-tabs .panel {
        padding: 23px !important;
    }

    .woocommerce-cart-form {
        overflow: auto;
    }

    .woocommerce-cart table.cart {
        min-width: 720px;
    }

    .woocommerce-cart .cart-collaterals {
        display: block;
    }

    .woocommerce-checkout .col2-set,.woocommerce-checkout-review-order {
        padding: 19px;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px;
    }

    .zovelo-sidebar {
        grid-template-columns: 1fr;
    }

    .zovelo-featured-image {
        margin: -21px -21px 22px;
    }

    .zovelo-404-shell {
        min-height: 560px;
        padding: 30px 20px;
    }

    .zovelo-404-shell>strong {
        font-size: 9rem;
    }
}

.zovelo-brand-logo {
    display: flex;
    align-items: center;
    gap: 10px;
}

.zovelo-brand-logo .custom-logo-link {
    display: flex;
    align-items: center;
}

.zovelo-brand-logo .custom-logo {
    width: auto;
    max-height: 54px;
}

.zovelo-brand-subtitle {
    display: block;
    color: var(--muted);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.browse-category-toggle .zovelo-icon {
    width: 20px;
    height: 20px;
}

.browse-category-toggle>span>.zovelo-icon {
    width: 35px;
    height: 35px;
    padding: 8px;
    border-radius: 12px;
    background: var(--sage);
}

.browse-category.open>.browse-category-toggle>.zovelo-icon:last-child {
    transform: rotate(180deg);
}

.browse-category-toggle>.zovelo-icon:last-child {
    transition: .25s;
}

.catalog-search-submit .zovelo-icon,
.catalog-menu-icon .zovelo-icon,
.catalog-support-icon .zovelo-icon,
.catalog-cart-icon .zovelo-icon {
    width: 21px;
    height: 21px;
}

.catalog-search-type .zovelo-icon {
    width: 16px;
    height: 16px;
}

.catalog-topline .container {
    min-height: 38px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.catalog-topline {
    background: #312621;
    color: #fff;
    font-size: .75rem;
    font-weight: 700;
}

.catalog-topline-right {
    display: flex;
    gap: 18px;
}

.catalog-topline a {
    color: #fff;
}

.browse-category-links small {
    color: var(--muted);
}

/* ========================================================================== 
   Zovelo 1.2.0 consistency and admin-driven frontend refinements
   ========================================================================== */

/* Product cards: one component in shop, home sliders, collections and lists. */

.product-card.unified-product-card,
.woocommerce ul.products li.product.product-card.unified-product-card,
.zovelo-wishlist-grid .product-card.unified-product-card {
    --product-radius: 30px;
    position: relative;
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid var(--line) !important;
    border-radius: var(--product-radius) !important;
    background: #fff;
    box-shadow: none;
    transition: transform .38s ease,box-shadow .38s ease;
}

.product-card.unified-product-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--shadow);
}

.product-card.unified-product-card .product-media {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1.05;
    min-height: 0;
    overflow: hidden;
    background: #eef0ea;
    border: 0;
}

.product-card.unified-product-card .product-image-link {
    display: block;
    width: 100%;
    height: 100%;
}

.product-card.unified-product-card .product-image-link img,
.woocommerce ul.products li.product.product-card.unified-product-card a img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover;
    object-position: center;
    transition: transform .65s ease;
}

.product-card.unified-product-card:hover .product-image-link img {
    transform: scale(1.045);
}

.product-card.unified-product-card .product-badge {
    left: 15px;
    top: 15px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    background: var(--lime);
    color: var(--ink);
    font-size: .72rem;
    line-height: 1;
    font-weight: 900;
}

.product-card.unified-product-card .wish {
    right: 14px;
    top: 14px;
    width: 52px;
    height: 52px;
    background: #fff;
    color: var(--ink);
    border: 1px solid rgba(0,0,0,.04);
}

.product-card.unified-product-card .wish.active,
.product-card.unified-product-card .zovelo-compare-card .active {
    background: var(--ink);
    color: #fff;
}

.product-card.unified-product-card .zovelo-compare-card {
    right: 14px;
    top: 74px;
}

.product-card.unified-product-card .zovelo-compare-card .icon-btn {
    width: 52px;
    height: 52px;
    background: #fff;
    border: 1px solid var(--line);
}

.product-card.unified-product-card .quick-add {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 4;
}

.product-card.unified-product-card .quick-add .button,
.product-card.unified-product-card .quick-add a.button,
.product-card.unified-product-card .quick-add .btn {
    width: 100% !important;
    min-height: 56px !important;
    height: auto !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 12px 20px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--lime) !important;
    color: var(--ink) !important;
    font: 800 1rem/1.1 Manrope,Arial,sans-serif !important;
    text-align: center;
    text-decoration: none !important;
    box-shadow: none !important;
}

.product-card.unified-product-card .quick-add .button:hover {
    background: #c9ff2c !important;
    color: var(--ink) !important;
}

.product-card.unified-product-card .quick-add .added_to_cart {
    display: none !important;
}

.product-card.unified-product-card .product-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 23px 28px 25px !important;
    background: #fff;
}

.product-card.unified-product-card .product-info>small {
    min-height: 1em;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .105em;
}

.product-card.unified-product-card .product-info>small a {
    color: inherit;
    text-decoration: none;
}

.product-card.unified-product-card .woocommerce-loop-product__title,
.product-card.unified-product-card .product-info h2,
.product-card.unified-product-card .product-info h3 {
    margin: 10px 0 12px !important;
    padding: 0 !important;
    color: var(--ink) !important;
    font: 800 1.18rem/1.18 Manrope,Arial,sans-serif !important;
    letter-spacing: -.035em !important;
}

.product-card.unified-product-card .woocommerce-loop-product__title a {
    color: inherit;
    text-decoration: none;
}

.product-card.unified-product-card .product-meta {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px;
    min-height: 24px;
}

.product-card.unified-product-card .product-meta>.price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 3px 6px;
    margin: 0 !important;
    color: var(--ink) !important;
    font: 900 1.05rem/1.2 Manrope,Arial,sans-serif !important;
}

.product-card.unified-product-card .product-meta>.price del {
    order: -1;
    color: var(--muted) !important;
    font-size: .72em;
    opacity: .8;
}

.product-card.unified-product-card .product-meta>.price ins {
    text-decoration: none !important;
}

.product-card.unified-product-card .stars {
    flex: 0 0 auto;
    display: block;
    color: #df9700;
    font-size: .78rem;
    line-height: 1;
}

.product-card.unified-product-card .star-rating,
.zovelo-compare-table .star-rating {
    position: relative !important;
    float: none !important;
    width: 5.2em !important;
    height: 1em !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #d8d7cf;
    font-family: Arial,sans-serif !important;
    font-size: .82rem !important;
    line-height: 1 !important;
    letter-spacing: .04em;
}

.product-card.unified-product-card .star-rating:before,
.zovelo-compare-table .star-rating:before {
    content: "★★★★★";
    position: absolute;
    inset: 0;
    color: #d8d7cf;
}

.product-card.unified-product-card .star-rating span,
.zovelo-compare-table .star-rating span {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    height: 1em !important;
    overflow: hidden !important;
    padding-top: 1.2em !important;
    color: #df9700;
}

.product-card.unified-product-card .star-rating span:before,
.zovelo-compare-table .star-rating span:before {
    content: "★★★★★";
    position: absolute;
    left: 0;
    top: 0;
    color: #df9700;
}

.products-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.products-swiper .swiper-slide>.product-card {
    height: 100%;
}

.new-products-grid,.zovelo-shortcode-products {
    align-items: stretch;
}

.zovelo-shortcode-products .product-card {
    height: 100%;
}

.zovelo-home-products-stage {
    position: relative;
    transition: opacity .25s ease;
}

.zovelo-home-products.is-loading .zovelo-home-products-stage {
    opacity: .5;
    pointer-events: none;
}

.zovelo-products-loading {
    position: absolute;
    left: 50%;
    top: 45%;
    z-index: 8;
    transform: translate(-50%,-50%);
    padding: 12px 18px;
    border-radius: 999px;
    background: var(--ink);
    color: #fff;
    font-weight: 800;
    box-shadow: var(--shadow);
}

.zovelo-ajax-empty-slide {
    width: 100% !important;
}

.zovelo-ajax-empty {
    width: 100%;
    padding: 45px;
    border: 1px dashed var(--line);
    border-radius: 28px;
    background: #fff;
    text-align: center;
    color: var(--muted);
}

.tabs [data-home-category]:disabled {
    cursor: wait;
}

/* Product page: summary stays in its own row and never overlays tabs/content. */

.single-product div.product .summary {
    position: relative !important;
    top: auto !important;
    z-index: 1;
}

.single-product div.product .woocommerce-tabs,
.single-product div.product .related.products,
.single-product div.product .upsells.products {
    position: relative;
    z-index: 2;
    background: var(--paper);
}

.single-product div.product .woocommerce-tabs {
    clear: both;
}

.single-product div.product .woocommerce-tabs .panel {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 28px;
    line-height: 1.75;
}

.single-product .related.products ul.products,
.single-product .upsells.products ul.products {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
}

/* Symmetrical cart and search transitions. */

.zovelo-modal-backdrop {
    visibility: hidden;
    transition: opacity .5s ease,visibility 0s linear .5s;
}

.zovelo-modal-backdrop.open {
    visibility: visible;
    transition-delay: 0s;
}

.zovelo-cart-overlay {
    position: fixed;
    inset: 0;
    display: block;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    background: rgba(7,9,7,.48);
    transition: opacity .5s ease,visibility 0s linear .5s;
}

.zovelo-cart-overlay.open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
}

.zovelo-cart-overlay .drawer {
    transform: translateX(105%);
    transition: transform .5s cubic-bezier(.22,.75,.2,1);
}

.zovelo-cart-overlay.open .drawer {
    transform: translateX(0);
}

.simple-search-modal {
    transition: transform .42s cubic-bezier(.22,.75,.2,1),opacity .35s ease,visibility .35s ease;
}

/* Live product search. */

.zovelo-live-search-results {
    max-height: min(460px,55vh);
    margin-top: 15px;
    overflow: auto;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
}

.zovelo-live-search-item {
    display: grid;
    grid-template-columns: 72px minmax(0,1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 12px;
    border-bottom: 1px solid var(--line);
    transition: background .2s ease;
}

.zovelo-live-search-item:last-of-type {
    border-bottom: 0;
}

.zovelo-live-search-item:hover {
    background: var(--sage);
}

.zovelo-live-search-item img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 15px;
    background: var(--paper);
}

.zovelo-live-search-item>span:nth-child(2) {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.zovelo-live-search-item strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font: 800 .96rem Manrope,Arial,sans-serif;
}

.zovelo-live-search-item .price {
    font-size: .84rem;
}

.zovelo-live-search-arrow {
    font-size: 1.15rem;
}

.zovelo-live-search-all {
    display: block;
    padding: 14px 17px;
    background: var(--ink);
    color: #fff !important;
    text-align: center;
    font-weight: 800;
}

.zovelo-live-search-loading,.zovelo-live-search-empty {
    margin: 0;
    padding: 24px;
    text-align: center;
    color: var(--muted);
}

/* Shop hero image and the catalog header inherit the global theme palette. */

.page-heading--catalog .page-heading-shell {
    background: linear-gradient(105deg,var(--shop-hero-start,var(--sage)),var(--shop-hero-end,var(--lime)));
}

.page-heading--catalog .page-heading-visual {
    overflow: hidden;
}

.page-heading--catalog .page-heading-visual>img {
    position: absolute;
    right: 5%;
    bottom: -13%;
    width: min(390px,80%);
    height: 115%;
    object-fit: contain;
    filter: drop-shadow(0 28px 35px rgba(0,0,0,.16));
    z-index: 1;
}

.catalog-topline {
    background: var(--ink) !important;
    color: #fff;
}

.catalog-header,.catalog-nav-wrap {
    background: var(--paper) !important;
}

.catalog-menu-trigger {
    background: var(--lime) !important;
    color: var(--ink) !important;
}

.catalog-search-submit,.catalog-cart-icon {
    background: var(--lime) !important;
    color: var(--ink) !important;
}

.catalog-main-nav .current-menu-item>a,.catalog-main-nav a:hover {
    color: var(--ink) !important;
    background: var(--sage);
}

/* Premium Journal and article details. */

.blog-feature-media {
    display: block;
    min-height: 520px;
    overflow: hidden;
}

.blog-feature-media img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    transition: transform .8s ease;
}

.blog-feature:hover .blog-feature-media img {
    transform: scale(1.035);
}

.blog-feature-copy h2 a {
    color: #fff;
}

.blog-feature-copy .btn {
    width: max-content;
    margin-top: 22px;
}

.zovelo-kicker-light {
    color: #fff !important;
}

.blog-feature-copy > .zovelo-kicker-light {
    align-self: flex-start;
    justify-content: flex-start;
    width: auto;
    text-align: left;
}

.blog-feature-copy > .zovelo-kicker-light::before {
    flex: 0 0 24px;
    background: rgba(255,255,255,.72);
}

.blog-feature-meta,.zovelo-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    color: rgba(255,255,255,.58);
    font-size: .76rem;
    font-weight: 800;
}

.zovelo-article-meta {
    color: var(--muted);
    margin-top: 19px;
}

.blog-card-image {
    display: block;
    overflow: hidden;
}

.blog-card-image img {
    width: 100%;
    height: 100%;
}

.blog-card-content .blog-read {
    font-size: 1rem;
    font-weight: 700;
}

.blog-sidebar-newsletter .newsletter-form {
    display: grid;
    background: transparent;
    padding: 0;
    border-radius: 0;
}

.blog-sidebar-newsletter .newsletter-form input[type=email] {
    width: 100%;
    height: 46px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 13px;
    background: rgba(255,255,255,.08);
    color: #fff;
}

.blog-sidebar-newsletter .newsletter-form .btn {
    width: 100%;
    background: var(--lime);
    color: var(--ink);
}

.blog-sidebar-newsletter .zovelo-newsletter-consent {
    display: flex;
    gap: 7px;
    color: rgba(255,255,255,.58);
    font-size: .67rem;
    line-height: 1.35;
}

.blog-sidebar-newsletter .zovelo-newsletter-consent input {
    width: auto;
    height: auto;
}

.blog-sidebar-newsletter .zovelo-newsletter-consent a {
    color: #fff;
    text-decoration: underline;
}

.blog-sidebar-newsletter .zovelo-newsletter-status {
    font-size: .72rem;
    color: var(--lime);
}

.zovelo-article-lead-image {
    margin: 0 0 36px;
}

.zovelo-article-lead-image img {
    width: 100%;
    max-height: 650px;
    object-fit: cover;
    border-radius: 32px;
}

.article-body blockquote,.article-body .wp-block-quote {
    padding: 34px;
    border: 0;
    border-radius: 26px;
    background: var(--lime);
    font: 800 1.45rem/1.35 Manrope,Arial,sans-serif;
    color: var(--ink);
    margin: 36px 0;
}

.article-body h3 {
    font: 800 clamp(1.45rem,2.5vw,2.2rem)/1.1 Manrope,Arial,sans-serif;
    letter-spacing: -.035em;
    color: var(--ink);
    margin: 38px 0 15px;
}

.article-body ul,.article-body ol {
    padding-left: 1.25em;
}

.article-body a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.article-toc .toc-level-3 {
    padding-left: 22px;
    font-size: .73rem;
}

.article-share button.copied {
    background: var(--lime);
    color: var(--ink);
}

/* Collections explanation and exact editorial grid rhythm. */

.collections-intro-note {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 30px;
    align-items: start;
    margin: 0 0 35px;
    padding: 22px 26px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
}

.collections-intro-note strong {
    font: 800 1.08rem Manrope,Arial,sans-serif;
}

.collections-intro-note p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.zovelo-collections-products-head {
    margin-top: 90px;
}

@media (max-width:1050px) {
    .single-product .related.products ul.products,.single-product .upsells.products ul.products {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }

    .page-heading--catalog .page-heading-visual>img {
        opacity: .55;
    }
}

@media (max-width:720px) {
    .product-card.unified-product-card .quick-add {
        opacity: 1;
        transform: none;
    }

    .product-card.unified-product-card .product-info {
        padding: 20px !important;
    }

    .product-card.unified-product-card .product-media {
        aspect-ratio: 1/1.02;
    }

    .single-product .related.products ul.products,.single-product .upsells.products ul.products {
        grid-template-columns: 1fr !important;
    }

    .collections-intro-note {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .blog-feature-media,.blog-feature-media img {
        min-height: 360px;
    }

    .zovelo-live-search-item {
        grid-template-columns: 58px minmax(0,1fr) auto;
    }

    .zovelo-live-search-item img {
        width: 58px;
        height: 58px;
    }
}

/* Zovelo 1.3 design-system refinements. */

.zovelo-article-hero .page-heading-copy>.kicker,.blog-page .page-heading-copy>.kicker {
    padding-left: 0;
    margin-left: 0;
}

.zovelo-article-hero .page-heading-copy>.kicker:before,.blog-page .page-heading-copy>.kicker:before {
    display: none !important;
}

.zovelo-article-hero .zovelo-article-meta a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Journal layouts and editable WordPress widget sidebars. */

.blog-archive-layout {
    align-items: start;
}

.zovelo-journal-sidebar-left .blog-archive-layout {
    grid-template-columns: minmax(280px,.34fr) minmax(0,1fr);
}

.zovelo-journal-sidebar-none .blog-archive-layout {
    grid-template-columns: 1fr;
}

.zovelo-journal-sidebar-none .blog-main-column {
    max-width: none;
}

.blog-grid--list {
    grid-template-columns: 1fr !important;
}

.blog-grid--list .blog-card {
    display: grid;
    grid-template-columns: minmax(230px,.44fr) minmax(0,1fr);
    align-items: stretch;
}

.blog-grid--list .blog-card-image {
    min-height: 300px;
}

.blog-grid--list .blog-card-image img {
    height: 100%;
    object-fit: cover;
}

.zovelo-widget-stack {
    display: grid;
    gap: 18px;
}

.zovelo-sidebar-widget {
    padding: 24px;
    border: 1px solid var(--line,#dedede);
    border-radius: 24px;
    background: #fff;
    overflow: hidden;
}

.zovelo-sidebar-widget .widget-title {
    margin: 0 0 16px;
    font-size: 1.15rem;
}

.zovelo-sidebar-widget ul {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.zovelo-sidebar-widget li {
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line,#e8e8e8);
}

.zovelo-sidebar-widget li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.zovelo-sidebar-widget input,.zovelo-sidebar-widget select {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--line,#ddd);
    border-radius: 12px;
    padding: 9px 12px;
}

.zovelo-widget-empty .btn {
    margin-top: 10px;
}

.blog-sidebar-card,.article-aside-card,.zovelo-sidebar-widget {
    box-shadow: 0 16px 40px rgba(20,24,18,.045);
}

/* Premium single article. */

.article-layout.no-sidebar {
    display: block;
    max-width: 1040px;
    margin-inline: auto;
}

.article-layout.no-sidebar .article-body {
    width: 100%;
}

.zovelo-article-content {
    font-size: clamp(1rem,1.1vw,1.13rem);
    line-height: 1.85;
}

.zovelo-article-content>p:first-of-type {
    font-size: 1.16em;
    color: var(--ink,#151714);
}

.zovelo-article-content h2,.zovelo-article-content h3 {
    scroll-margin-top: 140px;
}

.article-sidebar {
    position: sticky;
    top: calc(var(--zovelo-header-height,88px) + 24px);
    display: grid;
    gap: 18px;
}

.article-aside-card {
    border: 1px solid var(--line,#dfdfdf);
    border-radius: 25px;
    background: #fff;
    padding: 24px;
}

.article-author {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    overflow: hidden;
    background: linear-gradient(145deg,#151714,#2a3026);
    color: #fff;
}

.article-author h3 {
    color: #fff;
    margin: 2px 0 8px;
}

.article-author p {
    color: rgba(255,255,255,.66);
    font-size: .85rem;
}

.article-author-avatar {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--lime,#d9ff57);
    color: #151714;
    font-weight: 900;
}

.article-author .zovelo-author-photo {
    display: none;
}

.article-toc {
    display: grid;
    gap: 7px;
    margin-top: 12px;
}

.article-toc a {
    display: block;
    padding: 9px 11px;
    border-radius: 10px;
    background: #f6f7f3;
    color: var(--ink,#151714);
    font-size: .84rem;
    font-weight: 700;
}

.article-toc a:hover {
    background: var(--lime,#d9ff57);
}

.article-toc .toc-level-3 {
    margin-left: 0;
    font-weight: 600;
}

.article-product-pick>a {
    display: grid;
    gap: 9px;
}

.article-product-pick img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 17px;
}

.article-product-pick strong {
    font-size: 1.05rem;
}

.zovelo-share-buttons {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
}

.zovelo-share-buttons a,.zovelo-share-buttons button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line,#ddd);
    border-radius: 50%;
    background: #fff;
    color: var(--ink,#151714);
    cursor: pointer;
}

.zovelo-share-buttons a:hover,.zovelo-share-buttons button:hover {
    background: var(--lime,#d9ff57);
    border-color: var(--lime,#d9ff57);
}

.zovelo-share-buttons svg {
    width: 18px;
    height: 18px;
}

.zovelo-article-inline-share {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 50px;
    padding-top: 28px;
    border-top: 1px solid var(--line,#ddd);
    font-weight: 800;
}

.zovelo-related-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
}

.zovelo-related-grid .blog-card {
    height: 100%;
}

/* Comments and WooCommerce reviews share the same premium language. */

.zovelo-comments-panel {
    max-width: 1120px;
    margin-inline: auto;
    padding: clamp(24px,5vw,58px);
    border: 1px solid var(--line,#ddd);
    border-radius: 34px;
    background: #fff;
}

.zovelo-comments-heading {
    max-width: 720px;
    margin-bottom: 34px;
}

.zovelo-comments-heading h2 {
    margin: 8px 0;
    font-size: clamp(2rem,4vw,3.7rem);
}

.zovelo-comments-heading p {
    color: var(--muted,#666);
}

.comment-list,.comment-list .children {
    list-style: none;
    margin: 0;
    padding: 0;
}

.comment-list {
    display: grid;
    gap: 17px;
}

.comment-list .children {
    display: grid;
    gap: 14px;
    margin: 14px 0 0 clamp(18px,5vw,64px);
}

.zovelo-comment-body {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 16px;
    padding: 22px;
    border: 1px solid var(--line,#e1e1e1);
    border-radius: 22px;
    background: #fafbf8;
}

.zovelo-comment-avatar img {
    border-radius: 50%;
}

.zovelo-comment-head {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.zovelo-comment-head>div {
    display: grid;
    gap: 3px;
}

.zovelo-comment-head time {
    font-size: .76rem;
    color: var(--muted,#777);
}

.zovelo-comment-head .comment-reply-link {
    font-size: .78rem;
    font-weight: 800;
}

.zovelo-comment-text {
    margin-top: 13px;
    color: #424742;
    line-height: 1.7;
}

.zovelo-comment-form {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
    margin-top: 42px;
    padding: 28px;
    border-radius: 25px;
    background: #f3f5ef;
}

.zovelo-comment-form .comment-reply-title,
.zovelo-comment-form .comment-notes,
.zovelo-comment-form .comment-form-comment,
.zovelo-comment-form .comment-form-url,
.zovelo-comment-form .comment-form-cookies-consent,
.zovelo-comment-form .form-submit,
.zovelo-comment-form .logged-in-as {
    grid-column: 1/-1;
}

.zovelo-comment-form p {
    margin: 0;
}

.zovelo-comment-form label {
    display: block;
    margin-bottom: 7px;
    font-weight: 800;
}

.zovelo-comment-form input:not([type=checkbox]),.zovelo-comment-form textarea {
    width: 100%;
    border: 1px solid var(--line,#ddd);
    border-radius: 13px;
    background: #fff;
    padding: 13px 15px;
    font: inherit;
}

.zovelo-comment-form textarea {
    resize: vertical;
}

.zovelo-comment-form .form-submit {
    margin-top: 4px;
}

.woocommerce-Reviews #comments,.woocommerce-Reviews #review_form_wrapper {
    padding: 25px;
    border: 1px solid var(--line,#ddd);
    border-radius: 24px;
    background: #fff;
}

.woocommerce-Reviews .commentlist {
    display: grid;
    gap: 15px;
}

.woocommerce-Reviews .comment_container {
    padding: 17px;
    border-radius: 18px;
    background: #f7f8f4;
}

.woocommerce-Reviews .comment-text {
    border: 0 !important;
    padding: 0 !important;
}

.woocommerce-Reviews #respond textarea,.woocommerce-Reviews #respond input {
    border: 1px solid var(--line,#ddd);
    border-radius: 12px;
    padding: 11px 13px;
}

/* Footer choices. */

.footer--editorial .zovelo-footer-editorial-head {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(360px,.75fr);
    gap: clamp(30px,7vw,100px);
    align-items: end;
    padding: 0 0 60px;
    margin-bottom: 55px;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.footer--editorial .zovelo-footer-editorial-head h2 {
    max-width: 720px;
    margin: 12px 0;
    font-size: clamp(2.5rem,5vw,5.7rem);
    line-height: .95;
    color: #fff;
}

.footer--editorial .zovelo-footer-editorial-head p {
    max-width: 600px;
    color: rgba(255,255,255,.62);
}

.footer--editorial .zovelo-footer-editorial-head .zovelo-newsletter-consent {
    color: rgba(255,255,255,.62);
}

.footer--editorial .zovelo-footer-editorial-head .zovelo-newsletter-consent a {
    color: #fff;
}

.footer--minimal {
    padding-block: clamp(54px,7vw,86px);
}

.zovelo-footer-minimal {
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr);
    align-items: start;
    justify-items: stretch;
    gap: clamp(34px,7vw,100px);
    width: 100%;
    max-width: none;
    margin: 0;
    text-align: left;
}

.zovelo-footer-minimal p {
    max-width: 620px;
    color: rgba(255,255,255,.62);
}

.zovelo-footer-minimal .zovelo-minimal-menu {
    display: flex;
    justify-content: flex-end;
    gap: 18px 24px;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.zovelo-footer-minimal .zovelo-minimal-menu a {
    color: #fff;
}

.footer--minimal .footer-bottom {
    justify-content: space-between;
    text-align: left;
    flex-wrap: wrap;
}

.footer--minimal .footer-bottom span:last-child {
    width: auto;
}

@media (max-width:1050px) {
    .footer--editorial .zovelo-footer-editorial-head {
        grid-template-columns: 1fr;
    }

    .zovelo-related-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .zovelo-journal-sidebar-left .blog-archive-layout {
        grid-template-columns: 1fr;
    }

    .article-sidebar {
        position: static;
    }
}

@media (max-width:760px) {
    .blog-grid--list .blog-card {
        grid-template-columns: 1fr;
    }

    .blog-grid--list .blog-card-image {
        min-height: 230px;
    }

    .zovelo-comment-form {
        grid-template-columns: 1fr;
    }

    .zovelo-comment-form>* {
        grid-column: 1 !important;
    }

    .zovelo-comment-body {
        grid-template-columns: 1fr;
    }

    .zovelo-comment-avatar img {
        width: 46px;
        height: 46px;
    }

    .zovelo-related-grid {
        grid-template-columns: 1fr;
    }

    .zovelo-comments-panel {
        border-radius: 25px;
    }

    .zovelo-article-inline-share {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Shared page-title kicker treatment overrides older Journal-specific rules. */

.zovelo-article-hero .page-heading-copy>.kicker,.blog-page .page-heading-copy>.kicker {
    padding-left: 0;
    margin: 0;
}

.zovelo-article-hero .page-heading-copy>.kicker:before,.blog-page .page-heading-copy>.kicker:before {
    display: block !important;
}

/* Zovelo 1.5: Search Market header. */

.market-header {
    background: var(--zovelo-header-bg,var(--paper));
    color: var(--zovelo-header-text,var(--ink));
    border-bottom: 1px solid var(--line);
}

.market-header-top {
    display: grid;
    grid-template-columns: auto minmax(280px,1fr) auto;
    gap: clamp(18px,3vw,42px);
    align-items: center;
    padding-block: 15px;
}

.market-brand {
    min-width: max-content;
}

.market-search-shell {
    display: flex;
    align-items: center;
    min-width: 0;
    height: 58px;
    padding: 6px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--surface,#fff);
    box-shadow: 0 10px 30px rgba(20,24,18,.035);
}

.market-search-shell input {
    flex: 1;
    min-width: 0;
    height: 100%;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 18px !important;
    color: var(--ink);
}

.market-search-shell input::placeholder {
    color: var(--muted);
}

.market-search-submit {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--lime);
    color: var(--ink);
}

.market-top-actions,.market-utility-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.market-mobile-menu {
    display: none;
}

.market-cart-card,.market-utility-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 54px;
    padding: 7px 15px 7px 8px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--surface,#fff);
    color: var(--ink);
    font-weight: 800;
    transition: .25s;
}

.market-cart-card {
    border-radius: 999px;
    padding-right: 20px;
}

.market-cart-card:hover,.market-utility-card:hover {
    transform: translateY(-2px);
    border-color: var(--lime);
    box-shadow: 0 12px 28px rgba(20,24,18,.08);
}

.market-action-icon {
    position: relative;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: color-mix(in srgb,var(--lime) 65%,var(--surface,#fff));
    color: var(--ink);
}

.market-action-copy {
    display: grid;
    line-height: 1.05;
    text-align: left;
}

.market-action-copy small {
    font-size: .68rem;
    color: var(--muted);
    font-weight: 600;
}

.market-action-copy strong {
    font-size: .96rem;
    white-space: nowrap;
}

.market-nav-wrap {
    border-top: 1px solid var(--line);
    background: color-mix(in srgb,var(--zovelo-header-bg,var(--paper)) 94%,var(--surface,#fff));
}

.market-nav-row {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 22px;
    min-height: 68px;
}

.market-category-trigger {
    display: flex;
    align-items: center;
    gap: 11px;
    align-self: stretch;
    min-width: 205px;
    padding: 0 20px;
    border: 0;
    background: var(--lime);
    color: var(--ink);
    font-weight: 900;
}

.market-category-trigger>.zovelo-icon:last-child {
    margin-left: auto;
    width: 16px;
    height: 16px;
}

.market-category-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.45);
}

.market-main-nav {
    display: flex;
    justify-content: center;
    min-width: 0;
}

.market-main-nav .zovelo-primary-menu {
    justify-content: center;
}

.market-main-nav .zovelo-primary-menu>li>a:hover,.market-main-nav .current-menu-item>a {
    background: var(--surface,#fff);
}

.market-utility-card {
    min-height: 46px;
    padding: 5px 12px 5px 6px;
    border-radius: 999px;
    font-size: .78rem;
}

.market-utility-card .market-action-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 50%;
    background: var(--paper);
}

.market-utility-card .zovelo-icon {
    width: 17px;
    height: 17px;
}

.market-action-icon .count {
    right: -7px;
    top: -7px;
}

.woocommerce-product-rating .woocommerce-review-link .count {
    position: static !important;
    display: inline !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
}

@media (max-width:1180px) {
    .market-utility-card>span:last-child {
        display: none;
    }

    .market-utility-card {
        padding-right: 6px;
    }

    .market-category-trigger {
        min-width: 175px;
    }

    .market-header-top {
        grid-template-columns: auto minmax(220px,1fr) auto;
    }
}

@media (max-width:1050px) {
    .market-main-nav {
        display: none;
    }

    .market-nav-row {
        grid-template-columns: 1fr auto;
    }

    .market-utility-actions {
        justify-content: flex-end;
    }

    .market-mobile-menu {
        display: grid;
    }

    .market-header-top {
        grid-template-columns: auto minmax(0,1fr) auto;
    }

    .market-category-trigger {
        min-width: 190px;
    }

    .market-utility-card>span:last-child {
        display: inline;
    }
}

@media (max-width:760px) {
    .market-header-top {
        grid-template-columns: 1fr auto;
        gap: 12px;
        padding-block: 12px;
    }

    .market-search-shell {
        grid-column: 1/-1;
        grid-row: 2;
        height: 52px;
    }

    .market-cart-card .market-action-copy {
        display: none;
    }

    .market-cart-card {
        padding: 6px;
    }

    .market-top-actions {
        grid-column: 2;
        grid-row: 1;
    }

    .market-nav-row {
        display: flex;
        justify-content: space-between;
        min-height: 58px;
    }

    .market-category-trigger {
        min-width: 0;
        align-self: auto;
        height: 44px;
        border-radius: 14px;
        padding: 0 13px;
    }

    .market-category-trigger>span:nth-child(2) {
        display: none;
    }

    .market-utility-actions {
        gap: 6px;
    }

    .market-utility-card {
        padding: 5px;
    }

    .market-utility-card>span:last-child {
        display: none;
    }

    .market-header .brand {
        font-size: 1.15rem;
    }

    .market-header .brand-mark {
        width: 38px;
        height: 38px;
    }
}

/* Zovelo 1.5: visual consistency, sidebars, reviews and product galleries. */

.page-heading--content .page-heading-copy,
.page-heading--content .page-heading-copy h1,
.page-heading--content .page-heading-copy .kicker,
.page-heading--content .page-heading-copy .breadcrumbs,
.page-heading--content .page-heading-copy .breadcrumbs a,
.page-heading--content .zovelo-article-meta,
.page-heading--content .zovelo-article-meta a {
    color: #fff !important;
}

.page-heading--content .page-heading-copy p {
    color: rgba(255,255,255,.72) !important;
}

.page-heading--content .kicker:before {
    background: var(--lime) !important;
}

.page-heading-copy {
    gap: 0;
}

.page-heading-copy .breadcrumbs {
    margin: 0 0 26px;
}

.page-heading-copy>.kicker {
    margin: 0 0 20px;
}

.page-heading-copy h1 {
    margin: 0;
}

.page-heading-copy h1+p,.page-heading-copy h1+.zovelo-article-meta {
    margin-top: 22px;
}

.page-heading-copy p {
    line-height: 1.72;
}

/* Never let WooCommerce review counts inherit the circular header badge. */

.woocommerce-product-rating .woocommerce-review-link,
.woocommerce-product-rating .woocommerce-review-link .count {
    position: static !important;
    display: inline !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--muted) !important;
    box-shadow: none !important;
    font: inherit !important;
}

/* Premium sale badges on product pages and cards. */

.woocommerce span.onsale {
    left: 18px !important;
    top: 18px !important;
    z-index: 6 !important;
    min-width: 0 !important;
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 15px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--lime) !important;
    color: var(--ink) !important;
    box-shadow: 0 12px 26px rgba(20,24,18,.14) !important;
    font: 900 .76rem/1 var(--zovelo-heading-font) !important;
    letter-spacing: .02em !important;
}

.product-card.unified-product-card .product-badge {
    background: var(--lime) !important;
    color: var(--ink) !important;
    border: 1px solid color-mix(in srgb,var(--ink) 8%,transparent);
    box-shadow: 0 10px 25px rgba(20,24,18,.11) !important;
}

/* Product review and comment form spacing. */

.woocommerce-Reviews #comments,.woocommerce-Reviews #review_form_wrapper {
    padding: clamp(24px,4vw,42px) !important;
}

.woocommerce-Reviews #review_form_wrapper {
    margin-top: 24px;
}

.woocommerce-Reviews #respond {
    display: grid;
    gap: 18px;
}

.woocommerce-Reviews #respond .comment-reply-title {
    display: block;
    margin: 0 0 8px;
    font: 800 clamp(1.45rem,2.4vw,2.15rem)/1.1 var(--zovelo-heading-font);
}

.woocommerce-Reviews #respond .comment-form {
    display: grid;
    gap: 18px;
}

.woocommerce-Reviews #respond .comment-form>p {
    margin: 0;
}

.woocommerce-Reviews #respond label {
    display: block;
    margin-bottom: 8px;
    font-weight: 800;
}

.woocommerce-Reviews #respond textarea {
    min-height: 150px;
    resize: vertical;
}

.woocommerce-Reviews #respond .form-submit input {
    width: auto !important;
    min-width: 180px !important;
}

.woocommerce p.stars {
    margin: 0 !important;
}

.woocommerce p.stars a {
    margin-right: 5px !important;
}

.zovelo-comments-section {
    padding-top: 35px !important;
}

.zovelo-comments-panel {
    display: grid;
    gap: 28px;
}

.zovelo-comments-heading {
    margin: 0;
}

.zovelo-comment-form {
    margin-top: 8px !important;
    gap: 20px !important;
}

.zovelo-comment-form .comment-reply-title {
    margin: 0 0 3px;
}

.zovelo-comment-form .comment-notes {
    margin-bottom: 5px !important;
}

.zovelo-comment-form textarea {
    min-height: 170px;
}

/* Category hero media uses a controlled editorial frame. */

.page-heading--catalog .page-heading-visual {
    display: grid;
    place-items: center;
    min-height: 300px;
}

.page-heading--catalog .page-heading-visual>img {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: min(420px,88%) !important;
    height: auto !important;
    max-height: 280px !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 24px !important;
    transform: rotate(2deg) !important;
    box-shadow: 0 24px 60px rgba(20,24,18,.15);
    filter: none !important;
    z-index: 2 !important;
}

.page-heading--catalog .page-heading-visual:before {
    content: "";
    position: absolute;
    width: 72%;
    height: 72%;
    border-radius: 36px;
    background: rgba(255,255,255,.22);
    transform: rotate(-2deg);
}

/* Same sidebar system on Journal, archives, articles and standard pages. */

.zovelo-journal-sidebar-both .blog-archive-layout {
    grid-template-columns: minmax(230px,.27fr) minmax(0,1fr) minmax(285px,.32fr);
}

.zovelo-journal-sidebar-right .blog-archive-layout {
    grid-template-columns: minmax(0,1fr) minmax(285px,.32fr);
}

.zovelo-journal-sidebar-left .blog-archive-layout {
    grid-template-columns: minmax(285px,.32fr) minmax(0,1fr);
}

.zovelo-journal-sidebar-none .blog-archive-layout {
    grid-template-columns: 1fr;
}

.zovelo-journal-left-sidebar {
    display: grid;
    gap: 18px;
    align-content: start;
}

.article-layout.sidebar-right {
    grid-template-columns: minmax(0,1fr) 310px;
}

.article-layout.sidebar-left {
    grid-template-columns: 310px minmax(0,1fr);
}

.article-layout.sidebar-both {
    grid-template-columns: 250px minmax(0,1fr) 310px;
}

.article-layout.sidebar-left>.blog-single-sidebar {
    grid-column: 1;
}

.article-layout.sidebar-left>.article-body {
    grid-column: 2;
}

.article-layout.sidebar-both>.article-body {
    grid-column: 2;
}

.zovelo-single-sidebar-intro {
    background: linear-gradient(145deg,var(--ink),color-mix(in srgb,var(--ink) 75%,var(--lime)));
    color: #fff;
}

.zovelo-single-sidebar-intro h3 {
    color: #fff;
    margin: 5px 0 8px;
}

.zovelo-single-sidebar-intro p {
    color: rgba(255,255,255,.66);
}

.zovelo-single-sidebar-intro .article-toc a {
    background: rgba(255,255,255,.09);
    color: #fff;
}

.zovelo-single-sidebar-share {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.14);
}

.zovelo-page-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 30px;
    align-items: start;
}

.zovelo-page-layout.sidebar-left {
    grid-template-columns: 290px minmax(0,1fr);
}

.zovelo-page-layout.sidebar-right {
    grid-template-columns: minmax(0,1fr) 290px;
}

.zovelo-page-layout.sidebar-both {
    grid-template-columns: 250px minmax(0,1fr) 250px;
}

.zovelo-page-sidebar {
    display: grid;
    gap: 18px;
    position: sticky;
    top: calc(var(--zovelo-header-height) + 24px);
}

/* Editorial footer consent stays below the white email field. */

.footer--editorial .zovelo-newsletter-form,.footer--editorial .newsletter-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
}

.footer--editorial .zovelo-newsletter-row {
    width: 100%;
    background: var(--surface) !important;
    border-radius: 999px !important;
}

.footer--editorial .zovelo-newsletter-consent {
    display: flex !important;
    width: 100%;
    padding: 0 12px !important;
    color: rgba(255,255,255,.68) !important;
}

.footer--editorial .zovelo-newsletter-consent a {
    color: #fff !important;
}

.footer--minimal {
    background: var(--footer-bg) !important;
    color: var(--zovelo-footer-text) !important;
}

.footer--minimal .zovelo-footer-minimal {
    background: transparent !important;
    color: inherit !important;
}

.footer--minimal .brand,.footer--minimal h1,.footer--minimal h2,.footer--minimal h3,.footer--minimal h4 {
    color: inherit;
}

.footer--minimal .footer-bottom,.footer--minimal .footer-bottom a {
    color: color-mix(in srgb,var(--zovelo-footer-text) 55%,transparent);
}

/* Global design colors drive key surfaces in every header and content component. */

.header,.catalog-header,.market-header,.alt-header,.catalog-nav-wrap,.market-nav-wrap {
    background-color: var(--zovelo-header-bg) !important;
    color: var(--zovelo-header-text) !important;
}

.catalog-search-shell,
.catalog-support-card,
.catalog-cart-btn,
.market-search-shell,
.market-cart-card,
.market-utility-card,
.icon-btn,
.product-card,
.blog-card,
.blog-sidebar-card,
.article-aside-card,
.zovelo-entry.panel,
.woocommerce div.product .summary,
.woocommerce div.product .woocommerce-tabs .panel {
    background-color: var(--surface) !important;
}

.catalog-menu-trigger,
.market-category-trigger,
.catalog-search-submit,
.market-search-submit,
.catalog-cart-icon {
    background: var(--lime) !important;
    color: var(--ink) !important;
}

.catalog-main-nav .current-menu-item>a,
.catalog-main-nav a:hover,
.market-main-nav .current-menu-item>a,
.market-main-nav a:hover {
    background: color-mix(in srgb,var(--lime) 22%,var(--surface)) !important;
    color: var(--ink) !important;
}

/* Three product-gallery layouts. */

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

.zovelo-product-gallery-left.single-product div.product .woocommerce-product-gallery__wrapper {
    grid-column: 2;
    grid-row: 1;
}

.zovelo-product-gallery-left.single-product div.product .flex-control-thumbs {
    grid-column: 1;
    grid-row: 1;
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    margin: 0 !important;
    max-height: 720px;
    overflow: auto;
}

.zovelo-product-gallery-left.single-product div.product .flex-control-thumbs li {
    flex: 0 0 auto;
    width: 100% !important;
}

.zovelo-product-gallery-grid.single-product div.product {
    grid-template-columns: minmax(0,1.18fr) minmax(390px,.82fr);
}

.zovelo-product-gallery-grid.single-product div.product .woocommerce-product-gallery__wrapper {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent !important;
}

.zovelo-product-gallery-grid.single-product div.product .woocommerce-product-gallery__image:first-child {
    grid-column: 1/-1;
}

.zovelo-product-gallery-grid.single-product div.product .woocommerce-product-gallery__image {
    border-radius: 24px;
    overflow: hidden;
    background: var(--surface);
}

.zovelo-product-gallery-grid.single-product div.product .woocommerce-product-gallery__image img {
    aspect-ratio: 1/1.05;
}

.zovelo-product-gallery-grid.single-product div.product .flex-control-thumbs {
    display: none !important;
}

/* Hero copy stays legible on dark images. */

.hero-content,.zovelo-editorial-shell>div {
    color: #fff !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.08);
}

.hero-content h1,
.hero-content .hero-title,
.hero-content .kicker,
.zovelo-editorial-shell h1,
.zovelo-editorial-shell .kicker {
    color: #fff !important;
}

.hero-content p,.zovelo-editorial-shell p {
    color: rgba(255,255,255,.78) !important;
}

@media (max-width:1200px) {
    .zovelo-journal-sidebar-both .blog-archive-layout,.article-layout.sidebar-both {
        grid-template-columns: minmax(0,1fr) 300px;
    }

    .zovelo-journal-sidebar-both .zovelo-journal-left-sidebar,
    .article-layout.sidebar-both>.zovelo-journal-left-sidebar {
        display: none;
    }

    .zovelo-page-layout.sidebar-both {
        grid-template-columns: minmax(0,1fr) 280px;
    }

    .zovelo-page-layout.sidebar-both>.zovelo-page-sidebar-left {
        display: none;
    }
}

@media (max-width:1050px) {
    .zovelo-journal-sidebar-right .blog-archive-layout,
    .zovelo-journal-sidebar-left .blog-archive-layout,
    .zovelo-journal-sidebar-both .blog-archive-layout,
    .article-layout.sidebar-right,
    .article-layout.sidebar-left,
    .article-layout.sidebar-both,
    .zovelo-page-layout.sidebar-left,
    .zovelo-page-layout.sidebar-right,
    .zovelo-page-layout.sidebar-both {
        grid-template-columns: 1fr;
    }

    .article-layout.sidebar-left>.blog-single-sidebar,
    .article-layout.sidebar-left>.article-body,
    .article-layout.sidebar-both>.article-body {
        grid-column: auto;
    }

    .zovelo-page-sidebar,.article-sidebar {
        position: static;
    }

    .zovelo-product-gallery-left.single-product div.product .woocommerce-product-gallery {
        grid-template-columns: 76px minmax(0,1fr);
    }
}

@media (max-width:720px) {
    .page-heading-copy .breadcrumbs {
        margin-bottom: 18px;
    }

    .page-heading-copy>.kicker {
        margin-bottom: 14px;
    }

    .page-heading-copy h1+p,.page-heading-copy h1+.zovelo-article-meta {
        margin-top: 16px;
    }

    .page-heading--catalog .page-heading-visual {
        min-height: 220px;
    }

    .page-heading--catalog .page-heading-visual>img {
        max-height: 200px !important;
    }

    .zovelo-product-gallery-left.single-product div.product .woocommerce-product-gallery {
        display: block;
    }

    .zovelo-product-gallery-left.single-product div.product .flex-control-thumbs {
        display: grid !important;
        grid-template-columns: repeat(4,1fr);
        margin-top: 10px !important;
    }

    .zovelo-product-gallery-grid.single-product div.product .woocommerce-product-gallery__wrapper {
        grid-template-columns: 1fr;
    }

    .zovelo-product-gallery-grid.single-product div.product .woocommerce-product-gallery__image:first-child {
        grid-column: auto;
    }

    .footer--editorial .zovelo-newsletter-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        border-radius: 20px !important;
    }

    .footer--editorial .zovelo-newsletter-row>.btn {
        width: 100%;
    }

    .woocommerce-Reviews #respond .form-submit input {
        width: 100% !important;
    }
}

/* Zovelo 1.5.2 — contrast, newsletter structure and title rhythm. */

/* Image-overlay content must stay readable regardless of global typography colors. */

.home-page .cat-card,
.home-page .cat-card .cat-info,
.home-page .cat-card .cat-info h3,
.home-page .cat-card .cat-info h3 a,
.home-page .cat-card .cat-info span:not(.cat-go),
.home-page .cat-card .cat-info small,
.zovelo-category-overview-card,
.zovelo-category-overview-card strong,
.zovelo-category-overview-card small,
.collection-story-card,
.collection-story-card .collection-story-content,
.collection-story-card .collection-story-content h2,
.collection-story-card .collection-story-content p,
.collection-story-card .collection-story-content span,
.collection-story-card .collection-story-content b {
    color: #fff !important;
}

.home-page .cat-card .cat-go {
    color: #fff !important;
}

.home-page .cat-card:hover .cat-go {
    color: var(--ink) !important;
}

.home-page .cat-card .zovelo-icon,
.footer .socials .zovelo-icon {
    stroke: currentColor !important;
}

/* Dark editorial blocks: never allow Customizer heading colors to create black-on-black text. */

.campaign-shell,
.campaign-copy,
.campaign-copy .kicker,
.campaign-copy h2,
.campaign-copy p,
.promo-main,
.promo-main .promo-copy,
.promo-main .promo-copy .kicker,
.promo-main .promo-copy h2,
.promo-main .promo-copy p,
.story,
.story .story-copy,
.story .story-copy .kicker,
.story .story-copy h2,
.story .story-copy p,
.shop-bottom-shell,
.shop-bottom-shell .kicker,
.shop-bottom-shell h2,
.shop-bottom-shell p {
    color: #fff !important;
}

.campaign-copy h2 em {
    color: var(--lime) !important;
}

.campaign-copy .kicker:before,
.promo-main .kicker:before,
.story .kicker:before,
.shop-bottom-shell .kicker:before {
    background: var(--lime) !important;
}

/* Consistent breathing room between kicker, title and description. */

.section-head>div>.kicker {
    margin: 0 0 16px !important;
}

.section-head>div>h2 {
    margin: 0 !important;
}

.section-head>div>h2+p {
    margin: 20px 0 0 !important;
}

.campaign-copy>.kicker {
    margin: 0 0 18px !important;
}

.campaign-copy>h2 {
    margin: 0 0 24px !important;
}

.campaign-copy>p {
    margin: 0 0 30px !important;
    line-height: 1.75;
}

.newsletter-shell>div:first-child>.kicker {
    margin: 0 0 18px !important;
}

.newsletter-shell>div:first-child>h2 {
    margin: 0 0 24px !important;
}

.newsletter-shell>div:first-child>p {
    margin: 0 !important;
    line-height: 1.7;
}

.page-heading-copy {
    row-gap: clamp(16px,1.5vw,24px) !important;
}

/* The white pill contains only the email and button. GDPR is a separate row below it. */

.newsletter-shell .zovelo-newsletter-form,
.newsletter-shell .newsletter-form,
.footer--editorial .zovelo-newsletter-form,
.footer--editorial .newsletter-form {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.newsletter-shell .zovelo-newsletter-row,
.footer--editorial .zovelo-newsletter-row {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 8px !important;
    border-radius: 999px !important;
    background: var(--surface,#fff) !important;
    box-shadow: none !important;
}

.newsletter-shell .zovelo-newsletter-consent,
.footer--editorial .zovelo-newsletter-consent {
    position: static !important;
    display: flex !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 12px !important;
    background: transparent !important;
    line-height: 1.5 !important;
}

.newsletter-shell .zovelo-newsletter-consent {
    color: var(--ink) !important;
}

.newsletter-shell .zovelo-newsletter-consent a {
    color: var(--ink) !important;
}

.footer--editorial .zovelo-newsletter-consent {
    color: rgba(255,255,255,.7) !important;
}

.footer--editorial .zovelo-newsletter-consent a {
    color: #fff !important;
}

.newsletter-shell .zovelo-newsletter-status,
.footer--editorial .zovelo-newsletter-status {
    position: static !important;
    padding: 0 12px !important;
}

/* Footer social buttons keep visible contrast in every footer preset. */

.footer .socials {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.footer .socials .icon-btn {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.1) !important;
    color: #fff !important;
    opacity: 1 !important;
}

.footer .socials .icon-btn:hover,
.footer .socials .icon-btn:focus-visible {
    background: var(--lime) !important;
    border-color: var(--lime) !important;
    color: var(--ink) !important;
}

.footer .socials .icon-btn svg {
    width: 19px !important;
    height: 19px !important;
    color: inherit !important;
}

/* Prevent WooCommerce pagination from inheriting an oversized white list background. */

.woocommerce nav.woocommerce-pagination ul.page-numbers,
.navigation.pagination .nav-links {
    width: auto !important;
    max-width: max-content !important;
    margin-inline: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

@media (max-width:720px) {
    .newsletter-shell .zovelo-newsletter-row,
  .footer--editorial .zovelo-newsletter-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        border-radius: 22px !important;
    }

    .newsletter-shell .zovelo-newsletter-row>.btn,
  .footer--editorial .zovelo-newsletter-row>.btn {
        width: 100% !important;
    }

    .section-head>div>.kicker {
        margin-bottom: 13px !important;
    }

    .page-heading-copy {
        row-gap: 16px !important;
    }
}

/* Zovelo 1.7.0 — footer light logo and authoritative minimal footer layout. */

.zovelo-footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: max-content;
    color: var(--zovelo-footer-text,#fff) !important;
}

.zovelo-footer-logo {
    display: block;
    width: auto;
    max-width: min(240px,60vw);
    max-height: 64px;
    object-fit: contain;
}

.zovelo-footer-brand-name {
    font: 900 1.35rem/1 var(--zovelo-heading-font,Manrope,sans-serif);
    letter-spacing: -.04em;
}

.zovelo-footer-minimal-brand {
    display: grid;
    justify-items: start;
    gap: 18px;
    max-width: 680px;
}

.zovelo-footer-minimal-brand p {
    max-width: 620px;
    margin: 0;
    color: rgba(255,255,255,.64);
    line-height: 1.75;
}

.zovelo-footer-minimal-links {
    display: grid;
    justify-items: end;
    gap: 22px;
}

.zovelo-footer-minimal-links .socials,.zovelo-footer-minimal-links .zovelo-minimal-menu {
    justify-content: flex-end;
}

.footer .footer-about .zovelo-footer-brand {
    margin-bottom: 18px;
}

@media (max-width:820px) {
    .footer--minimal .zovelo-footer-minimal {
        grid-template-columns: 1fr;
    }

    .zovelo-footer-minimal-links {
        justify-items: start;
    }

    .zovelo-footer-minimal-links .socials,.zovelo-footer-minimal-links .zovelo-minimal-menu {
        justify-content: flex-start;
    }
}

/* Primary navigation interaction states. */

.zovelo-primary-menu > li > a {
    transition: background-color 220ms ease, color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.zovelo-primary-menu > li > a:hover,
.zovelo-primary-menu > li > a:focus-visible {
    background: var(--surface, #fff);
    color: var(--ink);
    box-shadow: 0 8px 24px rgba(21, 23, 20, 0.06);
    transform: translateY(-1px);
}

.zovelo-primary-menu > li.current-menu-item > a,
.zovelo-primary-menu > li.current-menu-ancestor > a,
.zovelo-primary-menu > li.current_page_item > a,
.zovelo-primary-menu > li.current_page_ancestor > a {
    background: var(--surface, #fff);
    color: var(--ink);
    box-shadow: 0 8px 24px rgba(21, 23, 20, 0.06);
}

.zovelo-primary-menu .sub-menu a {
    transition: background-color 200ms ease, color 200ms ease, transform 200ms ease;
}

.zovelo-primary-menu .sub-menu a:hover,
.zovelo-primary-menu .sub-menu a:focus-visible {
    transform: translateX(2px);
}

/* Zovelo 1.8.25 — focused fixes requested for buttons, Home Default and Home Catalog. */
.btn:hover,
.btn:focus-visible {
    background-color: var(--lime) !important;
    border-color: var(--lime) !important;
    color: var(--ink) !important;
}

/* The native UL must not keep the browser's default left indentation. */
.new-products-section .new-products-grid {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Lime catalogue hero always uses readable dark copy. */
body.zovelo-home-catalog-content .zovelo-catalog-shell,
body.zovelo-home-catalog-content .zovelo-catalog-shell :where(.kicker,h1,p) {
    color: var(--ink) !important;
}

body.zovelo-home-catalog-content .zovelo-catalog-shell .kicker::before {
    background: var(--ink) !important;
}

/* Zovelo 1.8.30 — consistent Journal widgets, image-free title areas and About alignment. */
.page-heading-visual img {
    display: none !important;
}

.zovelo-about-entry .zovelo-about-copy .zovelo-page-actions {
    width: 100%;
    align-self: flex-start;
    justify-content: flex-start;
}

.zovelo-about-cta {
    align-items: center;
}

.zovelo-about-cta .zovelo-page-actions {
    align-self: center;
    justify-content: flex-end;
    margin-top: 0;
}

.zovelo-journal-sidebar .zovelo-widget-search,
.blog-single-sidebar .zovelo-widget-search,
.zovelo-native-sidebar .zovelo-widget-search,
.zovelo-journal-sidebar .widget_search .search-form,
.blog-single-sidebar .widget_search .search-form,
.zovelo-native-sidebar .widget_search .search-form,
.zovelo-journal-sidebar .wp-block-search__inside-wrapper,
.blog-single-sidebar .wp-block-search__inside-wrapper,
.zovelo-native-sidebar .wp-block-search__inside-wrapper {
    display: grid;
    grid-template-columns: minmax(0,1fr) 46px;
    align-items: center;
    gap: 8px;
    padding: 6px;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 999px;
    background: var(--paper,#f6f4ee);
}

.zovelo-journal-sidebar .zovelo-widget-search input[type=search],
.blog-single-sidebar .zovelo-widget-search input[type=search],
.zovelo-native-sidebar .zovelo-widget-search input[type=search],
.zovelo-journal-sidebar .widget_search .search-field,
.blog-single-sidebar .widget_search .search-field,
.zovelo-native-sidebar .widget_search .search-field,
.zovelo-journal-sidebar .wp-block-search__input,
.blog-single-sidebar .wp-block-search__input,
.zovelo-native-sidebar .wp-block-search__input {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 0 12px;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--ink,#151714);
    font: inherit;
}

.zovelo-journal-sidebar .zovelo-widget-search button,
.blog-single-sidebar .zovelo-widget-search button,
.zovelo-native-sidebar .zovelo-widget-search button,
.zovelo-journal-sidebar .widget_search .search-submit,
.blog-single-sidebar .widget_search .search-submit,
.zovelo-native-sidebar .widget_search .search-submit,
.zovelo-journal-sidebar .wp-block-search__button,
.blog-single-sidebar .wp-block-search__button,
.zovelo-native-sidebar .wp-block-search__button {
    position: relative;
    display: grid;
    place-items: center;
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--line,#dedfd9);
    border-radius: 50%;
    background: var(--surface,#fff);
    color: var(--ink,#151714);
    font-size: 0;
    line-height: 1;
    cursor: pointer;
    transition: background-color .22s ease,border-color .22s ease,transform .22s ease;
}

.zovelo-journal-sidebar .zovelo-widget-search button:hover,
.blog-single-sidebar .zovelo-widget-search button:hover,
.zovelo-native-sidebar .zovelo-widget-search button:hover,
.zovelo-journal-sidebar .widget_search .search-submit:hover,
.blog-single-sidebar .widget_search .search-submit:hover,
.zovelo-native-sidebar .widget_search .search-submit:hover,
.zovelo-journal-sidebar .wp-block-search__button:hover,
.blog-single-sidebar .wp-block-search__button:hover,
.zovelo-native-sidebar .wp-block-search__button:hover {
    border-color: var(--lime,#d9ff57);
    background: var(--lime,#d9ff57);
    transform: translateY(-1px);
}

.zovelo-journal-sidebar .zovelo-widget-search button .zovelo-icon,
.blog-single-sidebar .zovelo-widget-search button .zovelo-icon,
.zovelo-native-sidebar .zovelo-widget-search button .zovelo-icon {
    width: 20px;
    height: 20px;
}

.zovelo-journal-sidebar .widget_search .search-submit::before,
.blog-single-sidebar .widget_search .search-submit::before,
.zovelo-native-sidebar .widget_search .search-submit::before,
.zovelo-journal-sidebar .wp-block-search__button::before,
.blog-single-sidebar .wp-block-search__button::before,
.zovelo-native-sidebar .wp-block-search__button::before {
    content: "";
    width: 17px;
    height: 17px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.zovelo-journal-sidebar .widget_search .search-submit::after,
.blog-single-sidebar .widget_search .search-submit::after,
.zovelo-native-sidebar .widget_search .search-submit::after,
.zovelo-journal-sidebar .wp-block-search__button::after,
.blog-single-sidebar .wp-block-search__button::after,
.zovelo-native-sidebar .wp-block-search__button::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 2px;
    margin: 12px 0 0 12px;
    border-radius: 2px;
    background: currentColor;
    transform: rotate(45deg);
}

.zovelo-journal-sidebar .widget_search label,
.blog-single-sidebar .widget_search label,
.zovelo-native-sidebar .widget_search label {
    min-width: 0;
}

.zovelo-journal-sidebar .wp-block-search,
.blog-single-sidebar .wp-block-search,
.zovelo-native-sidebar .wp-block-search,
.zovelo-journal-sidebar .wp-block-search__button-outside,
.blog-single-sidebar .wp-block-search__button-outside,
.zovelo-native-sidebar .wp-block-search__button-outside {
    margin: 0;
}

.zovelo-journal-sidebar .zovelo-sidebar-widget > :first-child,
.blog-single-sidebar .zovelo-sidebar-widget > :first-child,
.zovelo-native-sidebar .zovelo-sidebar-widget > :first-child {
    margin-top: 0;
}

.zovelo-journal-sidebar .zovelo-sidebar-widget > :last-child,
.blog-single-sidebar .zovelo-sidebar-widget > :last-child,
.zovelo-native-sidebar .zovelo-sidebar-widget > :last-child {
    margin-bottom: 0;
}

@media (max-width: 760px) {
    .zovelo-about-cta .zovelo-page-actions {
        justify-content: flex-start;
    }
}

/* 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;
    }
}

