/*
Theme Name: Online Retailer Child
Theme URI: https://www.ovationthemes.com/products/free-retail-shop-wordpress-theme
Description: A child theme for the Online Retailer theme.
Author: Site Owner
Template: online-retailer
Version: 1.2.0
Text Domain: online-retailer-child
*/

:root {
    --child-radius: 14px;
    --child-radius-small: 9px;
    --child-border: 1px solid var(--wp--preset--color--border-color);
    --child-shadow-soft: 0 4px 14px rgba(24, 22, 37, 0.06);
    --child-shadow: 0 12px 32px rgba(24, 22, 37, 0.1);
    --child-shadow-lift: 0 24px 56px rgba(24, 22, 37, 0.16);
    --child-action-gradient: linear-gradient(
        110deg,
        var(--wp--preset--color--primary),
        var(--wp--preset--color--banner-bg-two)
    );
    --child-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --child-success: #1f8a4c;
    --child-success-bg: #e7f6ec;
    --child-warning: #966400;
    --child-warning-bg: #fdf1dc;
    --child-error: #c62839;
    --child-error-bg: #fbe9eb;
    --child-info: var(--wp--preset--color--secondary);
    --child-info-bg: #eaf2fe;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --child-z-menu-overlay: 9140;
    --child-z-menu-panel: 9150;
    --child-z-account-panel: 9160;
    --child-z-cart-overlay: 9190;
    --child-z-cart-drawer: 9200;
}

html {
    scroll-behavior: smooth;
}

html {
    -webkit-text-size-adjust: 100%;
}

body,
button,
input,
select,
textarea {
    font-family:
        var(--wp--preset--font-family--greek-sans), "Segoe UI", system-ui,
        sans-serif;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    line-height: 1.7;
}

.top-bar {
    display: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-site-title,
.wp-block-post-title {
    font-family:
        var(--wp--preset--font-family--greek-display), "Segoe UI", system-ui,
        sans-serif;
    font-weight: 700;
    letter-spacing: -0.01em;
}

h1,
.wp-block-post-title {
    letter-spacing: -0.02em;
}

.logo-box .custom-logo-link {
    display: inline-flex;
    align-items: center;
}

.logo-box .custom-logo {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: clamp(3rem, 6vw, 4.75rem);
    object-fit: contain;
}

.footer-brand-badge {
    display: inline-flex;
    padding: var(--space-2) var(--space-4);
    border-radius: var(--child-radius-small);
    background: var(--wp--preset--color--white);
    box-shadow: var(--child-shadow-soft);
}

.footer-brand-badge .custom-logo {
    width: auto;
    height: auto;
    max-height: 2.25rem;
    object-fit: contain;
}

footer .wp-block-group {
    border-bottom-right-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
}

a {
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    text-underline-offset: 3px;
}

a:hover {
    color: var(--wp--preset--color--secondary);
    text-decoration: underline;
}

/* Chrome/UI links (nav, buttons-as-links, cards) shouldn't underline on hover;
   only inline content links should, for legibility. */
.wp-block-navigation a:hover,
.child-shop-menu__panel nav a:hover,
.child-top-categories a:hover,
.child-product-card a:hover,
.child-account-panel__actions a:hover,
.child-search-suggestions a:hover {
    text-decoration: none;
}

.child-section-heading {
    margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
    text-align: center;
}

.child-section-heading h2 {
    position: relative;
    margin: 0.35rem 0 0;
    color: var(--wp--preset--color--heading);
    font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.child-section-heading h2::after {
    content: "";
    display: block;
    width: 3rem;
    height: 4px;
    margin: 0.75rem auto 0;
    border-radius: 999px;
    background: var(--child-action-gradient);
}

.child-section-heading__link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.85rem;
    color: var(--wp--preset--color--primary);
    font-weight: 800;
    font-size: 0.9rem;
    text-decoration: none;
}

.child-section-heading__link:hover,
.child-section-heading__link:focus-visible {
    color: var(--wp--preset--color--secondary);
    text-decoration: underline;
}

a:focus,
button:focus {
    outline: none !important;
}

button,
.wp-element-button,
.wp-block-button__link,
input[type="submit"],
input[type="button"] {
    border: 1px solid transparent;
    border-radius: 999px;
    background: var(--child-action-gradient);
    box-shadow: 0 7px 18px rgba(164, 72, 198, 0.18);
    font-family: inherit;
    font-weight: 700;
    transition:
        transform 220ms var(--child-ease),
        box-shadow 220ms var(--child-ease),
        background-color 220ms var(--child-ease);
}

button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    background: var(--wp--preset--color--secondary);
    box-shadow: 0 10px 24px rgba(74, 143, 231, 0.25);
    color: var(--wp--preset--color--white);
    transform: translateY(-2px);
}

button:active,
.wp-element-button:active,
.wp-block-button__link:active,
input[type="submit"]:active,
input[type="button"]:active {
    transform: translateY(0) scale(0.97);
    box-shadow: 0 4px 10px rgba(24, 22, 37, 0.16);
}

button:disabled,
.wp-element-button:disabled,
.wp-block-button__link:disabled,
input[type="submit"]:disabled,
input[type="button"]:disabled,
button[aria-disabled="true"],
.wp-element-button[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.5;
    box-shadow: none;
    transform: none;
}

/* Native Gutenberg "outline" button style variation, used as the theme's
   secondary action so not every button competes for attention as a CTA. */
.wp-block-button.is-style-outline .wp-block-button__link {
    border: 2px solid var(--wp--preset--color--primary);
    background: transparent;
    box-shadow: none;
    color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    border-color: var(--wp--preset--color--secondary);
    background: var(--wp--preset--color--primary-light);
    box-shadow: none;
    color: var(--wp--preset--color--secondary);
    transform: translateY(-2px);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
    border: 1px solid var(--wp--preset--color--border-color);
    border-radius: var(--child-radius-small);
    background: var(--wp--preset--color--background);
    font-family: inherit;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
    border-color: var(--wp--preset--color--secondary);
    box-shadow: 0 0 0 4px rgba(74, 143, 231, 0.12);
}

.wp-block-navigation ul li a {
    letter-spacing: 0.01em;
}

.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus {
    color: var(--wp--preset--color--primary) !important;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    border-top: 3px solid var(--wp--preset--color--primary);
    border-bottom: 0;
    border-radius: 0 0 var(--child-radius-small) var(--child-radius-small);
    box-shadow: var(--child-shadow);
}

