/*
Theme Name: Zigbo
Theme URI: https://zigbo.in
Author: Zigbo
Description: Custom WooCommerce theme for Zigbo.
Version: 1.0.0
Text Domain: zigbo
*/
/* =========================================
   ZIGBO GLOBAL DESIGN SYSTEM
   ========================================= */

:root {
    --zigbo-yellow: #f6c928;
    --zigbo-yellow-dark: #e4b516;
    --zigbo-green: #1f9d3a;
    --zigbo-dark: #252525;
    --zigbo-text: #333333;
    --zigbo-muted: #6b6b6b;
    --zigbo-border: #e5e5e5;
    --zigbo-white: #ffffff;
    --zigbo-light: #f8f8f6;

    --zigbo-radius-sm: 6px;
    --zigbo-radius-md: 10px;
    --zigbo-radius-lg: 16px;

    --zigbo-container: 1200px;
}


/* ---------- Base Reset ---------- */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    background: var(--zigbo-white);
    color: var(--zigbo-text);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}


/* ---------- Main Container ---------- */

.zigbo-container {
    width: min(100% - 32px, var(--zigbo-container));
    margin-inline: auto;
}


/* ---------- Headings ---------- */

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    color: var(--zigbo-dark);
    line-height: 1.2;
}


/* ---------- Buttons ---------- */

.zigbo-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 20px;
    border: 0;
    border-radius: var(--zigbo-radius-sm);
    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);
    font-weight: 700;
    cursor: pointer;
    transition: 0.2s ease;
}

.zigbo-button:hover {
    background: var(--zigbo-yellow-dark);
}


/* ---------- Mobile Foundation ---------- */

@media (max-width: 767px) {

    body {
        font-size: 15px;
    }

    .zigbo-container {
        width: min(100% - 24px, var(--zigbo-container));
    }

    h1 {
        font-size: 30px;
    }

    h2 {
        font-size: 24px;
    }

    h3 {
        font-size: 19px;
    }

    .zigbo-button {
        min-height: 42px;
        padding: 9px 16px;
    }
}
/* =========================================
   ZIGBO HEADER
   ========================================= */

.zigbo-header {
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid var(--zigbo-border);
    position: relative;
    z-index: 1000;
}

.zigbo-header-inner {
    width: min(100% - 32px, var(--zigbo-container));
    min-height: 72px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    gap: 24px;
}


/* ---------- Logo ---------- */

.zigbo-logo {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 24px;
    font-weight: 900;
    letter-spacing: -1px;

    color: var(--zigbo-green);
}


/* ---------- Navigation ---------- */

.zigbo-nav {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-left: 8px;
}

.zigbo-nav a {
    color: var(--zigbo-dark);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.zigbo-nav a:hover {
    color: var(--zigbo-green);
}


/* ---------- Search ---------- */

.zigbo-search {
    margin-left: auto;

    width: 220px;
    height: 38px;

    display: flex;
    align-items: center;

    border: 1px solid #dcdcdc;
    border-radius: 20px;
    background: #ffffff;

    overflow: hidden;
}

.zigbo-search input[type="search"] {
    width: 100%;
    height: 100%;

    padding: 0 12px;

    border: 0;
    outline: 0;
    background: transparent;

    font-size: 12px;
    color: var(--zigbo-text);
}

.zigbo-search input[type="search"]::placeholder {
    color: #999999;
}

.zigbo-search button {
    width: 38px;
    height: 38px;

    flex: 0 0 38px;

    border: 0;
    background: transparent;

    cursor: pointer;
    font-size: 14px;
}


/* ---------- Header Actions ---------- */

.zigbo-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.zigbo-header-icon {
    width: 34px;
    height: 34px;

    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    font-size: 17px;
}

.zigbo-header-icon:hover {
    background: var(--zigbo-light);
}


/* ---------- Cart Count ---------- */

.zigbo-cart-count {
    position: absolute;

    top: -3px;
    right: -4px;

    min-width: 16px;
    height: 16px;

    padding: 0 4px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--zigbo-green);
    color: #ffffff;

    font-size: 9px;
    font-weight: 700;
}


/* =========================================
   MOBILE HEADER
   ========================================= */

@media (max-width: 900px) {

    .zigbo-header-inner {
        min-height: 64px;
        gap: 12px;
    }

    .zigbo-nav {
        display: none;
    }

    .zigbo-search {
        width: auto;
        flex: 1;
        max-width: 240px;
    }

}


@media (max-width: 600px) {

    .zigbo-header-inner {
        width: min(100% - 20px, var(--zigbo-container));
        min-height: 58px;
        gap: 8px;
    }

    .zigbo-logo {
        font-size: 20px;
    }

    .zigbo-search {
        height: 34px;
        border-radius: 17px;
    }

    .zigbo-search button {
        width: 32px;
        height: 34px;
        flex-basis: 32px;
    }

    .zigbo-header-actions {
        gap: 2px;
    }

    .zigbo-header-icon {
        width: 32px;
        height: 32px;
        font-size: 15px;
    }
}
/* =========================================
   ZIGBO FOOTER
   ========================================= */

.zigbo-footer {
    margin-top: 15px;
    background: var(--zigbo-dark);
    color: #ffffff;
}

.zigbo-footer-inner {
    width: min(100% - 32px, var(--zigbo-container));
    margin: 0 auto;
    padding: 48px 0;

    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 48px;
}

.zigbo-footer-brand {
    max-width: 320px;
}

.zigbo-footer-logo {
    display: inline-block;
    margin-bottom: 14px;

    font-size: 28px;
    font-weight: 900;
    color: var(--zigbo-yellow);
}

.zigbo-footer-brand p {
    margin: 0;
    color: #d5d5d5;
    font-size: 14px;
    line-height: 1.7;
}

.zigbo-footer-column {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.zigbo-footer-column h3 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 15px;
}

.zigbo-footer-column a {
    color: #d5d5d5;
    font-size: 13px;
    transition: color 0.2s ease;
}

.zigbo-footer-column a:hover {
    color: var(--zigbo-yellow);
}

.zigbo-footer-bottom {
    width: min(100% - 32px, var(--zigbo-container));
    margin: 0 auto;
    padding: 18px 0 24px;

    border-top: 1px solid rgba(255, 255, 255, 0.15);

    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.zigbo-footer-bottom p {
    margin: 0;
    color: #bdbdbd;
    font-size: 12px;
}


/* ---------- Mobile Footer ---------- */

@media (max-width: 767px) {

    .zigbo-footer {
        margin-top: 15px;
    }

    .zigbo-footer-inner {
        width: min(100% - 24px, var(--zigbo-container));
        padding: 36px 0 28px;

        grid-template-columns: 1fr 1fr;
        gap: 32px 20px;
    }

    .zigbo-footer-brand {
        grid-column: 1 / -1;
        max-width: none;
    }

    .zigbo-footer-logo {
        font-size: 24px;
    }

    .zigbo-footer-bottom {
        width: min(100% - 24px, var(--zigbo-container));

        flex-direction: column;
        gap: 6px;
    }
}
/* =========================================
   ZIGBO HERO
   ========================================= */

.zigbo-hero-inner {
    width: min(100% - 48px, var(--zigbo-container));
    min-height: 430px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: center;
    gap: 30px;

    padding: 15px 0;
}


/* ---------- Hero Content ---------- */

.zigbo-hero-content {
    max-width: 500px;
}

.zigbo-hero-eyebrow {
    display: inline-block;
    margin-bottom: 16px;

    color: var(--zigbo-green);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.zigbo-hero-content h1 {
    margin: 0 0 20px;

    color: var(--zigbo-dark);
    font-size: clamp(42px, 5vw, 68px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -2px;
}

.zigbo-hero-content p {
    max-width: 460px;
    margin: 0 0 30px;

    color: var(--zigbo-muted);
    font-size: 17px;
    line-height: 1.65;
}


/* ---------- Hero Buttons ---------- */

.zigbo-hero-buttons {
    display: flex;
    align-items: center;
    gap: 18px;
}

.zigbo-hero-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;
    padding: 10px 18px;

    border: 1px solid var(--zigbo-border);
    border-radius: var(--zigbo-radius-sm);

    color: var(--zigbo-dark);
    font-size: 14px;
    font-weight: 700;

    transition: 0.2s ease;
}

.zigbo-hero-secondary:hover {
    border-color: var(--zigbo-green);
    color: var(--zigbo-green);
}


/* ---------- Hero Visual ---------- */

.zigbo-hero-visual {
    width: 100%;
}

.zigbo-hero-image {
    width: 100%;
    min-height: 420px;

    overflow: hidden;
    border-radius: var(--zigbo-radius-lg);

    background: var(--zigbo-light);
}

.zigbo-hero-image img {
    width: 100%;
    height: 100%;
    min-height: 420px;

    object-fit: cover;
}


/* =========================================
   HERO MOBILE
   ========================================= */

@media (max-width: 767px) {

    .zigbo-hero-inner {
        width: min(100% - 24px, var(--zigbo-container));

        min-height: auto;

        grid-template-columns: 1fr;
        gap: 28px;

        padding: 36px 0 40px;
    }

    .zigbo-hero-content {
        max-width: none;
    }

    .zigbo-hero-eyebrow {
        margin-bottom: 12px;
        font-size: 10px;
    }

    .zigbo-hero-content h1 {
        margin-bottom: 16px;

        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .zigbo-hero-content p {
        margin-bottom: 24px;
        font-size: 15px;
        line-height: 1.55;
    }

    .zigbo-hero-buttons {
        gap: 10px;
    }

    .zigbo-hero-image {
        min-height: 280px;
        border-radius: 12px;
    }

    .zigbo-hero-image img {
        min-height: 280px;
    }
}
/* =========================================
   SHOP BY AGE
========================================= */

.zigbo-shop-age {
    padding: 15px 0;
    background: var(--zigbo-white);
}

.zigbo-shop-age .zigbo-section-heading {
    text-align: center;
    margin-bottom: 5px;
}

.zigbo-shop-age .zigbo-section-heading span {
    display: block;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--zigbo-green);
}

.zigbo-shop-age .zigbo-section-heading h2 {
    margin: 0 0 10px;
    font-size: 34px;
    line-height: 1.2;
    color: var(--zigbo-dark);
}

.zigbo-shop-age .zigbo-section-heading p {
    margin: 0 auto;
    font-size: 15px;
    color: var(--zigbo-muted);
}


/* AGE LIST */

.zigbo-age-list {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 55px;
}

.zigbo-age-item {
    text-decoration: none;
    color: var(--zigbo-dark);
    display: flex;
    justify-content: center;
}

.zigbo-age-circle {
    width: 123px;
    height: 123px;
    border: 2px solid var(--zigbo-border);
    border-radius: 50%;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background: var(--zigbo-white);

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.zigbo-age-circle strong {
    font-size: 25px;
    line-height: 1;
    font-weight: 700;
}

.zigbo-age-circle small {
    margin-top: 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--zigbo-muted);
}


/* SUBTLE HOVER */

.zigbo-age-item:hover .zigbo-age-circle {
    transform: scale(1.05);
    border-color: var(--zigbo-yellow);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.zigbo-age-item:hover .zigbo-age-circle strong {
    color: var(--zigbo-green);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .zigbo-shop-age {
        padding: 55px 0;
    }

    .zigbo-shop-age .zigbo-section-heading {
        margin-bottom: 30px;
    }

    .zigbo-shop-age .zigbo-section-heading h2 {
        font-size: 28px;
    }

    .zigbo-shop-age .zigbo-section-heading p {
        font-size: 14px;
        padding: 0 15px;
    }

    .zigbo-age-list {
       display: flex;
       justify-content: space-between;
       gap: 4px;
       overflow-x: auto;
       padding: 5px 4px 12px;
       scroll-snap-type: x mandatory;
       scrollbar-width: none;
}
    }

    .zigbo-age-list::-webkit-scrollbar {
        display: none;
    }
.zigbo-age-circle {
    width: 65px;
    height: 65px;
    flex-shrink: 0;
}

.zigbo-age-circle strong {
    font-size: 17px;
}

.zigbo-age-circle small {
    margin-top: 4px;
    font-size: 6px;
}
    .zigbo-age-item {
        flex: 0 0 auto;
        scroll-snap-align: center;
    }

    ..zigbo-age-circle {
        width: 95px;
        height: 95px;
    }
    }

    .zigbo-age-circle strong {
        font-size: 20px;
    }

    .zigbo-age-circle small {
        margin-top: 6px;
        font-size: 8px;
    }
}
/* =========================================
   SHOP BY AGE - FINAL SPACING
========================================= */

.zigbo-shop-age {
    padding: 55px 0 65px;
}

.zigbo-shop-age .zigbo-section-heading {
    margin-bottom: 38px;
}

.zigbo-shop-age .zigbo-section-heading span {
    margin-bottom: 7px;
    font-size: 10px;
    letter-spacing: 1.8px;
}

.zigbo-shop-age .zigbo-section-heading h2 {
    margin-bottom: 8px;
    font-size: 36px;
    font-weight: 700;
}

.zigbo-shop-age .zigbo-section-heading p {
    font-size: 14px;
    color: var(--zigbo-muted);
}


/* AGE ITEMS */

.zigbo-age-list {
    gap: 55px;
}

.zigbo-age-circle {
    /* Circle size intentionally unchanged */
    width: 145px;
    height: 145px;
}

.zigbo-age-circle strong {
    font-size: 29px;
}

.zigbo-age-circle small {
    margin-top: 7px;
    font-size: 9px;
    letter-spacing: 1.2px;
}


/* HOVER */

.zigbo-age-item:hover .zigbo-age-circle {
    transform: scale(1.04);
    border-color: var(--zigbo-yellow);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}
/* ACTIVE / TAP STATE */

.zigbo-age-item.active .zigbo-age-circle {
    transform: scale(1.04);
    border-color: var(--zigbo-yellow);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}

.zigbo-age-item.active .zigbo-age-circle strong {
    color: var(--zigbo-green);
}
/* =========================================
   EXPLORE BY CATEGORY
========================================= */

.zigbo-explore-category {
    padding: 50px 0;
    background: var(--zigbo-light);
    margin-top: -55px;
}

.zigbo-category-heading {
    text-align: center;
    margin-bottom: 30px;
}

.zigbo-category-heading span {
    display: inline-block;
    padding: 5px 10px;
    margin-bottom: 10px;
    border-radius: 4px;
    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.8px;
}

.zigbo-category-heading h2 {
    margin: 0 0 8px;
    font-size: 34px;
    line-height: 1.2;
    color: var(--zigbo-dark);
}

.zigbo-category-heading p {
    max-width: 650px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.6;
    color: var(--zigbo-muted);
}


/* CATEGORY GRID */

.zigbo-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}


/* CARD */

.zigbo-category-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;

    background: var(--zigbo-white);
    border: 1px solid var(--zigbo-border);
    border-radius: 12px;

    text-decoration: none;
    color: var(--zigbo-dark);

    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.06);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


/* IMAGE */

.zigbo-category-image {
    width: 100%;
    aspect-ratio: 1.45 / 1;
    overflow: hidden;
    background: var(--zigbo-light);
}

.zigbo-category-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;

    transition: transform 0.45s ease;
}


/* CONTENT */

.zigbo-category-content {
    padding: 15px 15px 17px;
}

.zigbo-category-content h3 {
    margin: 0 0 6px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
}

.zigbo-category-content p {
    margin: 0 0 12px;
    min-height: 38px;

    font-size: 11px;
    line-height: 1.5;
    color: var(--zigbo-muted);
}

.zigbo-category-link {
    font-size: 11px;
    font-weight: 700;
    color: var(--zigbo-green);

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


/* =========================================
   APPLE FEATURE BLOCK STYLE INTERACTION
========================================= */

.zigbo-category-card:hover {
    transform: translateY(-5px);
    border-color: rgba(31, 157, 58, 0.25);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.10);
}

.zigbo-category-card:hover .zigbo-category-image img {
    transform: scale(1.045);
}

.zigbo-category-card:hover .zigbo-category-link {
    color: var(--zigbo-yellow-dark);
    transform: translateX(3px);
}


/* ACTIVE STATE */

.zigbo-category-card.active {
    transform: translateY(-5px);
    border-color: var(--zigbo-green);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.10);
}

.zigbo-category-card.active .zigbo-category-image img {
    transform: scale(1.045);
}

.zigbo-category-card.active .zigbo-category-link {
    color: var(--zigbo-green);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .zigbo-explore-category {
        padding: 15px 0;
    }

    .zigbo-category-heading {
        margin-bottom: 15px;
    }

    .zigbo-category-heading h2 {
        font-size: 10px;
    }

    .zigbo-category-heading p {
        padding: 0 15px;
        font-size: 13px;
    }

    .zigbo-category-grid {
        display: flex;
        gap: 16px;
        overflow-x: auto;
        padding: 5px 15px 15px;

        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .zigbo-category-grid::-webkit-scrollbar {
        display: none;
    }

    .zigbo-category-card {
        flex: 0 0 260px;
        scroll-snap-align: center;
    }

    .zigbo-category-content {
        padding: 14px;
    }

    .zigbo-category-content h3 {
        font-size: 14px;
    }
}
/* =========================================
   EXPLORE BY CATEGORY - POLISH
========================================= */

.zigbo-explore-category {
    padding: 65px 0 75px;
}

.zigbo-category-heading {
    margin-bottom: 34px;
}

.zigbo-category-heading h2 {
    font-size: 32px;
}

.zigbo-category-heading p {
    font-size: 14px;
}


/* CATEGORY CARDS */

.zigbo-category-grid {
    gap: 18px;
}

.zigbo-category-card {
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.07);
}


/* IMAGE */

.zigbo-category-image {
    aspect-ratio: 1.5 / 1;
}


/* CONTENT */

.zigbo-category-content {
    padding: 16px 16px 18px;
}

.zigbo-category-content h3 {
    font-size: 15px;
    margin-bottom: 7px;
}

.zigbo-category-content p {
    font-size: 12px;
    line-height: 1.5;
    min-height: 36px;
    margin-bottom: 13px;
}

.zigbo-category-link {
    font-size: 11px;
}


/* HOVER - KEEP SUBTLE */

.zigbo-category-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.09);
}

.zigbo-category-card:hover .zigbo-category-image img {
    transform: scale(1.04);
}
/* =========================================
   EXPLORE BY CATEGORY
   APPLE FEATURE BLOCK STYLE
========================================= */

.zigbo-category-grid {
    display: flex;
    align-items: stretch;
    gap: 18px;
}

.zigbo-category-card {
    flex: 1 1 0;
    min-width: 0;

    transition:
        flex 0.45s ease,
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

/* Selected / Hover Card */
.zigbo-category-card:hover,
.zigbo-category-card.active {
    flex: 1.10 1 0;
    transform: translateY(-4px);
    border-color: var(--zigbo-green);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.11);
}

/* Image transition */
.zigbo-category-card .zigbo-category-image img {
    transition:
        transform 0.5s ease;
}

.zigbo-category-card:hover .zigbo-category-image img,
.zigbo-category-card.active .zigbo-category-image img {
    transform: scale(1.05);
}

/* Content transition */
.zigbo-category-content {
    transition: padding 0.35s ease;
}

.zigbo-category-card:hover .zigbo-category-content,
.zigbo-category-card.active .zigbo-category-content {
    padding-left: 18px;
    padding-right: 18px;
}

/* Explore arrow */
.zigbo-category-link {
    display: inline-block;

    transition:
        transform 0.3s ease,
        color 0.3s ease;
}

.zigbo-category-card:hover .zigbo-category-link,
.zigbo-category-card.active .zigbo-category-link {
    transform: translateX(5px);
    color: var(--zigbo-green);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .zigbo-category-grid {
        display: flex;
        gap: 16px;
        overflow-x: auto;
        padding: 5px 15px 18px;

        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .zigbo-category-grid::-webkit-scrollbar {
        display: none;
    }

    .zigbo-category-card {
        flex: 0 0 260px;
        scroll-snap-align: center;
    }

    .zigbo-category-card:hover,
    .zigbo-category-card.active {
        flex: 0 0 270px;
        transform: translateY(-3px);
    }

    .zigbo-category-card:hover .zigbo-category-content,
    .zigbo-category-card.active .zigbo-category-content {
        padding-left: 16px;
        padding-right: 16px;
    }
}
/* FINAL MOBILE AGE SIZE */

@media (max-width: 767px) {

    .zigbo-shop-age .zigbo-age-list {
        display: flex;
        flex-wrap: nowrap;
        gap: 6px;
        padding: 5px 4px 12px;
        overflow-x: auto;
    }

    .zigbo-shop-age .zigbo-age-item {
        flex: 0 0 78px;
        width: 78px;
    }

    .zigbo-shop-age .zigbo-age-circle {
        width: 65px !important;
        height: 65px !important;
        min-width: 65px;
        max-width: 65px;
        flex: 0 0 65px;
    }

    .zigbo-shop-age .zigbo-age-circle strong {
        font-size: 17px;
    }

    .zigbo-shop-age .zigbo-age-circle small {
        font-size: 6px;
        margin-top: 4px;
    }
}
/* FINAL MOBILE SHOP BY AGE */

@media (max-width: 767px) {

    .zigbo-shop-age .zigbo-age-list {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 4px;
        padding: 5px 4px 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .zigbo-shop-age .zigbo-age-item {
        flex: 0 0 68px;
        width: 68px;
    }

    .zigbo-shop-age .zigbo-age-circle {
        width: 60px !important;
        height: 60px !important;
        min-width: 60px;
        max-width: 60px;
        flex: 0 0 60px;
    }

    .zigbo-shop-age .zigbo-age-circle strong {
        font-size: 16px;
    }

    .zigbo-shop-age .zigbo-age-circle small {
        font-size: 6px;
        margin-top: 3px;
    }
}
/* FINAL DESKTOP SHOP BY AGE SIZE */

@media (min-width: 768px) {

    .zigbo-shop-age .zigbo-age-circle {
        width: 80px !important;
        height: 80px !important;
    }

    .zigbo-shop-age .zigbo-age-circle strong {
        font-size: 19px !important;
    }

    .zigbo-shop-age .zigbo-age-circle small {
        font-size: 9px !important;
    }
}
/* =========================================
   LEARNING FAVORITES
========================================= */

.zigbo-learning-favorites {
    padding: 70px 0;
    background: var(--zigbo-light);
}

.zigbo-learning-favorites .zigbo-section-heading {
    text-align: center;
    margin-bottom: 35px;
}

.zigbo-learning-favorites .zigbo-section-heading span {
    display: inline-block;
    background: var(--zigbo-yellow);
    padding: 5px 12px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
}

.zigbo-learning-favorites .zigbo-section-heading h2 {
    margin: 10px 0 6px;
    font-size: 32px;
}

.zigbo-learning-favorites .zigbo-section-heading p {
    margin: 0;
    color: var(--zigbo-muted);
    font-size: 14px;
}

.zigbo-favorites-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.zigbo-favorite-card {
    background: var(--zigbo-white);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.zigbo-favorite-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.zigbo-favorite-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.zigbo-favorite-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.zigbo-favorite-content {
    padding: 12px;
}

.zigbo-favorite-name {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 7px;
}

.zigbo-favorite-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.zigbo-favorite-price-row strong {
    font-size: 18px;
}

.zigbo-favorite-price-row button {
    border: 0;
    background: var(--zigbo-yellow);
    padding: 6px 10px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.zigbo-favorite-features {
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.5;
    color: var(--zigbo-text);
}

.zigbo-favorite-rating {
    margin-top: 6px;
    font-size: 11px;
}

.zigbo-favorite-rating span {
    color: var(--zigbo-muted);
}

/* Real WooCommerce cards: same box size as the shop grid cards */

.zigbo-favorites-grid {
    gap: 18px;
}

.zigbo-favorite-card {
    border: 1px solid #e8ece6;
    border-radius: 17px;
    box-shadow: none;
}

.zigbo-favorite-card:hover {
    box-shadow: 0 15px 30px rgba(43, 75, 49, .1);
}

.zigbo-favorite-image {
    display: block;
    aspect-ratio: 1 / .88;
    background: #f5f7f2;
}

.zigbo-favorite-image img {
    object-fit: contain;
    padding: 10px;
}

.zigbo-favorite-name a {
    color: inherit;
    text-decoration: none;
}

.zigbo-favorite-name a:hover {
    color: #197d40;
}

.zigbo-favorite-content {
    padding: 14px 14px 12px;
}

/* Keep every card the same height and the buttons aligned */

.zigbo-favorite-card {
    display: flex;
    flex-direction: column;
}

.zigbo-favorite-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Mirror the shop card rows exactly: single-line title, always-on
   rating pill, sale row and Hot Deal badge. */

body .zigbo-favorite-name {
    min-height: 0;
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body .zigbo-favorite-rating {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 18px;
    margin: 0 0 7px;
    font-size: 12px;
}

body .zigbo-favorite-price-row.zigbo-sale-price-line {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-bottom: 9px;
    white-space: nowrap;
}

body .zigbo-favorite-price-row.zigbo-sale-price-line ins {
    order: 1;
    margin: 0;
    color: #1d2822;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none;
}

body .zigbo-favorite-price-row.zigbo-sale-price-line del {
    order: 2;
    margin: 0;
    color: #7f8782;
    font-size: 13px;
    font-weight: 400;
}

body .zigbo-favorite-price-row.zigbo-sale-price-line .zigbo-discount {
    order: 3;
    margin: 0;
    padding: 0;
    background: transparent;
    color: #07954a;
    font-size: 13px;
    font-weight: 700;
}

.zigbo-favorite-price-row {
    display: block;
    margin-bottom: 12px;
}

.zigbo-favorite-price-row ins {
    margin-right: 2px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    color: #172033;
}

.zigbo-favorite-price-row del {
    color: #98a0a8;
    font-size: 12px;
    font-weight: 600;
    margin-right: 5px;
}

.zigbo-favorite-price-row .zigbo-discount {
    color: #197d40;
    font-size: 11px;
    font-weight: 800;
}

.zigbo-favorite-price-row .price {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    color: #172033;
}

.zigbo-favorite-price-row .amount {
    font-size: 16px;
    font-weight: 800;
}

.zigbo-favorite-actions,
.zigbo-favorite-actions .zigbo-atc-row {
    width: 100%;
}

.zigbo-favorite-actions .zigbo-atc {
    min-height: 44px;
    font-size: 12px;
}

.zigbo-favorite-actions .zigbo-atc-qty button {
    height: 42px;
}

.zigbo-favorite-actions .zigbo-atc-qty-input {
    height: 42px;
}
/* =========================================
   LEARNING FAVORITES - MOBILE
========================================= */

@media (max-width: 767px) {

    .zigbo-learning-favorites {
        padding: 45px 0;
    }

    .zigbo-learning-favorites .zigbo-section-heading {
        margin-bottom: 25px;
        padding: 0 10px;
    }

    .zigbo-learning-favorites .zigbo-section-heading span {
        font-size: 8px;
        padding: 4px 9px;
    }

    .zigbo-learning-favorites .zigbo-section-heading h2 {
        font-size: 24px;
        margin: 8px 0 5px;
    }

    .zigbo-learning-favorites .zigbo-section-heading p {
        font-size: 11px;
        padding: 0 10px;
    }

    .zigbo-favorites-grid {
        display: flex;
        gap: 18px;
        overflow-x: auto;
        padding: 5px 15px 15px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .zigbo-favorites-grid::-webkit-scrollbar {
        display: none;
    }

    .zigbo-favorite-card {
        flex: 0 0 230px;
        scroll-snap-align: start;
    }

    .zigbo-favorite-image {
        aspect-ratio: 1 / 1;
    }

    .zigbo-favorite-content {
        padding: 10px;
    }

    .zigbo-favorite-name {
        font-size: 14px;
        margin-bottom: 6px;
    }

    .zigbo-favorite-price-row strong {
        font-size: 16px;
    }

    .zigbo-favorite-price-row button {
        padding: 6px 9px;
        font-size: 10px;
    }

    .zigbo-favorite-features {
        font-size: 10px;
    }

    .zigbo-favorite-rating {
        font-size: 10px;
    }
}
/* =========================================
   ZIGBO LEARNING GOALS
========================================= */

.zigbo-learning-goals {
    padding: 55px 0;
    background: var(--zigbo-light);
}

.zigbo-learning-goals-box {
    position: relative;

    padding: 30px 32px;

    background: #ffffff;

    border: 1px solid #e8e8e8;
    border-radius: 20px;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.05);
}


/* =========================================
   HEADING
========================================= */

.zigbo-learning-goals-heading {
    text-align: center;
    margin-bottom: 25px;
}

.zigbo-learning-goals-heading span {
    display: inline-block;

    padding: 5px 10px;

    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);

    border-radius: 5px;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 1px;
}

.zigbo-learning-goals-heading h2 {
    margin: 8px 0 5px;

    font-size: 25px;
    line-height: 1.2;

    color: var(--zigbo-dark);
}

.zigbo-learning-goals-heading p {
    margin: 0;

    font-size: 11px;

    color: var(--zigbo-muted);
}


/* =========================================
   GOAL GRID
========================================= */

.zigbo-learning-goals-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 14px;
}


/* =========================================
   GOAL CARD
========================================= */

.zigbo-learning-goal {
    position: relative;

    display: flex;
    align-items: center;

    gap: 12px;

    min-height: 72px;

    padding: 12px 14px;

    background: #fffdf7;

    border: 1px solid #eee5c9;
    border-radius: 13px;

    text-decoration: none;

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        background 0.3s ease;
}


/* Hover */

.zigbo-learning-goal:hover {
    transform: translateY(-4px);

    background: #ffffff;

    border-color: var(--zigbo-yellow);

    box-shadow:
        0 10px 22px rgba(0, 0, 0, 0.07);
}


/* =========================================
   ICON
========================================= */

.zigbo-goal-icon {
    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff3b8;

    border-radius: 10px;

    font-size: 18px;

    transition:
        transform 0.3s ease,
        background 0.3s ease;
}

.zigbo-learning-goal:hover .zigbo-goal-icon {
    transform: scale(1.08) rotate(-4deg);
}


/* =========================================
   CONTENT
========================================= */

.zigbo-goal-content {
    display: flex;
    flex-direction: column;

    min-width: 0;
}

.zigbo-goal-content strong {
    font-size: 12px;
    font-weight: 800;

    color: var(--zigbo-dark);

    line-height: 1.3;
}

.zigbo-goal-content span {
    margin-top: 3px;

    font-size: 9px;

    color: var(--zigbo-muted);

    line-height: 1.3;
}


/* =========================================
   ARROW
========================================= */

.zigbo-goal-arrow {
    margin-left: auto;

    font-size: 15px;
    font-weight: 700;

    color: var(--zigbo-green);

    transition:
        transform 0.3s ease;
}

.zigbo-learning-goal:hover .zigbo-goal-arrow {
    transform: translateX(4px);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .zigbo-learning-goals {
        padding: 35px 0;
    }

    .zigbo-learning-goals-box {
        padding: 24px 14px;

        border-radius: 16px;
    }

    .zigbo-learning-goals-heading {
        margin-bottom: 20px;
    }

    .zigbo-learning-goals-heading h2 {
        font-size: 22px;
    }

    .zigbo-learning-goals-heading p {
        font-size: 10px;

        padding: 0 8px;
    }

    .zigbo-learning-goals-grid {
        grid-template-columns: 1fr 1fr;

        gap: 10px;
    }

    .zigbo-learning-goal {
        min-height: 68px;

        gap: 8px;

        padding: 10px;
    }

    .zigbo-goal-icon {
        flex: 0 0 32px;

        width: 32px;
        height: 32px;

        font-size: 15px;

        border-radius: 8px;
    }

    .zigbo-goal-content strong {
        font-size: 10px;
    }

    .zigbo-goal-content span {
        font-size: 8px;
    }

    .zigbo-goal-arrow {
        font-size: 13px;
    }
}
/* =========================================
   COMPACT SPACING - CATEGORY → GOALS → PRODUCTS
========================================= */

/* Learning Goal section */
.zigbo-learning-goals {
    padding: 15px 0 15px;
    
}

/* Learning Goal box */
.zigbo-learning-goals-box {
    padding: 15px 21px;
}

/* Heading spacing */
.zigbo-learning-goals-heading {
    margin-bottom: 5px;
}

/* Best Sellers / Favorites section */
.zigbo-learning-favorites {
    padding-top: 15px !important;
}
/* =========================================
   ZIGBO VALUE STRIP
========================================= */

.zigbo-value-strip {
    padding: 18px 0;
    background: var(--zigbo-light);
}

.zigbo-value-strip-inner {
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 15px 22px;

    background: #fffaf0;

    border: 1px solid #eadfbf;
    border-radius: 14px;

    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.04);
}

.zigbo-value-strip-item {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 0 20px;

    flex: 1;
}

.zigbo-strip-icon {
    width: 34px;
    height: 34px;

    flex: 0 0 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);

    font-size: 10px;
    font-weight: 800;
}

.zigbo-value-strip-item div:last-child {
    display: flex;
    flex-direction: column;
}

.zigbo-value-strip-item strong {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.8px;
    color: var(--zigbo-dark);
}

.zigbo-value-strip-item span {
    margin-top: 3px;
    font-size: 8px;
    color: var(--zigbo-muted);
}

.zigbo-strip-divider {
    width: 1px;
    height: 30px;
    background: #e5dcc5;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .zigbo-value-strip {
        padding: 12px 0;
    }

    .zigbo-value-strip-inner {
        display: grid;
        grid-template-columns: 1fr 1fr;

        gap: 14px 8px;

        padding: 15px 10px;

        border-radius: 12px;
    }

    .zigbo-value-strip-item {
        padding: 0 5px;
        gap: 7px;
    }

    .zigbo-strip-icon {
        width: 30px;
        height: 30px;
        flex: 0 0 30px;
        font-size: 9px;
    }

    .zigbo-value-strip-item strong {
        font-size: 7px;
        letter-spacing: 0.5px;
    }

    .zigbo-value-strip-item span {
        font-size: 7px;
    }

    .zigbo-strip-divider {
        display: none;
    }
}
/* =========================================
   ZIGBO - PLAY WITH PURPOSE
========================================= */