.child-header-shell {
    position: relative;
}

.child-shop-menu {
    position: relative;
    z-index: 20;
    width: 100%;
    margin: 0 auto;
}

.child-shop-menu details {
    display: block;
}

.child-shop-menu summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    min-height: 3rem;
    padding: 0.35rem 0.8rem;
    border: 0;
    border-radius: 999px;
    background: var(--wp--preset--color--primary);
    box-shadow: 0 6px 16px rgba(223, 85, 119, 0.22);
    color: var(--wp--preset--color--white);
    cursor: pointer;
    list-style: none;
}

.child-shop-menu summary::-webkit-details-marker {
    display: none;
}

.child-shop-menu__burger {
    display: grid;
    width: 1.5rem;
    gap: 0.22rem;
}

.child-shop-menu__burger i {
    display: block;
    height: 2px;
    border-radius: 99px;
    background: currentColor;
    transition:
        transform 180ms ease,
        opacity 180ms ease;
}

.child-shop-menu__icon {
    display: inline-grid;
    width: 1.4rem;
    height: 1.4rem;
    place-items: center;
    border-radius: 50%;
    background: var(--wp--preset--color--primary);
    font-size: 1.1rem;
    line-height: 1;
}

.child-shop-menu details[open] .child-shop-menu__icon {
    font-size: 0;
}

.child-shop-menu details[open] .child-shop-menu__icon::before {
    content: "-";
    font-size: 1.1rem;
}

.child-shop-menu details[open] .child-shop-menu__burger i:first-child {
    transform: translateY(4px) rotate(45deg);
}

.child-shop-menu details[open] .child-shop-menu__burger i:nth-child(2) {
    opacity: 0;
}

.child-shop-menu details[open] .child-shop-menu__burger i:last-child {
    transform: translateY(-4px) rotate(-45deg);
}

.child-shop-menu summary:hover,
.child-shop-menu summary:focus-visible {
    background: var(--wp--preset--color--primary);
}

/* Dimmed backdrop behind the slide-out panel. Lives on the details element so
   a click anywhere on it (outside the panel itself) can close the menu. */
.child-shop-menu details[open]::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: var(--child-z-menu-overlay);
    background: rgba(24, 22, 37, 0.5);
    backdrop-filter: blur(2px);
    animation: child-fade-in 220ms ease both;
}

@keyframes child-fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.child-shop-menu__panel {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: var(--child-z-menu-panel);
    align-content: start;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    width: min(25rem, 100vw);
    padding: 1.5rem;
    overflow-y: auto;
    border: 0;
    border-radius: 0 var(--child-radius) var(--child-radius) 0;
    background: var(--wp--preset--color--background);
    box-shadow: var(--child-shadow-lift);
    animation: child-menu-slide-in 320ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes child-menu-slide-in {
    from {
        opacity: 0;
        transform: translateX(-18px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.child-shop-menu__close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 2;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 1px solid var(--wp--preset--color--border-color);
    background: #181625 !important;
    box-shadow: none;
    color: #ffffff !important;
    font-size: 2rem;
    line-height: 1;
}

.child-shop-menu__close:hover,
.child-shop-menu__close:focus-visible {
    background: var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--white) !important;
}

@keyframes child-menu-open {
    from {
        opacity: 0;
        transform: scale(0.98);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.child-shop-menu-actions h2 {
    margin-top: 0px !important;
}

.child-shop-menu__intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.45rem;
}

.child-shop-menu__intro span {
    font-family: var(--wp--preset--font-family--greek-display);
    font-size: clamp(1.3rem, 2.4vw, 1.9rem);
    font-weight: 600;
    letter-spacing: -0.01em;
}

.child-shop-menu__intro small {
    color: var(--wp--preset--color--second-text);
    font-size: 0.9rem;
}

.child-shop-menu__panel nav {
    display: flex;
    flex-direction: column;
}

.child-shop-menu__panel nav a {
    position: relative;
    display: grid;
    grid-template-columns: 2.75rem 1fr;
    align-items: center;
    column-gap: 0.9rem;
    padding: 0.85rem 0.25rem 0.85rem 1rem;
    border: 0;
    border-bottom: 1px solid var(--wp--preset--color--border-color);
    color: var(--wp--preset--color--heading);
    font-family: var(--wp--preset--font-family--greek-display);
    font-weight: 700;
    font-size: 1.02rem;
    text-decoration: none;
    transition: color 180ms ease;
}

.child-shop-menu__panel nav a:first-child {
    border-top: 1px solid var(--wp--preset--color--border-color);
}

.child-shop-menu__panel nav a::before {
    content: "";
    position: absolute;
    top: 0.55rem;
    bottom: 0.55rem;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: var(--wp--preset--color--primary);
    transform: scaleY(0);
    transition: transform 180ms ease;
}

.child-shop-menu__panel nav a:hover,
.child-shop-menu__panel nav a:focus-visible {
    color: var(--wp--preset--color--primary);
}

.child-shop-menu__panel nav a:hover::before,
.child-shop-menu__panel nav a:focus-visible::before {
    transform: scaleY(1);
}

.child-shop-menu__panel nav img {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    object-fit: cover;
}

.child-shop-menu__panel nav small {
    grid-column: 2;
    margin-top: 0.15rem;
    color: var(--wp--preset--color--second-text);
    font-family: var(--wp--preset--font-family--greek-sans);
    font-size: 0.72rem;
    font-weight: 500;
}

.head-cat-wrap {
    display: none !important;
    position: relative;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: var(--child-radius-small);
    box-shadow: 0 10px 24px rgba(24, 22, 37, 0.08);
}

.child-top-categories {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    width: min(85%, 1170px);
    margin: 1rem auto 1rem !important;
    padding: 0.35rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 999px;
    background: var(--wp--preset--color--secondary);
}

.child-top-categories::-webkit-scrollbar {
    display: none;
}

.child-top-categories a {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.3rem 0.85rem 0.3rem 0.3rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    color: var(--wp--preset--color--white) !important;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
    transition: background 160ms var(--child-ease);
}

.child-top-categories a:hover,
.child-top-categories a:focus-visible {
    background: rgba(255, 255, 255, 0.34);
}

.child-top-categories img {
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    object-fit: cover;
    background: var(--wp--preset--color--white);
}

.wp-block-cover.inner-cover-img {
    display: none;
}

.head-cat-wrap .wp-block-column {
    transition: transform 180ms ease;
}

.head-cat-wrap .wp-block-column:hover {
    transform: translateY(-3px);
}

.head-cat-wrap a {
    color: var(--wp--preset--color--heading);
    text-decoration: none;
}

.child-home-modules .product-sec {
    clear: both;
    margin-bottom: clamp(5rem, 9vw, 9rem);
}

.child-home-modules .project-wrap {
    border: 1px solid var(--wp--preset--color--border-color);
    box-shadow: var(--child-shadow);
}

.child-hero-slide {
    display: flex;
    width: 100%;
}

.child-hero-slide img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1620 / 508;
}

.child-home-categories {
    max-width: 1170px;
    margin: clamp(0.5rem, 7vw, 0.5rem) auto 0;
    padding: 0 clamp(1.25rem, 3vw, 2.5rem);
}

.child-home-categories__heading {
    margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
    text-align: center;
}

.child-home-categories__heading h2 {
    position: relative;
    margin: 0.35rem 0 0;
    color: var(--wp--preset--color--heading);
    font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.child-home-categories__heading h2::after {
    content: "";
    display: block;
    width: 3rem;
    height: 4px;
    margin: 0.75rem auto 0;
    border-radius: 999px;
    background: var(--child-action-gradient);
}

.child-home-categories__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-3);
}

.child-home-categories__item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-5) var(--space-2) var(--space-2);
    border: 1px solid var(--wp--preset--color--border-color);
    border-radius: 999px;
    background: var(--wp--preset--color--background);
    box-shadow: var(--child-shadow-soft);
    text-decoration: none;
    transition:
        box-shadow 260ms var(--child-ease),
        transform 260ms var(--child-ease),
        border-color 260ms var(--child-ease);
}

.child-home-categories__item:hover,
.child-home-categories__item:focus-visible {
    border-color: transparent;
    box-shadow: var(--child-shadow);
    transform: translateY(-3px);
}

.child-home-categories__image {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    overflow: hidden;
    background: var(--wp--preset--color--section-bg);
}

.child-home-categories__image::before {
    content: "";
    position: absolute;
    inset: -2px;
    z-index: -1;
    border-radius: 50%;
    background: var(--child-action-gradient);
    opacity: 0;
    transition: opacity 260ms var(--child-ease);
}

.child-home-categories__item:hover .child-home-categories__image::before,
.child-home-categories__item:focus-visible
    .child-home-categories__image::before {
    opacity: 1;
}

.child-home-categories__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.child-home-categories__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--wp--preset--color--primary-light);
    color: var(--wp--preset--color--primary);
    font-family: var(--wp--preset--font-family--greek-display);
    font-size: 1.15rem;
    font-weight: 800;
}

.child-home-categories__name {
    color: var(--wp--preset--color--heading);
    font-weight: 700;
    font-size: 0.92rem;
    white-space: nowrap;
    transition: color 220ms var(--child-ease);
}

.child-home-categories__item:hover .child-home-categories__name,
.child-home-categories__item:focus-visible .child-home-categories__name {
    color: var(--wp--preset--color--primary);
}

.child-home-categories__item:hover .child-home-categories__name,
.child-home-categories__item:focus-visible .child-home-categories__name {
    color: var(--wp--preset--color--primary);
}

.child-loop-add-to-cart {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
}

.child-qty-stepper {
    display: inline-flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid var(--wp--preset--color--border-color);
    border-radius: 999px;
    background: var(--wp--preset--color--background);
    box-shadow: var(--child-shadow-soft);
}

.child-qty-stepper .child-qty-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--wp--preset--color--heading);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition:
        background 150ms var(--child-ease),
        color 150ms var(--child-ease);
}

.child-qty-stepper .child-qty-btn:hover,
.child-qty-stepper .child-qty-btn:focus-visible {
    background: var(--wp--preset--color--primary-light);
    color: var(--wp--preset--color--primary);
}

.child-qty-stepper .child-qty-btn:active {
    transform: scale(0.92);
}

.child-qty-stepper input[type="number"] {
    width: 2.75rem;
    border: 0 !important;
    border-left: 1px solid var(--wp--preset--color--border-color) !important;
    border-right: 1px solid var(--wp--preset--color--border-color) !important;
    border-radius: 0 !important;
    background: transparent;
    box-shadow: none !important;
    padding: 0 !important;
    text-align: center;
    font-weight: 700;
    appearance: textfield;
    -moz-appearance: textfield;
}

.child-qty-stepper input[type="number"]::-webkit-outer-spin-button,
.child-qty-stepper input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.child-qty-stepper input[type="number"]:focus {
    box-shadow: none !important;
}

.header-icons {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem !important;
}

.header-icons > .wp-block-woocommerce-mini-cart,
.header-icons > .wp-block-woocommerce-customer-account {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 2.85rem;
    height: 2.85rem;
    min-width: 2.85rem;
    padding: 0;
    border: 1px solid var(--wp--preset--color--border-color);
    border-radius: 999px;
    overflow: visible;
    background: var(--wp--preset--color--background);
    box-shadow: var(--child-shadow-soft);
    transition:
        background 220ms var(--child-ease),
        border-color 220ms var(--child-ease),
        box-shadow 220ms var(--child-ease),
        transform 220ms var(--child-ease);
}

.header-icons > .wp-block-woocommerce-mini-cart:hover,
.header-icons > .wp-block-woocommerce-customer-account:hover {
    border-color: transparent;
    background: var(--child-action-gradient);
    box-shadow: 0 10px 22px rgba(223, 85, 119, 0.24);
    transform: translateY(-2px);
}

.header-icons > .wp-block-woocommerce-mini-cart:active,
.header-icons > .wp-block-woocommerce-customer-account:active {
    transform: translateY(0) scale(0.94);
}

.wp-block-woocommerce-mini-cart-title-items-counter-block {
    display: none;
}

/* Buttons/links fill the circle completely, no inherited button chrome */
.header-icons .wc-block-mini-cart__button,
.header-icons .wc-block-customer-account__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0 !important;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--wp--preset--color--heading) !important;
}