.zigbo-play-purpose {
    padding: 25px 0 35px;
    background: var(--zigbo-light);
    margin-top: -80px;
}

.zigbo-play-purpose-box {
    position: relative;

    display: grid;
    grid-template-columns: 1fr 0.85fr;

    min-height: 220px;

    overflow: hidden;

    background: #fffaf0;

    border: 1px solid #eadfbf;
    border-radius: 20px;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.05);
}


/* =========================================
   CONTENT
========================================= */

.zigbo-play-purpose-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 35px 45px;
}

.zigbo-play-purpose-badge {
    display: inline-block;

    width: fit-content;

    padding: 5px 10px;

    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);

    border-radius: 5px;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 1px;
}

.zigbo-play-purpose-content h2 {
    margin: 10px 0 7px;

    font-size: 32px;
    line-height: 1.1;

    color: var(--zigbo-dark);
}

.zigbo-play-purpose-content p {
    max-width: 430px;

    margin: 0 0 18px;

    font-size: 12px;
    line-height: 1.6;

    color: var(--zigbo-muted);
}

.zigbo-play-purpose-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    width: fit-content;

    padding: 9px 14px;

    background: var(--zigbo-green);
    color: #ffffff;

    border-radius: 7px;

    text-decoration: none;

    font-size: 10px;
    font-weight: 700;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.zigbo-play-purpose-button span {
    transition: transform 0.3s ease;
}

.zigbo-play-purpose-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 7px 16px rgba(31, 157, 58, 0.2);
}

.zigbo-play-purpose-button:hover span {
    transform: translateX(4px);
}


/* =========================================
   IMAGE
========================================= */

.zigbo-play-purpose-image {
    position: relative;

    min-height: 220px;

    overflow: hidden;
}

.zigbo-play-purpose-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(255, 250, 240, 0.15),
            transparent 35%
        );
}

.zigbo-play-purpose-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 0.6s ease;
}

.zigbo-play-purpose-box:hover
.zigbo-play-purpose-image img {
    transform: scale(1.03);
}


/* =========================================
   MOBILE
========================================= */

/* =========================================
   PLAY WITH PURPOSE - MOBILE
========================================= */

@media (max-width: 767px) {

    .zigbo-play-purpose {
        padding: 25px 0 18px;
    }

    .zigbo-play-purpose-box {
        display: flex;
        flex-direction: column-reverse;
        min-height: auto;
        border-radius: 16px;
    }

    .zigbo-play-purpose-image {
        width: 100%;
        height: 135px;
        min-height: 135px;
    }

    .zigbo-play-purpose-content {
        width: 100%;
        padding: 20px;
    }

    .zigbo-play-purpose-content h2 {
        font-size: 24px;
        margin: 8px 0 6px;
    }

    .zigbo-play-purpose-content p {
        font-size: 10px;
        line-height: 1.45;
        margin-bottom: 14px;
    }

    .zigbo-play-purpose-button {
        font-size: 9px;
        padding: 8px 12px;
    }
}
/* =========================================
   MOBILE BEST SELLERS - 2 x 2 GRID
========================================= */

@media (max-width: 767px) {

    .zigbo-learning-favorites {
        padding: 40px 0;
    }

    .zigbo-learning-favorites .zigbo-section-heading {
        margin-bottom: 22px;
        padding: 0 10px;
    }

    .zigbo-learning-favorites .zigbo-section-heading span {
        font-size: 8px;
        padding: 4px 9px;
    }

    .zigbo-learning-favorites .zigbo-section-heading h2 {
        font-size: 23px;
        margin: 8px 0 5px;
    }

    .zigbo-learning-favorites .zigbo-section-heading p {
        font-size: 10px;
        padding: 0 10px;
    }


    /* 2 x 2 product grid */

    .zigbo-favorites-grid {
        display: grid !important;

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 12px;

        padding: 0 10px;

        overflow: visible;

        width: 100%;
    }


    /* Product card */

    .zigbo-favorite-card {
        width: 100%;
        min-width: 0;

        flex: none;

        scroll-snap-align: none;
    }


    .zigbo-favorite-image {
        aspect-ratio: 1 / 1;
    }


    .zigbo-favorite-content {
        padding: 9px;
    }


    .zigbo-favorite-name {
        font-size: 12px;
        line-height: 1.3;

        margin-bottom: 6px;
    }


    .zigbo-favorite-price-row strong {
        font-size: 15px;
    }


    .zigbo-favorite-price-row button {
        padding: 6px 8px;
        font-size: 9px;
    }


    .zigbo-favorite-features {
        font-size: 9px;
        line-height: 1.5;
    }


    .zigbo-favorite-rating {
        font-size: 9px;
    }
}
@media (max-width: 767px) {

    .zigbo-favorite-content {
        padding: 8px 9px 9px;
    }

    .zigbo-favorite-name {
        font-size: 11px;
        margin-bottom: 5px;
    }

    .zigbo-favorite-price-row {
        margin-bottom: 5px;
    }

    .zigbo-favorite-features {
        font-size: 8.5px;
        line-height: 1.4;
    }

    .zigbo-favorite-rating {
        font-size: 8.5px;
        margin-top: 3px;
    }

    .zigbo-favorite-actions .zigbo-atc {
        min-height: 34px;
        padding: 8px 10px !important;
        font-size: 10px;
        gap: 5px;
    }

    .zigbo-favorite-actions .zigbo-atc-qty button,
    .zigbo-favorite-actions .zigbo-atc-qty-input {
        height: 36px;
    }

    .zigbo-favorite-price-row .amount {
        font-size: 15px;
    }
}
/* =========================================================
   ZIGBO SHOP BY AGE — COMPACT VERSION
   ========================================================= */

.zigbo-shop-age {
    padding: 30px 0 25px;
    background: #ffffff;
}

.zigbo-shop-age-box {
    position: relative;
    width: min(100% - 48px, 1200px);
    height: 225px;
    margin: 0 auto;
    overflow: hidden;

    border-radius: 24px;
    border: 1px solid rgba(62, 157, 225, 0.3);

    background:
        radial-gradient(
            circle at 15% 35%,
            rgba(38, 142, 218, 0.12),
            transparent 20%
        ),
        radial-gradient(
            circle at 88% 70%,
            rgba(35, 111, 206, 0.12),
            transparent 23%
        ),
        linear-gradient(
            145deg,
            #071b3c 0%,
            #062451 50%,
            #031631 100%
        );

    box-shadow:
        0 15px 35px rgba(3, 22, 49, 0.16);
}


/* =========================
   HEADING
   ========================= */

.zigbo-age-heading {
    position: relative;
    z-index: 5;

    text-align: center;
    padding-top: 15px;
}

.zigbo-age-eyebrow {
    display: inline-block;

    margin-bottom: 4px;

    color: #ffffff;

    font-size: 7px;
    font-weight: 700;
    letter-spacing: 3px;
}

.zigbo-age-heading h2 {
    margin: 0;

    color: #ffffff;

    font-size: 34px;
    line-height: 1.05;
    font-weight: 800;

    letter-spacing: -0.7px;
}

.zigbo-age-heading h2 strong {
    color: #ffc62b;
}

.zigbo-age-heading p {
    margin: 6px 0 0;

    color: rgba(255,255,255,0.78);

    font-size: 12px;
}


/* =========================
   AGE LIST
   ========================= */

.zigbo-shop-age-box .zigbo-age-list {
    position: relative;
    z-index: 6;

    display: flex;
    justify-content: center;
    align-items: center;

    gap: 25px;

    margin-top: 20px;
    padding: 0 20px;
}


/* =========================
   AGE ITEM
   ========================= */

.zigbo-shop-age-box .zigbo-age-item {
    display: block;

    width: 110px;
    height: 110px;

    flex: 0 0 105px;

    text-decoration: none;

    transition: transform 0.3s ease;
}


/* =========================
   AGE CIRCLE
   ========================= */

.zigbo-shop-age-box .zigbo-age-circle {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 35% 25%,
            rgba(255,255,255,0.14),
            rgba(255,255,255,0.02) 68%
        );

    border: 2px solid #32b7ff;

    box-shadow:
        inset 0 0 18px rgba(35,164,255,0.1),
        0 0 18px rgba(22,151,255,0.12);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* =========================
   ICON
   ========================= */

.zigbo-age-icon {
    width: 30px;
    height: 30px;

    margin-bottom: 5px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.zigbo-age-icon svg {
    width: 33px;
    height: 33px;

    fill: none;

    stroke: #ffffff;
    stroke-width: 2.7;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 0.3s ease;
}


/* =========================
   AGE TEXT
   ========================= */

.zigbo-shop-age-box .zigbo-age-circle strong {
    color: #ffffff;

    font-size: 18px;
    line-height: 1;

    font-weight: 800;
}

.zigbo-shop-age-box .zigbo-age-circle small {
    margin-top: 4px;

    color: rgba(255,255,255,0.8);

    font-size: 6px;
    font-weight: 700;

    letter-spacing: 1.5px;
}


/* =========================
   HOVER
   ========================= */

.zigbo-shop-age-box .zigbo-age-item:hover {
    transform: translateY(-6px);
}

.zigbo-shop-age-box .zigbo-age-item:hover .zigbo-age-circle {
    transform: scale(1.04);

    box-shadow:
        inset 0 0 22px rgba(42,180,255,0.18),
        0 0 28px rgba(39,173,255,0.3);
}

.zigbo-shop-age-box .zigbo-age-item:hover .zigbo-age-icon svg {
    transform: scale(1.08);
}


/* =========================
   HIDE COLLECTION BUTTON
   ========================= */

.zigbo-shop-age-box .zigbo-age-cta {
    display: none !important;
}


/* =========================
   MOON
   ========================= */

.age-moon {
    position: absolute;

    left: 78px;
    top: 42px;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background: #ffc62b;

    box-shadow:
        0 0 22px rgba(255,198,43,0.25);
}

.age-moon::after {
    content: "";

    position: absolute;

    width: 42px;
    height: 42px;

    left: 12px;
    top: -6px;

    border-radius: 50%;

    background: #081d3e;
}


/* =========================
   ROCKET
   ========================= */

.age-rocket {
    position: absolute;

    right: 78px;
    top: 52px;

    z-index: 3;

    font-size: 32px;

    transform: rotate(-12deg);

    animation: zigboRocket 4s ease-in-out infinite;
}

@keyframes zigboRocket {

    0%, 100% {
        transform: translate(0, 0) rotate(-12deg);
    }

    50% {
        transform: translate(6px, -6px) rotate(-8deg);
    }
}


/* =========================
   STARS
   ========================= */

.age-star {
    position: absolute;
    z-index: 2;

    color: #ffc62b;

    font-size: 16px;

    animation: zigboStarFloat 3s ease-in-out infinite;
}

.age-star-1 {
    left: 120px;
    top: 100px;
}

.age-star-2 {
    right: 105px;
    bottom: 65px;

    font-size: 20px;

    animation-delay: 0.7s;
}

.age-star-3 {
    left: 180px;
    bottom: 35px;

    font-size: 10px;

    animation-delay: 1.2s;
}

@keyframes zigboStarFloat {

    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-5px) rotate(8deg);
    }
}


/* =========================
   SIDE NOTES
   ========================= */

.age-side-note {
    position: absolute;
    z-index: 4;

    color: rgba(255,255,255,0.85);

    font-size: 9px;
    line-height: 1.3;

    font-weight: 600;
    font-style: italic;
}

.age-side-note span {
    display: block;

    color: #ffc62b;

    font-size: 16px;

    margin-top: 3px;
}

.age-note-left {
    left: 25px;
    top: 145px;
}

.age-note-right {
    right: 25px;
    top: 135px;

    text-align: right;
}


/* =========================
   BOTTOM CURVES
   ========================= */

.zigbo-shop-age-box::before,
.zigbo-shop-age-box::after {
    content: "";

    position: absolute;

    bottom: -65px;

    width: 210px;
    height: 110px;

    border-radius: 50%;

    background: rgba(35,125,220,0.23);
}

.zigbo-shop-age-box::before {
    left: -60px;
}

.zigbo-shop-age-box::after {
    right: -60px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-shop-age {
        padding: 20px 0;
    }

    .zigbo-shop-age-box {
        width: calc(100% - 20px);

        height: auto;
        min-height: 330px;

        border-radius: 19px;
    }

    .zigbo-age-heading {
        padding-top: 25px;
    }

    .zigbo-age-eyebrow {
        font-size: 6px;
        letter-spacing: 2px;
    }

    .zigbo-age-heading h2 {
        font-size: 27px;
    }

    .zigbo-age-heading p {
        font-size: 8px;
        padding: 0 15px;
    }

    .zigbo-shop-age-box .zigbo-age-list {
        display: grid;

        grid-template-columns: repeat(2, 1fr);

        gap: 12px;

        margin-top: 20px;

        padding: 0 22px;
    }

    .zigbo-shop-age-box .zigbo-age-item {
        width: 98px;
        height: 98px;

        flex: none;

        justify-self: center;
    }

    .zigbo-age-icon {
        width: 32px;
        height: 32px;
        margin-bottom: 4px;
    }

    .zigbo-age-icon svg {
        width: 31px;
        height: 31px;
    }

    .zigbo-shop-age-box .zigbo-age-circle strong {
        font-size: 16px;
    }

    .zigbo-shop-age-box .zigbo-age-circle small {
        font-size: 5px;
        margin-top: 3px;
    }

    .zigbo-shop-age-box .age-6plus {
        grid-column: 1 / -1;
    }

    .age-moon {
        left: 18px;
        top: 52px;

        width: 27px;
        height: 27px;
    }

    .age-moon::after {
        width: 27px;
        height: 27px;

        left: 9px;
        top: -4px;
    }

    .age-rocket {
        right: 18px;
        top: 55px;

        font-size: 22px;
    }

    .age-star-1 {
        left: 48px;
        top: 95px;

        font-size: 10px;
    }

    .age-star-2 {
        right: 23px;
        bottom: 60px;

        font-size: 14px;
    }

    .age-star-3 {
        left: 25px;
        bottom: 30px;

        font-size: 8px;
    }

    .age-side-note {
        display: none;
    }
}
/* =========================================================
   ZIGBO SHOP BY AGE — COMPACT MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-shop-age {
        padding: 2px 0 5px;
    }

    .zigbo-shop-age-box {
        width: calc(100% - 10px);
        height: 140px;
        min-height: 140px;
        padding: 0;
        border-radius: 15px;
    }


    /* HEADING */

    .zigbo-age-heading {
        padding-top: 2px;
    }

    .zigbo-age-eyebrow {
        font-size: 5px;
        letter-spacing: 1.8px;
        margin-bottom: 3px;
    }

    .zigbo-age-heading h2 {
        font-size: 23px;
        letter-spacing: -0.5px;
    }

    .zigbo-age-heading p {
        margin-top: 2px;
        padding: 0 10px;
        font-size: 7px;
    }


    /* AGE ROW — ALL 5 IN ONE LINE */

    .zigbo-shop-age-box .zigbo-age-list {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;

        gap: 10px;

        margin-top: 10px;
        padding: 0 8px;

        overflow: visible;
    }


    /* SMALL CIRCLES */

    .zigbo-shop-age-box .zigbo-age-item {
        width: 58px;
        height: 58px;
        min-width: 58px;
        flex: 0 0 58px;
    }

    .zigbo-shop-age-box .zigbo-age-circle {
        width: 58px;
        height: 58px;
        border-width: 1.5px;
    }


    /* ICON */

    .zigbo-age-icon {
        width: 21px;
        height: 21px;
        margin-bottom: 1px;
    }

    .zigbo-age-icon svg {
        width: 22px;
        height: 22px;
        stroke-width: 2.5;
    }


    /* TEXT */

    .zigbo-shop-age-box .zigbo-age-circle strong {
        font-size: 13px;
    }

    .zigbo-shop-age-box .zigbo-age-circle small {
        margin-top: 3px;
        font-size: 8px;
        letter-spacing: 0.8px;
    }


    /* REMOVE EXTRA MOBILE GRID BEHAVIOUR */

    .zigbo-shop-age-box .age-6plus {
        grid-column: auto;
    }


    /* DECORATIONS */

    .age-moon {
        left: 25px;
        top: 38px;

        width: 25px;
        height: 25px;
    }

    .age-moon::after {
        width: 25px;
        height: 25px;

        left: 8px;
        top: -4px;
    }

    .age-rocket {
        right: 18px;
        top: 42px;

        font-size: 21px;
    }

    .age-star-1 {
        left: 45px;
        top: 75px;
        font-size: 9px;
    }

    .age-star-2 {
        right: 25px;
        bottom: 42px;
        font-size: 12px;
    }

    .age-star-3 {
        left: 30px;
        bottom: 25px;
        font-size: 7px;
    }


    /* SIDE TEXT HIDE */

    .age-side-note {
        display: none;
    }


    /* SHOP BY AGE CTA HIDE */

    .zigbo-shop-age-box .zigbo-age-cta {
        display: none !important;
    }
}
@media (max-width: 767px) {

    /* MOBILE CATEGORY SLIDER */

    .zigbo-category-grid,
    .zigbo-categories-grid,
    .zigbo-category-list {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 12px !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        padding-left: 16px !important;
        padding-right: 16px !important;

        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;

        scrollbar-width: none;
    }

    .zigbo-category-grid::-webkit-scrollbar,
    .zigbo-categories-grid::-webkit-scrollbar,
    .zigbo-category-list::-webkit-scrollbar {
        display: none;
    }


    /* CARD */

    .zigbo-category-card {
        width: 65% !important;
        min-width: 65% !important;
        max-width: 65% !important;

        flex: 0 0 65% !important;

        scroll-snap-align: start;

        border-radius: 14px !important;
    }


    /* IMAGE */

    .zigbo-category-image {
        height: 140px !important;
        aspect-ratio: auto !important;
    }


    /* CONTENT */

    .zigbo-category-content {
        padding: 8px 10px 10px !important;
    }

    .zigbo-category-content h3 {
        font-size: 15px !important;
        margin-bottom: 5px !important;
    }

    .zigbo-category-content p {
        font-size: 10px !important;
        line-height: 1.4 !important;
        margin-bottom: 10px !important;
    }

    .zigbo-category-link {
        font-size: 11px !important;
    }

}
/* MOBILE — REDUCE CATEGORY GAP */

@media (max-width: 767px) {

    .zigbo-explore-category {
        padding-top: 7 !important;
        padding-bottom: 50px !important;
    }

    .zigbo-explore-category .zigbo-category-heading {
        margin-bottom: 10px !important;
    }

    .zigbo-explore-category .zigbo-category-grid {
        margin-top: 0 !important;
    }

}
/* =========================================================
   WHY PARENTS LOVE ZIGBO
   ========================================================= */

.zigbo-why-parents {
    padding: 15px 0 5px;
    background: #ffffff;
}

.zigbo-why-heading {
    text-align: center;
    margin-bottom: 15px;
}

.zigbo-why-heading > span {
    display: inline-block;

    padding: 5px 20px;

    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);

    border-radius: 5px;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.zigbo-why-heading h2 {
    margin: 10px 0 7px;

    color: var(--zigbo-dark);

    font-size: 32px;
    line-height: 1.15;
}

.zigbo-why-heading p {
    max-width: 600px;
    margin: 0 auto;

    color: var(--zigbo-muted);

    font-size: 12px;
    line-height: 1.6;
}


/* GRID */

.zigbo-why-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;
}


/* CARD */

.zigbo-why-card {
    display: flex;
    align-items: flex-start;

    gap: 14px;

    padding: 22px 18px;

    background: #ffffff;

    border: 1px solid #e8e8e8;

    border-radius: 14px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.zigbo-why-card:hover {
    transform: translateY(-4px);

    border-color: rgba(34, 155, 91, 0.3);

    box-shadow:
        0 12px 30px rgba(0,0,0,0.07);
}


/* ICON */

.zigbo-why-icon {
    width: 42px;
    height: 42px;

    min-width: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: #fff7d8;
}

.zigbo-why-icon svg {
    width: 25px;
    height: 25px;

    fill: none;

    stroke: var(--zigbo-green);

    stroke-width: 2.5;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* TEXT */

.zigbo-why-card h3 {
    margin: 1px 0 5px;

    color: var(--zigbo-dark);

    font-size: 13px;
    line-height: 1.25;
}

.zigbo-why-card p {
    margin: 0;

    color: var(--zigbo-muted);

    font-size: 9px;
    line-height: 1.5;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-why-parents {
        padding: 40px 0;
    }

    .zigbo-why-heading {
        margin-bottom: 22px;

        padding: 0 12px;
    }

    .zigbo-why-heading > span {
        font-size: 7px;
        padding: 4px 9px;
    }

    .zigbo-why-heading h2 {
        font-size: 23px;
        margin: 8px 0 5px;
    }

    .zigbo-why-heading p {
        font-size: 9px;
        line-height: 1.5;
    }


    .zigbo-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 10px;

        padding: 0 10px;
    }


    .zigbo-why-card {
        display: block;

        padding: 15px 12px;

        border-radius: 12px;
    }


    .zigbo-why-icon {
        width: 34px;
        height: 34px;

        min-width: 34px;

        margin-bottom: 9px;

        border-radius: 9px;
    }

    .zigbo-why-icon svg {
        width: 20px;
        height: 20px;
    }


    .zigbo-why-card h3 {
        font-size: 11px;
        margin-bottom: 4px;
    }

    .zigbo-why-card p {
        font-size: 8px;
        line-height: 1.45;
    }

}
/* REDUCE GAP — BEST SELLERS → WHY ZIGBO */

.zigbo-learning-favorites {
    padding-bottom: 25px !important;
}

.zigbo-why-parents {
    padding-top: 35px !important;
}
/* REDUCE GAP — WHY ZIGBO → FOOTER */

.zigbo-why-parents {
    padding-bottom: 15px !important;
}

.zigbo-why-grid {
    margin-bottom: 0 !important;
}
/* =========================================================
   ZIGBO FINAL CTA
   ========================================================= */

.zigbo-final-cta {
    padding: 35px 0;
    background: #fff8df;
}

.zigbo-final-cta-inner {
    position: relative;

    text-align: center;

    padding: 32px 20px;

    border: 1px solid #f0df9d;
    border-radius: 18px;

    background:
        radial-gradient(
            circle at 15% 50%,
            rgba(255,198,43,0.12),
            transparent 25%
        ),
        radial-gradient(
            circle at 85% 50%,
            rgba(35,155,91,0.08),
            transparent 25%
        );
}

.zigbo-final-cta-badge {
    display: inline-block;

    padding: 5px 10px;

    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);

    border-radius: 5px;

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.zigbo-final-cta-inner h2 {
    margin: 10px 0 6px;

    color: var(--zigbo-dark);

    font-size: 30px;
    line-height: 1.15;
}

.zigbo-final-cta-inner p {
    max-width: 520px;

    margin: 0 auto 16px;

    color: var(--zigbo-muted);

    font-size: 11px;
    line-height: 1.5;
}

.zigbo-final-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 10px 18px;

    background: var(--zigbo-green);
    color: #ffffff;

    border-radius: 7px;

    text-decoration: none;

    font-size: 10px;
    font-weight: 700;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.zigbo-final-cta-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(0,0,0,0.12);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-final-cta {
        padding: 20px 0;
    }

    .zigbo-final-cta-inner {
        padding: 25px 15px;

        border-radius: 15px;
    }

    .zigbo-final-cta-badge {
        font-size: 6px;
        padding: 4px 8px;
    }

    .zigbo-final-cta-inner h2 {
        font-size: 23px;
        margin: 8px 0 5px;
    }

    .zigbo-final-cta-inner p {
        font-size: 9px;
        line-height: 1.45;
        margin-bottom: 13px;
    }

    .zigbo-final-cta-button {
        padding: 9px 15px;
        font-size: 9px;
    }

}
/* =========================================================
   WHY ZIGBO — COMPACT YELLOW MOBILE CARDS
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-why-grid {
        gap: 10px !important;
    }

    .zigbo-why-card {
        min-height: 0 !important;
        height: 65px !important;

        padding: 10px 10px !important;

        background: #ffcc00 !important;

        border: 1px solid #e6b800 !important;
        border-radius: 10px !important;

        display: flex !important;
        align-items: center !important;
        gap: 9px !important;
    }


    /* ICON */

    .zigbo-why-icon {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;

        margin: 0 !important;

        background: #fff7d8 !important;
        border-radius: 8px !important;
    }

    .zigbo-why-icon svg {
        width: 18px !important;
        height: 18px !important;
    }


    /* TEXT */

    .zigbo-why-card h3 {
        font-size: 10.5px !important;
        margin: 0 0 3px !important;
        line-height: 1.2 !important;
    }

    .zigbo-why-card p {
        font-size: 7px !important;
        line-height: 1.3 !important;
        margin: 0 !important;
    }
}
@media (max-width: 767px) {

    /* WHY ZIGBO SECTION */
    .zigbo-why-parents {
        padding-top: 12px !important;
        padding-bottom: 15px !important;
    }

    /* HEADING */
    .zigbo-why-heading {
        margin-bottom: 12px !important;
        padding: 0 12px !important;
    }

    .zigbo-why-heading > span {
        padding: 3px 8px !important;
        font-size: 5px !important;
        margin-bottom: 1px !important;
    }

    .zigbo-why-heading h2 {
        font-size: 20px !important;
        margin: 5px 0 3px !important;
        line-height: 1.1 !important;
    }

    .zigbo-why-heading p {
        font-size: 7px !important;
        line-height: 1.3 !important;
        max-width: 310px !important;
    }


    /* YELLOW CARDS */
    .zigbo-why-grid {
        gap: 6px !important;
        padding: 0 12px !important;
    }

    .zigbo-why-card {
        height: 62px !important;
        min-height: 62px !important;

        padding: 7px 8px !important;

        gap: 7px !important;

        border-radius: 9px !important;
    }


    /* ICON */
    .zigbo-why-icon {
        width: 27px !important;
        height: 27px !important;
        min-width: 27px !important;

        border-radius: 7px !important;
    }

    .zigbo-why-icon svg {
        width: 16px !important;
        height: 16px !important;
    }


    /* CARD TEXT */
    .zigbo-why-card h3 {
        font-size: 8px !important;
        line-height: 1.15 !important;
        margin: 0 0 2px !important;
    }

    .zigbo-why-card p {
        font-size: 5.8px !important;
        line-height: 1.25 !important;
    }
}
/* =========================================================
   ZIGBO CLUB — NEWSLETTER
   ========================================================= */

.zigbo-club {
    padding: 15px 0 30px;
    background: #ffffff;
}

.zigbo-club-box {
    position: relative;

    display: grid;
    grid-template-columns: 1.15fr 0.85fr;

    min-height: 300px;

    overflow: hidden;

    border: 1px solid #f0df9d;
    border-radius: 20px;

    background:
        radial-gradient(
            circle at 15% 40%,
            rgba(255,204,0,0.12),
            transparent 28%
        ),
        #fffaf0;
}


/* CONTENT */

.zigbo-club-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 32px 40px;
}

.zigbo-club-badge {
    display: inline-block;

    width: fit-content;

    padding: 6px 11px;

    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);

    border-radius: 6px;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.zigbo-club-content h2 {
    margin: 12px 0 7px;

    color: var(--zigbo-dark);

    font-size: 31px;
    line-height: 1.1;
}

.zigbo-club-content > p {
    max-width: 460px;

    margin: 0 0 17px;

    color: var(--zigbo-muted);

    font-size: 11px;
    line-height: 1.55;
}


/* BENEFITS */

.zigbo-club-benefits {
    display: flex;

    gap: 25px;

    margin-bottom: 18px;
}

.zigbo-club-benefit {
    display: flex;
    align-items: center;

    gap: 7px;
}

.zigbo-club-benefit span {
    width: 40px;
    height: 40px;
    font-size: 25px;
}

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: var(--zigbo-yellow);

    font-size: 14px;
}

.zigbo-club-benefit strong {
    font-size: 9px;
    line-height: 1.25;
}


/* FORM */

.zigbo-club-form {
    display: flex;

    max-width: 430px;

    gap: 8px;
}

.zigbo-club-form input {
    flex: 1;

    min-width: 0;

    height: 40px;

    padding: 0 13px;

    border: 1px solid #dddddd;
    border-radius: 7px;

    background: #ffffff;

    color: var(--zigbo-dark);

    font-size: 13px;

    outline: none;
}

.zigbo-club-form input:focus {
    border-color: var(--zigbo-green);
}

.zigbo-club-form button {
    height: 40px;

    padding: 0 17px;

    border: 0;
    border-radius: 7px;

    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);

    font-size: 12px;
    font-weight: 800;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.zigbo-club-form button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 7px 18px rgba(0,0,0,0.1);
}


/* PRIVACY */

.zigbo-club-privacy {
    margin-top: 7px;

    color: var(--zigbo-muted);

    font-size: 11px;
}


/* IMAGE */

.zigbo-club-image {
    min-height: 300px;

    overflow: hidden;
}