.header-icons .wc-block-mini-cart__quantity-badge {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-icons .wc-block-mini-cart__icon,
.header-icons .wc-block-customer-account__account-icon {
    width: 1.2rem;
    height: 1.2rem;
    color: var(--wp--preset--color--primary) !important;
    fill: currentColor;
    transition:
        transform 220ms var(--child-ease),
        color 220ms var(--child-ease);
}

.header-icons > .wp-block-woocommerce-mini-cart:hover .wc-block-mini-cart__icon,
.header-icons
    > .wp-block-woocommerce-customer-account:hover
    .wc-block-customer-account__account-icon {
    color: var(--wp--preset--color--white) !important;
    transform: scale(1.08);
}

.header-icons .wc-block-mini-cart__badge {
    position: absolute;
    top: -10px;
    right: 0;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.2rem;
    height: 1.2rem;
    padding: 0.3rem 0.3rem;
    border-radius: 999px;
    background: var(--child-action-gradient) !important;
    box-shadow: 0 0 0 2px var(--wp--preset--color--background);
    color: var(--wp--preset--color--white) !important;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1;
    transform: translate(35%, -35%);
    transition:
        background 220ms var(--child-ease),
        box-shadow 220ms var(--child-ease);
}

.header-icons
    > .wp-block-woocommerce-mini-cart:hover
    .wc-block-mini-cart__badge {
    background: linear-gradient(
        110deg,
        var(--wp--preset--color--secondary),
        var(--wp--preset--color--banner-bg-two)
    ) !important;
    box-shadow: 0 0 0 2px var(--wp--preset--color--background);
}

.woocommerce span.onsale {
    left: -0.5em !important;
}

/* Amount + label text stay hidden — icon-only circles */
.header-icons .wc-block-mini-cart__amount,
.header-icons .wc-block-customer-account__account-label,
.header-icons .wp-block-woocommerce-customer-account .label {
    display: none !important;
}

.wc-block-components-product-metadata__description {
    display: none;
}

.wc-block-mini-cart__drawer {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    left: 100% !important;
    z-index: var(--child-z-cart-drawer) !important;
    width: min(30rem, 100vw) !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    border-radius: var(--child-radius) 0 0 var(--child-radius) !important;
    background: var(--wp--preset--color--base) !important;
    box-shadow: var(--child-shadow-lift);
    transition: transform 340ms var(--child-ease);
}

.wc-block-components-drawer__screen-overlay--with-slide-in
    .wc-block-mini-cart__drawer {
    animation: child-cart-slide-in 320ms var(--child-ease) both;
}

@keyframes child-cart-slide-in {
    from {
        opacity: 0;
        transform: translateX(0);
    }
    to {
        opacity: 1;
        transform: translateX(max(-100%, var(--neg-drawer-width)));
    }
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
    font-family: var(--wp--preset--font-family--greek-display);
    font-size: clamp(1.3rem, 2.4vw, 1.9rem);
    font-weight: 600;
    letter-spacing: -0.01em;
}

/* WooCommerce renders its own dimmed screen behind the drawer; make sure it
   actually sits behind the drawer (not the header) and dims the page. */
.wc-block-components-drawer__screen-overlay {
    z-index: var(--child-z-cart-overlay) !important;
    background: rgba(24, 22, 37, 0.55) !important;
    backdrop-filter: blur(2px);
    transition: opacity 220ms ease;
}

.wc-block-components-drawer__close,
.wc-block-components-drawer__close svg,
.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
    background: #181625 !important;
    color: #ffffff !important;
    fill: #ffffff !important;
    opacity: 1 !important;
}

.child-shop-menu__close,
.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
    position: absolute !important;
    top: 1.25rem !important;
    right: 1.25rem !important;
    z-index: 2 !important;
    width: 2.75rem !important;
    height: 2.75rem !important;
    min-width: 2.75rem !important;
    min-height: 2.75rem !important;
    display: grid !important;
    place-items: center;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background-color: #181625 !important;
    box-shadow: 0 6px 16px rgba(24, 22, 37, 0.2) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    fill: #ffffff !important;
    opacity: 1 !important;
    transform: none !important;
}

.child-shop-menu__close:hover,
.child-shop-menu__close:focus-visible {
    background: var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--white) !important;
    fill: var(--wp--preset--color--white) !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg {
    fill: currentColor !important;
}

.wc-block-mini-cart__drawer,
.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer a,
.wc-block-mini-cart__drawer .wc-block-components-panel__content,
.wc-block-mini-cart__drawer .wc-block-components-totals-item__label,
.wc-block-mini-cart__drawer .wc-block-components-totals-item__value {
    color: var(--wp--preset--color--heading) !important;
}

.wc-block-mini-cart__drawer .wc-block-components-button {
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white) !important;
}

.wc-block-mini-cart__drawer,
.wc-block-mini-cart__drawer .wc-block-components-drawer__content {
    overflow-x: hidden !important;
}

.child-overlay-open {
    overflow: hidden;
}

.child-account-panel {
    position: fixed;
    inset: 0;
    z-index: var(--child-z-account-panel);
    display: grid;
    place-items: center;
    padding: 1.5rem;
    background: rgba(24, 22, 37, 0.7);
    opacity: 0;
    pointer-events: none;
    transition: opacity 220ms ease;
}

.child-account-panel.is-open {
    opacity: 1;
    pointer-events: auto;
}

.child-account-panel__inner {
    position: relative;
    width: min(100%, 32rem);
    padding: clamp(2rem, 6vw, 4rem);
    border-radius: var(--child-radius);
    background: var(--wp--preset--color--background);
    box-shadow: 0 24px 70px rgba(24, 22, 37, 0.25);
    color: var(--wp--preset--color--heading);
    transform: translateY(1rem);
    transition: transform 260ms ease;
}

.child-account-panel.is-open .child-account-panel__inner {
    transform: translateY(0);
}

.child-account-panel__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2.6rem;
    height: 2.4rem;
    padding: 0;
    background: var(--wp--preset--color--heading) !important;
    box-shadow: none;
    color: #ffffff !important;
    font-size: 1.5rem;
    line-height: 1;
}

.child-account-panel__close:hover,
.child-account-panel__close:focus-visible {
    background: var(--wp--preset--color--primary) !important;
}

.child-account-panel__eyebrow {
    color: var(--wp--preset--color--primary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.child-account-panel h2 {
    margin: 0.45rem 0;
    font-family: var(--wp--preset--font-family--greek-display);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
}

.child-account-panel p {
    color: var(--wp--preset--color--second-text);
}

.child-account-panel__actions {
    display: grid;
    gap: 0.7rem;
    margin-top: 1.5rem;
}

.child-account-panel__actions a {
    display: block;
    padding: 0.9rem 1rem;
    border-radius: 999px;
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.child-account-panel__actions a + a {
    background: var(--wp--preset--color--primary-light);
    color: var(--wp--preset--color--heading);
}

.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
    background: none !important;
    box-shadow: none !important;
}

.home-footer-class {
    clear: both;
    padding-top: clamp(2rem, 5vw, 5rem);
}

.home-footer-class .footer-info-box,
.custom-footer-class .footer-info-box {
    display: block;
    margin-top: 0;
}

.footer-info-box {
    margin-bottom: 25px !important;
    z-index: 1 !important;
}

.scroll-top::before {
    z-index: 5 !important;
}

.home-footer-class .footer-info-box .has-primary-background-color,
.custom-footer-class .footer-info-box .has-primary-background-color {
    background-color: #e93258 !important;
}

.home-footer-class .footer-info-box .has-banner-bg-two-background-color,
.custom-footer-class .footer-info-box .has-banner-bg-two-background-color {
    background-color: #ea2f59 !important;
}

/* Keep the parent theme's commerce header and footer visible after inheritance. */
.middle-header .header-search-wrap,
.middle-header .product-search-box,
.footer-info-box,
.footer-widgets {
    visibility: visible;
    opacity: 1;
}

.wp-block-group.middle-header {
    border-top-right-radius: 0px !important;
    border-top-left-radius: 0px !important;
}

.middle-header .product-cat-box {
    align-self: stretch;
    padding: 0.25rem;
}

.product-cat-box button {
    position: absolute !important;
    top: 1.25rem !important;
    right: 1.25rem !important;
    z-index: 2 !important;
    width: 2.75rem !important;
    height: 2.75rem !important;
    min-width: 2.75rem !important;
    min-height: 2.75rem !important;
    display: grid !important;
    place-items: center;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background-color: #181625 !important;
    box-shadow: 0 6px 16px rgba(24, 22, 37, 0.2) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    fill: #ffffff !important;
    opacity: 1 !important;
    transform: none !important;
}

.middle-header .product-cat-box .wp-block-woocommerce-product-categories {
    display: flex;
    align-items: center;
    min-height: 3rem;
    padding: 0 1rem;
    border-radius: 999px;
    background: linear-gradient(
        135deg,
        var(--wp--preset--color--primary),
        var(--wp--preset--color--banner-bg-two)
    );
    box-shadow: 0 5px 14px rgba(223, 85, 119, 0.2);
}

.middle-header .product-cat-box select {
    min-height: 2.5rem;
    padding: 0 1.75rem 0 0.25rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--wp--preset--color--white);
    cursor: pointer;
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 700;
}

.middle-header .product-cat-box select:focus {
    box-shadow: none;
    outline: 2px solid var(--wp--preset--color--white);
    outline-offset: -4px;
}

.middle-header .product-cat-box select option {
    background: var(--wp--preset--color--heading);
    color: var(--wp--preset--color--white);
}

.middle-header .product-search-box {
    padding: 0.25rem 0.5rem;
}

.middle-header .product-search-box .wp-block-search__inside-wrapper {
    min-height: 3rem;
    border-radius: 999px;
    background: var(--wp--preset--color--background);
}

.product-search-box input[type="search"],
.product-search-box input[type="search"]:focus,
.product-search-box .wp-block-search__inside-wrapper:focus-within {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.wp-block-search__inside-wrapper {
    position: relative;
}

.child-search-suggestions {
    position: absolute;
    top: calc(100% + 0.6rem);
    right: 0;
    left: 0;
    z-index: 1200;
    display: none;
    overflow: hidden;
    max-height: min(26rem, 70vh);
    border: 1px solid var(--wp--preset--color--border-color);
    border-radius: var(--child-radius);
    background: var(--wp--preset--color--background);
    box-shadow: var(--child-shadow-lift);
}

.child-search-suggestions.is-visible {
    display: flex;
    flex-direction: column;
    animation: child-menu-open 160ms ease both;
}

.child-search-suggestions.is-loading::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 3px;
    background: var(--child-action-gradient);
    border-radius: 999px;
    animation: child-search-loading-bar 1.1s ease-in-out infinite;
}

@keyframes child-search-loading-bar {
    0% {
        left: -40%;
    }
    100% {
        left: 100%;
    }
}

.child-search-suggestions__items {
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
}

.child-search-suggestions__item {
    display: grid;
    grid-template-columns: 3rem 1fr;
    align-items: center;
    column-gap: 0.8rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid var(--wp--preset--color--border-color);
    color: var(--wp--preset--color--heading);
    text-decoration: none;
    transition: background 150ms var(--child-ease);
}

.child-search-suggestions__item:last-of-type {
    border-bottom: 0;
}

.child-search-suggestions__item img,
.child-search-suggestions__no-image {
    width: 3rem;
    height: 3rem;
    border: 1px solid var(--wp--preset--color--border-color);
    border-radius: var(--child-radius-small);
    object-fit: cover;
    background: var(--wp--preset--color--section-bg);
}

.child-search-suggestions__text {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.2rem;
}

.child-search-suggestions__text strong {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.3;
}

.child-search-suggestions a:hover,
.child-search-suggestions a:focus-visible,
.child-search-suggestions a[aria-selected="true"] {
    background: var(--wp--preset--color--primary-light);
}

.child-search-suggestions small {
    color: var(--wp--preset--color--primary);
    font-weight: 800;
    font-size: 0.82rem;
    white-space: nowrap;
}

.child-search-suggestions__view-all {
    display: block;
    padding: 0.8rem 1rem;
    background: var(--wp--preset--color--section-bg);
    color: var(--wp--preset--color--primary);
    font-size: 0.85rem;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.child-search-suggestions__view-all:hover,
.child-search-suggestions__view-all:focus-visible {
    color: var(--wp--preset--color--secondary);
    text-decoration: underline;
}

.child-search-suggestions__status {
    display: block;
    padding: 1.1rem 1rem;
    color: var(--wp--preset--color--second-text);
    font-size: 0.85rem;
    text-align: center;
}

.footer-widgets {
    display: flex;
}

.product-search-box .wp-block-search,
.product-search-box .wp-block-search__inside-wrapper {
    display: flex;
    visibility: visible;
}

.product-search-box .wp-block-search__inside-wrapper {
    width: 100%;
}

.wp-block-post-template > li,
.wc-block-grid__product,
.woocommerce ul.products li.product {
    border: 1px solid var(--wp--preset--color--border-color);
    border-radius: var(--child-radius);
    background: var(--wp--preset--color--background);
    box-shadow: var(--child-shadow-soft);
    overflow: hidden;
    transition:
        transform 260ms var(--child-ease),
        box-shadow 260ms var(--child-ease);
}

.wp-block-post-template > li:hover,
.wc-block-grid__product:hover,
.woocommerce ul.products li.product:hover {
    box-shadow: var(--child-shadow);
    transform: translateY(-4px);
}

.wp-block-post-template > li img,
.wc-block-grid__product img,
.woocommerce ul.products li.product img {
    transition: transform 420ms var(--child-ease);
}

.wp-block-post-template > li:hover img,
.wc-block-grid__product:hover img,
.woocommerce ul.products li.product:hover img {
    transform: scale(1.04);
}

.wp-block-cover,
.wp-block-group.has-background,
.wp-block-columns.has-background {
    border-radius: var(--child-radius);
}

/* The cover image is decorative on this storefront; keep the cover content
   and color treatment without rendering the inner image layer. */
.wp-block-cover .inner-cover-img {
    display: none !important;
}

.wp-block-cover {
    border: var(--child-border);
    box-shadow: var(--child-shadow);
}

.wp-block-button__link,
button,
input[type="submit"],
input[type="button"] {
    min-height: 2.75rem;
    padding: 0.65rem 1.15rem;
}

.button.wc-forward.wp-element-button {
    text-align: center;
}

.wc-block-components-notice-banner {
    border: none !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    background: linear-gradient(
        110deg,
        var(--wp--preset--color--secondary),
        var(--wp--preset--color--banner-bg-two)
    );
}

.wp-block-separator {
    border-color: var(--wp--preset--color--primary-light);
}

.wc-block-components-chip .wc-block-components-chip__remove {
    box-shadow: none !important;
    background: none !important;
}

@media (max-width: 1213px) {
    .child-shop-menu summary strong,
    .child-shop-menu summary .child-shop-menu__icon {
        display: none;
    }

    .child-shop-menu summary {
        justify-content: center;
    }
}

@media (max-width: 782px) {
    .child-shop-menu {
        width: 100%;
    }

    .child-shop-menu__panel {
        grid-template-columns: 1fr;
    }

    .child-shop-menu__panel nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .child-top-categories {
        width: calc(100% - 2rem);
        gap: 0.35rem;
    }

    .child-top-categories a {
        padding: 0.25rem 0.65rem 0.25rem 0.25rem;
        font-size: 0.66rem;
    }

    .child-top-categories img {
        width: 1.2rem;
        height: 1.2rem;
    }

    .wp-block-navigation__responsive-container.is-menu-open {
        background: var(--wp--preset--color--base);
    }

    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation-item__content {
        color: var(--wp--preset--color--heading) !important;
        font-size: 1.05rem;
        padding: 0.75rem 0;
    }

    /* The parent theme's mobile menu close icon is white, meant to sit on a
	   dark overlay. Since the open menu background above is switched to a
	   near-white color, give the close button its own dark circle so the
	   icon stays visible instead of disappearing into the background. */
    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation__responsive-container-close {
        background: var(--wp--preset--color--heading) !important;
        border-radius: 50%;
        color: #ffffff !important;
        fill: #ffffff !important;
        opacity: 1 !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation__responsive-container-close
        svg {
        fill: #ffffff !important;
    }

    .wp-block-site-title {
        font-size: clamp(1.5rem, 7vw, 2.25rem);
    }

    .header-icons > .wp-block-woocommerce-mini-cart,
    .header-icons > .wp-block-woocommerce-customer-account {
        width: 2.5rem;
        height: 2.5rem;
        min-width: 2.5rem;
    }

    .child-search-suggestions {
        max-height: min(16rem, 60vh);
    }

    .wc-block-mini-cart__drawer {
        left: 100% !important;
        border-radius: 0 !important;
    }

    .child-home-categories__grid {
        gap: var(--space-2);
    }

    .child-home-categories__item {
        padding: var(--space-1) var(--space-4) var(--space-1) var(--space-1);
    }

    .child-home-categories__image {
        width: 2.75rem;
        height: 2.75rem;
    }

    .child-home-categories__name {
        font-size: 0.82rem;
    }

    .logo-box .custom-logo {
        max-height: unset;
    }

    .wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper {
        overflow: auto;
    }

    .wc-block-components-order-summary {
        width: 100%;
    }

    .wp-block-woocommerce-checkout-order-summary-block
        .wc-block-components-product-name {
        white-space: nowrap;
    }

    .child-shop-menu__panel {
        padding: 0.5rem !important;
    }

    .child-shop-menu-actions h2 {
        margin-top: 20px !important;
    }
}

/* ==========================================================================
   WooCommerce consistency pass: notices, badges, stock, breadcrumbs,
   pagination, My Account nav and native quantity inputs share the same
   radius/shadow/spacing tokens as the rest of the theme.
   ========================================================================== */

.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-notice,
.wc-block-components-notice-banner {
    border: 0;
    border-left: 4px solid var(--child-info);
    border-radius: var(--child-radius-small);
    background: var(--child-info-bg);
    box-shadow: var(--child-shadow-soft);
    color: var(--wp--preset--color--heading);
}

.woocommerce-message,
.wc-block-components-notice-banner.is-success {
    border-left-color: var(--child-success);
    background: var(--child-success-bg);
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
    border-left-color: var(--child-error);
    background: var(--child-error-bg);
}

.wc-block-components-notice-banner.is-warning {
    border-left-color: var(--child-warning);
    background: var(--child-warning-bg);
}

.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button,
.woocommerce-notice .button {
    float: none;
    margin-inline-start: var(--space-3);
}

/* Sale/discount badge: one pill treatment everywhere it appears instead of
   the parent theme's square coral badge and bordered "product-badge" block. */
.woocommerce span.onsale,
.wc-block-grid .wc-block-grid__product-onsale,
.wc-block-grid__product-image .wc-block-grid__product-onsale,
.wc-block-components-product-badge {
    min-width: 0 !important;
    min-height: 0 !important;
    margin: var(--space-2) !important;
    padding: var(--space-1) var(--space-3) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: var(--child-shadow-soft) !important;
    background-color: var(--wp--preset--color--banner-bg-two) !important;
    color: var(--wp--preset--color--white) !important;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.6;
}

.woocommerce .stock {
    display: inline-block;
    padding: var(--space-1) var(--space-3);
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
}

.woocommerce .stock.in-stock {
    background: var(--child-success-bg);
    color: var(--child-success);
}

.woocommerce .stock.out-of-stock {
    background: var(--child-error-bg);
    color: var(--child-error);
}

/* Breadcrumbs */
.wp-block-breadcrumbs,
.woocommerce-breadcrumb {
    color: var(--wp--preset--color--second-text);
    font-size: 0.85rem;
}

.wp-block-breadcrumbs a,
.woocommerce-breadcrumb a {
    color: var(--wp--preset--color--second-text);
    text-decoration: none;
}

.wp-block-breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover {
    color: var(--wp--preset--color--primary);
    text-decoration: underline;
}

/* Pagination: same pill treatment as buttons, with accessible contrast
   (the parent theme forces black text on the current page with !important,
   so matching !important here is unavoidable to keep contrast correct). */
.wp-block-query-pagination-numbers .page-numbers,
.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    min-height: 2.25rem;
    border-radius: 999px !important;
    background: var(--wp--preset--color--background);
    box-shadow: var(--child-shadow-soft);
    color: var(--wp--preset--color--heading) !important;
    font-weight: 700;
    transition:
        background 180ms var(--child-ease),
        color 180ms var(--child-ease);
}

.wp-block-query-pagination-numbers .page-numbers.current {
    background: var(--child-action-gradient) !important;
    color: var(--wp--preset--color--white) !important;
}

.wp-block-query-pagination-numbers .page-numbers:hover,
.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-previous:hover {
    background: var(--wp--preset--color--primary-light);
    color: var(--wp--preset--color--primary) !important;
}

/* My Account navigation: pill list instead of the parent's flat blue blocks
   with low-contrast black text. */
nav.woocommerce-MyAccount-navigation ul li {
    border: 1px solid var(--wp--preset--color--border-color) !important;
    border-radius: var(--child-radius-small) !important;
    background: var(--wp--preset--color--background) !important;
    box-shadow: var(--child-shadow-soft);
    transition:
        background 180ms var(--child-ease),
        border-color 180ms var(--child-ease);
}

nav.woocommerce-MyAccount-navigation ul li a {
    color: var(--wp--preset--color--heading) !important;
    font-weight: 700;
}

nav.woocommerce-MyAccount-navigation ul li:hover,
nav.woocommerce-MyAccount-navigation ul li.is-active {
    border-color: var(--wp--preset--color--primary) !important;
    background: var(--wp--preset--color--primary-light) !important;
}

nav.woocommerce-MyAccount-navigation ul li:hover a,
nav.woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--wp--preset--color--primary) !important;
}