.zigbo-club-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-club {
        padding: 15px 0 20px;
    }

    .zigbo-club-box {
        display: flex;
        flex-direction: column-reverse;

        min-height: auto;

        border-radius: 15px;
    }

    .zigbo-club-image {
        width: 100%;
        height: 145px;
        min-height: 145px;
    }

    .zigbo-club-content {
        width: 100%;

        padding: 20px 14px 18px;
    }


    .zigbo-club-badge {
        padding: 5px 9px;

        font-size: 6px;
        letter-spacing: 0.8px;
    }

    .zigbo-club-content h2 {
        margin: 8px 0 5px;

        font-size: 22px;
    }

    .zigbo-club-content > p {
        margin-bottom: 13px;

        font-size: 8px;
        line-height: 1.45;
    }


    /* BENEFITS */

    .zigbo-club-benefits {
        display: grid;
        grid-template-columns: repeat(2, 1fr);

        gap: 8px;

        margin-bottom: 13px;
    }

    .zigbo-club-benefit {
        gap: 6px;
    }

    .zigbo-club-benefit span {
        width: 27px;
        height: 27px;

        min-width: 27px;

        border-radius: 7px;

        font-size: 12px;
    }

    .zigbo-club-benefit strong {
        font-size: 6.5px;
    }


    /* FORM */

    .zigbo-club-form {
        width: 100%;

        gap: 6px;
    }

    .zigbo-club-form input {
        height: 36px;

        padding: 0 10px;

        font-size: 8px;
    }

    .zigbo-club-form button {
        height: 36px;

        padding: 0 13px;

        font-size: 8px;
    }

    .zigbo-club-privacy {
        font-size: 6px;
    }

}
/* =========================================================
   HERO → SHOP BY AGE GAP
   ========================================================= */

@media (min-width: 768px) {

    .zigbo-hero-inner {
        min-height: 490px !important;
        padding: 40px 0 !important;
    }

}
/* =========================================================
   ZIGBO SHOP PAGE
   ========================================================= */

.zigbo-shop-page {
    background: #ffffff;
}


/* ================= SHOP HERO ================= */

.zigbo-shop-hero {
    padding: 55px 0 40px;
    text-align: center;
    background: #ffffff;
}

.zigbo-shop-eyebrow {
    display: inline-block;
    padding: 6px 12px;

    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);

    border-radius: 6px;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.zigbo-shop-hero h1 {
    margin: 12px 0 8px;

    color: var(--zigbo-dark);

    font-size: 38px;
    line-height: 1.1;
}

.zigbo-shop-hero p {
    margin: 0 auto;

    color: var(--zigbo-muted);

    font-size: 12px;
}


/* ================= SHOP CONTENT ================= */

.zigbo-shop-content {
    padding: 15px 0 55px;
}


/* ================= CATEGORY NAV ================= */

.zigbo-shop-categories {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-bottom: 25px;

    flex-wrap: wrap;
}

.zigbo-shop-categories a {
    display: inline-flex;
    align-items: center;

    padding: 8px 14px;

    border: 1px solid #e1e1e1;
    border-radius: 20px;

    background: #ffffff;
    color: var(--zigbo-dark);

    text-decoration: none;

    font-size: 10px;
    font-weight: 600;

    transition: all 0.2s ease;
}

.zigbo-shop-categories a:hover,
.zigbo-shop-categories a.active {
    background: var(--zigbo-yellow);
    border-color: var(--zigbo-yellow);
}


/* ================= TOOLBAR ================= */

.zigbo-shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 12px 0;

    margin-bottom: 25px;

    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
}

.zigbo-shop-age-filter {
    display: flex;
    align-items: center;

    gap: 8px;
}

.zigbo-shop-age-filter span {
    margin-right: 3px;

    color: var(--zigbo-dark);

    font-size: 10px;
    font-weight: 700;
}

.zigbo-shop-age-filter a {
    padding: 5px 8px;

    border-radius: 5px;

    color: var(--zigbo-muted);

    text-decoration: none;

    font-size: 9px;
}

.zigbo-shop-age-filter a:hover {
    background: #fff4c7;
    color: var(--zigbo-dark);
}


/* SORT */

.zigbo-shop-sort .woocommerce-ordering {
    margin: 0;
}

.zigbo-shop-sort select {
    height: 32px;

    padding: 0 28px 0 10px;

    border: 1px solid #dddddd;
    border-radius: 6px;

    background: #ffffff;

    color: var(--zigbo-dark);

    font-size: 9px;
}


/* ================= PRODUCT GRID ================= */

.zigbo-shop-grid {
    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 25px;
}


/* PRODUCT CARD */

.zigbo-shop-product-card {
    position: relative;

    margin: 0 !important;
    padding: 0 !important;

    width: auto !important;

    list-style: none !important;

    border: 1px solid #e8e8e8;
    border-radius: 14px;

    overflow: hidden;

    background: #ffffff;

    box-shadow: 0 6px 18px rgba(0,0,0,0.05);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.zigbo-shop-product-card:hover {
    transform: translateY(-3px);

    box-shadow: 0 12px 28px rgba(0,0,0,0.09);
}


/* ================= PRODUCT IMAGE ================= */

.zigbo-shop-product-image {
    position: relative;

    width: 100%;

    aspect-ratio: 1 / 1;

    overflow: hidden;

    background: #fafafa;
}

.zigbo-shop-product-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    margin: 0 !important;

    transition: transform 0.25s ease;
}

.zigbo-shop-product-card:hover
.zigbo-shop-product-image img {
    transform: scale(1.03);
}


/* AGE TAG */

.zigbo-product-age {
    position: absolute;

    top: 10px;
    left: 10px;

    z-index: 3;

    padding: 5px 9px;

    background: #fff8d9;
    color: var(--zigbo-dark);

    border: 1px solid #f0d56a;
    border-radius: 20px;

    font-size: 8px;
    font-weight: 800;
}


/* ================= PRODUCT INFO ================= */

.zigbo-shop-product-info {
    padding: 13px 13px 14px;
}

.zigbo-shop-product-title {
    margin: 0 0 7px !important;

    color: var(--zigbo-dark);

    font-size: 15px !important;
    line-height: 1.25;

    font-weight: 700;
}

.zigbo-shop-product-price {
    margin-bottom: 8px;

    color: var(--zigbo-dark);

    font-size: 15px;
    font-weight: 800;
}

.zigbo-shop-product-price del {
    margin-right: 4px;

    color: #999999;

    font-size: 10px;
    font-weight: 400;
}

.zigbo-shop-product-price ins {
    text-decoration: none;
}


/* PRODUCT META */

.zigbo-shop-product-meta {
    display: flex;
    flex-direction: column;

    gap: 3px;

    margin-bottom: 9px;

    color: var(--zigbo-muted);

    font-size: 8px;
    line-height: 1.35;
}


/* RATING */

.zigbo-shop-product-rating {
    display: flex;
    align-items: center;

    gap: 5px;

    margin-bottom: 11px;

    color: var(--zigbo-muted);

    font-size: 8px;
}

.zigbo-stars {
    color: #f6a623;

    letter-spacing: 1px;

    font-size: 10px;
}


/* ADD TO CART */

.zigbo-add-to-cart {
    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 100%;

    min-height: 34px;

    padding: 8px 10px;

    border: 0 !important;
    border-radius: 6px;

    background: var(--zigbo-yellow) !important;
    color: var(--zigbo-dark) !important;

    text-decoration: none !important;

    font-size: 9px;
    font-weight: 800;

    transition: transform 0.2s ease;
}

.zigbo-add-to-cart:hover {
    transform: translateY(-1px);

    background: var(--zigbo-yellow) !important;
}


/* ================= PAGINATION ================= */

.zigbo-shop-pagination {
    margin-top: 35px;

    text-align: center;
}

.zigbo-shop-pagination .page-numbers {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 30px;
    height: 30px;

    margin: 0 3px;

    border: 1px solid #e2e2e2;
    border-radius: 6px;

    color: var(--zigbo-dark);

    text-decoration: none;

    font-size: 9px;
}

.zigbo-shop-pagination .page-numbers.current,
.zigbo-shop-pagination .page-numbers:hover {
    background: var(--zigbo-yellow);
    border-color: var(--zigbo-yellow);
}


/* =========================================================
   MOBILE SHOP
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-shop-hero {
        padding: 30px 0 25px;
    }

    .zigbo-shop-eyebrow {
        padding: 5px 9px;
        font-size: 6px;
    }

    .zigbo-shop-hero h1 {
        margin: 8px 0 5px;
        font-size: 25px;
    }

    .zigbo-shop-hero p {
        padding: 0 20px;
        font-size: 8px;
        line-height: 1.4;
    }


    .zigbo-shop-content {
        padding: 10px 0 30px;
    }


    /* CATEGORY SCROLL */

    .zigbo-shop-categories {
        justify-content: flex-start;

        flex-wrap: nowrap;

        overflow-x: auto;

        gap: 6px;

        padding: 0 10px 8px;

        margin-bottom: 15px;

        scrollbar-width: none;
    }

    .zigbo-shop-categories::-webkit-scrollbar {
        display: none;
    }

    .zigbo-shop-categories a {
        flex: 0 0 auto;

        padding: 6px 10px;

        font-size: 7px;
    }


    /* TOOLBAR */

    .zigbo-shop-toolbar {
        margin: 0 10px 18px;

        padding: 9px 0;

        gap: 8px;
    }

    .zigbo-shop-age-filter {
        gap: 3px;

        overflow-x: auto;

        white-space: nowrap;

        scrollbar-width: none;
    }

    .zigbo-shop-age-filter::-webkit-scrollbar {
        display: none;
    }

    .zigbo-shop-age-filter span {
        font-size: 7px;
    }

    .zigbo-shop-age-filter a {
        padding: 4px 5px;

        font-size: 7px;
    }

    .zigbo-shop-sort select {
        height: 28px;

        font-size: 7px;
    }


    /* 2 COLUMN PRODUCT GRID */

    .zigbo-shop-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 10px;

        padding: 0 10px;
    }


    /* PRODUCT CARD */

    .zigbo-shop-product-card {
        border-radius: 10px;
    }


    .zigbo-shop-product-image {
        aspect-ratio: 1 / 1;
    }


    .zigbo-product-age {
        top: 6px;
        left: 6px;

        padding: 4px 6px;

        font-size: 6px;
    }


    .zigbo-shop-product-info {
        padding: 9px 8px 10px;
    }

    .zigbo-shop-product-title {
        margin-bottom: 5px !important;

        font-size: 10px !important;
    }

    .zigbo-shop-product-price {
        margin-bottom: 5px;

        font-size: 10px;
    }

    .zigbo-shop-product-price del {
        font-size: 7px;
    }

    .zigbo-shop-product-meta {
        gap: 2px;

        margin-bottom: 6px;

        font-size: 6px;
    }

    .zigbo-shop-product-rating {
        margin-bottom: 7px;

        font-size: 6px;
    }

    .zigbo-stars {
        font-size: 7px;
        letter-spacing: 0.5px;
    }

    .zigbo-add-to-cart {
        min-height: 28px;

        padding: 6px 7px;

        font-size: 7px;
    }

}
/* =========================================================
   ZIGBO SHOP — PREMIUM HERO + SHOP LAYOUT
   ========================================================= */


/* ================= SHOP HERO ================= */

.zigbo-shop-hero {
    padding: 28px 0 22px;
    background: #ffffff;
}

.zigbo-shop-hero-inner {
    position: relative;

    width: min(100% - 48px, 1200px);
    min-height: 255px;

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    border: 1px solid #f0df9d;
    border-radius: 22px;

    background:
        radial-gradient(
            circle at 15% 50%,
            rgba(255, 204, 0, 0.18),
            transparent 28%
        ),
        radial-gradient(
            circle at 85% 40%,
            rgba(75, 181, 79, 0.10),
            transparent 28%
        ),
        #fff9e9;

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.06);
}


/* decorative circles */

.zigbo-shop-hero-inner::before,
.zigbo-shop-hero-inner::after {
    content: "";

    position: absolute;

    width: 110px;
    height: 110px;

    border-radius: 50%;

    background: rgba(255, 204, 0, 0.10);
}

.zigbo-shop-hero-inner::before {
    left: -35px;
    bottom: -45px;
}

.zigbo-shop-hero-inner::after {
    right: -30px;
    top: -40px;
}


/* HERO CONTENT */

.zigbo-shop-hero-content {
    position: relative;
    z-index: 2;

    text-align: center;

    max-width: 650px;
}

.zigbo-shop-eyebrow {
    display: inline-block;

    padding: 6px 12px;

    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);

    border-radius: 6px;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.zigbo-shop-hero h1 {
    margin: 12px 0 7px;

    color: var(--zigbo-dark);

    font-size: 42px;
    line-height: 1.05;
    letter-spacing: -1px;
}

.zigbo-shop-hero h1 span {
    color: var(--zigbo-yellow);
}

.zigbo-shop-hero p {
    margin: 0 auto;

    max-width: 500px;

    color: var(--zigbo-muted);

    font-size: 12px;
    line-height: 1.5;
}


/* DECORATIONS */

.zigbo-shop-hero-decoration {
    position: absolute;

    z-index: 2;

    color: var(--zigbo-yellow);

    font-size: 30px;
}

.zigbo-deco-left {
    left: 8%;
    top: 28%;
}

.zigbo-deco-right {
    right: 8%;
    bottom: 25%;
}


/* =========================================================
   SHOP CONTENT
   ========================================================= */

.zigbo-shop-content {
    padding: 10px 0 55px;
}


/* ================= CATEGORY NAV ================= */

.zigbo-shop-categories {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-bottom: 22px;
}

.zigbo-shop-categories a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 8px 15px;

    border: 1px solid #e2e2e2;
    border-radius: 20px;

    background: #ffffff;
    color: var(--zigbo-dark);

    text-decoration: none;

    font-size: 9px;
    font-weight: 700;

    transition: 0.2s ease;
}

.zigbo-shop-categories a:hover,
.zigbo-shop-categories a.active {
    background: var(--zigbo-yellow);
    border-color: var(--zigbo-yellow);
}


/* ================= TOOLBAR ================= */

.zigbo-shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 10px 0;

    margin-bottom: 22px;

    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
}

.zigbo-shop-age-filter {
    display: flex;
    align-items: center;

    gap: 5px;
}

.zigbo-shop-age-filter strong {
    margin-right: 4px;

    font-size: 9px;
    color: var(--zigbo-dark);
}

.zigbo-shop-age-filter a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 30px;

    padding: 5px 7px;

    border-radius: 5px;

    color: var(--zigbo-muted);

    text-decoration: none;

    font-size: 8px;
}

.zigbo-shop-age-filter a:hover,
.zigbo-shop-age-filter a.active {
    background: #fff4c7;
    color: var(--zigbo-dark);
}


/* SORT */

.zigbo-shop-sort .woocommerce-ordering {
    margin: 0;
}

.zigbo-shop-sort select {
    height: 31px;

    padding: 0 28px 0 9px;

    border: 1px solid #dddddd;
    border-radius: 6px;

    background: #ffffff;

    color: var(--zigbo-dark);

    font-size: 8px;
}


/* =========================================================
   PRODUCT GRID
   ========================================================= */

.zigbo-shop-grid {
    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 22px;
}


/* CARD */

.zigbo-shop-product-card {
    display: flex !important;
    flex-direction: column;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden;

    border: 1px solid #e7e7e7;
    border-radius: 13px;

    background: #ffffff;

    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.045);

    list-style: none !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.zigbo-shop-product-card:hover {
    transform: translateY(-3px);

    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.09);
}


/* IMAGE */

.zigbo-shop-product-image {
    position: relative;

    width: 100%;

    aspect-ratio: 1 / 0.82;

    overflow: hidden;

    background: #fafafa;
}

.zigbo-shop-product-image img {
    width: 100%;
    height: 100%;

    display: block;

    margin: 0 !important;

    object-fit: cover;

    transition: transform 0.25s ease;
}

.zigbo-shop-product-card:hover
.zigbo-shop-product-image img {
    transform: scale(1.025);
}


/* AGE TAG */

.zigbo-product-age {
    position: absolute;

    top: 9px;
    left: 9px;

    z-index: 4;

    padding: 5px 8px;

    background: #fff8d9;
    color: var(--zigbo-dark);

    border: 1px solid #efd46b;
    border-radius: 20px;

    font-size: 7px;
    font-weight: 800;
}


/* INFO */

.zigbo-shop-product-info {
    padding: 10px 10px 11px;
}

/* =========================================================
   SHOP PAGE — FULL-WIDTH HERO REFINEMENT
   ========================================================= */

.zigbo-shop-hero {
    padding: 0;
    overflow: hidden;
    background: #fff9e9;
}

.zigbo-shop-hero-inner {
    width: 100%;
    min-height: 300px;
    margin: 0;
    padding: 34px 24px 72px;
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 13% 62%, rgba(246, 201, 40, 0.19), transparent 18%),
        radial-gradient(circle at 87% 55%, rgba(31, 157, 58, 0.11), transparent 20%),
        #fff9e9;
    box-shadow: none;
}

.zigbo-shop-hero-content {
    max-width: 620px;
}

.zigbo-shop-hero h1 {
    margin: 10px 0 6px;
    font-size: 44px;
}

.zigbo-shop-hero-visual {
    position: absolute;
    z-index: 1;
    bottom: 22px;
    width: clamp(180px, 20vw, 300px);
    overflow: hidden;
    border: 1px solid rgba(228, 181, 22, 0.22);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.58);
    box-shadow: 0 14px 28px rgba(86, 65, 17, 0.1);
}

.zigbo-shop-hero-visual img {
    display: block;
    width: 100%;
    aspect-ratio: 1.5 / 1;
    object-fit: cover;
}

.zigbo-shop-hero-visual-left {
    left: clamp(20px, 7vw, 130px);
    transform: rotate(-4deg);
}

.zigbo-shop-hero-visual-right {
    right: clamp(20px, 7vw, 130px);
    transform: rotate(4deg);
}

.zigbo-shop-hero-decoration {
    display: none;
}

.zigbo-shop-content {
    padding: 0 0 48px;
}

.zigbo-shop-categories {
    position: relative;
    z-index: 3;
    width: min(100% - 32px, var(--zigbo-container));
    margin: -52px auto 8px;
    padding: 0 16px;
}

.zigbo-shop-categories a {
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 12px rgba(86, 65, 17, 0.08);
}

.zigbo-shop-toolbar {
    padding: 11px 0;
    margin-bottom: 14px;
}

/* Product information remains data-led: hide the existing hard-coded claims and stars. */
.zigbo-shop-product-meta,
.zigbo-stars {
    display: none;
}

.zigbo-shop-product-rating {
    min-height: 0;
    margin-bottom: 6px;
}

@media (max-width: 767px) {
    .zigbo-shop-hero-inner {
        width: 100%;
        min-height: 210px;
        padding: 26px 20px 52px;
        border-radius: 0;
    }

    .zigbo-shop-hero-content {
        max-width: 78%;
    }

    .zigbo-shop-hero h1 {
        margin: 7px 0 4px;
        font-size: 29px;
    }

    .zigbo-shop-hero p {
        padding: 0;
        font-size: 8px;
    }

    .zigbo-shop-hero-visual {
        bottom: 20px;
        width: 112px;
        border-radius: 10px;
        opacity: 0.55;
    }

    .zigbo-shop-hero-visual-left {
        left: -32px;
    }

    .zigbo-shop-hero-visual-right {
        right: -32px;
    }

    .zigbo-shop-categories {
        width: 100%;
        margin: -32px 0 4px;
        padding: 0 10px 6px;
    }

    .zigbo-shop-categories a {
        padding: 6px 10px;
    }

    .zigbo-shop-toolbar {
        margin: 0 10px 10px;
        padding: 8px 0;
    }
}