/* Native quantity input (product page, cart line items) matches the
   pill/stepper look used elsewhere, without touching the custom stepper. */
.woocommerce .quantity .qty {
    min-height: 2.5rem;
    padding: 0 var(--space-2);
    border: 1px solid var(--wp--preset--color--border-color);
    border-radius: var(--child-radius-small);
    background: var(--wp--preset--color--background);
    text-align: center;
    font-weight: 700;
}

.woocommerce .quantity .qty:focus {
    border-color: var(--wp--preset--color--secondary);
    box-shadow: 0 0 0 4px rgba(74, 143, 231, 0.12);
}

/* Cart/checkout block panels share one border radius instead of the
   parent theme's mix of 0px, 5px and 10px radii. */
.wc-block-cart,
.wc-block-checkout__form,
.woocommerce-Tabs-panel--reviews,
.woocommerce-Tabs-panel--description,
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block {
    border-radius: var(--child-radius-small) !important;
    box-shadow: var(--child-shadow-soft);
}

/* ==========================================================================
   Product listing (archive/shop grid): consistent image ratio, spacing and
   card rhythm so titles of different lengths don't shift the grid.
   ========================================================================== */

.products-block-post-template .product-image-cart,
.wc-block-grid__product-image,
.wp-block-woocommerce-related-products .wc-block-grid__product-image {
    overflow: hidden;
    border-radius: var(--child-radius-small);
    background: var(--wp--preset--color--section-bg);
    aspect-ratio: 1;
}