/* Product-card detail refinements (kept last to override legacy shop CSS). */
.zigbo-sale-badge{position:absolute;z-index:5;top:12px;left:12px;padding:5px 9px;border-radius:7px;background:#f04452;color:#fff;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase}.zigbo-shop-product-image .zigbo-product-age{top:12px;left:auto;right:12px;background:#fff8d9;color:#294033;box-shadow:0 2px 7px rgba(0,0,0,.08)}.zigbo-shop-product-info{padding:14px 14px 12px}.zigbo-shop-product-title{min-height:0;margin:0 0 6px!important;font-size:15px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zigbo-shop-product-rating{min-height:18px;margin:0 0 7px}.zigbo-shop-product-rating .star-rating{font-size:13px}.zigbo-shop-product-price{margin-bottom:12px;font-size:16px}.zigbo-shop-product-price del{margin-left:6px;color:#929a94;font-size:12px}.zigbo-shop-product-card .button{border-radius:100px;background:#ffc928!important;min-height:42px;font-size:13px}.zigbo-shop-product-card .button:before{content:"🛒";margin-right:7px;font-size:14px}@media(max-width:640px){.zigbo-sale-badge{top:7px;left:7px;padding:4px 6px;font-size:8px}.zigbo-shop-product-image .zigbo-product-age{top:7px;right:7px;padding:4px 6px;font-size:7px}.zigbo-shop-product-info{padding:10px}.zigbo-shop-product-title{font-size:12px!important}.zigbo-shop-product-rating{margin-bottom:4px}.zigbo-shop-product-price{font-size:13px}.zigbo-shop-product-card .button{min-height:36px;font-size:11px}}
/* Specificity keeps these card details above older theme rules declared later. */
body .zigbo-sale-badge{position:absolute;z-index:5;top:12px;left:12px;padding:5px 9px;border-radius:7px;background:#f04452;color:#fff;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase}body .zigbo-shop-product-image .zigbo-product-age{top:12px;left:auto;right:12px;background:#fff8d9;color:#294033;box-shadow:0 2px 7px rgba(0,0,0,.08)}body .zigbo-shop-product-info{padding:14px 14px 12px}body .zigbo-shop-product-title{min-height:0;margin:0 0 6px!important;font-size:15px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body .zigbo-shop-product-rating{min-height:18px;margin:0 0 7px}body .zigbo-shop-product-price{margin-bottom:12px;font-size:16px}body .zigbo-shop-product-card .button{border-radius:100px;min-height:42px;font-size:13px}@media(max-width:640px){body .zigbo-sale-badge{top:7px;left:7px;padding:4px 6px;font-size:8px}body .zigbo-shop-product-image .zigbo-product-age{top:7px;right:7px;padding:4px 6px;font-size:7px}body .zigbo-shop-product-info{padding:10px}body .zigbo-shop-product-title{font-size:12px!important}body .zigbo-shop-product-rating{margin-bottom:4px}body .zigbo-shop-product-price{font-size:13px}body .zigbo-shop-product-card .button{min-height:36px;font-size:11px}}

/* Screenshot-style horizontal filters and data-led product rating details. */
body .zigbo-shop-filter-nav{display:flex;align-items:center;justify-content:center;gap:26px;padding:16px 8px 18px;border-bottom:1px solid #e6e6e6;background:#fff;white-space:nowrap}body .zigbo-shop-filter-nav>a,body .zigbo-shop-filter-nav summary{color:#2f3d4b;font-size:13px;cursor:pointer;list-style:none}body .zigbo-shop-filter-nav summary::-webkit-details-marker{display:none}body .zigbo-shop-filter-nav summary:after{content:"⌄";margin-left:7px;font-size:14px}body .zigbo-shop-filter-nav>a.is-active{color:#172a38;text-decoration:underline;text-underline-offset:5px;font-weight:700}body .zigbo-shop-filter-nav details{position:relative}body .zigbo-filter-menu{position:absolute;z-index:20;top:27px;left:-12px;min-width:150px;padding:8px;border:1px solid #e6ebe4;border-radius:10px;background:#fff;box-shadow:0 10px 26px rgba(24,50,33,.13)}body .zigbo-filter-menu a{display:block;padding:8px 10px;color:#405048;font-size:12px}body .zigbo-filter-menu a:hover{border-radius:6px;background:#eff8eb;color:#197d40}body .zigbo-shop-sidebar{display:none}body .zigbo-shop-layout{display:block}body .zigbo-products-area{width:100%}body .zigbo-shop-product-rating{display:flex;align-items:center;gap:5px;color:#657169;font-size:12px}body .zigbo-rating-stars{font-size:15px;letter-spacing:1px;line-height:1;background:linear-gradient(90deg,#f5b51b var(--rating),#d8ddd9 var(--rating));background-clip:text;-webkit-background-clip:text;color:transparent}body .zigbo-review-count{color:#8a948e}body .zigbo-discount{display:inline-flex;align-items:center;margin-left:9px;padding:3px 6px;border-radius:5px;background:#e5f6e7;color:#16853b;font-size:11px;font-weight:800;vertical-align:middle}@media(max-width:640px){body .zigbo-shop-filter-nav{justify-content:flex-start;gap:19px;overflow-x:auto;margin:0 -12px;padding:13px 12px}body .zigbo-shop-filter-nav>a,body .zigbo-shop-filter-nav summary{font-size:11px}body .zigbo-filter-menu{top:24px;left:0}body .zigbo-rating-stars{font-size:11px}body .zigbo-shop-product-rating{gap:3px;font-size:10px}body .zigbo-discount{margin-left:4px;padding:2px 4px;font-size:8px}}
body .zigbo-nav-sort{position:relative}body .zigbo-nav-sort summary{color:#2f3d4b;font-size:13px;cursor:pointer;list-style:none}body .zigbo-nav-sort summary::-webkit-details-marker{display:none}body .zigbo-nav-sort summary:after{content:"⌄";margin-left:7px;font-size:14px}body .zigbo-sort-menu{right:0;left:auto}body .zigbo-sort-menu .is-current{background:#eff8eb;color:#197d40;font-weight:700}@media(max-width:640px){body .zigbo-nav-sort summary{font-size:11px}}
/* Four products per row on desktop; tablet/mobile rules remain unchanged. */
@media (min-width: 901px) { body .zigbo-shop-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Sale price treatment: discount, crossed original amount, then new amount. */
body .zigbo-shop-product-price.zigbo-sale-price-line{display:flex;align-items:baseline;gap:6px;margin-bottom:12px;white-space:nowrap}body .zigbo-sale-price-line .zigbo-discount{margin:0;padding:0;background:transparent;color:#07954a;font-size:17px;font-weight:800}body .zigbo-sale-price-line del{color:#7e8581;font-size:16px;font-weight:400;text-decoration-thickness:1px}body .zigbo-sale-price-line ins{color:#27312c;font-size:24px;font-weight:800;text-decoration:none}@media(max-width:640px){body .zigbo-shop-product-price.zigbo-sale-price-line{gap:4px}body .zigbo-sale-price-line .zigbo-discount{font-size:13px}body .zigbo-sale-price-line del{font-size:12px}body .zigbo-sale-price-line ins{font-size:17px}}

/* Compact product commerce details and automatic hot-deal marker. */
body .zigbo-shop-product-rating{gap:7px;margin:0 0 7px;font-size:12px}body .zigbo-rating-pill{padding:3px 6px;border-radius:3px;background:#348f48;color:#fff;font-size:11px;font-weight:800;line-height:1}body .zigbo-review-count{color:#68736d;font-weight:600}body .zigbo-assured{color:#244eab;font-style:italic;font-weight:700}body .zigbo-shop-product-price.zigbo-sale-price-line{gap:7px;margin-bottom:9px}body .zigbo-sale-price-line ins{order:1;color:#1d2822;font-size:18px}body .zigbo-sale-price-line del{order:2;margin:0;color:#7f8782;font-size:13px}body .zigbo-sale-price-line .zigbo-discount{order:3;color:#07954a;font-size:13px;font-weight:700}body .zigbo-hot-deal{display:inline-flex;margin:0 0 10px;padding:5px 7px;border-radius:2px;background:#e4f6e5;color:#159041;font-size:11px;font-weight:700}@media(max-width:640px){body .zigbo-shop-product-rating{gap:4px;margin-bottom:5px;font-size:9px}body .zigbo-rating-pill{padding:3px 4px;font-size:8px}body .zigbo-assured{display:none}body .zigbo-shop-product-price.zigbo-sale-price-line{gap:4px;margin-bottom:6px}body .zigbo-sale-price-line ins{font-size:14px}body .zigbo-sale-price-line del{font-size:10px}body .zigbo-sale-price-line .zigbo-discount{font-size:9px}body .zigbo-hot-deal{margin-bottom:6px;padding:3px 4px;font-size:8px}}

/* Final cascade for the redesigned shop archive. */
.zigbo-shop-page{background:#fffdf7}.zigbo-shop-hero{padding:28px 0 42px;background:#fffdf7}.zigbo-shop-hero .zigbo-shop-hero-inner{min-height:350px;padding:42px 48px;display:grid;grid-template-columns:1.05fr .95fr;gap:24px;overflow:hidden;border:0;border-radius:28px;background:linear-gradient(105deg,#ffe477 0%,#ffdf67 51%,#f7cf43 100%);box-shadow:none}.zigbo-shop-hero-inner:before,.zigbo-shop-hero-inner:after{display:none}.zigbo-shop-hero-copy{position:relative;z-index:2;align-self:center;max-width:530px}.zigbo-shop-eyebrow{padding:7px 11px;border-radius:100px;background:#fff8d9;color:#235831;font-size:10px;letter-spacing:.11em}.zigbo-shop-hero h1{margin:15px 0 12px;color:#172a38;font-size:clamp(44px,5vw,66px);line-height:.98;letter-spacing:-.055em}.zigbo-shop-hero h1 em{color:#197d40;font-style:normal}.zigbo-shop-hero p{max-width:460px;margin:0;color:#38454b;font-size:16px;line-height:1.55}.zigbo-hero-age-links{margin-top:25px}.zigbo-hero-age-links>span{display:block;margin-bottom:9px;color:#20332d;font-size:13px;font-weight:800}.zigbo-hero-age-links div{display:flex;flex-wrap:wrap;gap:8px}.zigbo-hero-age-links a{padding:8px 13px;border:1px solid rgba(33,86,46,.17);border-radius:100px;background:rgba(255,255,255,.64);color:#20332d;font-size:12px;font-weight:700}.zigbo-shop-hero-art{position:relative;min-height:265px;align-self:end}.zigbo-shop-hero-art img{position:absolute;z-index:2;right:0;bottom:-42px;width:min(100%,440px);height:330px;object-fit:cover;object-position:center;border-radius:180px 180px 22px 22px;mix-blend-mode:multiply}.zigbo-sun{position:absolute;top:2px;left:12%;color:#ff9c17;font-size:58px;line-height:1}.zigbo-cloud{position:absolute;z-index:1;width:64px;height:23px;border-radius:30px;background:rgba(255,255,255,.85)}.zigbo-cloud:before,.zigbo-cloud:after{position:absolute;bottom:0;content:"";border-radius:50%;background:inherit}.zigbo-cloud:before{left:12px;width:28px;height:28px}.zigbo-cloud:after{right:9px;width:23px;height:23px}.zigbo-cloud-one{top:38px;right:11%}.zigbo-cloud-two{top:113px;left:1%;transform:scale(.7)}.zigbo-shop-content{padding:8px 0 60px}.zigbo-shop-layout{display:grid;grid-template-columns:224px minmax(0,1fr);gap:30px}.zigbo-shop-sidebar{align-self:start;padding:20px;border:1px solid #edf0eb;border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(43,75,49,.05)}.zigbo-filter-heading{display:flex;justify-content:space-between;gap:8px;padding-bottom:17px;border-bottom:1px solid #edf0eb;font-size:14px}.zigbo-filter-heading a{color:#197d40;font-size:11px;font-weight:700}.zigbo-filter-group{margin:18px 0;padding:0 0 17px;border:0;border-bottom:1px solid #edf0eb}.zigbo-filter-group legend{margin-bottom:12px;color:#1d2e36;font-size:14px;font-weight:800}.zigbo-filter-group label{display:flex;align-items:center;gap:8px;margin:9px 0;color:#53615b;font-size:13px;cursor:pointer}.zigbo-filter-group input{width:15px;height:15px;margin:0;accent-color:#1f9d3a}.zigbo-filter-submit{width:100%;min-height:39px;border:0;border-radius:9px;background:#1f9d3a;color:#fff;font-size:12px;font-weight:800;cursor:pointer}.zigbo-shop-toolbar{margin:0 0 19px;padding:0 0 16px;border:0;border-bottom:1px solid #e8ece6}.zigbo-overline{margin:0 0 3px;color:#209440;font-size:10px;font-weight:800;letter-spacing:.12em}.zigbo-shop-toolbar h2{margin:0;font-size:30px;letter-spacing:-.04em}.zigbo-shop-sort select{height:42px;padding:0 32px 0 13px;border:1px solid #dfe5dd;border-radius:10px;color:#25332e;font-size:12px}.zigbo-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.zigbo-shop-product-card{border:1px solid #e8ece6;border-radius:17px;box-shadow:none}.zigbo-shop-product-card:hover{box-shadow:0 15px 30px rgba(43,75,49,.1)}.zigbo-shop-product-image{aspect-ratio:1/.88;background:#f5f7f2}.zigbo-shop-product-image img{object-fit:contain;padding:10px}.zigbo-product-age{padding:6px 9px;border:0;background:#e6f6e6;color:#27613a;font-size:10px}.zigbo-shop-product-info{padding:14px}.zigbo-shop-product-rating{min-height:17px;margin-bottom:4px}.zigbo-shop-product-rating .star-rating{color:#f6b812;font-size:12px}.zigbo-shop-product-title{min-height:35px;font-size:15px!important}.zigbo-shop-product-title a:hover{color:#197d40}.zigbo-shop-product-price{margin-bottom:12px;font-size:16px}.zigbo-shop-product-card .button{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:40px;margin:0!important;padding:8px;border-radius:10px;background:#ffc928!important;color:#25332e!important;font-size:12px;font-weight:800}.zigbo-trust-strip{margin-top:55px;padding:30px 40px;border-radius:22px;background:#edf8e7;text-align:center}.zigbo-trust-strip h2{margin:0 0 25px;font-size:27px;letter-spacing:-.04em}.zigbo-trust-strip>div{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.zigbo-trust-strip p{display:grid;grid-template-columns:42px 1fr;column-gap:11px;margin:0;color:#607066;text-align:left;font-size:12px}.zigbo-trust-strip span{grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:#1f9d3a;font-size:19px}.zigbo-trust-strip strong{color:#1d2e36;font-size:14px}
@media(max-width:900px){.zigbo-shop-hero .zigbo-shop-hero-inner{padding:35px}.zigbo-shop-layout{grid-template-columns:190px minmax(0,1fr);gap:20px}.zigbo-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.zigbo-shop-hero{padding:12px 0 26px}.zigbo-shop-hero .zigbo-shop-hero-inner{min-height:400px;padding:30px 24px;grid-template-columns:1fr;border-radius:21px}.zigbo-shop-hero h1{font-size:43px}.zigbo-shop-hero p{font-size:14px}.zigbo-shop-hero-art{min-height:135px}.zigbo-shop-hero-art img{bottom:-30px;right:2%;width:260px;height:190px}.zigbo-sun{top:10px;left:5%;font-size:42px}.zigbo-cloud-one{top:5px}.zigbo-shop-layout{display:block}.zigbo-shop-sidebar{margin-bottom:22px}.zigbo-shop-sidebar form{display:flex;flex-wrap:wrap;gap:11px;align-items:center}.zigbo-filter-heading{width:100%;padding-bottom:10px}.zigbo-filter-group{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;border:0}.zigbo-filter-group legend{width:100%;margin:0}.zigbo-filter-group label{margin:0;padding:6px 8px;border:1px solid #e0e8dd;border-radius:20px;font-size:11px}.zigbo-filter-submit{width:auto;min-height:34px;padding:0 15px}.zigbo-shop-toolbar h2{font-size:25px}.zigbo-shop-sort select{height:36px;max-width:130px;font-size:10px}.zigbo-shop-grid{gap:10px}.zigbo-shop-product-info{padding:10px}.zigbo-shop-product-title{min-height:32px;font-size:12px!important}.zigbo-shop-product-price{margin-bottom:9px;font-size:13px}.zigbo-shop-product-card .button{min-height:34px;font-size:10px}.zigbo-trust-strip{margin-top:35px;padding:25px 20px}.zigbo-trust-strip h2{font-size:23px}.zigbo-trust-strip>div{grid-template-columns:1fr;gap:17px}}

/* =========================================================
   ZIGBO SHOP REDESIGN — conversion-focused WooCommerce archive
   ========================================================= */
.zigbo-shop-page { background: #fffdf7; }
.zigbo-shop-hero { padding: 28px 0 42px; background: #fffdf7; }
.zigbo-shop-hero .zigbo-shop-hero-inner { min-height: 350px; padding: 42px 48px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 24px; overflow: hidden; border: 0; border-radius: 28px; background: linear-gradient(105deg, #ffe477 0%, #ffdf67 51%, #f7cf43 100%); box-shadow: none; }
.zigbo-shop-hero-inner::before, .zigbo-shop-hero-inner::after { display: none; }
.zigbo-shop-hero-copy { position: relative; z-index: 2; align-self: center; max-width: 530px; }
.zigbo-shop-eyebrow { padding: 7px 11px; border-radius: 100px; background: #fff8d9; color: #235831; font-size: 10px; letter-spacing: .11em; }
.zigbo-shop-hero h1 { margin: 15px 0 12px; color: #172a38; font-size: clamp(44px, 5vw, 66px); line-height: .98; letter-spacing: -.055em; }
.zigbo-shop-hero h1 em { color: #197d40; font-style: normal; }
.zigbo-shop-hero p { max-width: 460px; margin: 0; color: #38454b; font-size: 16px; line-height: 1.55; }
.zigbo-hero-age-links { margin-top: 25px; }
.zigbo-hero-age-links > span { display: block; margin-bottom: 9px; color: #20332d; font-size: 13px; font-weight: 800; }
.zigbo-hero-age-links div { display: flex; flex-wrap: wrap; gap: 8px; }
.zigbo-hero-age-links a { padding: 8px 13px; border: 1px solid rgba(33, 86, 46, .17); border-radius: 100px; background: rgba(255,255,255,.64); color: #20332d; font-size: 12px; font-weight: 700; transition: .2s ease; }
.zigbo-hero-age-links a:hover { background: #fff; transform: translateY(-2px); }
.zigbo-shop-hero-art { position: relative; min-height: 265px; align-self: end; }
.zigbo-shop-hero-art img { position: absolute; z-index: 2; right: 0; bottom: -42px; width: min(100%, 440px); height: 330px; object-fit: cover; object-position: center; border-radius: 180px 180px 22px 22px; mix-blend-mode: multiply; }
.zigbo-sun { position: absolute; top: 2px; left: 12%; color: #ff9c17; font-size: 58px; line-height: 1; }
.zigbo-cloud { position: absolute; z-index: 1; width: 64px; height: 23px; border-radius: 30px; background: rgba(255,255,255,.85); }
.zigbo-cloud::before, .zigbo-cloud::after { position: absolute; bottom: 0; content: ""; border-radius: 50%; background: inherit; }
.zigbo-cloud::before { left: 12px; width: 28px; height: 28px; }.zigbo-cloud::after { right: 9px; width: 23px; height: 23px; }
.zigbo-cloud-one { top: 38px; right: 11%; }.zigbo-cloud-two { top: 113px; left: 1%; transform: scale(.7); }
.zigbo-shop-content { padding: 8px 0 60px; }
.zigbo-shop-layout { display: grid; grid-template-columns: 224px minmax(0,1fr); gap: 30px; }
.zigbo-shop-sidebar { align-self: start; padding: 20px; border: 1px solid #edf0eb; border-radius: 18px; background: #fff; box-shadow: 0 8px 30px rgba(43, 75, 49, .05); }
.zigbo-filter-heading { display: flex; justify-content: space-between; gap: 8px; padding-bottom: 17px; border-bottom: 1px solid #edf0eb; font-size: 14px; }.zigbo-filter-heading a { color: #197d40; font-size: 11px; font-weight: 700; }
.zigbo-filter-group { margin: 18px 0; padding: 0 0 17px; border: 0; border-bottom: 1px solid #edf0eb; }.zigbo-filter-group legend { margin-bottom: 12px; color: #1d2e36; font-size: 14px; font-weight: 800; }.zigbo-filter-group label { display: flex; align-items: center; gap: 8px; margin: 9px 0; color: #53615b; font-size: 13px; cursor: pointer; }.zigbo-filter-group input { width: 15px; height: 15px; margin: 0; accent-color: #1f9d3a; }
.zigbo-filter-submit { width: 100%; min-height: 39px; border: 0; border-radius: 9px; background: #1f9d3a; color: #fff; font-size: 12px; font-weight: 800; cursor: pointer; }
.zigbo-shop-toolbar { margin: 0 0 19px; padding: 0 0 16px; border: 0; border-bottom: 1px solid #e8ece6; }.zigbo-overline { margin: 0 0 3px; color: #209440; font-size: 10px; font-weight: 800; letter-spacing: .12em; }.zigbo-shop-toolbar h2 { margin: 0; font-size: 30px; letter-spacing: -.04em; }.zigbo-shop-sort select { height: 42px; padding: 0 32px 0 13px; border: 1px solid #dfe5dd; border-radius: 10px; color: #25332e; font-size: 12px; }
.zigbo-shop-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }.zigbo-shop-product-card { border: 1px solid #e8ece6; border-radius: 17px; box-shadow: none; }.zigbo-shop-product-card:hover { box-shadow: 0 15px 30px rgba(43,75,49,.1); }.zigbo-shop-product-image { aspect-ratio: 1 / .88; background: #f5f7f2; }.zigbo-shop-product-image img { object-fit: contain; padding: 10px; }.zigbo-product-age { padding: 6px 9px; border: 0; background: #e6f6e6; color: #27613a; font-size: 10px; }.zigbo-shop-product-info { padding: 14px; }.zigbo-shop-product-rating { min-height: 17px; margin-bottom: 4px; }.zigbo-shop-product-rating .star-rating { color: #f6b812; font-size: 12px; }.zigbo-shop-product-title { min-height: 35px; font-size: 15px !important; }.zigbo-shop-product-title a:hover { color: #197d40; }.zigbo-shop-product-price { margin-bottom: 12px; font-size: 16px; }.zigbo-shop-product-card .button { display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 40px; margin: 0 !important; padding: 8px; border-radius: 10px; background: #ffc928 !important; color: #25332e !important; font-size: 12px; font-weight: 800; }.zigbo-shop-product-card .button:hover { background: #f1b90e !important; }
.zigbo-trust-strip { margin-top: 55px; padding: 30px 40px; border-radius: 22px; background: #edf8e7; text-align: center; }.zigbo-trust-strip h2 { margin: 0 0 25px; font-size: 27px; letter-spacing: -.04em; }.zigbo-trust-strip > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; }.zigbo-trust-strip p { display: grid; grid-template-columns: 42px 1fr; column-gap: 11px; margin: 0; color: #607066; text-align: left; font-size: 12px; }.zigbo-trust-strip span { grid-row: span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: #1f9d3a; font-size: 19px; }.zigbo-trust-strip strong { color: #1d2e36; font-size: 14px; }
@media (max-width: 900px) { .zigbo-shop-hero .zigbo-shop-hero-inner { padding: 35px; }.zigbo-shop-layout { grid-template-columns: 190px minmax(0,1fr); gap: 20px; }.zigbo-shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .zigbo-shop-hero { padding: 12px 0 26px; }.zigbo-shop-hero .zigbo-shop-hero-inner { min-height: 400px; padding: 30px 24px; grid-template-columns: 1fr; border-radius: 21px; }.zigbo-shop-hero h1 { font-size: 43px; }.zigbo-shop-hero p { font-size: 14px; }.zigbo-shop-hero-art { min-height: 135px; }.zigbo-shop-hero-art img { bottom: -30px; right: 2%; height: 190px; width: 260px; }.zigbo-sun { top: 10px; left: 5%; font-size: 42px; }.zigbo-cloud-one { top: 5px; }.zigbo-shop-layout { display: block; }.zigbo-shop-sidebar { margin-bottom: 22px; }.zigbo-shop-sidebar form { display: flex; flex-wrap: wrap; gap: 11px; align-items: center; }.zigbo-filter-heading { width: 100%; padding-bottom: 10px; }.zigbo-filter-group { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; border: 0; }.zigbo-filter-group legend { width: 100%; margin: 0; }.zigbo-filter-group label { margin: 0; padding: 6px 8px; border: 1px solid #e0e8dd; border-radius: 20px; font-size: 11px; }.zigbo-filter-submit { width: auto; min-height: 34px; padding: 0 15px; }.zigbo-shop-toolbar h2 { font-size: 25px; }.zigbo-shop-sort select { height: 36px; max-width: 130px; font-size: 10px; }.zigbo-shop-grid { gap: 10px; }.zigbo-shop-product-info { padding: 10px; }.zigbo-shop-product-title { min-height: 32px; font-size: 12px !important; }.zigbo-shop-product-price { margin-bottom: 9px; font-size: 13px; }.zigbo-shop-product-card .button { min-height: 34px; font-size: 10px; }.zigbo-trust-strip { margin-top: 35px; padding: 25px 20px; }.zigbo-trust-strip h2 { font-size: 23px; }.zigbo-trust-strip > div { grid-template-columns: 1fr; gap: 17px; } }

.zigbo-shop-product-title {
    margin: 0 0 5px !important;

    color: var(--zigbo-dark);

    font-size: 14px !important;
    line-height: 1.25;
}

.zigbo-shop-product-price {
    margin-bottom: 6px;

    color: var(--zigbo-dark);

    font-size: 14px;
    font-weight: 800;
}

.zigbo-shop-product-price del {
    margin-right: 4px;

    color: #999999;

    font-size: 9px;
    font-weight: 400;
}

.zigbo-shop-product-price ins {
    text-decoration: none;
}


/* META */

.zigbo-shop-product-meta {
    display: flex;
    flex-direction: column;

    gap: 3px;

    margin-bottom: 6px;

    color: var(--zigbo-muted);

    font-size: 7px;
    line-height: 1.35;
}


/* RATING */

.zigbo-shop-product-rating {
    display: flex;
    align-items: center;

    gap: 5px;

    margin-bottom: 7px;

    font-size: 8px;

    color: var(--zigbo-muted);
}

.zigbo-stars {
    color: #f6a623;

    font-size: 10px;
    letter-spacing: 0.5px;
}


/* ADD TO CART */

.zigbo-add-to-cart {
    display: flex !important;

    align-items: center;
    justify-content: center;

    width: 100%;

    min-height: 31px;

    padding: 8px 10px;

    border: 0 !important;
    border-radius: 6px;

    background: var(--zigbo-yellow) !important;
    color: var(--zigbo-dark) !important;

    text-decoration: none !important;

    font-size: 8px;
    font-weight: 800;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-shop-hero {
        padding: 15px 0 15px;
    }

    .zigbo-shop-hero-inner {
        width: calc(100% - 20px);

        min-height: 180px;

        border-radius: 15px;
    }

    .zigbo-shop-eyebrow {
        padding: 5px 9px;

        font-size: 6px;
        letter-spacing: 0.9px;
    }

    .zigbo-shop-hero h1 {
        margin: 8px 0 5px;

        font-size: 27px;
        letter-spacing: -0.5px;
    }

    .zigbo-shop-hero p {
        padding: 0 25px;

        font-size: 8px;
        line-height: 1.4;
    }

    .zigbo-shop-hero-decoration {
        font-size: 20px;
    }

    .zigbo-deco-left {
        left: 7%;
    }

    .zigbo-deco-right {
        right: 7%;
    }


    /* CATEGORY */

    .zigbo-shop-content {
        padding: 5px 0 30px;
    }

    .zigbo-shop-categories {
        justify-content: flex-start;

        flex-wrap: nowrap;

        overflow-x: auto;

        padding: 0 10px 7px;

        margin-bottom: 10px;

        scrollbar-width: none;
    }

    .zigbo-shop-categories::-webkit-scrollbar {
        display: none;
    }

    .zigbo-shop-categories a {
        flex: 0 0 auto;

        padding: 6px 10px;

        font-size: 7px;
    }


    /* TOOLBAR */

    .zigbo-shop-toolbar {
        margin: 0 10px 15px;

        padding: 8px 0;
    }

    .zigbo-shop-age-filter {
        gap: 2px;

        overflow-x: auto;

        white-space: nowrap;

        scrollbar-width: none;
    }

    .zigbo-shop-age-filter strong {
        font-size: 6.5px;
    }

    .zigbo-shop-age-filter a {
        min-width: auto;

        padding: 4px 5px;

        font-size: 6.5px;
    }

    .zigbo-shop-sort select {
        height: 27px;

        font-size: 6.5px;
    }


    /* PRODUCTS */

    .zigbo-shop-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 10px;

        padding: 0 10px;
    }

    .zigbo-shop-product-card {
        border-radius: 10px;
    }

    .zigbo-shop-product-image {
        aspect-ratio: 1 / 0.83;
    }

    .zigbo-product-age {
        top: 6px;
        left: 6px;

        padding: 4px 6px;

        font-size: 6px;
    }

    .zigbo-shop-product-info {
        padding: 7px 8px 8px;
    }

    .zigbo-shop-product-title {
        font-size: 10px !important;
    }

    .zigbo-shop-product-price {
        font-size: 10px;
    }

    .zigbo-shop-product-price del {
        font-size: 7px;
    }

    .zigbo-shop-product-meta {
        font-size: 6px;
    }

    .zigbo-shop-product-rating {
        font-size: 6px;
    }

    .zigbo-stars {
        font-size: 7px;
    }

    .zigbo-add-to-cart {
        min-height: 26px;

        font-size: 7px;
    }

}

/* Keep the full-width Shop hero compact on small screens. */
@media (max-width: 767px) {
    .zigbo-shop-hero {
        padding: 0;
    }

    .zigbo-shop-hero-inner {
        width: 100%;
        min-height: 210px;
        padding: 26px 20px 52px;
        border-radius: 0;
    }

    .zigbo-shop-hero-content {
        max-width: 78%;
    }

    .zigbo-shop-hero h1 {
        margin: 7px 0 4px;
        font-size: 29px;
    }

    .zigbo-shop-hero p {
        padding: 0;
        font-size: 8px;
    }

    .zigbo-shop-hero-visual {
        bottom: 20px;
        width: 112px;
        border-radius: 10px;
        opacity: 0.55;
    }

    .zigbo-shop-hero-visual-left {
        left: -32px;
    }

    .zigbo-shop-hero-visual-right {
        right: -32px;
    }

    .zigbo-shop-content {
        padding: 0 0 30px;
    }

    .zigbo-shop-categories {
        width: 100%;
        margin: -32px 0 4px;
        padding: 0 10px 6px;
    }

    .zigbo-shop-categories a {
        padding: 6px 10px;
    }

    .zigbo-shop-toolbar {
        margin: 0 10px 10px;
        padding: 8px 0;
    }
}
/* =========================================================
   ZIGBO SINGLE PRODUCT PAGE
   ========================================================= */

.zigbo-single-product {
    background: #fff;
}

.zigbo-product-breadcrumb {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 14px 0 10px;
    color: var(--zigbo-muted);
    font-size: 9px;
}

.zigbo-product-breadcrumb a {
    color: var(--zigbo-muted);
    text-decoration: none;
}

.zigbo-product-breadcrumb a:hover {
    color: var(--zigbo-dark);
}


/* Main product */

.zigbo-product-main {
    padding: 15px 0 45px;
}

.zigbo-product-layout {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 42px;
    align-items: start;
}


/* Gallery */

.zigbo-product-gallery {
    min-width: 0;
}

.zigbo-product-main-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / .94;
    overflow: hidden;
    border: 1px solid #ededed;
    border-radius: 18px;
    background: #fafafa;
}

.zigbo-product-gallery-slide {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
}

.zigbo-product-gallery-slide.active {
    display: flex;
}

.zigbo-product-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    margin: 0 !important;
}

.zigbo-product-no-image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zigbo-product-no-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* Thumbnails */

.zigbo-product-thumbnails {
    display: flex;
    gap: 9px;
    margin-top: 10px;
}

.zigbo-product-thumbnail {
    width: 64px;
    height: 64px;
    padding: 4px;
    border: 1px solid #e6e6e6;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}

.zigbo-product-thumbnail.active {
    border-color: var(--zigbo-yellow);
    box-shadow: 0 0 0 1px var(--zigbo-yellow);
}

.zigbo-product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}


/* Product info */

.zigbo-product-info {
    padding: 8px 0;
}

.zigbo-product-category {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 5px;
    background: #fff4c7;
    color: var(--zigbo-dark);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.zigbo-product-title {
    margin: 13px 0 8px !important;
    color: var(--zigbo-dark);
    font-size: 34px !important;
    line-height: 1.08;
    letter-spacing: -.8px;
}

.zigbo-product-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
    color: var(--zigbo-muted);
    font-size: 9px;
}

.zigbo-product-stars {
    color: #f6a623;
    font-size: 12px;
    letter-spacing: .8px;
}

.zigbo-product-review-count {
    color: #888;
}

.zigbo-product-short-description {
    margin-bottom: 18px;
    color: var(--zigbo-muted);
    font-size: 11px;
    line-height: 1.7;
}

.zigbo-product-price {
    margin-bottom: 18px;
    color: var(--zigbo-dark);
    font-size: 24px;
    font-weight: 800;
}

.zigbo-product-price del {
    margin-right: 7px;
    color: #999;
    font-size: 12px;
    font-weight: 400;
}

.zigbo-product-price ins {
    text-decoration: none;
}


/* Native WooCommerce cart */

.zigbo-product-cart-box form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 !important;
}

.zigbo-product-cart-box form.cart .quantity {
    margin: 0 !important;
}

.zigbo-product-cart-box form.cart .quantity .qty {
    width: 70px;
    height: 43px;
    border: 1px solid #ddd;
    border-radius: 7px;
    background: #fff;
    color: var(--zigbo-dark);
    text-align: center;
    font-size: 11px;
}

.zigbo-product-cart-box form.cart .single_add_to_cart_button {
    min-height: 43px;
    padding: 10px 24px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: var(--zigbo-yellow) !important;
    color: var(--zigbo-dark) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

.zigbo-product-cart-box form.cart .single_add_to_cart_button:hover {
    opacity: .9;
}


/* Reassurance */

.zigbo-product-reassurance {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 18px;
}

.zigbo-product-reassurance > div {
    padding: 11px 12px;
    border: 1px solid #ededed;
    border-radius: 9px;
    background: #fcfcfc;
}

.zigbo-product-reassurance strong {
    display: block;
    margin-bottom: 3px;
    color: var(--zigbo-dark);
    font-size: 8px;
}

.zigbo-product-reassurance span {
    color: var(--zigbo-muted);
    font-size: 7px;
}


/* Lower information */

.zigbo-product-information {
    padding: 5px 0 55px;
}

.zigbo-product-section {
    padding: 32px 0;
    border-top: 1px solid #ededed;
}

.zigbo-product-section-heading {
    margin-bottom: 16px;
}

.zigbo-product-section-heading span {
    display: block;
    margin-bottom: 7px;
    color: var(--zigbo-yellow);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.1px;
}

.zigbo-product-section-heading h2 {
    margin: 0 !important;
    color: var(--zigbo-dark);
    font-size: 25px !important;
    line-height: 1.15;
}

.zigbo-product-description {
    max-width: 900px;
    color: var(--zigbo-muted);
    font-size: 10px;
    line-height: 1.8;
}

.zigbo-product-description p {
    margin: 0 0 10px;
}

.zigbo-product-description p:last-child {
    margin-bottom: 0;
}


/* Specifications */

.zigbo-specifications {
    max-width: 850px;
    border: 1px solid #e9e9e9;
    border-radius: 12px;
    overflow: hidden;
}

.zigbo-spec-row {
    display: grid;
    grid-template-columns: 220px 1fr;
    border-bottom: 1px solid #ededed;
}

.zigbo-spec-row:last-child {
    border-bottom: 0;
}

.zigbo-spec-label,
.zigbo-spec-value {
    padding: 11px 14px;
    font-size: 9px;
    line-height: 1.45;
}

.zigbo-spec-label {
    background: #faf8ef;
    color: var(--zigbo-dark);
    font-weight: 700;
}

.zigbo-spec-value {
    background: #fff;
    color: var(--zigbo-muted);
}


/* Mobile */

@media (max-width: 767px) {

    .zigbo-product-breadcrumb {
        padding: 10px 10px 7px;
        font-size: 6.5px;
        gap: 5px;
    }

    .zigbo-product-main {
        padding: 8px 0 28px;
    }

    .zigbo-product-layout {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .zigbo-product-gallery {
        width: 100%;
    }

    .zigbo-product-main-image {
        border-radius: 13px;
        aspect-ratio: 1 / .95;
    }

    .zigbo-product-thumbnails {
        gap: 6px;
        margin-top: 7px;
    }

    .zigbo-product-thumbnail {
        width: 50px;
        height: 50px;
        border-radius: 7px;
    }

    .zigbo-product-info {
        width: 100%;
        padding: 0 10px;
    }

    .zigbo-product-category {
        padding: 4px 7px;
        font-size: 6px;
    }

    .zigbo-product-title {
        margin: 9px 0 6px !important;
        font-size: 23px !important;
        letter-spacing: -.5px;
    }

    .zigbo-product-rating {
        margin-bottom: 10px;
        font-size: 7px;
    }

    .zigbo-product-stars {
        font-size: 9px;
    }

    .zigbo-product-short-description {
        margin-bottom: 12px;
        font-size: 8px;
        line-height: 1.6;
    }

    .zigbo-product-price {
        margin-bottom: 13px;
        font-size: 19px;
    }

    .zigbo-product-price del {
        font-size: 9px;
    }

    .zigbo-product-cart-box form.cart {
        gap: 6px;
    }

    .zigbo-product-cart-box form.cart .quantity .qty {
        width: 56px;
        height: 37px;
        font-size: 9px;
    }

    .zigbo-product-cart-box form.cart .single_add_to_cart_button {
        min-height: 37px;
        padding: 8px 15px !important;
        font-size: 8px !important;
    }

    .zigbo-product-reassurance {
        margin-top: 12px;
        gap: 6px;
    }

    .zigbo-product-reassurance > div {
        padding: 8px 9px;
        border-radius: 7px;
    }

    .zigbo-product-reassurance strong {
        font-size: 6.5px;
    }

    .zigbo-product-reassurance span {
        font-size: 5.5px;
    }

    .zigbo-product-information {
        padding: 0 10px 30px;
    }

    .zigbo-product-section {
        padding: 22px 0;
    }

    .zigbo-product-section-heading {
        margin-bottom: 11px;
    }

    .zigbo-product-section-heading span {
        font-size: 6px;
        margin-bottom: 5px;
    }

    .zigbo-product-section-heading h2 {
        font-size: 19px !important;
    }

    .zigbo-product-description {
        font-size: 8px;
        line-height: 1.65;
    }

    .zigbo-spec-row {
        grid-template-columns: 110px 1fr;
    }

    .zigbo-spec-label,
    .zigbo-spec-value {
        padding: 8px 9px;
        font-size: 7px;
    }

}
/* =========================================================
   ZIGBO PRODUCT PAGE - FLIPKART INSPIRED PREMIUM LAYOUT
   ========================================================= */

.zigbo-single-product {
    background: #fff;
}

.zigbo-product-main {
    padding: 10px 0 35px;
}

.zigbo-product-layout {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 28px;
    align-items: start;
}


/* =========================================================
   BREADCRUMB
   ========================================================= */

.zigbo-product-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 0;
    color: #777;
    font-size: 8px;
}

.zigbo-product-breadcrumb a {
    color: #666;
    text-decoration: none;
}


/* =========================================================
   PRODUCT GALLERY - 2x2
   ========================================================= */

.zigbo-product-gallery {
    min-width: 0;
}

.zigbo-product-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.zigbo-product-gallery-card {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 7px;
    background: #f7f8f5;
}

.zigbo-product-grid-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    margin: 0 !important;
    transition: transform .25s ease;
}

.zigbo-product-gallery-card:hover .zigbo-product-grid-image {
    transform: scale(1.025);
}


/* =========================================================
   PRODUCT INFO
   ========================================================= */

.zigbo-product-info {
    position: sticky;
    top: 18px;
    padding: 3px 0;
}

.zigbo-product-category {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 5px;
    background: #fff3c4;
    color: var(--zigbo-dark);
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.zigbo-product-title {
    margin: 10px 0 7px !important;
    color: var(--zigbo-dark);
    font-size: 27px !important;
    line-height: 1.12;
    letter-spacing: -.6px;
}

.zigbo-product-rating {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 9px;
    color: #777;
    font-size: 8px;
}

.zigbo-product-stars {
    color: #f3a51a;
    font-size: 11px;
    letter-spacing: .5px;
}

.zigbo-product-short-description {
    margin-bottom: 12px;
    color: #666;
    font-size: 9px;
    line-height: 1.55;
}


/* =========================================================
   PRICE
   ========================================================= */

.zigbo-product-price-area {
    margin-bottom: 12px;
}

.zigbo-special-price {
    display: inline-flex;
    margin-bottom: 5px;
    padding: 3px 7px;
    border-radius: 3px;
    background: #e9f6df;
    color: #287d39;
    font-size: 6px;
    font-weight: 800;
    letter-spacing: .5px;
}

.zigbo-product-price-row {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

.zigbo-product-price {
    margin: 0 !important;
    color: var(--zigbo-dark);
    font-size: 22px !important;
    font-weight: 800;
}

.zigbo-product-price del {
    margin-right: 6px;
    color: #999;
    font-size: 10px;
    font-weight: 400;
}

.zigbo-product-price ins {
    text-decoration: none;
}

.zigbo-product-discount {
    display: inline-flex;
    align-items: center;
    padding: 4px 7px;
    border-radius: 4px;
    background: #e7f5e9;
    color: #19833a;
    font-size: 8px;
    font-weight: 800;
}


/* =========================================================
   QUICK DETAILS
   ========================================================= */

.zigbo-product-quick-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 12px;
}

.zigbo-product-quick-item {
    padding: 8px 9px;
    border: 1px solid #e9e9e9;
    border-radius: 7px;
    background: #fafafa;
}

.zigbo-product-quick-item span {
    display: block;
    margin-bottom: 2px;
    color: #888;
    font-size: 6px;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.zigbo-product-quick-item strong {
    color: var(--zigbo-dark);
    font-size: 8px;
}


/* =========================================================
   PURCHASE BUTTONS
   ========================================================= */

.zigbo-product-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-bottom: 10px;
}

.zigbo-product-cart-box form.cart {
    display: flex;
    align-items: stretch;
    gap: 5px;
    margin: 0 !important;
}

.zigbo-product-cart-box form.cart .quantity {
    margin: 0 !important;
}

.zigbo-product-cart-box form.cart .quantity .qty {
    width: 52px;
    height: 41px;
    padding: 0 5px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    color: var(--zigbo-dark);
    text-align: center;
    font-size: 8px;
}

.zigbo-product-cart-box form.cart .single_add_to_cart_button {
    flex: 1;
    min-height: 41px;
    padding: 8px 10px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: var(--zigbo-yellow) !important;
    color: var(--zigbo-dark) !important;
    font-size: 8px !important;
    font-weight: 800 !important;
}

.zigbo-buy-now-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 41px;
    padding: 8px 10px;
    border-radius: 6px;
    background: var(--zigbo-dark);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 8px;
    font-weight: 800;
}


/* =========================================================
   SERVICE ROW
   ========================================================= */

.zigbo-product-service-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 9px;
}

.zigbo-product-service-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 9px;
    border: 1px solid #ededed;
    border-radius: 7px;
    background: #fcfcfc;
}

.zigbo-service-icon {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef8ec;
    color: #26843c;
    font-size: 9px;
    font-weight: 800;
}

.zigbo-product-service-item strong {
    display: block;
    margin-bottom: 1px;
    color: var(--zigbo-dark);
    font-size: 7px;
}

.zigbo-product-service-item small {
    display: block;
    color: #888;
    font-size: 6px;
}


/* =========================================================
   PRODUCT HIGHLIGHTS
   ========================================================= */

.zigbo-product-highlight-box {
    overflow: hidden;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #fff;
}

.zigbo-product-highlight-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    border-bottom: 1px solid #ededed;
    background: #fafafa;
}

.zigbo-product-highlight-header span {
    color: var(--zigbo-yellow);
    font-size: 6px;
    font-weight: 800;
    letter-spacing: .8px;
}

.zigbo-product-highlight-header strong {
    color: var(--zigbo-dark);
    font-size: 9px;
}

.zigbo-product-highlight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zigbo-product-highlight-item {
    padding: 8px 10px;
    border-right: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
}

.zigbo-product-highlight-item:nth-child(2n) {
    border-right: 0;
}

.zigbo-product-highlight-item:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.zigbo-product-highlight-item span {
    display: block;
    margin-bottom: 2px;
    color: #888;
    font-size: 6px;
}

.zigbo-product-highlight-item strong {
    display: block;
    color: var(--zigbo-dark);
    font-size: 7px;
    line-height: 1.4;
}


/* =========================================================
   LOWER CONTENT
   ========================================================= */

.zigbo-product-information {
    padding: 0 0 45px;
}

.zigbo-product-section {
    padding: 26px 0;
    border-top: 1px solid #ededed;
}

.zigbo-product-section-heading {
    margin-bottom: 12px;
}

.zigbo-product-section-heading span {
    display: block;
    margin-bottom: 5px;
    color: var(--zigbo-yellow);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: 1px;
}

.zigbo-product-section-heading h2 {
    margin: 0 !important;
    color: var(--zigbo-dark);
    font-size: 22px !important;
    line-height: 1.15;
}

.zigbo-product-description {
    max-width: 900px;
    color: #666;
    font-size: 9px;
    line-height: 1.7;
}

.zigbo-product-description p {
    margin: 0 0 9px;
}

.zigbo-product-description p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   SKILLS
   ========================================================= */

.zigbo-skills-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.zigbo-skill-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 9px;
    border-radius: 20px;
    background: #f5f5f5;
    color: var(--zigbo-dark);
    font-size: 7px;
    font-weight: 700;
}


/* =========================================================
   SPECIFICATIONS
   ========================================================= */

.zigbo-specifications {
    max-width: 900px;
    overflow: hidden;
    border: 1px solid #e5e5e5;
    border-radius: 9px;
}

.zigbo-spec-row {
    display: grid;
    grid-template-columns: 180px 1fr;
    border-bottom: 1px solid #ededed;
}

.zigbo-spec-row:last-child {
    border-bottom: 0;
}

.zigbo-spec-label,
.zigbo-spec-value {
    padding: 9px 11px;
    font-size: 8px;
    line-height: 1.45;
}

.zigbo-spec-label {
    background: #faf8ef;
    color: var(--zigbo-dark);
    font-weight: 700;
}

.zigbo-spec-value {
    color: #666;
    background: #fff;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-product-breadcrumb {
        padding: 8px 10px;
        font-size: 6px;
        gap: 4px;
    }

    .zigbo-product-main {
        padding: 6px 0 22px;
    }

    .zigbo-product-layout {
        display: flex;
        flex-direction: column;
        gap: 17px;
    }

    .zigbo-product-gallery {
        width: 100%;
        padding: 0 7px;
    }

    .zigbo-product-gallery-grid {
        gap: 5px;
    }

    .zigbo-product-gallery-card {
        border-radius: 6px;
    }

    .zigbo-product-info {
        position: static;
        width: 100%;
        padding: 0 10px;
    }

    .zigbo-product-category {
        padding: 4px 7px;
        font-size: 5.5px;
    }

    .zigbo-product-title {
        margin: 8px 0 6px !important;
        font-size: 22px !important;
        line-height: 1.12;
    }

    .zigbo-product-rating {
        margin-bottom: 8px;
        font-size: 6.5px;
    }

    .zigbo-product-stars {
        font-size: 9px;
    }

    .zigbo-product-short-description {
        margin-bottom: 10px;
        font-size: 7px;
        line-height: 1.55;
    }

    .zigbo-special-price {
        font-size: 5px;
        padding: 3px 6px;
    }

    .zigbo-product-price {
        font-size: 18px !important;
    }

    .zigbo-product-price del {
        font-size: 8px;
    }

    .zigbo-product-discount {
        padding: 4px 6px;
        font-size: 6.5px;
    }

    .zigbo-product-quick-details {
        gap: 5px;
        margin-bottom: 10px;
    }

    .zigbo-product-quick-item {
        padding: 7px 8px;
    }

    .zigbo-product-quick-item span {
        font-size: 5px;
    }

    .zigbo-product-quick-item strong {
        font-size: 7px;
    }

    .zigbo-product-actions {
        grid-template-columns: 1fr 1fr;
        gap: 5px;
    }

    .zigbo-product-cart-box form.cart {
        gap: 4px;
    }

    .zigbo-product-cart-box form.cart .quantity .qty {
        width: 45px;
        height: 37px;
        font-size: 7px;
    }

    .zigbo-product-cart-box form.cart .single_add_to_cart_button {
        min-height: 37px;
        padding: 7px 7px !important;
        font-size: 6.5px !important;
    }

    .zigbo-buy-now-button {
        min-height: 37px;
        padding: 7px;
        font-size: 6.5px;
    }

    .zigbo-product-service-row {
        gap: 5px;
    }

    .zigbo-product-service-item {
        padding: 7px;
        gap: 5px;
    }

    .zigbo-service-icon {
        width: 19px;
        height: 19px;
        flex-basis: 19px;
        font-size: 7px;
    }

    .zigbo-product-service-item strong {
        font-size: 6px;
    }

    .zigbo-product-service-item small {
        font-size: 5px;
    }

    .zigbo-product-highlight-header {
        padding: 7px 8px;
    }

    .zigbo-product-highlight-header span {
        font-size: 5px;
    }

    .zigbo-product-highlight-header strong {
        font-size: 7px;
    }

    .zigbo-product-highlight-item {
        padding: 7px 8px;
    }

    .zigbo-product-highlight-item span {
        font-size: 5px;
    }

    .zigbo-product-highlight-item strong {
        font-size: 6px;
    }

    .zigbo-product-information {
        padding: 0 10px 28px;
    }

    .zigbo-product-section {
        padding: 20px 0;
    }

    .zigbo-product-section-heading span {
        font-size: 5.5px;
    }

    .zigbo-product-section-heading h2 {
        font-size: 18px !important;
    }

    .zigbo-product-description {
        font-size: 7.5px;
        line-height: 1.65;
    }

    .zigbo-skill-chip {
        padding: 5px 7px;
        font-size: 6px;
    }

    .zigbo-spec-row {
        grid-template-columns: 105px 1fr;
    }

    .zigbo-spec-label,
    .zigbo-spec-value {
        padding: 7px 8px;
        font-size: 6.5px;
    }
}
/* =========================================================
   ZIGBO PRODUCT PAGE - TOP AREA REFINEMENT
   ========================================================= */

.zigbo-product-info {
    padding-top: 4px;
}

/* Product title */
.zigbo-product-title {
    max-width: 620px;
    margin: 9px 0 8px !important;
    font-size: 24px !important;
    line-height: 1.16;
    letter-spacing: -.45px;
}

/* Short description */
.zigbo-product-short-description {
    max-width: 570px;
    margin-bottom: 13px;
    color: #666;
    font-size: 8.5px;
    line-height: 1.55;
}

/* Price block */
.zigbo-product-price-area {
    margin-bottom: 11px;
}

.zigbo-special-price {
    margin-bottom: 4px;
    padding: 3px 7px;
    font-size: 5.5px;
}

.zigbo-product-price {
    font-size: 21px !important;
}

.zigbo-product-price del {
    font-size: 9px;
    margin-right: 6px;
}

.zigbo-product-discount {
    padding: 4px 7px;
    font-size: 7px;
}

/* Age + Material */
.zigbo-product-quick-details {
    margin-bottom: 11px;
}

.zigbo-product-quick-item {
    min-height: 46px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Purchase area */
.zigbo-product-actions {
    margin-bottom: 9px;
}

.zigbo-product-cart-box form.cart .quantity .qty {
    width: 52px;
}

.zigbo-product-cart-box form.cart .single_add_to_cart_button,
.zigbo-buy-now-button {
    font-size: 8px !important;
    font-weight: 800;
}

/* Make Buy Now same visual height */
.zigbo-buy-now-button {
    min-height: 41px;
}

/* Service boxes */
.zigbo-product-service-row {
    margin-bottom: 10px;
}

/* Highlight box */
.zigbo-product-highlight-box {
    margin-top: 2px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-product-title {
        max-width: 100%;
        font-size: 20px !important;
        line-height: 1.14;
    }

    .zigbo-product-short-description {
        max-width: 100%;
        font-size: 7px;
        line-height: 1.55;
    }

    .zigbo-product-price {
        font-size: 18px !important;
    }

    .zigbo-product-quick-item {
        min-height: 42px;
    }

    .zigbo-product-cart-box form.cart .quantity .qty {
        width: 45px;
    }

    .zigbo-buy-now-button,
    .zigbo-product-cart-box form.cart .single_add_to_cart_button {
        font-size: 6.5px !important;
    }
}
/* =========================================================
   PRODUCT PAGE - 2X LARGER TEXT
   ========================================================= */

.zigbo-product-short-description {
    font-size: 17px !important;
    line-height: 1.7 !important;
}

.zigbo-product-price {
    font-size: 34px !important;
}

.zigbo-product-price del {
    font-size: 16px !important;
}

.zigbo-product-discount {
    font-size: 14px !important;
    padding: 7px 11px;
}

.zigbo-product-quick-item {
    padding: 15px 16px;
}

.zigbo-product-quick-item span {
    font-size: 11px !important;
}

.zigbo-product-quick-item strong {
    font-size: 15px !important;
}

.zigbo-product-cart-box form.cart .quantity .qty {
    font-size: 15px !important;
}

.zigbo-product-cart-box form.cart .single_add_to_cart_button,
.zigbo-buy-now-button {
    font-size: 14px !important;
    min-height: 48px;
}

.zigbo-product-service-item strong {
    font-size: 12px !important;
}

.zigbo-product-service-item small {
    font-size: 10px !important;
}

.zigbo-product-highlight-header span {
    font-size: 10px !important;
}

.zigbo-product-highlight-header strong {
    font-size: 14px !important;
}

.zigbo-product-highlight-item span {
    font-size: 10px !important;
}

.zigbo-product-highlight-item strong {
    font-size: 12px !important;
}

.zigbo-product-section-heading span {
    font-size: 10px !important;
}

.zigbo-product-section-heading h2 {
    font-size: 30px !important;
}

.zigbo-product-description {
    font-size: 15px !important;
    line-height: 1.8 !important;
}

.zigbo-skill-chip {
    font-size: 12px !important;
    padding: 9px 13px;
}

.zigbo-spec-label,
.zigbo-spec-value {
    font-size: 13px !important;
    padding: 13px 15px;
}


/* Mobile */
@media (max-width: 767px) {

    .zigbo-product-short-description {
        font-size: 11px !important;
    }

    .zigbo-product-price {
        font-size: 24px !important;
    }

    .zigbo-product-price del {
        font-size: 11px !important;
    }

    .zigbo-product-discount {
        font-size: 8px !important;
    }

    .zigbo-product-quick-item span {
        font-size: 8px !important;
    }

    .zigbo-product-quick-item strong {
        font-size: 11px !important;
    }

    .zigbo-product-cart-box form.cart .quantity .qty {
        font-size: 10px !important;
    }

    .zigbo-product-cart-box form.cart .single_add_to_cart_button,
    .zigbo-buy-now-button {
        font-size: 9px !important;
        min-height: 42px;
    }

    .zigbo-product-service-item strong {
        font-size: 8px !important;
    }

    .zigbo-product-service-item small {
        font-size: 7px !important;
    }

    .zigbo-product-highlight-header span {
        font-size: 7px !important;
    }

    .zigbo-product-highlight-header strong {
        font-size: 10px !important;
    }

    .zigbo-product-highlight-item span {
        font-size: 7px !important;
    }

    .zigbo-product-highlight-item strong {
        font-size: 9px !important;
    }

    .zigbo-product-description {
        font-size: 10px !important;
    }

    .zigbo-skill-chip {
        font-size: 8px !important;
    }

    .zigbo-spec-label,
    .zigbo-spec-value {
        font-size: 9px !important;
    }
}
/* =========================================================
   ZIGBO PRODUCT PAGE - MOBILE IMAGE SLIDER
   ========================================================= */

/* Desktop: normal gallery */
.zigbo-product-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* =========================================================
   MOBILE GALLERY SLIDER
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-product-gallery {
        width: 100%;
        padding: 0 10px;
        overflow: hidden;
    }

    .zigbo-product-gallery-grid {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        scrollbar-width: none;
        width: 100%;
    }

    .zigbo-product-gallery-grid::-webkit-scrollbar {
        display: none;
    }

    .zigbo-product-gallery-card {
        flex: 0 0 100%;
        width: 100%;
        aspect-ratio: 1 / 1;
        scroll-snap-align: center;
        border-radius: 10px;
    }

    .zigbo-product-grid-image {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }


    /* =====================================================
       MOBILE STICKY PURCHASE BAR
       ===================================================== */

    .zigbo-single-product {
        padding-bottom: 75px !important;
    }

    .zigbo-product-actions {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        transform: none !important;

        width: 100% !important;

        z-index: 99999;

        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 6px;

        padding: 7px 8px
            calc(7px + env(safe-area-inset-bottom));

        margin: 0 !important;

        border: 0 !important;
        border-top: 1px solid #e5e5e5 !important;
        border-radius: 0 !important;

        background: rgba(255,255,255,.98) !important;
        box-shadow: 0 -5px 20px rgba(0,0,0,.10);

        backdrop-filter: blur(10px);
    }

    .zigbo-product-actions .zigbo-product-cart-box {
        width: 100%;
        margin: 0 !important;
    }

    .zigbo-product-actions .zigbo-product-cart-box form.cart {
        width: 100%;
        display: flex;
        gap: 5px;
        margin: 0 !important;
    }

    .zigbo-product-actions .zigbo-product-cart-box .quantity {
        flex: 0 0 48px;
    }

    .zigbo-product-actions .zigbo-product-cart-box .qty {
        width: 48px !important;
        height: 42px !important;
    }

    .zigbo-product-actions
    .zigbo-product-cart-box
    .single_add_to_cart_button {

        flex: 1;
        width: auto !important;
        min-height: 42px !important;
        padding: 8px 10px !important;

        font-size: 9px !important;
    }

    .zigbo-product-actions .zigbo-buy-now-button {
        width: 100%;
        min-height: 42px !important;
        padding: 8px 10px;

        font-size: 9px !important;
    }


    /* Product content should not be hidden behind sticky bar */

    .zigbo-product-information {
        padding-bottom: 25px;
    }
}


/* =========================================================
   DESKTOP - KEEP ACTIONS IN NORMAL RIGHT COLUMN
   ========================================================= */

@media (min-width: 768px) {

    .zigbo-product-actions {
        position: static !important;
        transform: none !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 0 10px !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
    }
}
.zigbo-product-slider-dots {
    display: none;
}

@media (max-width: 767px) {

    .zigbo-product-slider-dots {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5px;
        margin-top: 7px;
    }

    .zigbo-product-slider-dot {
        width: 5px;
        height: 5px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: #d5d5d5;
        cursor: pointer;
    }

    .zigbo-product-slider-dot.active {
        width: 7px;
        height: 7px;
        background: var(--zigbo-yellow);
    }
}
@media (max-width: 767px) {

    .zigbo-shop-hero-inner {
        height: 100px !important;
        min-height: 100px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .zigbo-shop-hero-content {
        max-width: 260px !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .zigbo-shop-eyebrow {
        display: inline-block !important;
        padding: 3px 7px !important;
        font-size: 5px !important;
        line-height: 1 !important;
        margin-bottom: 3px !important;
    }

    .zigbo-shop-hero h1 {
        margin: 0 0 3px !important;
        font-size: 19px !important;
        line-height: 1 !important;
        letter-spacing: -.3px !important;
    }

    .zigbo-shop-hero p {
        margin: 0 auto !important;
        max-width: 230px !important;
        padding: 0 !important;
        font-size: 6px !important;
        line-height: 1.25 !important;
    }

    .zigbo-shop-hero-decoration {
        font-size: 12px !important;
    }
}
@media (max-width: 767px) {

    .zigbo-shop-hero-inner {
        position: relative !important;
        height: 100px !important;
        min-height: 100px !important;
    }

    .zigbo-shop-hero-content {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;

        width: 100% !important;
        max-width: 260px !important;
        padding: 0 !important;

        margin: 0 !important;
        text-align: center !important;
    }

    .zigbo-shop-eyebrow,
    .zigbo-shop-hero h1,
    .zigbo-shop-hero p {
        display: block !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .zigbo-shop-eyebrow {
        width: fit-content !important;
    }

    .zigbo-shop-hero h1 {
        margin-top: 4px !important;
        margin-bottom: 3px !important;
        font-size: 19px !important;
        line-height: 1 !important;
    }

    .zigbo-shop-hero p {
        max-width: 220px !important;
        font-size: 6px !important;
        line-height: 1.25 !important;
    }
}
/* =========================================================
   MOBILE MENU - CLICK FIX
   ========================================================= */

@media (max-width: 767px) {

    header,
    .zigbo-header {
        position: relative !important;
        z-index: 99999 !important;
    }

    .zigbo-menu-toggle,
    .menu-toggle {
        position: relative !important;
        z-index: 100000 !important;
        pointer-events: auto !important;
        cursor: pointer !important;
    }

    header::before,
    header::after,
    .zigbo-header::before,
    .zigbo-header::after {
        pointer-events: none !important;
    }
}
/* =========================================================
   MOBILE MENU
   ========================================================= */

.zigbo-mobile-nav {
    display: none;
}

@media (max-width: 767px) {

    .zigbo-header {
        position: relative;
        z-index: 99999;
    }

    .zigbo-header-inner {
        position: relative;
        z-index: 100000;
    }

    .zigbo-mobile-nav {
        display: flex;
        position: absolute;
        top: 100%;
        left: 10px;
        right: 10px;

        z-index: 100000;

        flex-direction: column;
        gap: 0;

        padding: 8px;

        border: 1px solid #e8e8e8;
        border-radius: 10px;

        background: #fff;
        box-shadow: 0 12px 25px rgba(0,0,0,.12);

        opacity: 0;
        visibility: hidden;
        transform: translateY(-6px);
        pointer-events: none;

        transition:
            opacity .2s ease,
            transform .2s ease,
            visibility .2s ease;
    }

    .zigbo-mobile-nav.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    .zigbo-mobile-nav a {
        display: flex;
        align-items: center;

        min-height: 42px;
        padding: 0 12px;

        border-radius: 7px;

        color: var(--zigbo-dark);
        text-decoration: none;

        font-size: 11px;
        font-weight: 700;
    }

    .zigbo-mobile-nav a:hover {
        background: #fff4c7;
    }

    body.zigbo-menu-open {
        overflow: hidden;
    }
}
/* =========================================================
   MOBILE MENU - VISIBILITY FIX
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-header,
    .zigbo-header-inner {
        position: relative !important;
        overflow: visible !important;
    }

    .zigbo-mobile-nav {
        position: absolute !important;
        top: calc(100% + 2px) !important;
        left: 8px !important;
        right: 8px !important;

        display: flex !important;
        flex-direction: column !important;

        background: #ffffff !important;
        border: 1px solid #dddddd !important;
        border-radius: 10px !important;

        padding: 6px !important;

        z-index: 999999 !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        transform: translateY(-5px) !important;
    }

    .zigbo-mobile-nav.is-open {
        display: flex !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

        transform: translateY(0) !important;
    }

    .zigbo-mobile-nav a {
        display: flex !important;
        align-items: center !important;

        min-height: 40px !important;
        padding: 0 12px !important;

        color: var(--zigbo-dark) !important;
        background: #fff !important;

        text-decoration: none !important;
        font-size: 11px !important;
        font-weight: 700 !important;
    }

    .zigbo-mobile-nav a:hover {
        background: #fff4c7 !important;
    }
}
/* =========================================================
   MOBILE MENU - FINAL COMPACT STYLE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-mobile-nav {
        left: auto !important;
        right: 8px !important;
        width: 175px !important;

        padding: 6px !important;

        border: 1px solid #e5e5e5 !important;
        border-radius: 10px !important;

        box-shadow: 0 10px 25px rgba(0,0,0,.14) !important;

        background: #fff !important;
    }

    .zigbo-mobile-nav a {
        min-height: 34px !important;
        padding: 0 10px !important;

        border-radius: 6px !important;

        font-size: 9px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .zigbo-mobile-nav a + a {
        margin-top: 1px;
    }

    .zigbo-mobile-nav a:hover {
        background: #fff4c7 !important;
    }
}
@media (max-width: 767px) {

    .zigbo-mobile-nav {
        width: 200px !important;
        padding: 8px !important;
    }

    .zigbo-mobile-nav a {
        min-height: 42px !important;
        padding: 0 13px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
    }

    .zigbo-mobile-nav a + a {
        margin-top: 1px !important;
    }
}
/* =========================================================
   PRODUCT DETAILS - 2 COLUMN LAYOUT
   ========================================================= */

.zigbo-product-information > .zigbo-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
    align-items: start;
}

.zigbo-product-section {
    width: 100%;
    box-sizing: border-box;
}

/* Skills - left */
.zigbo-product-section:has(.zigbo-skills-grid) {
    grid-column: 1;
}

/* About - left */
.zigbo-product-section:has(.zigbo-product-description) {
    grid-column: 1;
}

/* Specifications - right */
.zigbo-product-section:has(.zigbo-specifications) {
    grid-column: 2;
}

/* Q&A - right */
.zigbo-product-section.zigbo-product-qa-section {
    grid-column: 2;
}


/* Don't stretch description unnecessarily */
.zigbo-product-description {
    max-width: 100%;
}


/* Mobile - single column */
@media (max-width: 767px) {

    .zigbo-product-information > .zigbo-container {
        display: block;
    }

    .zigbo-product-section {
        width: 100%;
    }
}
/* =========================================================
   PRODUCT INFORMATION - FINAL LAYOUT FIX
   ========================================================= */

.zigbo-product-information > .zigbo-container {
    width: min(100% - 30px, 1200px) !important;
    margin: 0 auto !important;
    display: block !important;
}

.zigbo-product-details-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
    align-items: start !important;
}

.zigbo-product-details-left,
.zigbo-product-details-right {
    width: 100% !important;
    min-width: 0 !important;
}


/* Desktop */
@media (min-width: 768px) {

    .zigbo-product-details-left {
        grid-column: 1;
    }

    .zigbo-product-details-right {
        grid-column: 2;
    }

}


/* Mobile */
@media (max-width: 767px) {

    .zigbo-product-information > .zigbo-container {
        width: calc(100% - 20px) !important;
    }

    .zigbo-product-details-grid {
        display: block !important;
        width: 100% !important;
    }

    .zigbo-product-details-left,
    .zigbo-product-details-right {
        width: 100% !important;
    }

}
/* =========================================================
   ZIGBO PRODUCT PAGE - Q&A ACCORDION
   ========================================================= */

.zigbo-product-qa-accordion {
    width: 100%;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.zigbo-product-qa-accordion summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 56px;
    padding: 11px 14px;

    cursor: pointer;
    list-style: none;
    background: #fafafa;
}

.zigbo-product-qa-accordion summary::-webkit-details-marker {
    display: none;
}

.zigbo-qa-summary-text strong {
    display: block;
    margin-bottom: 3px;
    color: var(--zigbo-dark);
    font-size: 10px;
}

.zigbo-qa-summary-text small {
    display: block;
    color: #888;
    font-size: 7px;
}

.zigbo-qa-arrow {
    width: 24px;
    height: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #e3e3e3;
    border-radius: 50%;

    background: #fff;
    color: var(--zigbo-dark);

    font-size: 12px;

    transition: transform .2s ease;
}

.zigbo-product-qa-accordion[open] .zigbo-qa-arrow {
    transform: rotate(180deg);
}

.zigbo-product-qa-content {
    padding: 13px 14px;
    border-top: 1px solid #ededed;
    background: #fff;
}

.zigbo-product-qa-content p {
    margin: 0;
    color: #777;
    font-size: 9px;
    line-height: 1.6;
}


/* Mobile */

@media (max-width: 767px) {

    .zigbo-product-qa-accordion summary {
        min-height: 48px;
        padding: 9px 10px;
    }

    .zigbo-qa-summary-text strong {
        font-size: 8px;
    }

    .zigbo-qa-summary-text small {
        font-size: 6px;
    }

    .zigbo-qa-arrow {
        width: 21px;
        height: 21px;
        font-size: 10px;
    }

    .zigbo-product-qa-content {
        padding: 10px;
    }

    .zigbo-product-qa-content p {
        font-size: 7px;
    }
}
/* =========================================================
   ASK QUESTION FORM
   ========================================================= */

.zigbo-ask-question-button {
    margin-top: 12px;
    padding: 10px 16px;
    border: 0;
    border-radius: 7px;
    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.zigbo-question-form {
    display: none;
    margin-top: 14px;
    padding: 15px;
    border: 1px solid #e6e6e6;
    border-radius: 9px;
    background: #fafafa;
}

.zigbo-question-form.is-visible {
    display: block;
}

.zigbo-question-form-row {
    margin-bottom: 10px;
}

.zigbo-question-form-row label {
    display: block;
    margin-bottom: 4px;
    color: var(--zigbo-dark);
    font-size: 9px;
    font-weight: 700;
}

.zigbo-question-form-row input,
.zigbo-question-form-row textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    font-size: 10px;
    outline: none;
}

.zigbo-question-form-row textarea {
    resize: vertical;
}

.zigbo-submit-question-button {
    padding: 10px 16px;
    border: 0;
    border-radius: 7px;
    background: var(--zigbo-dark);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}


/* Mobile */

@media (max-width: 767px) {

    .zigbo-product-qa-section .zigbo-product-section-heading h2 {
        font-size: 22px !important;
    }

    .zigbo-question-form {
        padding: 11px;
    }

    .zigbo-question-form-row label {
        font-size: 7px;
    }

    .zigbo-question-form-row input,
    .zigbo-question-form-row textarea {
        font-size: 8px;
    }

    .zigbo-ask-question-button,
    .zigbo-submit-question-button {
        font-size: 8px;
    }
}
/* =========================================================
   Q&A - FINAL READABLE SIZE
   ========================================================= */

.zigbo-product-qa-section .zigbo-product-section-heading h2 {
    font-size: 30px !important;
}

.zigbo-product-qa-section .zigbo-product-section-heading span {
    font-size: 10px !important;
}

.zigbo-product-qa-accordion summary {
    min-height: 70px !important;
    padding: 16px 18px !important;
}

.zigbo-product-qa-accordion .zigbo-qa-summary-text strong {
    font-size: 14px !important;
    line-height: 1.3 !important;
}

.zigbo-product-qa-accordion .zigbo-qa-summary-text small {
    font-size: 10px !important;
    line-height: 1.4 !important;
}

.zigbo-product-qa-content {
    padding: 16px 18px !important;
}

.zigbo-product-qa-content p {
    font-size: 11px !important;
    line-height: 1.6 !important;
}


/* Mobile */

@media (max-width: 767px) {

    .zigbo-product-qa-section .zigbo-product-section-heading h2 {
        font-size: 25px !important;
    }

    .zigbo-product-qa-accordion summary {
        min-height: 58px !important;
        padding: 12px !important;
    }

    .zigbo-product-qa-accordion .zigbo-qa-summary-text strong {
        font-size: 13px !important;
    }

    .zigbo-product-qa-accordion .zigbo-qa-summary-text small {
        font-size: 10px !important;
    }

    .zigbo-product-qa-content p {
        font-size: 11px !important;
    }
}
/* =========================================================
   ZIGBO PRODUCT QUESTIONS - FINAL
   ========================================================= */

.zigbo-question-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
}

.zigbo-question-item {
    padding: 13px 14px;
    border: 1px solid #e5e5e5;
    border-radius: 9px;
    background: #fff;
}

.zigbo-question-text,
.zigbo-answer {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.zigbo-question-text > span,
.zigbo-answer > span {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #fff3c4;
    color: var(--zigbo-dark);

    font-size: 10px;
    font-weight: 800;
}

.zigbo-answer {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #eeeeee;
}

.zigbo-answer > span {
    background: #eef8ec;
    color: #287d39;
}

.zigbo-question-text strong,
.zigbo-answer strong {
    display: block;
    color: var(--zigbo-dark);
    font-size: 10px;
    line-height: 1.5;
}

.zigbo-question-text small,
.zigbo-answer small {
    display: block;
    margin-top: 3px;
    color: #888;
    font-size: 7px;
}


/* No questions */

.zigbo-no-questions {
    padding: 14px;
    margin-bottom: 10px;

    border: 1px solid #e5e5e5;
    border-radius: 9px;

    color: #777;
    background: #fafafa;

    font-size: 9px;
}


/* Ask button / accordion */

.zigbo-ask-question {
    overflow: hidden;

    border: 1px solid #e5e5e5;
    border-radius: 9px;

    background: #fff;
}

.zigbo-ask-question summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 50px;
    padding: 0 14px;

    cursor: pointer;
    list-style: none;

    background: #fafafa;

    color: var(--zigbo-dark);
    font-size: 11px;
    font-weight: 800;
}

.zigbo-ask-question summary::-webkit-details-marker {
    display: none;
}

.zigbo-ask-question summary b {
    width: 23px;
    height: 23px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #ddd;
    border-radius: 50%;

    background: #fff;

    font-size: 15px;
    font-weight: 500;
}

.zigbo-ask-question[open] summary b {
    transform: rotate(45deg);
}


/* Form */

.zigbo-question-form {
    padding: 15px;
    border-top: 1px solid #ededed;
    background: #fff;
}

.zigbo-question-form-row {
    margin-bottom: 11px;
}

.zigbo-question-form-row label {
    display: block;
    margin-bottom: 5px;

    color: var(--zigbo-dark);

    font-size: 9px;
    font-weight: 700;
}

.zigbo-question-form-row input,
.zigbo-question-form-row textarea {
    width: 100%;
    box-sizing: border-box;

    padding: 10px;

    border: 1px solid #ddd;
    border-radius: 7px;

    background: #fff;
    color: var(--zigbo-dark);

    font-size: 10px;

    outline: none;
}

.zigbo-question-form-row input:focus,
.zigbo-question-form-row textarea:focus {
    border-color: var(--zigbo-yellow);
}

.zigbo-question-form-row textarea {
    min-height: 90px;
    resize: vertical;
}

.zigbo-submit-question-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 40px;
    padding: 8px 18px;

    border: 0;
    border-radius: 7px;

    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);

    font-size: 9px;
    font-weight: 800;

    cursor: pointer;
}


/* Success message */

.zigbo-question-success {
    margin-top: 9px;
    padding: 10px 12px;

    border-radius: 7px;

    background: #eaf7eb;
    color: #287d39;

    font-size: 10px;
    line-height: 1.5;
}


/* Honeypot */

.zigbo-question-hp {
    position: absolute !important;
    left: -9999px !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;
}


/* Mobile */

@media (max-width: 767px) {

    .zigbo-question-item {
        padding: 10px;
    }

    .zigbo-question-text > span,
    .zigbo-answer > span {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
        font-size: 8px;
    }

    .zigbo-question-text strong,
    .zigbo-answer strong {
        font-size: 10px;
    }

    .zigbo-question-text small,
    .zigbo-answer small {
        font-size: 8px;
    }

    .zigbo-no-questions {
        padding: 11px;
        font-size: 9px;
    }

    .zigbo-ask-question summary {
        min-height: 46px;
        padding: 0 11px;
        font-size: 11px;
    }

    .zigbo-question-form {
        padding: 11px;
    }

    .zigbo-question-form-row label {
        font-size: 9px;
    }

    .zigbo-question-form-row input,
    .zigbo-question-form-row textarea {
        padding: 8px;
        font-size: 10px;
    }

    .zigbo-submit-question-button {
        font-size: 8px;
    }
}
/* Q&A FORM VISIBILITY FIX */

.zigbo-ask-question:not([open]) .zigbo-question-form {
    display: none !important;
}

.zigbo-ask-question[open] .zigbo-question-form {
    display: block !important;
}
/* =========================================================
   ZIGBO Q&A - FLIPKART STYLE LAYOUT
   ========================================================= */

.zigbo-qa-subtitle {
    margin: 6px 0 0;
    color: #777;
    font-size: 10px;
    line-height: 1.5;
}


/* =========================================================
   OVERVIEW ACCORDION
   ========================================================= */

.zigbo-qa-overview {
    overflow: hidden;
    border: 1px solid #e4e4e4;
    border-radius: 11px;
    background: #fff;
}

.zigbo-qa-overview > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 68px;
    padding: 12px 15px;

    cursor: pointer;
    list-style: none;

    background: #fff;
}

.zigbo-qa-overview > summary::-webkit-details-marker {
    display: none;
}

.zigbo-qa-overview > summary strong {
    display: block;
    color: var(--zigbo-dark);
    font-size: 13px;
}

.zigbo-qa-overview > summary small {
    display: block;
    margin-top: 3px;
    color: #888;
    font-size: 8px;
}

.zigbo-qa-overview-arrow {
    width: 27px;
    height: 27px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;
    background: #f7f7f7;

    color: var(--zigbo-dark);
    font-size: 14px;

    transition: transform .2s ease;
}

.zigbo-qa-overview[open]
.zigbo-qa-overview-arrow {
    transform: rotate(180deg);
}

.zigbo-qa-overview-content {
    padding: 0 15px 15px;
}


/* =========================================================
   PREVIEW CARDS
   ========================================================= */

.zigbo-qa-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.zigbo-qa-preview-card {
    overflow: hidden;
    border: 1px solid #e8e8e8;
    border-radius: 9px;
    background: #fff;
}


/* Question */

.zigbo-qa-question-box {
    padding: 11px 12px;
    background: #fff6cf;
}

.zigbo-qa-question-box strong {
    display: block;
    color: var(--zigbo-dark);
    font-size: 11px;
    line-height: 1.45;
}

.zigbo-qa-question-box small {
    display: block;
    margin-top: 6px;
    color: #777;
    font-size: 7px;
}


/* Answer */

.zigbo-qa-answer-box {
    min-height: 57px;
    padding: 10px 12px;
    background: #f5f5f5;
}

.zigbo-qa-answer-box strong {
    display: block;
    color: var(--zigbo-dark);
    font-size: 10px;
    line-height: 1.45;
}

.zigbo-qa-answer-box small {
    display: block;
    margin-top: 5px;
    color: #888;
    font-size: 7px;
}

.zigbo-qa-answer-box span {
    color: #777;
    font-size: 8px;
}


/* Show all */

.zigbo-show-all-qa {
    width: 100%;
    min-height: 45px;
    margin-top: 10px;

    border: 1px solid #ddd;
    border-radius: 9px;

    background: #fff;
    color: var(--zigbo-dark);

    font-size: 11px;
    font-weight: 800;

    cursor: pointer;
}

.zigbo-show-all-qa span {
    margin-left: 5px;
    font-size: 14px;
}


/* =========================================================
   FULL Q&A DIALOG
   ========================================================= */

.zigbo-qa-dialog {
    width: min(760px, calc(100% - 30px));
    max-width: 760px;
    max-height: 85vh;

    padding: 0;

    border: 0;
    border-radius: 14px;

    background: #fff;

    box-shadow: 0 25px 70px rgba(0,0,0,.25);
}

.zigbo-qa-dialog::backdrop {
    background: rgba(0,0,0,.55);
}

.zigbo-qa-dialog-header {
    position: sticky;
    top: 0;

    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;

    min-height: 62px;
    padding: 0 12px;

    background: var(--zigbo-dark);
    color: #fff;

    z-index: 2;
}

.zigbo-qa-dialog-header > div {
    text-align: center;
}

.zigbo-qa-dialog-header strong {
    display: block;
    font-size: 14px;
}

.zigbo-qa-dialog-header small {
    display: block;
    margin-top: 2px;
    font-size: 8px;
    opacity: .8;
}

.zigbo-qa-dialog-back,
.zigbo-qa-dialog-close {
    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: rgba(255,255,255,.12);
    color: #fff;

    font-size: 17px;
    cursor: pointer;
}

.zigbo-qa-dialog-body {
    padding: 10px 14px 20px;
    overflow-y: auto;
}

.zigbo-qa-full-item {
    padding: 15px 0;
    border-bottom: 1px solid #ececec;
}

.zigbo-qa-full-item:last-child {
    border-bottom: 0;
}

.zigbo-qa-full-question,
.zigbo-qa-full-answer {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.zigbo-qa-full-question > span,
.zigbo-qa-full-answer > span {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #fff6cf;
    color: var(--zigbo-dark);

    font-size: 10px;
    font-weight: 800;
}

.zigbo-qa-full-answer {
    margin-top: 11px;
    padding-top: 11px;
    border-top: 1px solid #eeeeee;
}

.zigbo-qa-full-answer > span {
    background: #eef8ec;
    color: #287d39;
}

.zigbo-qa-full-question strong,
.zigbo-qa-full-answer strong {
    display: block;
    color: var(--zigbo-dark);
    font-size: 11px;
    line-height: 1.55;
}

.zigbo-qa-full-question small,
.zigbo-qa-full-answer small {
    display: block;
    margin-top: 4px;
    color: #888;
    font-size: 7px;
}

.zigbo-qa-no-answer {
    margin-top: 10px;
    padding: 9px 10px;

    border-radius: 7px;
    background: #f7f7f7;

    color: #777;
    font-size: 8px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-qa-subtitle {
        font-size: 8px;
    }

    .zigbo-qa-overview > summary {
        min-height: 57px;
        padding: 10px 11px;
    }

    .zigbo-qa-overview > summary strong {
        font-size: 10px;
    }

    .zigbo-qa-overview > summary small {
        font-size: 6.5px;
    }

    .zigbo-qa-overview-content {
        padding: 0 10px 10px;
    }

    .zigbo-qa-preview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .zigbo-qa-question-box {
        padding: 8px 9px;
    }

    .zigbo-qa-question-box strong {
        font-size: 8px;
        line-height: 1.4;
    }

    .zigbo-qa-question-box small {
        margin-top: 4px;
        font-size: 6px;
    }

    .zigbo-qa-answer-box {
        min-height: 49px;
        padding: 8px 9px;
    }

    .zigbo-qa-answer-box strong {
        font-size: 7.5px;
    }

    .zigbo-qa-answer-box small {
        font-size: 6px;
    }

    .zigbo-qa-answer-box span {
        font-size: 6.5px;
    }

    .zigbo-show-all-qa {
        min-height: 41px;
        font-size: 9px;
    }

    .zigbo-qa-dialog {
        width: 100%;
        max-width: none;
        max-height: 100vh;
        height: 100vh;

        border-radius: 0;
    }

    .zigbo-qa-dialog-header {
        min-height: 56px;
    }

    .zigbo-qa-dialog-header strong {
        font-size: 12px;
    }

    .zigbo-qa-dialog-header small {
        font-size: 7px;
    }

    .zigbo-qa-dialog-body {
        padding: 6px 11px 20px;
    }

    .zigbo-qa-full-question strong,
    .zigbo-qa-full-answer strong {
        font-size: 9px;
    }

    .zigbo-qa-full-question small,
    .zigbo-qa-full-answer small {
        font-size: 6px;
    }

    .zigbo-qa-full-question > span,
    .zigbo-qa-full-answer > span {
        width: 21px;
        height: 21px;
        flex-basis: 21px;
        font-size: 8px;
    }
}
/* =========================================================
   WRITE A REVIEW - ALWAYS OPEN
   ========================================================= */

.zigbo-write-review {
    width: 100%;
    padding: 18px;
    box-sizing: border-box;

    border: 1px solid #e5e5e5;
    border-radius: 10px;
    background: #fff;
}

.zigbo-write-review-heading {
    margin-bottom: 15px;
}

.zigbo-write-review-heading span {
    display: block;
    margin-bottom: 5px;
    color: var(--zigbo-yellow);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1px;
}

.zigbo-write-review-heading h3 {
    margin: 0;
    color: var(--zigbo-dark);
    font-size: 20px;
}

.zigbo-review-form {
    padding: 0;
    border: 0;
}

.zigbo-review-form-row {
    margin-bottom: 13px;
}

.zigbo-review-form-row label {
    display: block;
    margin-bottom: 6px;
    color: var(--zigbo-dark);
    font-size: 9px;
    font-weight: 700;
}

.zigbo-review-form-row input[type="text"],
.zigbo-review-form-row textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 7px;
    background: #fff;
    font-size: 10px;
}

.zigbo-review-form-row textarea {
    min-height: 100px;
    resize: vertical;
}

.zigbo-rating-options {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 4px;
}

.zigbo-rating-options label {
    margin: 0;
    cursor: pointer;
}

.zigbo-rating-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.zigbo-rating-options span {
    color: #cfcfcf;
    font-size: 22px;
}

.zigbo-rating-options label:hover span,
.zigbo-rating-options label:hover ~ label span,
.zigbo-rating-options input:checked ~ span {
    color: #f2a619;
}

.zigbo-submit-review-button {
    min-height: 42px;
    padding: 9px 18px;
    border: 0;
    border-radius: 7px;
    background: var(--zigbo-yellow);
    color: var(--zigbo-dark);
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 767px) {

    .zigbo-write-review {
        padding: 12px;
    }

    .zigbo-write-review-heading h3 {
        font-size: 17px;
    }

    .zigbo-review-form-row label {
        font-size: 7px;
    }

    .zigbo-review-form-row input[type="text"],
    .zigbo-review-form-row textarea {
        font-size: 8px;
    }

    .zigbo-rating-options span {
        font-size: 18px;
    }

    .zigbo-submit-review-button {
        font-size: 8px;
    }
}
/* =========================================================
   REVIEW STAR RATING - FIXED
   ========================================================= */

.zigbo-rating-options {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 4px;
}

.zigbo-rating-star {
    margin: 0 !important;
    cursor: pointer;
}

.zigbo-rating-star input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.zigbo-rating-star span {
    display: block;
    color: #d5d5d5;
    font-size: 28px;
    line-height: 1;
    transition: color .15s ease, transform .15s ease;
}

.zigbo-rating-star span.active {
    color: #f2a619 !important;
}

.zigbo-rating-star:hover span {
    transform: scale(1.08);
}

@media (max-width: 767px) {

    .zigbo-rating-options {
        gap: 3px;
    }

    .zigbo-rating-star span {
        font-size: 21px;
    }
}
/* Review stars - left aligned */

.zigbo-rating-options {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    gap: 4px !important;
}
/* =========================================================
   REVIEW FORM - 2 COLUMN
   ========================================================= */

.zigbo-review-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    align-items: start;
}

.zigbo-review-form-left,
.zigbo-review-form-right {
    min-width: 0;
}

.zigbo-review-form-right .zigbo-review-form-row {
    margin-bottom: 10px;
}

.zigbo-review-form-right textarea {
    min-height: 150px;
}

.zigbo-review-form-right .zigbo-submit-review-button {
    margin-top: 4px;
}


/* Mobile */

@media (max-width: 767px) {

    .zigbo-review-form-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .zigbo-review-form-right textarea {
        min-height: 110px;
    }
}
/* Rating size only — no extra spacing */
.zigbo-product-rating {
    gap: 0 !important;
}

.zigbo-product-rating .star-rating {
    font-size: 20px !important;
    letter-spacing: 5 !important;
    word-spacing: 05 !important;
}

.zigbo-product-rating .rating-number,
.zigbo-product-rating .rating-count {
    font-size: 16px !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
}
/* =========================================
   PRODUCT RATING - LARGE & CLEAN
   ========================================= */

.zigbo-product-rating {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 16px !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
}

/* Stars */
.zigbo-product-rating .star-rating {
    font-size: 20px !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
}

/* If stars are normal text/span */
.zigbo-product-rating .stars,
.zigbo-product-rating > span:first-child {
    font-size: 20px !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
    line-height: 1 !important;
}

/* Rating number */
.zigbo-product-rating .rating-number {
    font-size: 16px !important;
    margin-left: 2px !important;
    letter-spacing: 0 !important;
}

/* Review count */
.zigbo-product-rating .rating-count {
    font-size: 16px !important;
    margin-left: 2px !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
}
/* =========================================
   SINGLE PRODUCT IMAGE CLICK ZOOM
   ========================================= */

.zigbo-product-gallery-card {
    cursor: zoom-in;
}

/* Zoom modal */
.zigbo-product-image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, 0.82);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

.zigbo-product-image-lightbox.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.zigbo-product-image-lightbox-inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zigbo-product-image-lightbox-img {
    display: block;
    max-width: 92vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 8px;

    transform: scale(0.94);
    transition: transform 0.25s ease;
}

.zigbo-product-image-lightbox.is-open
.zigbo-product-image-lightbox-img {
    transform: scale(1);
}

.zigbo-product-image-lightbox-close {
    position: absolute;
    top: 18px;
    right: 20px;

    width: 44px;
    height: 44px;

    border: 0;
    border-radius: 50%;

    background: #ffffff;
    color: #222222;

    font-size: 30px;
    line-height: 44px;
    text-align: center;

    cursor: pointer;
    z-index: 2;
}

body.zigbo-product-lightbox-open {
    overflow: hidden;
}

@media (max-width: 767px) {

    .zigbo-product-image-lightbox {
        padding: 15px;
    }

    .zigbo-product-image-lightbox-img {
        max-width: 94vw;
        max-height: 84vh;
    }

    .zigbo-product-image-lightbox-close {
        top: 10px;
        right: 10px;

        width: 38px;
        height: 38px;

        font-size: 25px;
        line-height: 38px;
    }
}
/* =========================================================
   ZIGBO PREMIUM NAVIGATION — NEW MENU
   ========================================================= */

.zigbo-header {
    position: relative;
    z-index: 9999;
    background: rgba(255,255,255,.94);
    border-bottom: 1px solid rgba(20,30,45,.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.zigbo-header-inner {
    width: min(100% - 32px, 1240px);
    min-height: 72px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 18px;
}


/* ==========================
   LOGO
   ========================== */

.zigbo-logo {
    flex: 0 0 auto;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
}

.zigbo-logo span {
    font-size: 21px;
    font-weight: 900;
    letter-spacing: -1px;
    color: #7abf45;
}


/* ==========================
   DESKTOP NAV
   ========================== */

.zigbo-nav {
    position: relative;
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 5px;
    margin-left: 8px;
    border: 1px solid rgba(20,30,45,.07);
    border-radius: 999px;
    background: rgba(247,248,250,.72);
    box-shadow:
        0 2px 8px rgba(20,30,45,.04),
        inset 0 1px 0 rgba(255,255,255,.8);
}

.zigbo-nav a {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 13px;
    border-radius: 999px;
    color: #28313b;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    transition:
        color .25s ease,
        transform .25s ease;
}

.zigbo-nav a:hover {
    color: #111820;
}

.zigbo-nav a:active {
    transform: scale(.97);
}

.zigbo-nav-highlight {
    position: absolute;
    z-index: 1;
    top: 5px;
    left: 0;
    height: 34px;
    width: 0;
    border-radius: 999px;
    background: #ffffff;
    box-shadow:
        0 3px 10px rgba(20,30,45,.10),
        0 1px 2px rgba(20,30,45,.06);
    opacity: 0;
    pointer-events: none;
    transition:
        width .28s cubic-bezier(.22,.61,.36,1),
        transform .28s cubic-bezier(.22,.61,.36,1),
        opacity .2s ease;
}

.zigbo-nav-highlight.is-visible {
    opacity: 1;
}


/* ==========================
   SEARCH
   ========================== */

.zigbo-search {
    position: relative;
    flex: 1 1 210px;
    max-width: 245px;
    margin-left: auto;
}

.zigbo-search input[type="search"] {
    width: 100%;
    height: 36px;
    padding: 0 38px 0 13px;
    border: 1px solid rgba(20,30,45,.10);
    border-radius: 999px;
    outline: none;
    background: #f7f8fa;
    color: #202832;
    font-size: 11px;
    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.zigbo-search input[type="search"]:focus {
    border-color: rgba(122,191,69,.45);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(122,191,69,.10);
}

.zigbo-search button {
    position: absolute;
    top: 50%;
    right: 7px;
    width: 27px;
    height: 27px;
    padding: 0;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    cursor: pointer;
}

.zigbo-search button svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: #59636e;
    stroke-width: 1.8;
    stroke-linecap: round;
}


/* ==========================
   HEADER ACTIONS
   ========================== */

.zigbo-header-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
}

.zigbo-header-icon {
    position: relative;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #26313b;
    text-decoration: none !important;
    transition:
        background .2s ease,
        transform .2s ease;
}

.zigbo-header-icon:hover {
    background: #f3f5f7;
}

.zigbo-header-icon:active {
    transform: scale(.94);
}

.zigbo-header-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.zigbo-cart-count {
    position: absolute;
    top: -1px;
    right: -1px;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #7abf45;
    color: #ffffff;
    font-size: 8px;
    font-weight: 800;
    line-height: 1;
}


/* ==========================
   MOBILE BUTTON
   ========================== */

.zigbo-menu-toggle {
    display: none;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f5f6f7;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
}

.zigbo-menu-toggle span {
    display: block;
    width: 16px;
    height: 1.5px;
    border-radius: 2px;
    background: #202832;
    transition:
        transform .25s ease,
        opacity .2s ease;
}

.zigbo-menu-toggle.is-open span:nth-child(1) {
    transform: translateY(5.5px) rotate(45deg);
}

.zigbo-menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

.zigbo-menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-5.5px) rotate(-45deg);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-header-inner {
        width: calc(100% - 20px);
        min-height: 58px;
        gap: 8px;
    }

    .zigbo-logo span {
        font-size: 18px;
    }

    .zigbo-nav {
        display: none;
    }

    .zigbo-search {
        flex: 1 1 auto;
        max-width: none;
        margin-left: auto;
    }

    .zigbo-search input[type="search"] {
        height: 32px;
        font-size: 10px;
        padding-left: 11px;
        padding-right: 32px;
    }

    .zigbo-search button {
        right: 5px;
        width: 25px;
        height: 25px;
    }

    .zigbo-header-actions {
        gap: 0;
    }

    .zigbo-header-icon {
        width: 31px;
        height: 31px;
    }

    .zigbo-header-icon svg {
        width: 16px;
        height: 16px;
    }

    .zigbo-menu-toggle {
        display: inline-flex;
        flex: 0 0 auto;
    }


    .zigbo-mobile-nav {
        display: flex;
        flex-direction: column;
    }

    .zigbo-mobile-nav a {
        min-height: 48px;
        padding: 0 13px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-radius: 12px;
        color: #202832;
        text-decoration: none !important;
        font-size: 14px;
        font-weight: 600;
        transition:
            background .2s ease,
            padding-left .2s ease;
    }

    .zigbo-mobile-nav a:hover,
    .zigbo-mobile-nav a:active {
        background: #f5f7f8;
        padding-left: 17px;
    }

    .zigbo-mobile-nav a small {
        color: #a1a8ae;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .08em;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1050px) {

    .zigbo-header-inner {
        width: calc(100% - 24px);
        gap: 10px;
    }

    .zigbo-nav a {
        padding: 0 9px;
        font-size: 11px;
    }

    .zigbo-search {
        max-width: 180px;
    }

}
/* =========================================================
   ZIGBO MOBILE MENU — FINAL OVERRIDE
   ========================================================= */

@media (max-width: 767px) {

    /* Header */
    .zigbo-header {
        position: relative !important;
        z-index: 99999 !important;
    }

    .zigbo-header-inner {
        position: relative !important;
        z-index: 100000 !important;
    }

    /* Hamburger */
    .zigbo-menu-toggle {
        display: inline-flex !important;
        position: relative !important;
        z-index: 100002 !important;

        width: 38px !important;
        height: 38px !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

}


/* Desktop par mobile menu completely hidden */
@media (min-width: 768px) {

    .zigbo-mobile-nav,
    .zigbo-menu-toggle {
        display: none !important;
    }

}
/* =========================================================
   ZIGBO MOBILE HEADER — 3 ROW TEST
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-header {
        position: relative !important;
        z-index: 9999 !important;
        background: #ffffff !important;
    }

    .zigbo-header-inner {
        width: calc(100% - 20px) !important;
        min-height: 56px !important;
        margin: 0 auto !important;

        display: grid !important;

        grid-template-columns: auto 1fr auto !important;

        grid-template-areas:
            "logo actions actions"
            "search search search" !important;

        gap: 8px !important;

        padding: 8px 0 9px !important;
    }


    /* LOGO */

    .zigbo-logo {
        grid-area: logo !important;
    }

    .zigbo-logo span {
        font-size: 18px !important;
    }


    /* SEARCH */

    .zigbo-search {
        grid-area: search !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;

        flex: none !important;
    }

    .zigbo-search input[type="search"] {
        width: 100% !important;
        height: 34px !important;

        font-size: 10px !important;

        background: #f6f7f8 !important;
    }


    /* ACCOUNT + CART */

    .zigbo-header-actions {
        grid-area: actions !important;

        justify-self: end !important;

        display: flex !important;
        align-items: center !important;

        gap: 2px !important;
    }

    .zigbo-header-icon {
        width: 32px !important;
        height: 32px !important;
    }


    /* SEARCH FOCUS */

    .zigbo-search:focus-within input[type="search"] {
        background: #ffffff !important;

        border-color: rgba(122,191,69,.45) !important;

        box-shadow:
            0 0 0 3px rgba(122,191,69,.10),
            0 4px 15px rgba(20,30,45,.07) !important;
    }

}

@media (max-width: 767px) {

    .zigbo-header-inner {
        width: calc(100% - 20px) !important;
        min-height: 52px !important;

        display: flex !important;
        align-items: center !important;

        gap: 6px !important;

        padding: 7px 0 !important;
    }

    /* Logo */
    .zigbo-logo {
        flex: 0 0 auto !important;
    }

    .zigbo-logo span {
        font-size: 17px !important;
    }

    /* Search between logo and icons */
    .zigbo-search {
        order: 2 !important;

        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;

        min-width: 0 !important;

        margin: 0 !important;
    }

    .zigbo-search input[type="search"] {
        width: 100% !important;
        height: 32px !important;

        padding: 0 30px 0 10px !important;

        font-size: 9px !important;
    }

    .zigbo-search button {
        right: 4px !important;
        width: 24px !important;
        height: 24px !important;
    }

    /* Account + Cart */
    .zigbo-header-actions {
        order: 3 !important;

        flex: 0 0 auto !important;

        display: flex !important;
        align-items: center !important;

        gap: 0 !important;
    }

    .zigbo-header-icon {
        width: 29px !important;
        height: 32px !important;
    }

    .zigbo-header-icon svg {
        width: 14px !important;
        height: 14px !important;
    }

}

@media (max-width: 767px) {
    .zigbo-logo {
        margin-right: 5px !important;
    }

    .zigbo-search {
        margin-left: 3px !important;
    }
}
/* =========================================================
   ZIGBO DESKTOP MENU — RESTORE HOVER EFFECT
   ========================================================= */

@media (min-width: 768px) {

    .zigbo-nav {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        gap: 2px !important;

        padding: 5px !important;

        border-radius: 999px !important;

        background: rgba(247,248,250,.72) !important;
        border: 1px solid rgba(20,30,45,.07) !important;
    }

    .zigbo-nav a {
        position: relative !important;
        z-index: 2 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        min-height: 34px !important;

        padding: 0 13px !important;

        border-radius: 999px !important;

        color: #28313b !important;

        text-decoration: none !important;

        transition:
            color .25s ease,
            transform .25s ease !important;
    }

    .zigbo-nav a:hover {
        color: #111820 !important;
    }

    .zigbo-nav a:active {
        transform: scale(.97) !important;
    }

    /* Moving white pill */
    .zigbo-nav-highlight {
        position: absolute !important;
        z-index: 1 !important;

        top: 5px !important;
        left: 0 !important;

        height: 34px !important;
        width: 0;

        border-radius: 999px !important;

        background: #ffffff !important;

        box-shadow:
            0 3px 10px rgba(20,30,45,.10),
            0 1px 2px rgba(20,30,45,.06) !important;

        opacity: 1 !important;

        pointer-events: none !important;

        transition:
            width .28s cubic-bezier(.22,.61,.36,1),
            transform .28s cubic-bezier(.22,.61,.36,1) !important;
    }

}
/* =========================================================
   ZIGBO FLOATING SUN / MOON THEME SWITCH
   ========================================================= */

.zigbo-theme-toggle {
    position: relative;

    flex: 0 0 auto;

    width: 108px;
    height: 34px;

    padding: 0;

    border: 1px solid rgba(20,30,45,.09);
    border-radius: 999px;

    background: #f7f8fa;

    cursor: pointer;

    overflow: hidden;

    outline: none;

    transition:
        background .55s ease,
        border-color .55s ease,
        box-shadow .55s ease;
}


/* Track */

.zigbo-theme-track {
    position: relative;

    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 9px;

    box-sizing: border-box;
}


/* Sun */

.zigbo-theme-sun,
.zigbo-theme-moon {
    position: relative;

    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;

    font-size: 15px;
    line-height: 1;

    transition:
        opacity .4s ease,
        transform .5s cubic-bezier(.22,.61,.36,1);
}

.zigbo-theme-sun {
    color: #f2ad26;

    filter:
        drop-shadow(0 0 4px rgba(242,173,38,.35));
}

.zigbo-theme-moon {
    color: #8795b3;

    opacity: .42;
}


/* Moving orb */

.zigbo-theme-orb {
    position: absolute;

    top: 50%;
    left: 7px;

    width: 23px;
    height: 23px;

    transform: translateY(-50%);

    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 3px 9px rgba(20,30,45,.13),
        0 0 0 1px rgba(20,30,45,.04);

    transition:
        left .55s cubic-bezier(.22,.61,.36,1),
        background .55s ease,
        box-shadow .55s ease;
}


/* Hover */

.zigbo-theme-toggle:hover {
    box-shadow:
        0 4px 14px rgba(20,30,45,.08);
}


/* =========================================================
   NIGHT MODE
   ========================================================= */

body.zigbo-night-mode {

    background: #101827;

    color: #eef3fa;

    transition:
        background .55s ease,
        color .55s ease;
}


/* Header */

body.zigbo-night-mode .zigbo-header {
    background: rgba(16,24,39,.94) !important;

    border-bottom-color: rgba(255,255,255,.08) !important;
}


/* Logo */

body.zigbo-night-mode .zigbo-logo span {
    color: #8fd45b;
}


/* Desktop nav */

body.zigbo-night-mode .zigbo-nav {
    background: rgba(255,255,255,.07) !important;

    border-color: rgba(255,255,255,.08) !important;
}

body.zigbo-night-mode .zigbo-nav a {
    color: #e7edf5 !important;
}

body.zigbo-night-mode .zigbo-nav a:hover {
    color: #ffffff !important;
}

body.zigbo-night-mode .zigbo-nav-highlight {
    background: rgba(255,255,255,.12) !important;

    box-shadow:
        0 3px 12px rgba(0,0,0,.20) !important;
}


/* Search */

body.zigbo-night-mode .zigbo-search input[type="search"] {
    background: rgba(255,255,255,.07) !important;

    border-color: rgba(255,255,255,.10) !important;

    color: #ffffff !important;
}

body.zigbo-night-mode .zigbo-search input[type="search"]::placeholder {
    color: #9da8b8 !important;
}

body.zigbo-night-mode .zigbo-search button svg {
    stroke: #dce4ef !important;
}


/* Account / Cart */

body.zigbo-night-mode .zigbo-header-icon {
    color: #e7edf5 !important;
}

body.zigbo-night-mode .zigbo-header-icon:hover {
    background: rgba(255,255,255,.08) !important;
}


/* Toggle itself */

body.zigbo-night-mode .zigbo-theme-toggle {
    background: #1d293c;

    border-color: rgba(255,255,255,.10);

    box-shadow:
        inset 0 0 12px rgba(0,0,0,.18);
}


/* Move orb to moon */

body.zigbo-night-mode .zigbo-theme-orb {
    left: calc(100% - 30px);

    background: #dfe7f5;

    box-shadow:
        0 3px 10px rgba(0,0,0,.28),
        0 0 8px rgba(180,205,240,.18);
}


/* Sun fades */

body.zigbo-night-mode .zigbo-theme-sun {
    opacity: .28;

    transform: scale(.8);
}


/* Moon becomes active */

body.zigbo-night-mode .zigbo-theme-moon {
    opacity: 1;

    color: #e6edf9;

    transform: scale(1.08);

    filter:
        drop-shadow(0 0 5px rgba(210,225,250,.30));
}


/* =========================================================
   NIGHT MODE — COMMON ZIGBO SURFACES
   ========================================================= */

body.zigbo-night-mode .zigbo-mobile-nav {
    background: #101827 !important;

    border-color: rgba(255,255,255,.08) !important;
}

body.zigbo-night-mode .zigbo-mobile-nav a {
    background: rgba(255,255,255,.07) !important;

    color: #e7edf5 !important;
}


/* Smooth global transition */

body,
.zigbo-header,
.zigbo-search input,
.zigbo-nav,
.zigbo-header-icon,
.zigbo-mobile-nav,
.zigbo-mobile-nav a {
    transition:
        background-color .55s ease,
        color .45s ease,
        border-color .45s ease;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .zigbo-theme-toggle {
        display: none !important;
    }

}
/* =========================================================
   ZIGBO — GLOBAL NIGHT MODE
   ========================================================= */

body.zigbo-night-mode {
    background: #0f1726 !important;
    color: #edf2f7 !important;
}

/* Main website area */
body.zigbo-night-mode #main-content {
    background: #0f1726 !important;
    color: #edf2f7 !important;
}

/* Main sections */
body.zigbo-night-mode #main-content > section {
    background-color: #0f1726 !important;
    color: #edf2f7 !important;
}

/* Common white surfaces */
body.zigbo-night-mode .zigbo-container,
body.zigbo-night-mode .zigbo-section,
body.zigbo-night-mode .zigbo-card,
body.zigbo-night-mode .zigbo-product-card {
    color: #edf2f7;
}

/* Headings */
body.zigbo-night-mode h1,
body.zigbo-night-mode h2,
body.zigbo-night-mode h3,
body.zigbo-night-mode h4,
body.zigbo-night-mode h5,
body.zigbo-night-mode h6 {
    color: #f7f9fc !important;
}

/* Normal text */
body.zigbo-night-mode p,
body.zigbo-night-mode li,
body.zigbo-night-mode span {
    color: inherit;
}

/* Links */
body.zigbo-night-mode a {
    color: #dfe7f2;
}

/* Footer */
body.zigbo-night-mode footer {
    background: #0a111d !important;
}
/* =========================================================
   ZIGBO PRODUCT PAGE — NIGHT MODE
   ========================================================= */

body.zigbo-night-mode .zigbo-product-page,
body.zigbo-night-mode .zigbo-product-main,
body.zigbo-night-mode .zigbo-product-information {
    background: #0f1726 !important;
    color: #edf2f7 !important;
}


/* Product main area */

body.zigbo-night-mode .zigbo-product-main {
    border-color: rgba(255,255,255,.08) !important;
}


/* Breadcrumb */

body.zigbo-night-mode .zigbo-breadcrumb,
body.zigbo-night-mode .zigbo-breadcrumb a {
    color: #9eabbc !important;
}

body.zigbo-night-mode .zigbo-breadcrumb a:hover {
    color: #8fd45b !important;
}


/* Product title */

body.zigbo-night-mode .zigbo-product-title {
    color: #f5f7fa !important;
}


/* Product short description */

body.zigbo-night-mode .zigbo-product-short-description,
body.zigbo-night-mode .zigbo-product-short-description p {
    color: #c7d0dc !important;
}


/* Rating */

body.zigbo-night-mode .zigbo-product-rating {
    color: #f5c542 !important;
}

body.zigbo-night-mode .zigbo-product-rating .rating-count,
body.zigbo-night-mode .zigbo-product-rating .rating-number {
    color: #b8c2cf !important;
}


/* Price */

body.zigbo-night-mode .zigbo-product-price,
body.zigbo-night-mode .zigbo-product-price * {
    color: #ffffff !important;
}


/* Old price */

body.zigbo-night-mode .zigbo-product-price del,
body.zigbo-night-mode .zigbo-product-price del * {
    color: #8f99a6 !important;
}


/* Sale badge */

body.zigbo-night-mode .zigbo-sale-badge,
body.zigbo-night-mode .zigbo-discount {
    color: #8fd45b !important;
    background: rgba(143,212,91,.12) !important;
}


/* Quantity */

body.zigbo-night-mode .zigbo-quantity,
body.zigbo-night-mode .zigbo-quantity input {
    background: #172235 !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,.12) !important;
}


/* Add to cart */

body.zigbo-night-mode .zigbo-add-to-cart {
    background: #f5c52b !important;
    color: #151515 !important;
}


/* Buy now */

body.zigbo-night-mode .zigbo-buy-now {
    background: #ffffff !important;
    color: #111827 !important;
}


/* Service cards */

body.zigbo-night-mode .zigbo-service-card {
    background: #172235 !important;
    border-color: rgba(255,255,255,.08) !important;
    color: #edf2f7 !important;
}

body.zigbo-night-mode .zigbo-service-card strong,
body.zigbo-night-mode .zigbo-service-card span {
    color: inherit !important;
}


/* Product highlights */

body.zigbo-night-mode .zigbo-product-highlights {
    background: #172235 !important;
    border-color: rgba(255,255,255,.08) !important;
}

body.zigbo-night-mode .zigbo-product-highlights * {
    color: #dce4ee !important;
}

body.zigbo-night-mode .zigbo-product-highlights h3,
body.zigbo-night-mode .zigbo-product-highlights h4 {
    color: #ffffff !important;
}


/* Lower information */

body.zigbo-night-mode .zigbo-product-information {
    background: #0f1726 !important;
}

body.zigbo-night-mode .zigbo-product-details-left,
body.zigbo-night-mode .zigbo-product-details-right {
    color: #dce4ee !important;
}


/* Section headings */

body.zigbo-night-mode .zigbo-product-information h2,
body.zigbo-night-mode .zigbo-product-information h3 {
    color: #ffffff !important;
}


/* Specification table */

body.zigbo-night-mode .zigbo-product-specifications,
body.zigbo-night-mode .zigbo-specifications {
    background: #172235 !important;
    border-color: rgba(255,255,255,.08) !important;
}

body.zigbo-night-mode .zigbo-product-specifications th,
body.zigbo-night-mode .zigbo-product-specifications td,
body.zigbo-night-mode .zigbo-specifications th,
body.zigbo-night-mode .zigbo-specifications td {
    color: #dce4ee !important;
    border-color: rgba(255,255,255,.08) !important;
}


/* Q&A */

body.zigbo-night-mode .zigbo-qa-section,
body.zigbo-night-mode .zigbo-qa-item {
    background: #172235 !important;
    border-color: rgba(255,255,255,.08) !important;
    color: #dce4ee !important;
}

body.zigbo-night-mode .zigbo-qa-section h2,
body.zigbo-night-mode .zigbo-qa-section h3 {
    color: #ffffff !important;
}


/* Reviews */

body.zigbo-night-mode .zigbo-reviews-section,
body.zigbo-night-mode .zigbo-review-card,
body.zigbo-night-mode .zigbo-review-form {
    background: #172235 !important;
    border-color: rgba(255,255,255,.08) !important;
    color: #dce4ee !important;
}

body.zigbo-night-mode .zigbo-reviews-section h2,
body.zigbo-night-mode .zigbo-reviews-section h3 {
    color: #ffffff !important;
}


/* Inputs */

body.zigbo-night-mode input,
body.zigbo-night-mode textarea,
body.zigbo-night-mode select {
    background: #111c2d !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,.12) !important;
}

body.zigbo-night-mode input::placeholder,
body.zigbo-night-mode textarea::placeholder {
    color: #8f9bab !important;
}


/* Product images stay untouched */
body.zigbo-night-mode .zigbo-product-gallery-card {
    background: #ffffff !important;
}
/* =========================================================
   ZIGBO NIGHT MODE — PRODUCT INFORMATION POLISH
   ========================================================= */

body.zigbo-night-mode .zigbo-product-information {
    background: #0f1726 !important;
}


/* ==========================
   SKILLS / TAGS
   ========================== */

body.zigbo-night-mode .zigbo-product-information [class*="skill"] {
    background: #1a273a !important;
    color: #dbe4ef !important;
    border-color: rgba(255,255,255,.08) !important;
}

body.zigbo-night-mode .zigbo-product-information [class*="skill"] span {
    color: #dbe4ef !important;
}


/* ==========================
   SPECIFICATIONS
   ========================== */

body.zigbo-night-mode .zigbo-product-information table {
    background: #172235 !important;
    color: #dce5ef !important;
    border-color: rgba(255,255,255,.08) !important;
}

body.zigbo-night-mode .zigbo-product-information table tr,
body.zigbo-night-mode .zigbo-product-information table th,
body.zigbo-night-mode .zigbo-product-information table td {
    background: #172235 !important;
    color: #dce5ef !important;
    border-color: rgba(255,255,255,.08) !important;
}

body.zigbo-night-mode .zigbo-product-information table th {
    color: #ffffff !important;
}


/* ==========================
   QUESTIONS & ANSWERS
   ========================== */

body.zigbo-night-mode .zigbo-qa-section {
    background: transparent !important;
}

body.zigbo-night-mode .zigbo-qa-section .zigbo-qa-item,
body.zigbo-night-mode .zigbo-qa-section .zigbo-question-card {
    background: #172235 !important;
    color: #dce5ef !important;
    border-color: rgba(255,255,255,.08) !important;
}

body.zigbo-night-mode .zigbo-qa-section .zigbo-qa-item *,
body.zigbo-night-mode .zigbo-qa-section .zigbo-question-card * {
    color: #dce5ef !important;
}

body.zigbo-night-mode .zigbo-qa-section .zigbo-qa-item strong,
body.zigbo-night-mode .zigbo-qa-section .zigbo-question-card strong {
    color: #ffffff !important;
}


/* Ask a Question */

body.zigbo-night-mode .zigbo-qa-section details,
body.zigbo-night-mode .zigbo-qa-section summary {
    background: #172235 !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,.08) !important;
}


/* ==========================
   REVIEWS
   ========================== */

body.zigbo-night-mode .zigbo-review-section,
body.zigbo-night-mode .zigbo-reviews-section {
    background: transparent !important;
}

body.zigbo-night-mode .zigbo-review-card,
body.zigbo-night-mode .zigbo-review-form {
    background: #172235 !important;
    color: #dce5ef !important;
    border-color: rgba(255,255,255,.08) !important;
}

body.zigbo-night-mode .zigbo-review-card *,
body.zigbo-night-mode .zigbo-review-form * {
    color: #dce5ef !important;
}

body.zigbo-night-mode .zigbo-review-card strong,
body.zigbo-night-mode .zigbo-review-form h2,
body.zigbo-night-mode .zigbo-review-form h3 {
    color: #ffffff !important;
}


/* Review inputs */

body.zigbo-night-mode .zigbo-review-form input,
body.zigbo-night-mode .zigbo-review-form textarea {
    background: #101a2a !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,.12) !important;
}


/* ==========================
   PRODUCT INFORMATION TEXT
   ========================== */

body.zigbo-night-mode .zigbo-product-information p {
    color: #aebaca !important;
}

body.zigbo-night-mode .zigbo-product-information h2,
body.zigbo-night-mode .zigbo-product-information h3,
body.zigbo-night-mode .zigbo-product-information h4 {
    color: #ffffff !important;
}
/* =========================================================
   ZIGBO HOME PAGE — NIGHT MODE
   ========================================================= */

body.zigbo-night-mode .zigbo-home,
body.zigbo-night-mode .zigbo-homepage,
body.zigbo-night-mode .site-main {
    background: #0f1726 !important;
    color: #edf2f7 !important;
}


/* ---------- Section headings ---------- */

body.zigbo-night-mode .zigbo-home h1,
body.zigbo-night-mode .zigbo-home h2,
body.zigbo-night-mode .zigbo-home h3,
body.zigbo-night-mode .zigbo-home h4 {
    color: #f5f7fa !important;
}

body.zigbo-night-mode .zigbo-home p {
    color: #aebaca !important;
}


/* ---------- Explore by Category ---------- */

body.zigbo-night-mode .zigbo-category-card {
    background: #172235 !important;
    border-color: rgba(255,255,255,.08) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.16) !important;
}

body.zigbo-night-mode .zigbo-category-card h3,
body.zigbo-night-mode .zigbo-category-card h4 {
    color: #ffffff !important;
}

body.zigbo-night-mode .zigbo-category-card p {
    color: #aebaca !important;
}


/* ---------- Play With Purpose ---------- */

body.zigbo-night-mode .zigbo-purpose-card,
body.zigbo-night-mode .zigbo-play-purpose,
body.zigbo-night-mode .zigbo-purpose-banner {
    background: #172235 !important;
    border-color: rgba(255,255,255,.08) !important;
    color: #edf2f7 !important;
}

body.zigbo-night-mode .zigbo-purpose-card h2,
body.zigbo-night-mode .zigbo-purpose-card h3,
body.zigbo-night-mode .zigbo-purpose-banner h2,
body.zigbo-night-mode .zigbo-purpose-banner h3 {
    color: #ffffff !important;
}

body.zigbo-night-mode .zigbo-purpose-card p,
body.zigbo-night-mode .zigbo-purpose-banner p {
    color: #aebaca !important;
}


/* ---------- Loved by Kids & Parents ---------- */

body.zigbo-night-mode .zigbo-product-card {
    background: #172235 !important;
    border-color: rgba(255,255,255,.08) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.16) !important;
}

body.zigbo-night-mode .zigbo-product-card h3,
body.zigbo-night-mode .zigbo-product-card h4 {
    color: #ffffff !important;
}

body.zigbo-night-mode .zigbo-product-card p {
    color: #aebaca !important;
}

body.zigbo-night-mode .zigbo-product-card .price,
body.zigbo-night-mode .zigbo-product-card .amount {
    color: #ffffff !important;
}


/* Product image area stays light */

body.zigbo-night-mode .zigbo-product-card img {
    background: #ffffff !important;
}


/* ---------- Why Parents Love Zigbo ---------- */

body.zigbo-night-mode .zigbo-why-card,
body.zigbo-night-mode .zigbo-value-card,
body.zigbo-night-mode .zigbo-parent-card {
    background: #172235 !important;
    border-color: rgba(255,255,255,.08) !important;
    color: #edf2f7 !important;
}

body.zigbo-night-mode .zigbo-why-card h3,
body.zigbo-night-mode .zigbo-value-card h3,
body.zigbo-night-mode .zigbo-parent-card h3 {
    color: #ffffff !important;
}

body.zigbo-night-mode .zigbo-why-card p,
body.zigbo-night-mode .zigbo-value-card p,
body.zigbo-night-mode .zigbo-parent-card p {
    color: #aebaca !important;
}


/* ---------- Mission / CTA banner ---------- */

body.zigbo-night-mode .zigbo-mission,
body.zigbo-night-mode .zigbo-mission-banner,
body.zigbo-night-mode .zigbo-newsletter,
body.zigbo-night-mode .zigbo-newsletter-section {
    background: #172235 !important;
    border-color: rgba(255,255,255,.08) !important;
}

body.zigbo-night-mode .zigbo-mission h2,
body.zigbo-night-mode .zigbo-mission h3,
body.zigbo-night-mode .zigbo-newsletter h2,
body.zigbo-night-mode .zigbo-newsletter h3 {
    color: #ffffff !important;
}

body.zigbo-night-mode .zigbo-mission p,
body.zigbo-night-mode .zigbo-newsletter p {
    color: #aebaca !important;
}


/* ---------- Yellow / Green Zigbo accents stay ---------- */

body.zigbo-night-mode .zigbo-button,
body.zigbo-night-mode .zigbo-cta,
body.zigbo-night-mode .zigbo-primary-button {
    color: #111820 !important;
}


/* ---------- Images inside banners remain normal ---------- */

body.zigbo-night-mode .zigbo-purpose-banner img,
body.zigbo-night-mode .zigbo-mission-banner img,
body.zigbo-night-mode .zigbo-newsletter img {
    filter: none !important;
}
/* =========================================================
   ZIGBO PREMIUM CART
========================================================= */

.zigbo-cart-page {
    background: #f6f8fb;
    color: #172033;
}

.zigbo-cart-container {
    width: min(100% - 48px, 1180px);
    margin: 0 auto;
}

/* HEADER */

.zigbo-cart-hero {
    padding: 30px 0 6px;
    background: transparent;
}

.zigbo-recommendation-heading > span {
    color: #4f9d35;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.zigbo-cart-title-row {
    display: flex;
    align-items: center;
    gap: 13px;
}

.zigbo-cart-title-icon {
    flex: 0 0 auto;
    color: #172033;
    line-height: 0;
}

.zigbo-cart-title-icon svg {
    width: 32px;
    height: 32px;
}

.zigbo-cart-title-row h1 {
    margin: 0;
    font-size: clamp(23px, 3vw, 29px);
    line-height: 1.15;
    letter-spacing: -.6px;
}

.zigbo-cart-items-badge {
    margin-left: 6px;
    color: #89919b;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
}

.zigbo-cart-title-row p {
    margin: 5px 0 0;
    color: #89919b;
    font-size: 13px;
}

/* MAIN CART LAYOUT */

.zigbo-cart-main {
    padding: 24px 0 50px;
}

.zigbo-cart-grid {
    display: grid;
    gap: 32px;
}

/* CART ITEMS PANEL (left) */

.zigbo-cart-items {
    width: 65%;
}

.zigbo-cart-items h2 {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.3px;
}

.zigbo-cart-items-header span {
    color: #89919b;
    font-size: 14px;
}

.zigbo-cart-item {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 20px;
    padding: 20px;
    margin-bottom: 16px;
    background: #fff;
    border: 1px solid #eef0ed;
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(15,23,42,.05);
    align-items: start;
}

.zigbo-cart-item-image {
    width: 110px;
    flex-shrink: 0;
}

.zigbo-cart-item-image img {
    width: 100%;
    height: 110px;
    object-fit: contain;
    border-radius: 8px;
}

.zigbo-cart-item-details {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.zigbo-cart-item-details h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}

.zigbo-cart-item-details a {
    color: #172033;
    text-decoration: none;
    font-size: 14px;
}

.zigbo-cart-item-details a:hover {
    color: #1f8a45;
}

.zigbo-cart-item-meta {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5;
}

.zigbo-cart-item-price {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-self: start;
}

.zigbo-cart-item-price span {
    font-size: 14px;
    color: #172033;
}

.zigbo-cart-item-price strong {
    font-size: 15px;
    font-weight: 700;
    color: #172033;
}

.zigbo-quantity-control {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    font-size: 13px;
    color: #6b7280;
}

.zigbo-quantity-control span {
    min-width: 20px;
}

.zigbo-qty-minus,
.zigbo-qty-plus {
    width: 32px;
    height: 36px;
    border: 1px solid #e2e5e9;
    border-radius: 8px;
    background: #fff;
    color: #172033;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color .15s ease;
}

.zigbo-qty-minus:hover,
.zigbo-qty-plus:hover {
    border-color: #1f8a45;
}

.zigbo-cart-qty {
    width: 48px;
    height: 36px;
    border: 1px solid #e2e5e9;
    border-radius: 8px;
    background: #fff;
    color: #172033;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.zigbo-cart-item-subtotal {
    margin-top: 8px;
    font-size: 13px;
    color: #6b7280;
}

.zigbo-cart-item-subtotal strong {
    font-size: 14px;
    font-weight: 700;
    color: #172033;
}

/* COUPON BOX */

.zigbo-coupon-box {
    margin-top: 24px;
    padding: 20px;
    background: #fff;
    border: 1px solid #eef0ed;
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(15,23,42,.05);
}

.zigbo-coupon-box label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #172033;
}

.zigbo-coupon-row {
    display: flex;
    gap: 10px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.zigbo-coupon-row input {
    flex: 1;
    padding: 10px 14px;
    border: 1px solid #e2e5e9;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    color: #172033;
}

.zigbo-coupon-row button {
    padding: 0 20px;
    background: #ff6721;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    transition: background .2s ease;
}

.zigbo-coupon-row button:hover {
    background: #f25c10;
}

/* SUMMARY CARD (right) */

.zigbo-cart-summary {
    width: 35%;
}

.zigbo-summary-card {
    background: #fff;
    border: 1px solid #eef0ed;
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(15,23,42,.05);
}

.zigbo-summary-heading {
    padding: 16px 20px;
    border-bottom: 1px solid #eef0ed;
}

.zigbo-summary-heading span {
    color: #89919b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.zigbo-summary-heading h2 {
    margin: 4px 0 0;
    font-size: 20px;
    font-weight: 800;
    color: #172033;
}

.zigbo-summary-row {
    padding: 14px 20px;
    border-bottom: 1px solid #eef0ed;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.zigbo-summary-row:last-child {
    border-bottom: 0;
}

.zigbo-summary-row span {
    font-size: 14px;
    color: #6b7280;
}

.zigbo-summary-row strong {
    font-size: 15px;
    font-weight: 700;
    color: #172033;
}

.zigbo-summary-row zigbo-summary-discount {
    background: #fafbfc;
}

.zigbo-coupon {
    padding: 12px 20px;
    background: #fff;
    border-top: 1px solid #eef0ed;
    border-bottom: 1px solid #eef0ed;
}

.zigbo-coupon input {
    width: 65%;
    padding: 10px 12px;
    border: 1px solid #e2e5e9;
    border-radius: 8px;
    font-size: 13px;
    color: #172033;
}

.zigbo-coupon button {
    padding: 0 16px;
    background: #ff6721;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    vertical-align: middle;
}

.zigbo-coupon button:hover {
    background: #f25c10;
}

.zigbo-summary-total {
    padding: 16px 20px;
    border-top: 1px solid #eef0ed;
    margin-top: 12px;
}

.zigbo-summary-total span {
    color: #89919b;
    font-size: 13px;
}

.zigbo-summary-total strong {
    font-size: 18px;
    font-weight: 800;
    color: #172033;
}

/* CHECKOUT BUTTON */

.zigbo-checkout-button {
    width: 100%;
    padding: 14px 0;
    margin-top: 24px;
    background: #ff6721;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    border: 0;
    border-radius: 10px;
    letter-spacing: .2px;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.zigbo-checkout-button:hover:not(:disabled) {
    background: #f25c10;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(255,103,33,.3);
}

.zigbo-checkout-button:focus-visible {
    outline: 3px solid rgba(255,103,33,.35);
    outline-offset: 2px;
}

.zigbo-checkout-button:disabled {
    opacity: .6;
    cursor: wait;
}

/* EMPTY CART */

.zigbo-empty-cart {
    padding: 48px 0;
    text-align: center;
}

.zigbo-empty-cart-card {
    max-width: 400px;
    margin: 0 auto;
    padding: 40px 24px;
    background: #fff;
    border: 1px solid #eef0ed;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(15,23,42,.05);
}

.zigbo-empty-cart-icon {
    font-size: 48px;
    margin-bottom: 16px;
}

.zigbo-empty-cart h2 {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 800;
    color: #172033;
}

.zigbo-empty-cart p {
    margin: 0 0 24px;
    color: #6b7280;
    font-size: 15px;
}

.zigbo-cart-yellow-btn {
    display: inline-block;
    padding: 12px 24px;
    background: #ff6721;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    border: 0;
    border-radius: 8px;
    text-decoration: none;
    transition: background .2s ease;
}

.zigbo-cart-yellow-btn:hover {
    background: #f25c10;
}

/* RESPONSIVE */

@media (max-width: 1024px) {

    .zigbo-cart-items,
    .zigbo-cart-summary {
        width: 100%;
    }

    .zigbo-cart-main {
        padding: 16px 0 40px;
    }

    .zigbo-cart-item {
        grid-template-columns: 90px 1fr;
    }

    .zigbo-cart-item-image img {
        height: 90px;
    }

    .zigbo-quantity-control {
        flex-wrap: wrap;
    }

    .zigbo-qty-minus,
    .zigbo-qty-plus,
    .zigbo-cart-qty {
        width: auto;
        flex: 1;
    }
}

@media (max-width: 767px) {

    .zigbo-cart-header {
        text-align: center;
    }

    .zigbo-cart-title-row {
        justify-content: center;
    }

    .zigbo-cart-items,
    .zigbo-cart-summary {
        order: 1;
    }

    .zigbo-cart-summary {
        margin-top: 32px;
    }

    .zigbo-summary-card {
        padding: 20px;
    }

    .zigbo-summary-row {
        padding: 12px 20px;
        font-size: 13px;
    }

    .zigbo-coupon-box,
    .zigbo-summary-card {
        border-radius: 12px;
    }

    .zigbo-cart-item {
        grid-template-columns: 70px 1fr;
        padding: 14px;
    }

    .zigbo-cart-item-image img {
        height: 70px;
    }

    .zigbo-cart-items h2,
    .zigbo-cart-summary .zigbo-summary-heading h2 {
        font-size: 16px;
    }

    .zigbo-cart-title-row h1 {
        font-size: 20px;
    }

    .zigbo-checkout-button {
        font-size: 14px;
        padding: 12px 0;
    }
}

.zigbo-cart-product-top h3 a {
    color: #172033;
    text-decoration: none;
}

.zigbo-cart-product-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

.zigbo-age-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 11px;
    border-radius: 999px;
    background: #e9f7ec;
    color: #23914a;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .2px;
}

.zigbo-cart-product-attrs {
    color: #89919b;
    font-size: 11.5px;
    font-weight: 600;
}

.zigbo-cart-product-details dl {
    margin: 8px 0 0;
    color: #89919b;
    font-size: 11px;
}

.zigbo-cart-product-details dl p {
    margin: 0;
}

.zigbo-cart-product-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    margin-top: 11px;
}

.zigbo-cart-product-price strong {
    color: #ff6721;
    font-size: 18px;
    font-weight: 800;
}

.zigbo-cart-unit-price {
    color: #949ba3;
    font-size: 11.5px;
    font-weight: 600;
}

.zigbo-cart-product-bottom {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

.zigbo-cart-quantity {
    display: flex;
    align-items: center;
    width: fit-content;
    overflow: hidden;
    border: 1px solid #e2e5e9;
    border-radius: 10px;
    background: #fff;
}

.zigbo-cart-quantity button {
    width: 37px;
    height: 39px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #172033;
    font-size: 17px;
    cursor: pointer;
    transition: background .2s ease;
}

.zigbo-cart-quantity button:hover {
    background: #f5f7fa;
}

.zigbo-cart-qty {
    width: 42px;
    height: 39px;
    padding: 0;
    border: 0;
    border-left: 1px solid #e2e5e9;
    border-right: 1px solid #e2e5e9;
    outline: none;
    background: #fafbfc;
    color: #172033;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    -moz-appearance: textfield;
}

.zigbo-cart-qty::-webkit-inner-spin-button,
.zigbo-cart-qty::-webkit-outer-spin-button {
    appearance: none;
}

.zigbo-cart-remove {
    margin-left: auto;
    padding: 10px 18px;
    border: 1px solid #f3c1b3;
    border-radius: 9px;
    background: #fff;
    color: #e8543a;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
}

.zigbo-cart-remove:hover {
    background: #fff3ef;
    border-color: #e8543a;
}

.zigbo-cart-bottom-actions {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 18px;
}

.zigbo-continue-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 11px 18px;
    border: 1px solid #4f9d35;
    border-radius: 10px;
    background: #fff;
    color: #3f8a2b;
    font-size: 12.5px;
    font-weight: 800;
    text-decoration: none;
    transition: background .2s ease;
}

.zigbo-continue-btn:hover {
    background: #f1f9ee;
}

/* ORDER SUMMARY */

.zigbo-cart-right {
    position: sticky;
    top: 90px;
}

.zigbo-order-card {
    padding: 24px;
    border: 1px solid #eceef1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(15,23,42,.06);
}

.zigbo-order-card h2 {
    margin: 0 0 15px;
    font-size: 19px;
    letter-spacing: -.3px;
}

.zigbo-delivery-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
    padding: 9px 13px;
    border-radius: 9px;
    background: #e9f7ec;
    color: #23914a;
    font-size: 11.5px;
    font-weight: 800;
}

.zigbo-delivery-pill svg {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
}

.zigbo-order-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    padding: 13px 0;
    border-bottom: 1px solid #eef0ed;
    color: #69737e;
    font-size: 13.5px;
}

.zigbo-order-row strong {
    color: #172033;
}

.zigbo-order-row strong.is-free {
    color: #23914a;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.zigbo-order-note {
    display: block;
    margin-top: 3px;
    color: #949ba3;
    font-size: 10.5px;
    font-weight: 600;
    font-style: normal;
    letter-spacing: .2px;
}

.zigbo-order-row .zigbo-order-note {
    color: #23914a;
    font-weight: 700;
}

.zigbo-info-tip {
    display: inline-grid;
    place-items: center;
    width: 14px;
    height: 14px;
    margin-left: 3px;
    border: 1px solid #c6ccd3;
    border-radius: 50%;
    color: #89919b;
    font-size: 9px;
    font-weight: 800;
    font-style: normal;
    cursor: help;
}

.zigbo-discount strong {
    color: #ff6721;
}

.zigbo-cart-coupon {
    padding: 16px 0;
    border-bottom: 1px solid #eef0ed;
}

.zigbo-cart-coupon label {
    display: block;
    margin-bottom: 8px;
    color: #172033;
    font-size: 13px;
    font-weight: 800;
}

.zigbo-cart-coupon > div {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
}

.zigbo-cart-coupon input {
    min-width: 0;
    height: 42px;
    padding: 0 13px;
    border: 1px solid #e2e5e9;
    border-radius: 9px;
    background: #fafbfc;
    outline: none;
    font-size: 12.5px;
}

.zigbo-cart-coupon input:focus {
    border-color: #ff6721;
}

.zigbo-cart-coupon button {
    height: 42px;
    padding: 0 20px;
    border: 0;
    border-radius: 9px;
    background: #172033;
    color: #fff;
    font-size: 12.5px;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s ease;
}

.zigbo-cart-coupon button:hover {
    background: #0d1322;
}

.zigbo-order-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding: 17px 0;
}

.zigbo-order-total span {
    font-size: 17px;
    font-weight: 800;
}

.zigbo-order-total strong {
    color: #1f8a45;
    font-size: 23px;
    font-weight: 800;
}

.zigbo-checkout-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    min-height: 50px;
    border-radius: 10px;
    background: #ff6721;
    color: #fff !important;
    font-size: 14.5px;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.zigbo-checkout-btn svg {
    width: 16px;
    height: 16px;
}

.zigbo-checkout-btn:hover {
    color: #fff !important;
    background: #f25c10;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(255,103,33,.3);
}

.zigbo-cart-secure {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
    color: #23914a;
    font-size: 11.5px;
    font-weight: 800;
}

.zigbo-cart-secure svg {
    width: 14px;
    height: 14px;
}

.zigbo-cart-benefits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 14px;
    margin-top: 18px;
    padding: 20px;
    border: 1px solid #eceef1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(15,23,42,.05);
}

.zigbo-cart-benefits > div {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.zigbo-cart-benefits svg {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    color: #172033;
}

.zigbo-cart-benefits span {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.zigbo-cart-benefits strong {
    color: #172033;
    font-size: 12.5px;
    font-weight: 800;
}

.zigbo-cart-benefits small {
    color: #89919b;
    font-size: 10px;
    font-weight: 600;
}

/* RECOMMENDATIONS */

.zigbo-cart-recommendations {
    padding: 5px 0 70px;
}

.zigbo-recommendation-heading {
    margin-bottom: 20px;
}

.zigbo-recommendation-heading h2 {
    margin: 5px 0;
    font-size: 26px;
}

.zigbo-recommendation-heading p {
    margin: 0;
    color: #7b848e;
    font-size: 13px;
}

.zigbo-recommendation-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.zigbo-recommendation-card {
    overflow: hidden;
    border: 1px solid #e5e8e3;
    border-radius: 14px;
    background: #fff;
}

.zigbo-recommendation-image {
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    background: #f7f7f4;
}

.zigbo-recommendation-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.zigbo-recommendation-info {
    padding: 11px;
}

.zigbo-recommendation-info h3 {
    margin: 0 0 6px;
    font-size: 13px;
    line-height: 1.3;
}

.zigbo-recommendation-info h3 a {
    color: #172033;
    text-decoration: none;
}

.zigbo-recommendation-price {
    min-height: 19px;
    margin-bottom: 9px;
    font-size: 12px;
    font-weight: 800;
}

.zigbo-mini-add-cart {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 32px;
    border-radius: 7px;
    background: #55a638;
    color: #fff !important;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
}

/* EMPTY */

.zigbo-cart-empty {
    padding: 30px 0 70px;
}

.zigbo-empty-card {
    padding: 70px 20px;
    border: 1px solid #e6e9e5;
    border-radius: 20px;
    background: #fff;
    text-align: center;
}

.zigbo-empty-icon {
    font-size: 42px;
}

.zigbo-empty-card h2 {
    margin: 12px 0 5px;
    font-size: 25px;
}

.zigbo-empty-card p {
    margin: 0 0 22px;
    color: #7c858f;
}

.zigbo-cart-yellow-btn {
    display: inline-flex;
    padding: 12px 20px;
    border-radius: 9px;
    background: #f7c62f;
    color: #172033 !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

/* MOBILE */

@media (max-width: 767px) {

    .zigbo-cart-container {
        width: calc(100% - 20px);
    }

    .zigbo-cart-hero {
        padding: 20px 0 4px;
    }

    .zigbo-cart-title-row {
        gap: 10px;
    }

    .zigbo-cart-title-icon svg {
        width: 25px;
        height: 25px;
    }

    .zigbo-cart-title-row h1 {
        font-size: 19px;
        letter-spacing: -.3px;
    }

    .zigbo-cart-items-badge {
        font-size: 12px;
    }

    .zigbo-cart-title-row p {
        font-size: 11px;
    }

    .zigbo-cart-main {
        padding: 14px 0 40px;
    }

    .zigbo-cart-grid {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .zigbo-cart-right {
        position: static;
        width: 100%;
    }

    .zigbo-cart-product {
        grid-template-columns: 84px minmax(0,1fr);
        gap: 11px;
        padding: 11px;
        border-radius: 13px;
    }

    .zigbo-cart-product-image {
        width: 84px;
        height: 84px;
        border-radius: 9px;
    }

    .zigbo-cart-product-top h3 {
        margin: 0 0 6px;
        font-size: 13.5px;
    }

    .zigbo-age-badge {
        padding: 3px 9px;
        font-size: 9.5px;
    }

    .zigbo-cart-product-attrs {
        font-size: 10.5px;
    }

    .zigbo-cart-product-price {
        margin-top: 8px;
    }

    .zigbo-cart-product-price strong {
        font-size: 15.5px;
    }

    .zigbo-cart-product-bottom {
        margin-top: 13px;
    }

    .zigbo-cart-quantity button {
        width: 31px;
        height: 33px;
        font-size: 15px;
    }

    .zigbo-cart-qty {
        width: 34px;
        height: 33px;
        font-size: 13px;
    }

    .zigbo-cart-remove {
        padding: 8px 13px;
        font-size: 11px;
        border-radius: 8px;
    }

    .zigbo-cart-bottom-actions {
        margin-top: 14px;
    }

    .zigbo-continue-btn {
        padding: 10px 15px;
        font-size: 12px;
    }

    .zigbo-order-card {
        padding: 17px;
        border-radius: 14px;
    }

    .zigbo-order-card h2 {
        font-size: 17px;
        margin-bottom: 12px;
    }

    .zigbo-delivery-pill {
        font-size: 10.5px;
        padding: 8px 11px;
    }

    .zigbo-order-row {
        padding: 11px 0;
        font-size: 12.5px;
    }

    .zigbo-cart-coupon input,
    .zigbo-cart-coupon button {
        height: 39px;
    }

    .zigbo-cart-coupon button {
        padding: 0 15px;
    }

    .zigbo-order-total span {
        font-size: 15px;
    }

    .zigbo-order-total strong {
        font-size: 20px;
    }

    .zigbo-checkout-btn {
        min-height: 46px;
        font-size: 13.5px;
    }

    .zigbo-cart-benefits {
        padding: 16px;
        gap: 15px 10px;
        border-radius: 14px;
    }

    .zigbo-cart-benefits strong {
        font-size: 11.5px;
    }

    .zigbo-cart-benefits small {
        font-size: 9.5px;
    }

    .zigbo-recommendation-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .zigbo-recommendation-heading h2 {
        font-size: 21px;
    }

    .zigbo-recommendation-info {
        padding: 9px;
    }

    .zigbo-recommendation-info h3 {
        font-size: 11px;
    }

}


/* =========================================================
   ANIMATED ADD TO CART BUTTON
   ========================================================= */

/* Card row: [ - qty + ][ Add to cart ] */

.zigbo-atc-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.zigbo-atc-row > .zigbo-atc {
    flex: 1 1 auto;
    min-width: 0;
}

.zigbo-atc-qty {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid #e2e5e9;
    border-radius: 12px;
    background: #fff;
}

.zigbo-atc-qty button {
    width: 34px;
    height: 42px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #172033;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background .18s ease;
}

.zigbo-atc-qty button:hover {
    background: #f5f7fa;
}

.zigbo-atc-qty-input {
    width: 30px;
    height: 42px;
    padding: 0;
    border: 0;
    border-left: 1px solid #e2e5e9;
    border-right: 1px solid #e2e5e9;
    outline: none;
    background: #fafbfc;
    color: #172033;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    -moz-appearance: textfield;
}

.zigbo-atc-qty-input::-webkit-inner-spin-button,
.zigbo-atc-qty-input::-webkit-outer-spin-button {
    appearance: none;
    margin: 0;
}

.zigbo-atc-qty-input:focus {
    background: #fff;
}

/* The live stepper stays beside the Go to Cart button so the
   shopper can change the quantity without visiting the cart. */

.zigbo-atc-row.is-cart .zigbo-atc-qty {
    display: inline-flex;
}

.zigbo-atc-row.is-busy .zigbo-atc-qty {
    opacity: .55;
}

.zigbo-atc {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 18px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #ff7a33 0%, #ff5f14 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .2px;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;
    isolation: isolate;
    box-shadow: 0 6px 16px rgba(255, 103, 33, .26);
    transition: transform .18s ease, box-shadow .18s ease;
}

.zigbo-atc:hover {
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(255, 103, 33, .32);
}

.zigbo-atc:active {
    transform: translateY(0) scale(.985);
}

.zigbo-atc:focus-visible {
    outline: 3px solid rgba(255, 103, 33, .35);
    outline-offset: 2px;
}

/* WooCommerce fades the button while it adds over AJAX: the animation
   already communicates the progress, so keep the button fully visible. */

.zigbo-atc.loading.zigbo-atc,
.add_to_cart_button.zigbo-atc.loading,
.single_add_to_cart_button.zigbo-atc.loading {
    opacity: 1 !important;
    padding-right: 18px !important;
}

.zigbo-atc__icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.zigbo-atc__icon svg {
    position: absolute;
    width: 18px;
    height: 18px;
    transition: opacity .22s ease, transform .28s cubic-bezier(.34, 1.56, .64, 1);
}

.zigbo-atc__icon svg:first-child {
    opacity: 1;
    transform: scale(1);
}

.zigbo-atc__icon svg:last-child {
    opacity: 0;
    transform: scale(.4) rotate(-25deg);
}

/* Success pulse (a real element so ::after stays free for WooCommerce) */

.zigbo-atc__pulse {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(circle at center, rgba(255, 255, 255, .4) 0%, rgba(255, 255, 255, 0) 62%);
    opacity: 0;
    pointer-events: none;
}

.zigbo-atc__label {
    white-space: nowrap;
}

.zigbo-atc__tick {
    stroke-dasharray: 30;
    stroke-dashoffset: 0;
}

/* Adding */

.zigbo-atc.is-adding {
    pointer-events: none;
    opacity: .92;
}

.zigbo-atc.is-adding .zigbo-atc__icon svg:first-child {
    animation: zigboAtcNudge .7s ease-in-out infinite;
}

/* Added + Go to Cart */

.zigbo-atc.is-added,
.zigbo-atc.is-cart {
    background: linear-gradient(135deg, #2fa85c 0%, #1f8a45 100%);
    box-shadow: 0 8px 20px rgba(31, 138, 69, .3);
}

.zigbo-atc.is-added .zigbo-atc__icon svg:first-child {
    opacity: 0;
    transform: scale(.5) rotate(20deg);
}

.zigbo-atc.is-added .zigbo-atc__icon svg:last-child {
    opacity: 1;
    transform: scale(1);
}

.zigbo-atc.is-added .zigbo-atc__tick {
    animation: zigboAtcTick .45s cubic-bezier(.65, 0, .35, 1) both;
}

.zigbo-atc.is-added .zigbo-atc__pulse {
    animation: zigboAtcPulse .6s ease-out both;
}

/* Header cart count reaction */

.zigbo-cart-count.zigbo-count-bump {
    display: inline-block;
    animation: zigboAtcBump .6s cubic-bezier(.34, 1.56, .64, 1);
}

@keyframes zigboAtcTick {
    from { stroke-dashoffset: 30; }
    to   { stroke-dashoffset: 0; }
}

@keyframes zigboAtcPulse {
    from { transform: scale(.85); opacity: .9; }
    to   { transform: scale(1.7); opacity: 0; }
}

@keyframes zigboAtcNudge {
    0%, 100% { transform: translateX(0); }
    50%      { transform: translateX(2px); }
}

@keyframes zigboAtcBump {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.45); color: #1f8a45; }
    100% { transform: scale(1); }
}

/* Replace the legacy colours on the existing button rules */

.zigbo-shop-product-card .button.zigbo-atc {
    background: linear-gradient(135deg, #ff7a33 0%, #ff5f14 100%) !important;
    color: #fff !important;
    border-radius: 12px !important;
}

/* Drop the legacy emoji cart and the WooCommerce ".added" tick,
   the animation brings its own icons. */

.zigbo-atc::before,
.zigbo-atc::after {
    content: none !important;
}

.zigbo-product-cart-box form.cart .single_add_to_cart_button.zigbo-atc {
    background: linear-gradient(135deg, #ff7a33 0%, #ff5f14 100%) !important;
    color: #fff !important;
    border-radius: 12px !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
}

/* Success state must win over the legacy button colours above */

.zigbo-shop-product-card .button.zigbo-atc.is-added,
.zigbo-shop-product-card .button.zigbo-atc.is-cart,
.zigbo-product-cart-box form.cart .single_add_to_cart_button.zigbo-atc.is-added,
.zigbo-product-cart-box form.cart .single_add_to_cart_button.zigbo-atc.is-cart {
    background: linear-gradient(135deg, #2fa85c 0%, #1f8a45 100%) !important;
}

@media (min-width: 641px) {

    .zigbo-shop-product-card .button.zigbo-atc {
        min-height: 44px;
        font-size: 13px;
    }

}

@media (max-width: 640px) {

    /* Two column cards are too narrow for a stepper next to the label,
       so the button stays full width on phones. */

    .zigbo-atc-qty,
    .zigbo-atc-row.is-cart .zigbo-atc-qty {
        display: none;
    }

}

@media (prefers-reduced-motion: reduce) {

    .zigbo-atc,
    .zigbo-atc__icon,
    .zigbo-atc__icon svg,
    .zigbo-atc__pulse,
    .zigbo-atc__label,
    .zigbo-cart-count {
        transition: none !important;
        animation: none !important;
    }

    .zigbo-atc__pulse {
        display: none;
    }

}


/* =========================================================
   SHOP FILTER NAV - STYLISH HORIZONTAL BAR
   ========================================================= */

body .zigbo-shop-filter-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 6px;
    margin: 0 0 22px;
    padding: 9px 12px;
    border: 1px solid #e8ece6;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(23, 32, 51, .05);
    white-space: nowrap;
}

body .zigbo-shop-filter-nav::-webkit-scrollbar {
    display: none;
}

body .zigbo-shop-filter-nav > a,
body .zigbo-shop-filter-nav > details > summary {
    display: inline-flex;
    align-items: center;
    padding: 9px 15px;
    border: 1px solid transparent;
    border-radius: 100px;
    color: #4b5a52;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}

body .zigbo-shop-filter-nav > a:hover,
body .zigbo-shop-filter-nav > details > summary:hover {
    background: #f2f8f1;
    color: #197d40;
}

body .zigbo-shop-filter-nav > a.is-active {
    border-color: #cfe8d3;
    background: #e9f7ec;
    color: #1f8a45;
    font-weight: 800;
    text-decoration: none;
}

body .zigbo-shop-filter-nav > details[open] > summary {
    background: #f2f8f1;
    color: #197d40;
}

body .zigbo-shop-filter-nav > details > summary::-webkit-details-marker {
    display: none;
}

body .zigbo-shop-filter-nav > details > summary::after {
    content: "⌄";
    margin-left: 7px;
    font-size: 14px;
    line-height: 1;
    transition: transform .2s ease;
}

body .zigbo-shop-filter-nav > details[open] > summary::after {
    transform: rotate(180deg);
}

/* Sort control sits apart on the right */

body .zigbo-shop-filter-nav > .zigbo-nav-sort {
    margin-left: 10px;
    padding-left: 14px;
    border-left: 1px solid #e8ece6;
}

body .zigbo-shop-filter-nav > .zigbo-nav-sort > summary {
    color: #172033;
    font-weight: 700;
}

body .zigbo-nav-sort .zigbo-sort-menu a.is-current {
    background: #f2f8f1;
    color: #1f8a45;
    font-weight: 700;
}

/* Dropdown panels */

body .zigbo-filter-menu {
    top: calc(100% + 8px);
    left: 0;
    min-width: 168px;
    padding: 6px;
    border: 1px solid #e8ece6;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(23, 32, 51, .12);
}

body .zigbo-filter-menu a {
    padding: 9px 12px;
    border-radius: 9px;
    color: #4b5a52;
    font-size: 12.5px;
    font-weight: 600;
}

body .zigbo-filter-menu a:hover {
    background: #f2f8f1;
    color: #197d40;
}

@media (max-width: 900px) {

    /* The bar scrolls sideways on narrow screens, so keep it a single
       row. Dropdown panels are moved out of the scroll box by
       shop-filters.js so they are never clipped. */
    body .zigbo-shop-filter-nav {
        justify-content: flex-start;
        gap: 6px;
        overflow-x: auto;
        scrollbar-width: none;
    }

}

@media (max-width: 640px) {

    body .zigbo-shop-filter-nav {
        justify-content: flex-start;
        gap: 5px;
        margin: 0 -12px 18px;
        padding: 9px 12px;
        border-radius: 14px;
    }

    body .zigbo-shop-filter-nav > a,
    body .zigbo-shop-filter-nav > details > summary {
        padding: 8px 12px;
        font-size: 11.5px;
    }

    body .zigbo-shop-filter-nav > .zigbo-nav-sort {
        margin-left: 4px;
        padding-left: 10px;
    }

    body .zigbo-filter-menu {
        top: calc(100% + 6px);
    }
}


/* =========================================================
   HEADER - STICKY, ELABORATE MENU, SOFT SEARCH
   ========================================================= */

.zigbo-header {
    position: sticky;
    top: 0;
    z-index: 99999;
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid rgba(20, 30, 45, .08);
    box-shadow: 0 8px 26px rgba(20, 30, 45, .06);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
}

/* Menu */

.zigbo-nav {
    flex: 0 0 auto !important;
    gap: 2px !important;
    padding: 6px !important;
    border-color: rgba(20, 30, 45, .08) !important;
    background: linear-gradient(180deg, #fcfdfe 0%, #f3f5f7 100%) !important;
    box-shadow:
        0 2px 10px rgba(20, 30, 45, .05),
        inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

.zigbo-nav a {
    min-height: 34px !important;
    padding: 0 15px !important;
    color: #46525e !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: .01em;
}

.zigbo-nav a:hover,
.zigbo-nav a:focus-visible {
    color: #197d40 !important;
}

/* Moving active pill sits above the softer bar background */

.zigbo-nav-highlight {
    background: #ffffff !important;
    border: 1px solid rgba(20, 30, 45, .07) !important;
    box-shadow:
        0 4px 14px rgba(20, 30, 45, .10),
        0 1px 2px rgba(20, 30, 45, .05) !important;
}

/* Search: grows softly when focused */

.zigbo-search {
    flex: 1 1 210px;
    max-width: 250px;
    margin-left: auto;
    transition:
        max-width .38s cubic-bezier(.22, .61, .36, 1),
        flex-basis .38s cubic-bezier(.22, .61, .36, 1);
}

.zigbo-search:focus-within {
    max-width: 430px;
    flex-basis: 430px;
}

.zigbo-search input[type="search"] {
    height: 40px;
    padding: 0 42px 0 16px;
    font-size: 11.5px;
    transition:
        height .32s cubic-bezier(.22, .61, .36, 1),
        border-color .25s ease,
        background .25s ease,
        box-shadow .3s ease;
}

.zigbo-search:focus-within input[type="search"] {
    height: 46px;
    border-color: rgba(31, 138, 69, .38);
    background: #fff;
    box-shadow:
        0 12px 30px rgba(23, 32, 51, .10),
        0 0 0 4px rgba(31, 138, 69, .10);
}

.zigbo-search button {
    width: 30px;
    height: 30px;
    right: 6px;
    transition: transform .25s ease, background .25s ease;
}

.zigbo-search button:hover {
    transform: translateY(-50%) scale(1.06);
}

.zigbo-search:focus-within button svg {
    stroke: #1f8a45;
}

@media (max-width: 767px) {

    /* The header sticks on phones too, and the mobile menu still
       drops from the header because sticky is a positioned parent. */
    .zigbo-header {
        position: sticky !important;
    }

    .zigbo-search,
    .zigbo-search:focus-within {
        max-width: none;
        flex-basis: auto;
    }

    .zigbo-search input[type="search"] {
        height: 36px;
    }

    .zigbo-search:focus-within input[type="search"] {
        height: 40px;
    }

}

@media (prefers-reduced-motion: reduce) {

    .zigbo-search,
    .zigbo-search input[type="search"],
    .zigbo-search button {
        transition: none !important;
    }
}


/* =========================================================
   ZIGBO CHECKOUT (WooCommerce Checkout block)
   The block renders real fields, shipping, gateways, coupon,
   totals and Place Order. This layer only shapes the layout,
   section numbering and form styling. No WooCommerce markup
   or behaviour is altered.
   ========================================================= */

.zigbo-checkout-page {
    background: #f6f8fb;
    color: #172033;
    padding-bottom: 56px;
}

.zigbo-checkout-container {
    width: min(100% - 48px, 1180px);
    margin: 0 auto;
}

/* Compact page hero */

.zigbo-checkout-hero {
    padding: 30px 0 6px;
}

.zigbo-checkout-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.zigbo-checkout-title-row h1 {
    margin: 0;
    font-size: 30px;
    letter-spacing: -.5px;
}

.zigbo-checkout-title-row p {
    margin: 5px 0 0;
    color: #89919b;
    font-size: 13px;
}

.zigbo-checkout-secure {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 15px;
    border-radius: 999px;
    background: #e9f7ec;
    color: #23914a;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.zigbo-checkout-secure svg {
    width: 15px;
    height: 15px;
}

/* Main + sidebar spacing (the block owns the 2-column grid) */

.zigbo-checkout-page .wc-block-checkout {
    padding: 18px 0 8px;
}

.zigbo-checkout-page .wc-block-checkout__main {
    min-width: 0;
}

.zigbo-checkout-page .wc-block-checkout__sidebar.is-sticky {
    top: 96px;
}

/* One unified checkout panel: sections divided by whitespace + hairlines */

.zigbo-checkout-page .wc-block-checkout__main {
    counter-reset: zigbo-step;
    margin-bottom: 0;
    padding: 6px 32px 30px;
    border: 1px solid #eceef1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.zigbo-checkout-page .wc-block-checkout__contact-fields,
.zigbo-checkout-page .wc-block-checkout__shipping-fields,
.zigbo-checkout-page .wc-block-checkout__shipping-option,
.zigbo-checkout-page .wc-block-checkout__payment-method,
.zigbo-checkout-page .wc-block-checkout__order-notes {
    margin: 0;
    padding: 26px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    border-bottom: 1px solid #eef0ed;
}

.zigbo-checkout-page .wc-block-checkout__contact-fields .wc-block-components-checkout-step__title,
.zigbo-checkout-page .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__title,
.zigbo-checkout-page .wc-block-checkout__shipping-option .wc-block-components-checkout-step__title,
.zigbo-checkout-page .wc-block-checkout__payment-method .wc-block-components-checkout-step__title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -.2px;
}

.zigbo-checkout-page .wc-block-checkout__contact-fields .wc-block-components-checkout-step__title::before,
.zigbo-checkout-page .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__title::before,
.zigbo-checkout-page .wc-block-checkout__shipping-option .wc-block-components-checkout-step__title::before,
.zigbo-checkout-page .wc-block-checkout__payment-method .wc-block-components-checkout-step__title::before {
    counter-increment: zigbo-step;
    content: counter(zigbo-step);
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #172033;
    color: #fff;
    font-size: 12.5px;
    font-weight: 800;
}

/* Saved address renders as a selected delivery address block */

.zigbo-checkout-page .wc-block-components-address-card {
    padding: 16px 18px;
    border: 1px solid #e4e8ec;
    border-radius: 12px;
    background: #fafbfc;
}

.zigbo-checkout-page .wc-block-components-address-card address {
    font-style: normal;
    color: #4b5560;
    font-size: 13.5px;
    line-height: 1.65;
}

.zigbo-checkout-page .wc-block-components-address-card__address-section--primary {
    display: block;
    margin-bottom: 2px;
    color: #172033;
    font-size: 14.5px;
    font-weight: 800;
}

.zigbo-checkout-page .wc-block-components-address-card__edit {
    border: 0;
    background: transparent;
    color: #1f8a45;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
}

.zigbo-checkout-page .wc-block-components-address-card__edit:hover {
    text-decoration: underline;
}

/* Terms is section 5: plain row inside the panel, real WC content kept */

.zigbo-checkout-page .wc-block-checkout__terms {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 0;
    padding: 22px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    border-bottom: 1px solid #eef0ed;
    color: #4b5560;
    font-size: 13px;
    line-height: 1.6;
}

.zigbo-checkout-page .wc-block-checkout__terms::before {
    counter-increment: zigbo-step;
    content: counter(zigbo-step);
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #172033;
    color: #fff;
    font-size: 12.5px;
    font-weight: 800;
}

.zigbo-checkout-page .wc-block-checkout__terms a {
    color: #1f8a45;
    font-weight: 600;
}

.zigbo-checkout-page .wc-block-checkout__actions {
    padding-top: 24px;
}

/* Form controls */

.zigbo-checkout-page .wc-block-components-text-input input,
.zigbo-checkout-page .wc-block-components-text-input textarea {
    border: 1px solid #e2e5e9;
    border-radius: 10px;
    background: #fff;
    font-size: 14px;
}

.zigbo-checkout-page .wc-block-components-text-input input:focus,
.zigbo-checkout-page .wc-block-components-text-input textarea:focus {
    border-color: #1f8a45;
    box-shadow: 0 0 0 3px rgba(31, 138, 69, .12);
    outline: none;
}

.zigbo-checkout-page .wc-blocks-components-select__container select {
    min-height: 48px;
    border: 1px solid #e2e5e9;
    border-radius: 10px;
    background-color: #fff;
    font-size: 14px;
}

.zigbo-checkout-page .wc-blocks-components-select__container select:focus {
    border-color: #1f8a45;
    box-shadow: 0 0 0 3px rgba(31, 138, 69, .12);
    outline: none;
}

.zigbo-checkout-page .wc-block-components-text-input .wc-block-components-text-input__label,
.zigbo-checkout-page .wc-blocks-components-select__label {
    color: #69737e;
}

.zigbo-checkout-page input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #1f8a45;
    flex: 0 0 auto;
}

.zigbo-checkout-page .wc-block-components-checkbox__label {
    color: #4b5560;
    font-size: 13.5px;
}

/* Log in prompt sits at the top-right of the contact step */

.zigbo-checkout-page .wc-block-checkout__login-prompt {
    color: #1f8a45;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.zigbo-checkout-page .wc-block-checkout__login-prompt:hover {
    text-decoration: underline;
}

/* Payment methods use the brand orange marker (WooCommerce draws the
   dot in a :before pseudo, so accent-color alone is ignored) */

.zigbo-checkout-page .wc-block-checkout__payment-method input[type="radio"] {
    accent-color: #ff6721;
}

body .zigbo-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control__input:checked:before {
    background: #ff6721;
}

/* Selectable shipping + payment rows */

.zigbo-checkout-page .wc-block-components-radio-control__option {
    padding: 12px 14px;
    border: 1px solid #e2e5e9;
    border-radius: 10px;
    background: #fff;
    transition: border-color .18s ease, background .18s ease;
}

.zigbo-checkout-page .wc-block-components-radio-control__option + .wc-block-components-radio-control__option {
    margin-top: 10px;
}

.zigbo-checkout-page .wc-block-components-radio-control__option-checked,
.zigbo-checkout-page .wc-block-components-radio-control__option:has(input:checked) {
    border-color: #1f8a45;
    background: #f2faf4;
    box-shadow: none;
}

.zigbo-checkout-page .wc-block-components-radio-control__input {
    accent-color: #1f8a45;
}

/* Payment methods render as accordion options: WooCommerce draws the
   visible frame on an :after overlay, so the theme styles the wrapper,
   switches that overlay off, and highlights the checked wrapper. */

body .zigbo-checkout-page .wc-block-components-radio-control-accordion-option {
    padding: 12px 14px;
    border: 1px solid #e2e5e9;
    border-radius: 10px;
    background: #fff;
}

body .zigbo-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option::after {
    content: none;
}

body .zigbo-checkout-page .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option {
    margin-top: 10px;
}

body .zigbo-checkout-page .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__option-checked) {
    border-color: #1f8a45;
    background: #f2faf4;
    box-shadow: none;
}

/* The radio sits absolute; keep the label text clear of it. */

body .zigbo-checkout-page .wc-block-components-radio-control__option-layout {
    padding-left: 30px;
}

/* Order notes toggle block stays subtle */

.zigbo-checkout-page .wc-block-checkout__order-notes {
    margin-bottom: 18px;
}

/* Place Order: real WooCommerce action, Zigbo orange */

.zigbo-checkout-page .wc-block-components-checkout-place-order-button {
    min-height: 54px;
    border: 0;
    border-radius: 12px;
    background: #ff6721;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .2px;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.zigbo-checkout-page .wc-block-components-checkout-place-order-button:hover:not(:disabled) {
    background: #f25c10;
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(255, 103, 33, .32);
}

.zigbo-checkout-page .wc-block-components-checkout-place-order-button:focus-visible {
    outline: 3px solid rgba(255, 103, 33, .35);
    outline-offset: 2px;
}

.zigbo-checkout-page .wc-block-components-checkout-place-order-button:disabled {
    opacity: .6;
    transform: none;
    box-shadow: none;
    cursor: wait;
}

/* Order summary sidebar card */

.zigbo-checkout-page .wp-block-woocommerce-checkout-order-summary-block {
    padding: 22px;
    border: 1px solid #eceef1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(15, 23, 42, .05);
}

.zigbo-checkout-page .wc-block-components-checkout-order-summary__title {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.3px;
}

/* Store delivery estimate above the summary card (same claim as the
   cart page). The line is prepended by the theme and lands as the
   first element of the sticky sidebar. */

.zigbo-checkout-page .zigbo-delivery-line {
    margin: 0 0 14px;
    padding: 10px 14px;
    border-radius: 10px;
    background: #e9f7ec;
    color: #23914a;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.zigbo-checkout-page .zigbo-delivery-line span {
    font-style: normal;
}

/* Coupon toggle reads as an action, the form keeps cart styling */

.zigbo-checkout-page .wc-block-components-totals-coupon .wc-block-components-panel__button {
    color: #1f8a45;
    font-size: 13px;
    font-weight: 700;
}

.zigbo-checkout-page .wc-block-components-order-summary-item__image {
    flex: 0 0 auto;
    border: 1px solid #eef0ed;
    border-radius: 10px;
    overflow: hidden;
}

.zigbo-checkout-page .wc-block-components-order-summary-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zigbo-checkout-page .wc-block-components-order-summary-item__description {
    color: #172033;
    font-size: 13px;
    min-width: 0;
    word-break: normal;
    overflow-wrap: break-word;
}

.zigbo-checkout-page .wc-block-components-order-summary-item__total-price {
    white-space: nowrap;
}

.zigbo-checkout-page .wc-block-components-order-summary-item__total-price,
.zigbo-checkout-page .wc-block-components-totals-item__value,
.zigbo-checkout-page .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
    color: #172033;
    font-weight: 700;
}

.zigbo-checkout-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 17px;
    font-weight: 800;
}

.zigbo-checkout-page .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
    color: #1f8a45;
    font-size: 22px;
    font-weight: 800;
}

/* Coupon: real WooCommerce coupon form */

.zigbo-checkout-page .wc-block-components-totals-coupon__form input {
    height: 44px;
    border: 1px solid #e2e5e9;
    border-radius: 9px;
    font-size: 13px;
}

.zigbo-checkout-page .wc-block-components-totals-coupon__form input:focus {
    border-color: #1f8a45;
    box-shadow: 0 0 0 3px rgba(31, 138, 69, .12);
    outline: none;
}

.zigbo-checkout-page .wc-block-components-totals-coupon__form .wc-block-components-button {
    min-height: 44px;
    padding: 0 20px;
    border: 0;
    border-radius: 9px;
    background: #172033;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.zigbo-checkout-page .wc-block-components-totals-coupon__form .wc-block-components-button:hover:not(:disabled) {
    background: #0d1322;
}

/* Notices stay visible and on-brand */

.zigbo-checkout-page .wc-block-components-notice-banner.is-error {
    border-color: #f3c1b3;
    border-radius: 10px;
    background: #fff3ef;
    color: #b23c22;
}

/* Trust strip: same verified claims as the cart page */

.zigbo-checkout-trust {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 26px;
    padding: 20px;
    border: 1px solid #eceef1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(15, 23, 42, .05);
}

.zigbo-checkout-trust > div {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.zigbo-checkout-trust svg {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    color: #172033;
}

.zigbo-checkout-trust span {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.zigbo-checkout-trust strong {
    color: #172033;
    font-size: 13px;
    font-weight: 800;
}

.zigbo-checkout-trust small {
    color: #89919b;
    font-size: 10.5px;
    font-weight: 600;
}

/* Tablet */

@media (max-width: 1024px) {

    .zigbo-checkout-page .wc-block-checkout__main {
        padding: 6px 24px 28px;
    }

    .zigbo-checkout-trust {
        grid-template-columns: repeat(2, 1fr);
    }

}

/* Small tablet and below: single column so nothing gets squeezed */

@media (max-width: 900px) {

    .zigbo-checkout-page .wc-block-components-sidebar-layout {
        flex-direction: column;
    }

    .zigbo-checkout-page .wc-block-components-sidebar-layout .wc-block-components-main,
    .zigbo-checkout-page .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        width: 100%;
        padding-right: 0;
    }

    .zigbo-checkout-page .wc-block-checkout__sidebar.is-sticky {
        position: static;
    }

    .zigbo-checkout-page .wc-block-checkout__sidebar {
        margin-top: 24px;
    }

}

/* Mobile: single column, touch friendly */

@media (max-width: 767px) {

    .zigbo-checkout-page {
        padding-bottom: 40px;
    }

    .zigbo-checkout-container {
        width: calc(100% - 20px);
    }

    .zigbo-checkout-hero {
        padding: 20px 0 2px;
    }

    .zigbo-checkout-title-row h1 {
        font-size: 22px;
    }

    .zigbo-checkout-title-row p {
        font-size: 12px;
    }

    .zigbo-checkout-secure {
        padding: 8px 12px;
        font-size: 11px;
    }

    .zigbo-checkout-page .wc-block-checkout {
        padding-top: 14px;
    }

    .zigbo-checkout-page .wc-block-checkout__main {
        padding: 2px 18px 24px;
        border-radius: 16px;
    }

    .zigbo-checkout-page .wc-block-checkout__contact-fields,
    .zigbo-checkout-page .wc-block-checkout__shipping-fields,
    .zigbo-checkout-page .wc-block-checkout__shipping-option,
    .zigbo-checkout-page .wc-block-checkout__payment-method,
    .zigbo-checkout-page .wc-block-checkout__order-notes {
        padding: 20px 0;
    }

    .zigbo-checkout-page .wc-block-checkout__terms {
        padding: 18px 0;
    }

    .zigbo-checkout-page .wc-block-checkout__actions {
        padding-top: 20px;
    }

    .zigbo-checkout-page .wc-block-checkout__contact-fields .wc-block-components-checkout-step__title,
    .zigbo-checkout-page .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__title,
    .zigbo-checkout-page .wc-block-checkout__shipping-option .wc-block-components-checkout-step__title,
    .zigbo-checkout-page .wc-block-checkout__payment-method .wc-block-components-checkout-step__title {
        font-size: 16px;
    }

    .zigbo-checkout-page .wc-block-components-checkout-place-order-button {
        min-height: 50px;
        font-size: 14.5px;
    }

    .zigbo-checkout-page .wp-block-woocommerce-checkout-order-summary-block {
        padding: 17px;
        border-radius: 14px;
    }

    .zigbo-checkout-page .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
        font-size: 20px;
    }

    .zigbo-checkout-trust {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px 10px;
        padding: 16px;
        border-radius: 14px;
    }

    .zigbo-checkout-trust strong {
        font-size: 12px;
    }

}

@media (prefers-reduced-motion: reduce) {

    .zigbo-checkout-page .wc-block-components-radio-control__option,
    .zigbo-checkout-page .wc-block-components-checkout-place-order-button {
        transition: none;
    }

}