.products-block-post-template .product-image-cart img,
.wc-block-grid__product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.products-block-post-template .wp-block-post-title,
.products-block-post-template h2.woocommerce-loop-product__title {
    margin-top: var(--space-3);
    margin-bottom: var(--space-2);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    min-height: 2.6em;
    font-size: 0.95rem;
    line-height: 1.3;
}

.products-block-post-template .wc-block-components-product-price,
.products-block-post-template .price {
    margin-bottom: var(--space-3);
    color: var(--wp--preset--color--primary);
    font-weight: 800;
}

/* ==========================================================================
   Single product page: purchase column rhythm, gallery framing and a
   cleaner meta row instead of parent theme's default inline text.
   ========================================================================== */

.wp-block-woocommerce-product-image-gallery {
    overflow: hidden;
    border: var(--child-border);
    border-radius: var(--child-radius);
    background: var(--wp--preset--color--section-bg);
}

.wp-block-post-title[level="1"],
h1.product_title {
    margin-bottom: var(--space-4);
}

.wp-block-woocommerce-product-price {
    margin-bottom: var(--space-4);
    color: var(--wp--preset--color--primary);
    font-weight: 800;
}

.wp-block-woocommerce-add-to-cart-form {
    margin-top: var(--space-5);
    margin-bottom: var(--space-5);
}

.wp-block-woocommerce-product-meta {
    padding-top: var(--space-4);
    border-top: var(--child-border);
    color: var(--wp--preset--color--second-text);
    font-size: 0.9rem;
}

.wp-block-woocommerce-product-details.is-style-minimal {
    margin-top: var(--space-8);
    padding-top: var(--space-6);
    border-top: var(--child-border);
}

.wp-block-woocommerce-related-products {
    margin-top: var(--space-10);
    padding-top: var(--space-8);
    border-top: var(--child-border);
}

.wp-block-woocommerce-related-products .wp-block-post-template > li {
    border: var(--child-border);
    border-radius: var(--child-radius);
    background: var(--wp--preset--color--background);
    box-shadow: var(--child-shadow-soft);
    transition:
        box-shadow 260ms var(--child-ease),
        transform 260ms var(--child-ease);
}

.wp-block-woocommerce-related-products .wp-block-post-template > li:hover {
    box-shadow: var(--child-shadow);
    transform: translateY(-4px);
}

.vc_row .wpb_single_image img {
    border-radius: var(--child-radius-small);
    transition:
        transform 260ms var(--child-ease),
        box-shadow 260ms var(--child-ease);
}

.vc_row .wpb_single_image:hover img {
    transform: translateY(-3px);
    box-shadow: var(--child-shadow);
}

.child-fresh-products {
    max-width: 1170px;
    margin: clamp(3rem, 7vw, 0.5rem) auto clamp(0.5rem, 9vw, 0.5rem);
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border: 1px solid var(--wp--preset--color--border-color);
    border-radius: var(--child-radius);
    background: var(--wp--preset--color--background);
    box-shadow: var(--child-shadow);
    overflow: hidden;
}

.child-sale-products {
    margin-top: 0;
}

.child-fresh-products__eyebrow {
    color: var(--wp--preset--color--primary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.child-fresh-products h2 {
    margin: 0.25rem 0 0;
    color: var(--wp--preset--color--heading);
    font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.child-fresh-products__viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
    mask-image: linear-gradient(
        to right,
        transparent,
        black 2%,
        black 98%,
        transparent
    );
    -webkit-mask-image: linear-gradient(
        to right,
        transparent,
        black 2%,
        black 98%,
        transparent
    );
}

.child-fresh-products__viewport.is-dragging {
    cursor: grabbing;
}

.child-fresh-products__track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: child-fresh-products-scroll 28s linear infinite;
}

.child-fresh-products__track.is-paused {
    animation-play-state: paused;
}

.child-fresh-products__track.is-dragging {
    animation-play-state: paused;
}

.child-fresh-products__set {
    display: flex;
    gap: 0.9rem;
    padding-right: 0.9rem;
    flex: 0 0 auto;
}

@keyframes child-fresh-products-scroll {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

.child-product-card {
    flex: 0 0 clamp(12rem, 18vw, 16rem);
    overflow: hidden;
    border: 1px solid var(--wp--preset--color--border-color);
    border-radius: var(--child-radius-small);
    background: var(--wp--preset--color--background);
    box-shadow: var(--child-shadow-soft);
    transition:
        box-shadow 260ms var(--child-ease),
        transform 260ms var(--child-ease);
}

.child-product-card:hover {
    box-shadow: var(--child-shadow-lift);
    transform: translateY(-5px);
}

.child-product-card__image,
.child-product-card__image img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.child-product-card__image {
    overflow: hidden;
    background: var(--wp--preset--color--section-bg);
}

.child-product-card__image img {
    transition: transform 420ms var(--child-ease);
}

.child-product-card:hover .child-product-card__image img {
    transform: scale(1.06);
}

.child-product-card__body {
    padding: 0.8rem 0.85rem 0.9rem;
}

.child-product-card h3 {
    margin: 0 0 0.4rem;
    font-size: 0.9rem;
    line-height: 1.3;
}

.child-product-card h3 a {
    color: var(--wp--preset--color--heading);
    text-decoration: none;
}

.child-product-card__price {
    color: var(--wp--preset--color--primary);
    font-size: 0.9rem;
    font-weight: 800;
}

.child-fresh-products__viewport:hover .child-fresh-products__track {
    animation-play-state: paused;
}

.child-fresh-products__viewport img {
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: none;
}

.child-fresh-products__viewport.is-dragging .child-product-card {
    transform: none;
}

.child-fresh-products__viewport.is-dragging a {
    pointer-events: none;
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    .child-fresh-products__track {
        animation: none;
    }
}

.online-retailer-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    display: none;
}

.woocommerce div.product div.images.woocommerce-product-gallery {
    opacity: 1!important;
}

.child-category-subcategories {
    margin: 0 0 32px;
}

.child-category-subcategories h2 {
    margin: 0 0 18px;
}

.child-category-subcategories__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.child-category-subcategories__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
}

.child-category-subcategories__image {
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 14px;
}

.child-category-subcategories__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.child-category-subcategories__name {
    margin-top: 9px;
    font-weight: 700;
}

.child-category-subcategories__item small {
    margin-top: 3px;
    opacity: 0.6;
}

/* ==========================================================================
   Shop menu category rows: parent link (with thumbnail) + an explicit
   expand/collapse toggle that reveals child categories underneath, listed
   without thumbnails. This is the single, canonical ruleset for these
   classes — earlier drafts of this menu (details/summary based, and a
   thumbnail-based subcategory grid) duplicated several of these class
   names with conflicting rules, which is what made the toggle icon
   unreliable. Those drafts have been removed.
   ========================================================================== */

.child-shop-menu__category {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.child-shop-menu__parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 64px;
}

.child-shop-menu__parent-link {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    text-decoration: none;
}

.child-shop-menu__parent-link img {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    object-fit: cover;
    border-radius: 10px;
}

.child-shop-menu__parent-link span {
    font-weight: 700;
}

.child-shop-menu__toggle {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
}

.child-shop-menu__toggle span {
    display: block;
    line-height: 1;
}

/* Child categories: name + product count only, deliberately no thumbnail,
   so the expanded list stays compact and scannable. */
.child-shop-menu__children {
    display: none;
    padding: 0 0 12px 56px;
}

.child-shop-menu__category.is-expanded .child-shop-menu__children {
    display: block;
}

.child-shop-menu__child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px 9px 0;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.4;
}

.child-shop-menu__child small {
    opacity: 0.5;
    font-size: 12px;
}

button.child-shop-menu__toggle {
    display: none !important;
}

@media (max-width: 782px) {
    .child-category-subcategories__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    .child-fresh-products__track {
        animation: none;
    }
}
 /* Mobile */
@media (max-width: 782px) {
    .child-fresh-products__viewport {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .child-fresh-products__viewport::-webkit-scrollbar {
        display: none;
    }

    .child-fresh-products__track {
        animation: none !important;
        transform: none !important;
        width: max-content;
    }

    .child-fresh-products__set {
        scroll-snap-align: start;
    }
}

@media (max-width: 598px) {
    .child-search-suggestions {
        width: 100vw;
        left: -43vw;
		max-height: unset;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}