/* Little Babeye Home Page Styles */
:root {
    --lb-primary: #4f6d39;
    --lb-primary-dim: #43602e;
    --lb-primary-container: #caedad;
    --lb-on-primary: #ffffff;
    --lb-on-primary-container: #3d5928;
    --lb-surface: #fffbff;
    --lb-surface-container-low: #fdf9eb;
    --lb-surface-container: #f8f4e4;
    --lb-surface-container-highest: #ece8d6;
    --lb-surface-container-lowest: #ffffff;
    --lb-on-surface: #39382b;
    --lb-on-surface-variant: #676556;
    --lb-tertiary: #845c32;
    --lb-tertiary-fixed: #d9a777;
    --lb-on-tertiary-container: #482904;
    --lb-primary-fixed-dim: #bcdfa0;
    --lb-emerald-900: #1b3a0f;
    --lb-emerald-800: #166534;
    --lb-emerald-50: #ecfdf5;
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* ===== HEADER NAV WITH DROPDOWNS ===== */
.lb-hdr-wrap {
    max-width: 80rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-hdr-left {
    display: flex;
    align-items: center;
    gap: 3rem;
}
.lb-hdr-logo {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--lb-emerald-900);
    text-decoration: none;
    letter-spacing: -0.05em;
}
.lb-hdr-nav {
    display: flex;
    gap: 0;
}
.lb-hdr-nav-item {
    position: relative;
    z-index: 1000;
}
.lb-hdr-nav-link {
    font-size: 0.875rem;
    font-weight: 500;
    color: #525252;
    text-decoration: none;
    padding: 0.5rem 1rem;
    display: block;
    transition: color 0.2s;
}
.lb-hdr-nav-link:hover {
    color: var(--lb-emerald-900) !important;
    font-weight: 600;
}
/* Dropdown */
.lb-hdr-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    padding: 0.5rem 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
    z-index: 10000;
}
/* Invisible bridge so dropdown stays open when moving mouse from link to menu */
.lb-hdr-dropdown::before {
    content: '';
    position: absolute;
    top: -0.75rem;
    left: 0;
    right: 0;
    height: 0.75rem;
}
.lb-hdr-nav-item:hover .lb-hdr-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.lb-hdr-dropdown-link {
    display: block;
    padding: 0.5rem 1.25rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #525252;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-hdr-dropdown-link:hover {
    background: var(--lb-surface-container-low);
    color: var(--lb-primary);
}
.lb-hdr-dropdown-all {
    font-weight: 700;
    color: var(--lb-primary);
    border-bottom: 1px solid var(--lb-surface-container-highest);
    margin-bottom: 0.25rem;
    padding-bottom: 0.625rem;
}
/* Right side */
.lb-hdr-right {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
.lb-hdr-search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--lb-surface-container-highest);
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    cursor: pointer;
}
.lb-hdr-search .material-symbols-outlined { color: var(--lb-on-surface-variant); font-size: 1.25rem; }
.lb-hdr-search-text { font-size: 0.75rem; font-weight: 500; color: var(--lb-on-surface-variant); }
.lb-hdr-icons { display: flex; gap: 0.25rem; }
.lb-hdr-icon-btn {
    padding: 0.5rem;
    border-radius: 9999px;
    text-decoration: none;
    display: flex;
}
.lb-hdr-icon-btn .material-symbols-outlined { color: var(--lb-emerald-900); }
.lb-hdr-icon-btn:hover { background: rgba(236,253,245,0.5); }
/* Cart count badge */
.lb-hdr-cart-btn { position: relative; }
.lb-cart-count {
    position: absolute;
    top: 0;
    right: -2px;
    min-width: 1.125rem;
    height: 1.125rem;
    background: var(--lb-primary);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.25rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    line-height: 1;
}

/* ===== STICKY FOOTER & HEADER FIX – push footer to bottom on short pages ===== */
#wrapper { display: flex; flex-direction: column; min-height: 100vh; }
#wrapper > .fusion-tb-header { flex-shrink: 0; }
#wrapper > main, #wrapper > #main,
#wrapper > div:not(.fusion-tb-header):not(.fusion-tb-footer):not(.fusion-footer) { flex: 1; }
.fusion-tb-footer, .fusion-footer { flex-shrink: 0; margin-top: auto; }

/* Remove extra spacing from header TB column & ensure header is above everything */
.fusion-tb-header { position: relative; z-index: 10000; }
.fusion-tb-header .fusion_builder_column { margin-bottom: 0 !important; }
.fusion-tb-header .fusion-column-wrapper { padding-bottom: 0 !important; }
/* Pin header to very top – no Avada default top margin/padding */
.fusion-tb-header { margin-top: 0 !important; padding-top: 0 !important; }
body #boxed-wrapper { padding-top: 0 !important; margin-top: 0 !important; }
body #wrapper { padding-top: 0 !important; margin-top: 0 !important; }
body #wrapper > #home { display: none; }
body .fusion-header-wrapper { margin: 0 !important; padding: 0 !important; }

/* Remove extra top spacing on non-shop pages (cart, checkout, account, etc.) */
#main { padding-top: 0 !important; }
#main > .fusion-row { padding-top: 0 !important; }
@media (max-width: 768px) {
    .lb-hdr-nav { display: none !important; }
    .lb-hdr-search { display: none !important; }
}

/* ===== HERO V2 ===== */
.lb-hero-v2 {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1.5rem;
}
.lb-hero-v2-inner {
    border-radius: 1rem;
    overflow: hidden;
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
}
.lb-hero-v2-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.lb-hero-v2-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.8;
}
.lb-hero-v2-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, var(--lb-surface-container) 0%, rgba(248,244,228,0.4) 50%, transparent 100%);
}
.lb-hero-v2-content {
    position: relative;
    z-index: 1;
    max-width: 40rem;
    padding: 5rem 2rem 5rem 3rem;
}
.lb-hero-v2-badge {
    display: inline-block;
    padding: 0.375rem 1rem;
    background: rgba(217,167,119,0.3);
    color: var(--lb-on-tertiary-container);
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 1.5rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-hero-v2-title {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--lb-on-surface);
    margin-bottom: 1.5rem;
    line-height: 1.1;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-hero-v2-title .highlight {
    color: var(--lb-primary);
}
.lb-hero-v2-desc {
    font-size: 1.125rem;
    color: var(--lb-on-surface-variant);
    margin-bottom: 2.5rem;
    max-width: 28rem;
    line-height: 1.7;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-hero-v2-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.lb-btn-surface {
    padding: 1.25rem 2.5rem;
    background: var(--lb-surface-container-highest);
    color: var(--lb-on-surface);
    border: none;
    border-radius: 9999px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    transition: background 0.2s;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    display: inline-block;
}
.lb-btn-surface:hover { background: rgba(189,186,168,0.2); color: var(--lb-on-surface); }
@media (min-width: 768px) {
    .lb-hero-v2-inner { min-height: 700px; }
    .lb-hero-v2-content { padding: 5rem 2rem 5rem 5rem; }
}

/* ===== CATEGORIES V2 (Circular) ===== */
.lb-categories-v2 {
    max-width: 80rem;
    margin: 0 auto;
    padding: 5rem 1.5rem;
}
.lb-categories-v2-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 3rem;
    flex-wrap: wrap;
    gap: 1rem;
}
.lb-categories-v2-header > p {
    margin: 0;
    display: flex;
    align-items: flex-end;
}
.lb-section-subtitle {
    color: var(--lb-on-surface-variant);
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 1rem !important;
    margin-top: 0.5rem;
}
.lb-cat-circles-v2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem 2rem;
}
.lb-cat-circle-v2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    z-index: 10;
}
.lb-cat-circle-v2 > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: inherit;
}
.lb-cat-circle-v2-img {
    width: 160px;
    height: 160px;
    border-radius: 9999px;
    overflow: hidden;
    background: var(--lb-surface-container-low);
    box-shadow: 0 0 0 8px rgba(202,237,173,0.25);
    transition: box-shadow 0.3s, transform 0.3s;
    position: relative;
    flex-shrink: 0;
}
.lb-cat-circle-v2:hover .lb-cat-circle-v2-img {
    transform: scale(1.05);
    box-shadow: 0 0 0 12px rgba(202,237,173,0.45);
}
.lb-cat-circle-v2-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lb-cat-circle-v2 h3 {
    margin-top: 1rem;
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    text-align: center;
}
/* Subcategory dropdown */
.lb-cat-dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    background: white;
    border-radius: 1rem;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    padding: 0.75rem 0;
    min-width: 200px;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
    margin-top: 0.25rem;
}
.lb-cat-circle-v2:hover .lb-cat-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.lb-cat-dropdown a {
    display: block;
    padding: 0.5rem 1.5rem;
    font-size: 0.875rem;
    color: var(--lb-on-surface);
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    transition: background 0.15s, color 0.15s;
}
.lb-cat-dropdown a:hover {
    background: var(--lb-primary-container);
    color: var(--lb-primary);
}
/* Product card as link */
a.lb-product-v2-card {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
}
.lb-cat-circle-v2 h3 {
    margin-top: 1.5rem;
    text-align: center;
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
@media (max-width: 1024px) {
    .lb-cat-circles-v2 { grid-template-columns: repeat(3, 1fr); }
    .lb-cat-circle-v2-img { width: 130px; height: 130px; }
}
@media (max-width: 768px) {
    .lb-cat-dropdown { position: static; transform: none; opacity: 1; visibility: visible; box-shadow: none; padding: 0.25rem 0; min-width: auto; margin-top: 0.5rem; }
    .lb-cat-circle-v2-img { width: 110px; height: 110px; }
}
@media (max-width: 640px) {
    .lb-cat-circles-v2 { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
    .lb-cat-circle-v2-img { width: 100px; height: 100px; }
}
/* Ensure hovered circle is on top and dropdowns aren't clipped */
.lb-cat-circle-v2:hover { z-index: 9999; }
.lb-cat-circles-v2 { overflow: visible !important; position: relative; z-index: 100; }
/* Prevent Fusion Builder containers from clipping dropdowns */
.fusion-fullwidth:has(.lb-cat-circles-v2),
.fusion-fullwidth:has(.lb-cat-dropdown) { overflow: visible !important; z-index: 100 !important; position: relative; }
.fusion-fullwidth:has(.lb-cat-circles-v2) .fusion-builder-row,
.fusion-fullwidth:has(.lb-cat-circles-v2) .fusion-column-wrapper,
.fusion-fullwidth:has(.lb-cat-circles-v2) .fusion_builder_column { overflow: visible !important; }

/* Kill wpautop in category circles */
.lb-cat-circle-v2 > a > br,
.lb-cat-circles-v2 > br,
.lb-cat-dropdown br { display: none; }
.lb-cat-circle-v2 > a > p,
.lb-cat-circles-v2 > p { display: none; }

/* ===== FAVORITES V2 ===== */
.lb-favorites-v2 {
    background: var(--lb-surface-container);
    padding: 6rem 0;
}
.lb-favorites-v2-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1.5rem;
}
.lb-favorites-v2-header {
    text-align: center;
    margin-bottom: 4rem;
}
.lb-favorites-v2-header h2 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.25rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    color: var(--lb-on-surface);
    margin-bottom: 0.5rem;
}
.lb-favorites-v2-header p {
    color: var(--lb-on-surface-variant);
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 1rem !important;
}
.lb-products-v2-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}
.lb-product-v2-card {
    background: var(--lb-surface-container-lowest);
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
}
.lb-product-v2-img {
    aspect-ratio: 4/5;
    border-radius: 0.75rem;
    overflow: hidden;
    margin-bottom: 1.5rem;
}
.lb-product-v2-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}
.lb-product-v2-card:hover .lb-product-v2-img img { transform: scale(1.1); }
.lb-product-v2-info {
    margin-bottom: 1rem;
    flex-grow: 1;
}
.lb-product-v2-tag {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: var(--lb-primary);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-family: 'Be Vietnam Pro', sans-serif !important;
}
.lb-product-v2-tag.tertiary { color: var(--lb-tertiary); }
.lb-product-v2-tag.secondary { color: var(--lb-on-surface-variant); }
.lb-product-v2-tag.sale { color: #ae4025; }
.lb-product-v2-info h3 {
    font-weight: 700 !important;
    font-size: 1.125rem !important;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    margin: 0.25rem 0;
}
.lb-product-v2-info .price {
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    color: var(--lb-primary);
    font-family: 'Be Vietnam Pro', sans-serif !important;
}
.lb-product-v2-prices {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.lb-product-v2-prices .was {
    color: var(--lb-on-surface-variant);
    text-decoration: line-through;
    font-size: 0.875rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-product-v2-cart {
    width: 100%;
    padding: 0.875rem;
    background: var(--lb-surface-container-highest);
    border: none;
    border-radius: 9999px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    cursor: pointer;
    transition: background 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: var(--lb-on-surface);
}
.lb-product-v2-cart:hover { background: var(--lb-primary-container); }
.lb-product-v2-cart .material-symbols-outlined { font-size: 1rem; }
@media (max-width: 1024px) {
    .lb-products-v2-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .lb-products-v2-grid { grid-template-columns: 1fr; }
}

/* ===== BENTO WHY CHOOSE US ===== */
.lb-bento-wrap {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1.5rem 5rem;
}
.lb-bento-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
.lb-bento-card {
    padding: 2.5rem;
    border-radius: 1rem;
}
.lb-bento-card.eco { background: var(--lb-secondary-container, #f4e2a9); }
.lb-bento-card.skin { background: var(--lb-tertiary-container, #fae2ea); }
.lb-bento-card.ship { background: var(--lb-primary-container, #b7f47b); }
.lb-bento-icon {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 9999px;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.lb-bento-card.eco .lb-bento-icon .material-symbols-outlined,
.fusion-layout-column.lb-bento-card.eco .lb-bento-icon .material-symbols-outlined { color: var(--lb-secondary, #716436); }
.lb-bento-card.skin .lb-bento-icon .material-symbols-outlined,
.fusion-layout-column.lb-bento-card.skin .lb-bento-icon .material-symbols-outlined { color: var(--lb-tertiary, #716066); }
.lb-bento-card.ship .lb-bento-icon .material-symbols-outlined,
.fusion-layout-column.lb-bento-card.ship .lb-bento-icon .material-symbols-outlined { color: var(--lb-primary, #3f7100); }
.lb-bento-card h3,
.fusion-layout-column.lb-bento-card h3 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--lb-on-surface);
    margin-bottom: 0.75rem;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.lb-bento-card p,
.fusion-layout-column.lb-bento-card p {
    color: var(--lb-on-surface-variant);
    line-height: 1.7;
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 1rem !important;
}
@media (max-width: 768px) {
    .lb-bento-grid { grid-template-columns: 1fr; }
}

/* ===== TESTIMONIALS ===== */
.lb-testimonials-wrap {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1.5rem 5rem;
}
.lb-testimonials-title {
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 4rem;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-testimonials-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
}
.lb-testimonial-card {
    padding: 2.5rem;
    background: var(--lb-surface-container-low);
    border-radius: 1rem;
    border-left: 8px solid transparent;
}
.lb-testimonial-card.primary-border { border-left-color: var(--lb-primary); }
.lb-testimonial-card.secondary-border { border-left-color: var(--lb-tertiary-fixed); }
.lb-testimonial-quote {
    font-size: 1.25rem;
    font-weight: 500;
    color: var(--lb-on-surface);
    font-style: italic;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-testimonial-author {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.lb-testimonial-avatar {
    width: 3rem;
    height: 3rem;
    border-radius: 9999px;
    overflow: hidden;
    background: var(--lb-surface-container-highest);
}
.lb-testimonial-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lb-testimonial-author strong {
    display: block;
    font-weight: 700;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-testimonial-author span {
    font-size: 0.875rem;
    color: var(--lb-on-surface-variant);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
@media (max-width: 768px) {
    .lb-testimonials-grid { grid-template-columns: 1fr; }
}

/* Kill wpautop in new sections */
.lb-hero-v2 br,
.lb-categories-v2 br,
.lb-favorites-v2 br,
.lb-bento-wrap br,
.lb-testimonials-wrap br { display: none; }
.lb-hero-v2 > p,
.lb-categories-v2 > p,
.lb-cat-circles-v2 > p,
.lb-favorites-v2 > p,
.lb-products-v2-grid > p,
.lb-bento-grid > p,
.lb-testimonials-grid > p { display: none; }

/* ===== LEGACY HOME STYLES (kept for compatibility) ===== */
.lb-hero-wrap {
    position: relative;
    padding: 5rem 2rem;
    overflow: hidden;
}
.lb-hero-grid {
    max-width: 80rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}
.lb-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: var(--lb-primary-container);
    color: var(--lb-on-primary-container);
    border-radius: 9999px;
    margin-bottom: 1.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-hero-title {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--lb-on-surface);
    margin-bottom: 2rem;
    line-height: 1.1;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-hero-title .highlight {
    color: var(--lb-primary);
    font-style: italic;
}
.lb-hero-desc {
    font-size: 1.125rem;
    color: var(--lb-on-surface-variant);
    margin-bottom: 2.5rem;
    max-width: 28rem;
    line-height: 1.7;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-hero-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.lb-btn-primary {
    padding: 1.25rem 2.5rem;
    background: var(--lb-primary);
    color: var(--lb-on-primary);
    border: none;
    border-radius: 9999px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(79,109,57,0.3);
    transition: background 0.2s, transform 0.1s;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    display: inline-block;
}
.lb-btn-primary:hover { background: var(--lb-primary-dim); color: var(--lb-on-primary); }
.lb-btn-primary:active { transform: scale(0.95); }
.lb-btn-outline {
    padding: 1.25rem 2.5rem;
    background: transparent;
    color: var(--lb-primary);
    border: 2px solid var(--lb-primary);
    border-radius: 9999px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    display: inline-block;
}
.lb-btn-outline:hover { background: var(--lb-primary-container); color: var(--lb-primary); }

.lb-hero-img-wrap {
    position: relative;
    display: flex;
    justify-content: flex-end;
}
.lb-hero-img-bg {
    position: absolute;
    width: 500px;
    height: 500px;
    background: var(--lb-primary-container);
    border-radius: 4rem;
    transform: rotate(3deg);
    z-index: 0;
    right: 0;
}
.lb-hero-img {
    width: 100%;
    max-width: 32rem;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 1rem;
    box-shadow: 0 25px 50px rgba(0,0,0,0.15);
    position: relative;
    z-index: 1;
}
.lb-hero-testimonial {
    position: absolute;
    bottom: -2rem;
    left: -5rem;
    background: var(--lb-surface-container-highest);
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    max-width: 18rem;
    z-index: 2;
}
.lb-hero-testimonial p {
    font-size: 0.875rem;
    font-weight: 500;
    font-style: italic;
    color: var(--lb-on-surface);
    line-height: 1.5;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-stars {
    display: flex;
    gap: 0.25rem;
    margin-top: 1rem;
}
.lb-stars .material-symbols-outlined {
    color: var(--lb-tertiary);
    font-size: 1rem;
    font-variation-settings: 'FILL' 1;
}

/* ===== CATEGORIES SECTION ===== */
.lb-categories-wrap {
    max-width: 80rem;
    margin: 0 auto;
    padding: 5rem 2rem;
}
.lb-section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 3rem;
    flex-wrap: wrap;
    gap: 1rem;
}
.lb-section-label {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    color: var(--lb-on-surface-variant);
    font-weight: 400 !important;
    font-size: 1rem !important;
    margin-top: 0.5rem;
}
.lb-section-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.25rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    color: var(--lb-on-surface);
    margin-top: 0.5rem;
}
.lb-section-link {
    color: var(--lb-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid var(--lb-primary-fixed-dim);
    padding-bottom: 0.25rem;
    transition: border-color 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-section-link:hover { border-color: var(--lb-primary); }

/* Circle category grid */
.lb-cat-circles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem;
}
.lb-cat-circle {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    position: relative;
}
.lb-cat-circle-img {
    width: 180px;
    height: 180px;
    border-radius: 9999px;
    overflow: hidden;
    background: var(--lb-surface-container);
    box-shadow: 0 0 0 8px rgba(202,237,173,0.25);
    transition: box-shadow 0.3s, transform 0.3s;
    margin-bottom: 1rem;
}
.lb-cat-circle:hover .lb-cat-circle-img {
    box-shadow: 0 0 0 12px rgba(202,237,173,0.45);
    transform: scale(1.05);
}
.lb-cat-circle-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lb-cat-circle-name {
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    text-align: center;
}
.lb-cat-circle-sub {
    font-size: 0.75rem;
    color: var(--lb-on-surface-variant);
    font-family: 'Plus Jakarta Sans', sans-serif;
    margin-top: 0.25rem;
    text-align: center;
}
/* Subcategory dropdown */
.lb-cat-dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    border-radius: 1rem;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    padding: 1rem 0;
    min-width: 220px;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
    transform: translateX(-50%) translateY(8px);
    margin-top: 0.5rem;
}
.lb-cat-circle:hover .lb-cat-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.lb-cat-dropdown a {
    display: block;
    padding: 0.5rem 1.5rem;
    font-size: 0.875rem;
    color: var(--lb-on-surface);
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    transition: background 0.15s, color 0.15s;
}
.lb-cat-dropdown a:hover {
    background: var(--lb-primary-container);
    color: var(--lb-primary);
}

/* Legacy card styles kept for backwards compat */
.lb-cat-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 2rem; }
.lb-cat-card { position: relative; overflow: hidden; border-radius: 1rem; cursor: pointer; text-decoration: none; display: block; }
.lb-cat-card:nth-child(1) { grid-column: span 8; height: 400px; }
.lb-cat-card:nth-child(2) { grid-column: span 4; height: 400px; }
.lb-cat-card:nth-child(3) { grid-column: span 12; height: 300px; }
.lb-cat-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.lb-cat-card:hover img { transform: scale(1.05); }
.lb-cat-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.4), transparent, transparent); }
.lb-cat-label { position: absolute; bottom: 2rem; left: 2rem; }
.lb-cat-label h3 { color: white; font-size: 1.875rem !important; font-weight: 700 !important; margin-bottom: 0.5rem; font-family: 'Plus Jakarta Sans', sans-serif !important; }
.lb-cat-label p { color: rgba(255,255,255,0.9); font-weight: 500; font-family: 'Plus Jakarta Sans', sans-serif; }

/* ===== FAVORITES SECTION ===== */
.lb-favorites-wrap {
    background: var(--lb-surface-container-low);
    padding: 6rem 0;
    border-radius: 3rem;
}
.lb-favorites-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 2rem;
}
.lb-favorites-header {
    text-align: center;
    margin-bottom: 4rem;
}
.lb-favorites-header h2 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.25rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    color: var(--lb-on-surface);
}
.lb-favorites-header p {
    color: var(--lb-on-surface-variant);
    margin-top: 1rem;
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 1rem !important;
}
.lb-products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}
.lb-product-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-decoration: none;
}
.lb-product-img-wrap {
    aspect-ratio: 4/5;
    background: var(--lb-surface-container-lowest);
    border-radius: 1rem;
    padding: 1rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.lb-product-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.5rem;
    transition: transform 0.5s;
}
.lb-product-card:hover .lb-product-img-wrap img { transform: scale(1.1); }
.lb-add-cart-btn {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    background: white;
    border: none;
    padding: 0.75rem;
    border-radius: 9999px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.3s;
}
.lb-product-card:hover .lb-add-cart-btn { opacity: 1; }
.lb-add-cart-btn .material-symbols-outlined { color: var(--lb-emerald-900); }
.lb-product-info h4 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.125rem !important;
    color: var(--lb-on-surface);
}
.lb-product-info .category {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: var(--lb-primary);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0.25rem 0;
}
.lb-product-info .price {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    color: var(--lb-primary);
}

/* ===== ABOUT / KINDRED SPROUT ===== */
.lb-about-wrap {
    max-width: 80rem;
    margin: 0 auto;
    padding: 8rem 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
}
.lb-about-images {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.lb-about-images img:first-child {
    border-radius: 1rem;
    aspect-ratio: 1;
    object-fit: cover;
    margin-top: 3rem;
    width: 100%;
}
.lb-about-images img:nth-child(2) {
    border-radius: 1rem;
    aspect-ratio: 3/4;
    object-fit: cover;
    width: 100%;
}
.lb-about-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12rem;
    height: 12rem;
    background: rgba(217,167,119,0.3);
    backdrop-filter: blur(12px);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    text-align: center;
}
.lb-about-badge p {
    color: var(--lb-on-tertiary-container);
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: -0.02em;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-about-content .label {
    color: var(--lb-tertiary);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 0.75rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-about-content h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--lb-on-surface);
    margin: 0.5rem 0 1.5rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-about-content > p {
    font-size: 1.125rem;
    color: var(--lb-on-surface-variant);
    line-height: 1.7;
    margin-bottom: 2rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-features {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.lb-feature {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}
.lb-feature-icon {
    width: 3rem;
    height: 3rem;
    background: rgba(79,109,57,0.1);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.lb-feature-icon .material-symbols-outlined { color: var(--lb-primary); }
.lb-feature h4 {
    font-weight: 700;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-feature p {
    color: var(--lb-on-surface-variant);
    font-size: 0.875rem;
    margin-top: 0.25rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-btn-dark {
    margin-top: 2.5rem;
    padding: 1rem 2rem;
    background: var(--lb-on-surface);
    color: var(--lb-surface);
    border: none;
    border-radius: 9999px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    text-decoration: none;
    display: inline-block;
}
.lb-btn-dark:hover { background: var(--lb-on-surface-variant); color: var(--lb-surface); }

/* ===== NEWSLETTER ===== */
.lb-newsletter-wrap {
    max-width: 64rem;
    margin: 0 auto 5rem;
    padding: 0 2rem;
}
.lb-newsletter-card {
    background: var(--lb-primary-container);
    border-radius: 3rem;
    padding: 5rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.lb-newsletter-card h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--lb-on-primary-container);
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-newsletter-card > p {
    color: var(--lb-on-primary-container);
    opacity: 0.8;
    max-width: 32rem;
    margin: 0 auto 2rem;
    font-weight: 500;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-newsletter-form {
    display: flex;
    gap: 1rem;
    max-width: 28rem;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.lb-newsletter-form input {
    flex-grow: 1;
    background: var(--lb-surface);
    border: none;
    border-radius: 9999px;
    padding: 1rem 2rem;
    color: var(--lb-on-surface);
    font-weight: 500;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-newsletter-form input:focus { outline: 2px solid var(--lb-primary); }
.lb-circle-1, .lb-circle-2 {
    position: absolute;
    border-radius: 9999px;
    background: rgba(79,109,57,0.1);
}
.lb-circle-1 { top: 0; right: 0; width: 16rem; height: 16rem; transform: translate(50%, -50%); }
.lb-circle-2 { bottom: 0; left: 0; width: 12rem; height: 12rem; transform: translate(-50%, 50%); }

/* ===== FOOTER ===== */
.lb-footer-wrap {
    background: var(--lb-emerald-50);
    border-radius: 3rem 3rem 0 0;
    margin-top: 5rem;
}
.lb-footer-inner {
    padding: 4rem 3rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
}
.lb-footer-brand {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--lb-emerald-900);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-footer-copy {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #737373;
    margin-top: 1rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
}
.lb-footer-links a {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #737373;
    text-decoration: none;
    opacity: 0.8;
    transition: color 0.2s, opacity 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-footer-links a:hover { color: var(--lb-emerald-900); opacity: 1; }
.lb-footer-social {
    display: flex;
    gap: 1rem;
}
.lb-footer-social a {
    width: 2.5rem;
    height: 2.5rem;
    background: #d1fae5;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s;
    text-decoration: none;
}
.lb-footer-social a:hover { transform: scale(1.1); }
.lb-footer-social .material-symbols-outlined { color: var(--lb-emerald-900); }

/* ===== SHOP PAGE V2 ===== */

/* Kill wpautop br/p tags inside our grid/flex components */
.lb-shop-v2 br,
.lb-shop-editorial br,
.lb-shop-v2-card br,
.lb-shop-v2-sidebar br,
.lb-shop-breadcrumb-nav br,
.lb-pdp-container br,
.lb-pdp-hero br,
.lb-pdp-related-grid br,
.lb-pdp-info br,
.lb-breadcrumb br { display: none; }

.lb-pdp-hero > p,
.lb-pdp-related-grid > p,
.lb-pdp-info > p:empty,
.lb-shop-v2 > p,
.lb-shop-v2-grid > p,
.lb-pdp-container > p:empty { display: none; }

/* Editorial Header */
.lb-shop-editorial {
    background: var(--lb-surface-container-low);
    padding: 4rem 2rem;
    margin-bottom: 3rem;
}
.lb-shop-editorial-inner {
    max-width: 48rem;
    margin: 0 auto;
}
.lb-shop-breadcrumb-nav {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--lb-primary);
    opacity: 0.7;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-shop-breadcrumb-nav a {
    color: var(--lb-primary);
    text-decoration: none;
}
.lb-shop-breadcrumb-nav a:hover { opacity: 1; }
.lb-shop-editorial-title {
    font-size: clamp(2.5rem, 5vw, 3.75rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--lb-on-surface);
    margin-bottom: 1.5rem;
    line-height: 1.1;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-shop-editorial-title .highlight {
    color: var(--lb-primary);
    font-style: italic;
}
.lb-shop-editorial-desc {
    font-size: 1.125rem;
    color: var(--lb-on-surface-variant);
    line-height: 1.7;
    font-weight: 500;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Shop V2 Layout */
.lb-shop-v2 {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex !important;
    flex-direction: row !important;
    gap: 3rem;
    align-items: flex-start;
    text-align: left !important;
}
.lb-shop-v2-sidebar {
    width: 18rem;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    position: sticky;
    top: 6rem;
}
.lb-shop-v2-main {
    flex-grow: 1;
    min-width: 0;
}

/* Filter Sections */
.lb-filter-section {
    display: flex;
    flex-direction: column;
}
.lb-filter-title {
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    text-transform: uppercase;
    letter-spacing: 0.15em !important;
    color: var(--lb-on-surface-variant);
    margin-bottom: 1.5rem;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Category List */
.lb-cat-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.lb-cat-list li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    color: var(--lb-on-surface);
    font-weight: 500;
    font-family: 'Plus Jakarta Sans', sans-serif;
    transition: color 0.2s;
}
.lb-cat-list li a:hover span:first-child { color: var(--lb-primary); }
.lb-cat-list li a .count {
    font-size: 0.75rem;
    color: var(--lb-on-surface-variant);
}
.lb-cat-list li.active a span:first-child {
    color: var(--lb-primary);
    font-weight: 700;
}
.lb-cat-list li.active a .count {
    color: var(--lb-primary);
    font-weight: 700;
}
.lb-cat-list li a .sale { color: #ae4025; }

/* Size Grid V2 */
.lb-size-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}
.lb-size-btn-v2 {
    padding: 0.5rem 0.25rem;
    border: 1px solid var(--lb-surface-container-highest);
    border-radius: 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lb-on-surface);
    background: transparent;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
    text-align: center;
}
.lb-size-btn-v2:hover {
    border-color: var(--lb-primary);
    color: var(--lb-primary);
}
.lb-size-btn-v2.active {
    background: var(--lb-primary);
    color: var(--lb-on-primary);
    border-color: var(--lb-primary);
}

/* Color Swatches V2 */
.lb-color-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.lb-color-swatch-v2 {
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    border: none;
    cursor: pointer;
    transition: transform 0.2s;
}
.lb-color-swatch-v2:hover { transform: scale(1.15); }
.lb-color-swatch-v2.active {
    box-shadow: 0 0 0 2px var(--lb-surface), 0 0 0 4px var(--lb-primary);
}

/* Price Slider V2 */
.lb-price-slider { padding: 0 0.5rem; }
.lb-price-track-v2 {
    height: 0.25rem;
    width: 100%;
    background: var(--lb-surface-container-highest);
    border-radius: 9999px;
    position: relative;
}
.lb-price-fill-v2 {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 66%;
    background: var(--lb-primary);
    border-radius: 9999px;
}
.lb-price-handle {
    position: absolute;
    width: 1rem;
    height: 1rem;
    background: var(--lb-primary);
    border-radius: 9999px;
    top: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
    border: 2px solid white;
}
.lb-price-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lb-on-surface-variant);
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Material Checkboxes */
.lb-material-checks {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.lb-check-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-check-label input[type="checkbox"] {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 0.25rem;
    border: 1px solid var(--lb-surface-container-highest);
    accent-color: var(--lb-primary);
    cursor: pointer;
}
.lb-check-label span {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--lb-on-surface);
    transition: color 0.2s;
}
.lb-check-label:hover span { color: var(--lb-primary); }

/* Tag Buttons (for Tags & Age Group filters) */
.lb-tag-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.lb-tag-btn {
    display: inline-block;
    padding: 0.375rem 0.875rem;
    border: 1px solid var(--lb-surface-container-highest);
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lb-on-surface);
    background: transparent;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
    text-decoration: none;
}
.lb-tag-btn:hover {
    border-color: var(--lb-primary);
    color: var(--lb-primary);
}
.lb-tag-btn.active {
    background: var(--lb-primary);
    color: var(--lb-on-primary);
    border-color: var(--lb-primary);
}

/* Sale tag variant */
.lb-shop-tag.sale { background: #ae4025; color: #fff; }
.lb-shop-tag.default { background: var(--lb-primary-container); color: var(--lb-on-primary-container); }

/* Price Range Form */
.lb-price-form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.lb-price-inputs {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.lb-price-input-wrap {
    display: flex;
    align-items: center;
    border: 1px solid var(--lb-surface-container-highest);
    border-radius: 0.5rem;
    padding: 0.375rem 0.5rem;
    flex: 1;
}
.lb-price-currency {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lb-on-surface-variant);
    margin-right: 0.25rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-price-input {
    border: none;
    outline: none;
    width: 100%;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--lb-on-surface);
    background: transparent;
    font-family: 'Plus Jakarta Sans', sans-serif;
    -moz-appearance: textfield;
}
.lb-price-input::-webkit-inner-spin-button,
.lb-price-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.lb-price-separator {
    font-weight: 700;
    color: var(--lb-on-surface-variant);
}
.lb-price-apply-btn {
    padding: 0.5rem;
    background: var(--lb-primary);
    color: var(--lb-on-primary);
    border: none;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-price-apply-btn:hover { background: var(--lb-primary-dim); }

/* Clear Filters */
.lb-clear-filters {
    display: block;
    text-align: center;
    padding: 0.625rem 1rem;
    border: 1px solid var(--lb-surface-container-highest);
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lb-on-surface-variant);
    text-decoration: none;
    transition: border-color 0.2s, color 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-clear-filters:hover {
    border-color: var(--lb-primary);
    color: var(--lb-primary);
}

/* Product Card Link Styles */
.lb-shop-v2-card-img {
    display: block;
    text-decoration: none;
}
.lb-shop-v2-card-link {
    text-decoration: none;
    color: inherit;
}
.lb-shop-v2-card-link:hover h4 { color: var(--lb-primary); }
.lb-shop-v2-card-info { display: flex; flex-direction: column; gap: 0.25rem; }
.lb-shop-v2-card-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.25rem;
}
.lb-shop-v2-card-bottom .lb-shop-v2-cart-btn {
    position: static;
    opacity: 1;
    transform: none;
    width: 2.5rem;
    height: 2.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    flex-shrink: 0;
}

/* Pagination */
.lb-shop-pagination {
    margin-top: 4rem;
    display: flex;
    justify-content: center;
}
.lb-shop-pagination .page-numbers {
    list-style: none;
    display: flex;
    gap: 0.5rem;
    padding: 0;
    margin: 0;
    align-items: center;
}
.lb-shop-pagination .page-numbers li { list-style: none; }
.lb-shop-pagination .page-numbers li a,
.lb-shop-pagination .page-numbers li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.75rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: 'Plus Jakarta Sans', sans-serif;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
    color: var(--lb-on-surface);
    background: transparent;
}
.lb-shop-pagination .page-numbers li a:hover {
    background: var(--lb-surface-container);
    color: var(--lb-primary);
}
.lb-shop-pagination .page-numbers li span.current {
    background: var(--lb-primary);
    color: var(--lb-on-primary);
}
.lb-shop-pagination .page-numbers li a .material-symbols-outlined {
    font-size: 1.25rem;
}

/* Empty State */
.lb-shop-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 5rem 2rem;
    gap: 1rem;
    text-align: center;
}
.lb-shop-empty p {
    font-size: 1rem;
    color: var(--lb-on-surface-variant);
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Sort form inline */
.lb-sort-form {
    display: flex;
    align-items: center;
}

/* WooCommerce price HTML overrides inside shop cards */
.lb-shop-v2-card .price del {
    color: var(--lb-on-surface-variant);
    opacity: 0.6;
    font-size: 0.875rem;
    margin-right: 0.5rem;
}
.lb-shop-v2-card .price ins {
    text-decoration: none;
    color: var(--lb-primary);
    font-weight: 700;
}
.lb-shop-v2-card .price .woocommerce-Price-amount {
    font-weight: 700;
    color: var(--lb-primary);
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Toolbar */
.lb-shop-v2-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}
.lb-shop-v2-count {
    font-size: 0.875rem;
    color: var(--lb-on-surface-variant);
    font-weight: 500;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-shop-v2-sort {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.lb-sort-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--lb-on-surface-variant);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-sort-select {
    background: transparent;
    border: none;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lb-primary);
    cursor: pointer;
    font-family: 'Plus Jakarta Sans', sans-serif;
    padding: 0;
}
.lb-sort-select:focus { outline: none; }

/* Product Grid V2 */
.lb-shop-v2-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 2rem;
    align-items: start;
}
.lb-shop-v2-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.lb-shop-v2-card-img {
    aspect-ratio: 4/5;
    border-radius: 1rem;
    overflow: hidden;
    position: relative;
    background: var(--lb-surface-container-low);
}
.lb-shop-v2-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s;
}
.lb-shop-v2-card:hover .lb-shop-v2-card-img img { transform: scale(1.1); }
.lb-shop-tag {
    position: absolute;
    top: 1rem;
    left: 1rem;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-family: 'Plus Jakarta Sans', sans-serif;
    z-index: 1;
}
.lb-shop-tag.new { background: var(--lb-tertiary-fixed); color: var(--lb-on-tertiary-container); }
.lb-shop-tag.limited { background: #fd795a; color: #6e1400; }
.lb-shop-v2-cart-btn {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    width: 3rem;
    height: 3rem;
    background: white;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    opacity: 0;
    transform: translateY(0.5rem);
    transition: opacity 0.3s, transform 0.3s;
}
.lb-shop-v2-card:hover .lb-shop-v2-cart-btn {
    opacity: 1;
    transform: translateY(0);
}
.lb-shop-v2-cart-btn:active { transform: scale(0.9); }
.lb-shop-v2-cart-btn .material-symbols-outlined { color: var(--lb-primary); }
.lb-shop-v2-card h4 {
    font-weight: 700 !important;
    font-size: 1.125rem !important;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.lb-shop-v2-card .desc {
    font-size: 0.75rem !important;
    color: var(--lb-on-surface-variant);
    margin-top: -0.5rem;
    margin-bottom: 0.25rem;
    font-family: 'Be Vietnam Pro', sans-serif !important;
}
.lb-shop-v2-card .price {
    font-weight: 700 !important;
    font-size: 1.125rem !important;
    color: var(--lb-primary);
    font-family: 'Be Vietnam Pro', sans-serif !important;
}
.lb-shop-more {
    margin-top: 5rem;
    display: flex;
    justify-content: center;
}

/* Legacy shop-add-btn (reused by PDP related cards) */
.lb-shop-add-btn {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    width: 3rem;
    height: 3rem;
    background: rgba(255,251,255,0.9);
    backdrop-filter: blur(4px);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    opacity: 0;
    transform: translateY(0.5rem);
    transition: opacity 0.3s, transform 0.3s;
}
.lb-shop-add-btn .material-symbols-outlined { color: var(--lb-primary); }

/* ===== SUBCATEGORY GRID (Shop Page) ===== */
.lb-subcat-section {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid var(--lb-surface-container-highest, #ece8d9);
}
.lb-subcat-header {
    margin-bottom: 2rem;
}
.lb-subcat-header h3 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--lb-on-surface);
    margin-bottom: 0.25rem;
}
.lb-subcat-header p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 0.875rem !important;
    color: var(--lb-on-surface-variant);
}
.lb-subcat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 1.5rem;
}
.lb-subcat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s;
}
.lb-subcat-item:hover {
    transform: translateY(-4px);
}
.lb-subcat-item.active .lb-subcat-img {
    box-shadow: 0 0 0 4px var(--lb-primary, #3f7100);
}
.lb-subcat-img {
    width: 120px;
    height: 120px;
    border-radius: 9999px;
    overflow: hidden;
    background: var(--lb-surface-container-low, #fdf9ee);
    box-shadow: 0 0 0 6px rgba(202,237,173,0.25);
    transition: box-shadow 0.3s, transform 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
}
.lb-subcat-item:hover .lb-subcat-img {
    box-shadow: 0 0 0 10px rgba(202,237,173,0.45);
    transform: scale(1.05);
}
.lb-subcat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lb-subcat-img .material-symbols-outlined {
    font-size: 2.5rem;
    color: var(--lb-on-surface-variant);
    opacity: 0.5;
}
.lb-subcat-name {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    color: var(--lb-on-surface);
    text-align: center;
}
.lb-subcat-count {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 0.75rem !important;
    color: var(--lb-on-surface-variant);
    margin-top: 0.125rem;
}
@media (max-width: 768px) {
    .lb-subcat-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
    }
    .lb-subcat-img {
        width: 90px;
        height: 90px;
    }
}
@media (max-width: 480px) {
    .lb-subcat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1280px) {
    .lb-shop-v2-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
    .lb-hero-grid { grid-template-columns: 1fr; text-align: center; }
    .lb-hero-img-wrap { justify-content: center; margin-top: 2rem; }
    .lb-hero-img-bg { width: 300px; height: 300px; }
    .lb-hero-testimonial { display: none; }
    .lb-hero-desc { margin-left: auto; margin-right: auto; }
    .lb-hero-btns { justify-content: center; }
    .lb-about-wrap { grid-template-columns: 1fr; gap: 3rem; }
    .lb-about-images { order: 2; }
    .lb-about-content { order: 1; }
    .lb-products-grid { grid-template-columns: repeat(2, 1fr); }
    .lb-cat-circles { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
    .lb-cat-circle-img { width: 140px; height: 140px; }
    .lb-shop-v2-sidebar { width: 15rem; }
    .lb-shop-v2-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .lb-cat-grid { grid-template-columns: 1fr; }
    .lb-cat-card:nth-child(1),
    .lb-cat-card:nth-child(2),
    .lb-cat-card:nth-child(3) { grid-column: span 1; height: 300px; }
    .lb-products-grid { grid-template-columns: repeat(2, 1fr); }
    .lb-newsletter-card { padding: 3rem 2rem; }
    .lb-newsletter-form { flex-direction: column; }
    .lb-footer-inner { flex-direction: column; text-align: center; }
    .lb-section-header { flex-direction: column; align-items: flex-start; }
    .lb-cat-circles { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
    .lb-cat-circle-img { width: 120px; height: 120px; }
    .lb-cat-dropdown { position: static; transform: none; opacity: 1; visibility: visible; box-shadow: none; padding: 0.5rem 0; min-width: auto; }
    .lb-shop-v2 { flex-direction: column !important; }
    .lb-shop-v2-sidebar { width: 100% !important; position: static !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 2rem; }
    .lb-shop-v2-grid { grid-template-columns: repeat(2, 1fr); }
    .lb-shop-v2-toolbar { flex-direction: column; align-items: flex-start; gap: 1rem; }
    .lb-subcat-grid { grid-template-columns: repeat(3, 1fr); }
    .lb-subcat-img { width: 90px; height: 90px; }
}
@media (max-width: 480px) {
    .lb-products-grid { grid-template-columns: 1fr; }
    .lb-shop-v2-grid { grid-template-columns: 1fr; }
}

/* ===== TERMS & CONDITIONS PAGE ===== */
.lb-terms-header {
    max-width: 42rem;
    margin: 0 auto 5rem;
    text-align: center;
    padding: 0 2rem;
}
.lb-terms-badge {
    display: inline-block;
    padding: 0.5rem 1.5rem;
    background: var(--lb-primary-container);
    color: var(--lb-on-primary-container);
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    margin-bottom: 1.5rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-title {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--lb-on-surface);
    margin-bottom: 2rem;
    line-height: 1.1;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-intro {
    font-size: 1.125rem;
    color: var(--lb-on-surface-variant);
    line-height: 1.7;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-layout {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 2rem;
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 4rem;
}
.lb-terms-sidebar-inner {
    position: sticky;
    top: 10rem;
}
.lb-terms-nav {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.lb-terms-nav li a {
    color: var(--lb-on-surface-variant);
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    transition: color 0.2s;
}
.lb-terms-nav li a:hover,
.lb-terms-nav li a.active {
    color: var(--lb-primary);
    font-weight: 600;
}
.lb-terms-nav li a.active {
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 2px;
}
.lb-terms-help-card {
    margin-top: 3rem;
    padding: 2rem;
    background: var(--lb-surface-container-low);
    border-radius: 1rem;
    position: relative;
    overflow: hidden;
}
.lb-terms-help-shape {
    position: absolute;
    right: -1rem;
    bottom: -1rem;
    width: 6rem;
    height: 6rem;
    background: rgba(79,109,57,0.05);
    border-radius: 60% 40% 70% 30% / 40% 50% 60% 70%;
}
.lb-terms-help-card p {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--lb-on-surface);
    line-height: 1.6;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-help-card a {
    display: inline-block;
    margin-top: 1rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lb-primary);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 2px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-content {
    display: flex;
    flex-direction: column;
    gap: 6rem;
}
.lb-terms-section-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.lb-terms-line {
    width: 3rem;
    height: 2px;
    background: var(--lb-primary-container);
    flex-shrink: 0;
}
.lb-terms-section-header h2 {
    font-size: 1.875rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-block {
    background: var(--lb-surface-container-low);
    padding: 2.5rem;
    border-radius: 1rem;
}
.lb-terms-block p {
    font-size: 1.125rem;
    color: var(--lb-on-surface-variant);
    line-height: 1.7;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-block p + p { margin-top: 1.5rem; }
.lb-terms-bento {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}
.lb-terms-bento-card {
    padding: 2rem;
    border-radius: 1rem;
}
.lb-terms-bento-card.filled { background: var(--lb-surface-container-highest); }
.lb-terms-bento-card.outlined { border: 1px solid rgba(189,186,168,0.2); }
.lb-terms-bento-card .material-symbols-outlined {
    font-size: 2.5rem;
    color: var(--lb-primary);
    margin-bottom: 1rem;
}
.lb-terms-bento-card h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--lb-on-surface);
    margin-bottom: 1rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-bento-card p {
    font-size: 1rem;
    color: var(--lb-on-surface-variant);
    line-height: 1.7;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-shipping-wrap { position: relative; }
.lb-terms-shipping-shape {
    display: none;
    position: absolute;
    left: -3rem;
    top: 50%;
    transform: translateY(-50%);
    width: 12rem;
    height: 12rem;
    background: rgba(217,167,119,0.2);
    border-radius: 60% 40% 70% 30% / 40% 50% 60% 70%;
}
@media (min-width: 1025px) {
    .lb-terms-shipping-shape { display: block; }
    .lb-terms-shipping-card { width: 80%; margin-left: auto; }
}
.lb-terms-shipping-card {
    background: var(--lb-surface-container-low);
    padding: 3rem;
    border-radius: 1rem;
}
.lb-terms-shipping-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
}
.lb-terms-shipping-grid h4 {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--lb-primary);
    margin-bottom: 1rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-shipping-grid p {
    color: var(--lb-on-surface-variant);
    line-height: 1.7;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-quote {
    border-left: 4px solid var(--lb-primary-container);
    padding: 0.5rem 0 0.5rem 2rem;
}
.lb-terms-quote p {
    font-size: 1.125rem;
    color: var(--lb-on-surface-variant);
    font-style: italic;
    line-height: 1.7;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-terms-layout br,
.lb-terms-header br { display: none; }
.lb-terms-layout > p,
.lb-terms-content > p:empty,
.lb-terms-bento > p { display: none; }
@media (max-width: 1024px) {
    .lb-terms-layout { grid-template-columns: 1fr; gap: 3rem; }
    .lb-terms-sidebar-inner { position: static; }
}
@media (max-width: 768px) {
    .lb-terms-bento { grid-template-columns: 1fr; }
    .lb-terms-shipping-grid { grid-template-columns: 1fr; }
    .lb-terms-block { padding: 1.5rem; }
    .lb-terms-shipping-card { padding: 1.5rem; }
}

/* ===== PRODUCT DETAIL PAGE ===== */
.lb-pdp-container {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* Breadcrumb */
.lb-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 2.5rem;
    font-size: 0.875rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-breadcrumb a {
    color: var(--lb-on-surface-variant);
    text-decoration: none;
    transition: color 0.2s;
}
.lb-breadcrumb a:hover { color: var(--lb-primary); }
.lb-breadcrumb .material-symbols-outlined { font-size: 16px; color: var(--lb-on-surface-variant); }
.lb-breadcrumb-current {
    color: var(--lb-on-surface);
    font-weight: 600;
}

/* Hero Grid */
.lb-pdp-hero {
    display: grid;
    grid-template-columns: 7fr 5fr;
    gap: 4rem;
    align-items: start;
}

/* Gallery */
.lb-pdp-gallery {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.lb-pdp-main-img {
    aspect-ratio: 4/5;
    border-radius: 1rem;
    overflow: hidden;
    background: var(--lb-surface-container-low);
}
.lb-pdp-main-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s;
}
.lb-pdp-main-img:hover img { transform: scale(1.05); }
.lb-pdp-thumbs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}
.lb-pdp-thumb {
    aspect-ratio: 1;
    border-radius: 0.75rem;
    overflow: hidden;
    background: var(--lb-surface-container);
    cursor: pointer;
    transition: opacity 0.2s;
}
.lb-pdp-thumb:hover { opacity: 0.8; }
.lb-pdp-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Product Info */
.lb-pdp-info {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    position: sticky;
    top: 8rem;
}
.lb-pdp-tag {
    display: inline-block;
    background: rgba(217,167,119,0.2);
    color: var(--lb-on-tertiary-container);
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    font-family: 'Plus Jakarta Sans', sans-serif;
    width: fit-content;
    margin-bottom: -1rem;
}
.lb-pdp-title {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif;
    margin-bottom: -1rem;
}
.lb-pdp-price {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--lb-primary);
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Color Selector */
.lb-pdp-section {
    display: flex;
    flex-direction: column;
}
.lb-pdp-label {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lb-on-surface);
    margin-bottom: 1rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-pdp-colors {
    display: flex;
    gap: 1rem;
}
.lb-pdp-color {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    border: none;
    cursor: pointer;
    box-shadow: 0 0 0 1px var(--lb-surface-container-highest);
    transition: box-shadow 0.2s;
}
.lb-pdp-color:hover { box-shadow: 0 0 0 2px var(--lb-primary); }
.lb-pdp-color.active {
    box-shadow: 0 0 0 2px var(--lb-primary), 0 0 0 5px var(--lb-surface);
}

/* Size Selector */
.lb-pdp-size-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}
.lb-pdp-size-header .lb-pdp-label { margin-bottom: 0; }
.lb-pdp-size-guide {
    font-size: 0.75rem;
    color: var(--lb-primary);
    text-decoration: underline;
    font-weight: 500;
    background: none;
    border: none;
    cursor: pointer;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-pdp-sizes {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
}
.lb-pdp-size {
    padding: 0.875rem 0.5rem;
    text-align: center;
    border-radius: 1rem;
    background: var(--lb-surface-container-low);
    border: 1px solid var(--lb-surface-container-highest);
    color: var(--lb-on-surface-variant);
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-pdp-size:hover { border-color: var(--lb-primary); }
.lb-pdp-size.active {
    background: var(--lb-surface-container-highest);
    border: 2px solid var(--lb-primary);
    color: var(--lb-primary);
    font-weight: 600;
}

/* Actions */
.lb-pdp-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.lb-pdp-add-cart {
    width: 100%;
    padding: 1.25rem;
    background: var(--lb-primary);
    color: var(--lb-on-primary);
    border: none;
    border-radius: 9999px;
    font-weight: 700;
    font-size: 1.125rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: filter 0.2s, transform 0.1s;
    box-shadow: 0 10px 25px rgba(79,109,57,0.3);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-pdp-add-cart:hover { filter: brightness(1.1); }
.lb-pdp-add-cart:active { transform: scale(0.95); }
.lb-pdp-wishlist {
    width: 100%;
    padding: 1.25rem;
    background: transparent;
    color: var(--lb-primary);
    border: 2px solid var(--lb-primary);
    border-radius: 9999px;
    font-weight: 600;
    font-size: 1.125rem;
    cursor: pointer;
    transition: background 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-pdp-wishlist:hover { background: rgba(202,237,173,0.2); }

/* Details / Eco Card */
.lb-pdp-details {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 0.5rem;
}
.lb-pdp-eco-card {
    padding: 1.5rem;
    background: var(--lb-surface-container-low);
    border-radius: 1rem;
}
.lb-pdp-eco-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    color: var(--lb-primary);
    font-weight: 700;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-pdp-eco-card p {
    font-size: 0.875rem;
    color: var(--lb-on-surface-variant);
    line-height: 1.7;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Accordion */
.lb-pdp-accordion {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 0.5rem;
}
.lb-pdp-accordion-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px solid var(--lb-surface-container-highest);
    cursor: pointer;
    transition: color 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-pdp-accordion-item:hover { color: var(--lb-primary); }
.lb-pdp-accordion-item:last-child { border-bottom: none; }
.lb-pdp-accordion-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 600;
}
.lb-pdp-accordion-label .material-symbols-outlined { color: var(--lb-primary); }

/* Divider */
.lb-pdp-divider {
    height: 2px;
    background: linear-gradient(to right, transparent, var(--lb-surface-container-highest), transparent);
    margin: 5rem 0 4rem;
}

/* Related Products */
.lb-pdp-related-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 3rem;
    flex-wrap: wrap;
    gap: 1rem;
}
.lb-pdp-related-header h2 {
    font-size: 2rem;
    font-weight: 700;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-pdp-related-header .lb-section-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.lb-pdp-related-header .lb-section-link .material-symbols-outlined {
    transition: transform 0.2s;
}
.lb-pdp-related-header .lb-section-link:hover .material-symbols-outlined {
    transform: translateX(4px);
}
.lb-pdp-related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}
.lb-pdp-rec-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    cursor: pointer;
}
.lb-pdp-rec-img {
    aspect-ratio: 4/5;
    border-radius: 2rem;
    overflow: hidden;
    background: var(--lb-surface-container-low);
    position: relative;
}
.lb-pdp-rec-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s;
}
.lb-pdp-rec-card:hover .lb-pdp-rec-img img { transform: scale(1.05); }
.lb-pdp-rec-card:hover .lb-shop-add-btn {
    opacity: 1;
    transform: translateY(0);
}
.lb-pdp-rec-card h4 {
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--lb-on-surface);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-pdp-rec-card .price {
    font-weight: 500;
    color: var(--lb-on-surface-variant);
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* PDP Responsive */
@media (max-width: 1024px) {
    .lb-pdp-hero { grid-template-columns: 1fr; gap: 3rem; }
    .lb-pdp-info { position: static; }
    .lb-pdp-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .lb-pdp-sizes { grid-template-columns: repeat(4, 1fr); }
    .lb-pdp-related-header { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
    .lb-pdp-related-grid { grid-template-columns: 1fr; }
    .lb-pdp-sizes { grid-template-columns: repeat(2, 1fr); }
}

/* ===== PRIVACY POLICY PAGE ===== */
.lb-privacy-wrap {
    max-width: 72rem;
    margin: 0 auto;
    padding: 2rem 1.5rem 6rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.lb-privacy-header {
    margin-bottom: 5rem;
    margin-top: 2rem;
}
.lb-privacy-badge {
    display: inline-block;
    padding: 0.375rem 1rem;
    border-radius: 9999px;
    background: var(--lb-primary-container);
    color: var(--lb-on-primary-container);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
}
.lb-privacy-header h1 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 800;
    color: var(--lb-on-surface);
    letter-spacing: -0.025em;
    line-height: 1.1;
    margin-bottom: 2rem;
}
.lb-privacy-header p {
    font-size: 1.125rem;
    color: var(--lb-on-surface-variant);
    line-height: 1.75;
    max-width: 42rem;
}
.lb-privacy-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
}
@media (min-width: 1024px) {
    .lb-privacy-layout {
        grid-template-columns: 4fr 8fr;
    }
}

/* Sidebar */
.lb-privacy-sidebar {
    position: sticky;
    top: 10rem;
    height: fit-content;
}
.lb-privacy-nav {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.lb-privacy-nav a {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1.5rem;
    border-radius: 1rem;
    color: var(--lb-on-surface-variant);
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s;
}
.lb-privacy-nav a:hover,
.lb-privacy-nav a.active {
    background: var(--lb-surface-container-low);
    color: var(--lb-primary);
    font-weight: 600;
}
.lb-privacy-nav a .nav-bar {
    width: 4px;
    height: 1.5rem;
    border-radius: 9999px;
    background: transparent;
    transition: background 0.2s;
}
.lb-privacy-nav a:hover .nav-bar,
.lb-privacy-nav a.active .nav-bar {
    background: var(--lb-primary);
}
.lb-privacy-cta {
    margin-top: 3rem;
    padding: 2rem;
    border-radius: 1rem;
    background: rgba(202, 237, 173, 0.3);
}
.lb-privacy-cta h4 {
    font-weight: 700;
    color: var(--lb-on-primary-container);
    margin-bottom: 0.5rem;
}
.lb-privacy-cta p {
    font-size: 0.875rem;
    color: var(--lb-on-primary-container);
    opacity: 0.8;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}
.lb-privacy-cta a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--lb-primary);
    font-weight: 700;
    font-size: 0.875rem;
    text-decoration: none;
}
.lb-privacy-cta a:hover { text-decoration: underline; }

/* Content Sections */
.lb-privacy-content {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}
.lb-privacy-section {
    scroll-margin-top: 10rem;
}
.lb-privacy-section h2 {
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--lb-on-surface);
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.lb-privacy-section h2 .num {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    background: var(--lb-surface-container-highest);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--lb-primary);
    font-size: 1rem;
    flex-shrink: 0;
}
.lb-privacy-section p {
    color: var(--lb-on-surface-variant);
    line-height: 2;
    margin-bottom: 1.5rem;
}
.lb-privacy-checklist {
    padding: 2rem;
    border-radius: 1rem;
    background: var(--lb-surface-container-low);
}
.lb-privacy-checklist h3 {
    font-weight: 700;
    color: var(--lb-on-surface);
    margin-bottom: 1rem;
}
.lb-privacy-checklist ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.lb-privacy-checklist li {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}
.lb-privacy-checklist li .material-symbols-outlined {
    color: var(--lb-primary);
    flex-shrink: 0;
}
.lb-privacy-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}
@media (max-width: 640px) {
    .lb-privacy-cards { grid-template-columns: 1fr; }
}
.lb-privacy-card {
    padding: 1.5rem;
    border-radius: 1rem;
    background: var(--lb-surface-container);
}
.lb-privacy-card h4 {
    font-weight: 700;
    color: var(--lb-on-surface);
    margin-bottom: 0.5rem;
}
.lb-privacy-card p {
    font-size: 0.875rem;
    margin-bottom: 0;
    line-height: 1.6;
}
/* Accordion */
.lb-privacy-accordion details {
    background: var(--lb-surface-container-low);
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 1rem;
}
.lb-privacy-accordion summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem;
    cursor: pointer;
    font-weight: 700;
    color: var(--lb-on-surface);
    list-style: none;
}
.lb-privacy-accordion summary::-webkit-details-marker { display: none; }
.lb-privacy-accordion summary .material-symbols-outlined {
    transition: transform 0.3s;
}
.lb-privacy-accordion details[open] summary .material-symbols-outlined {
    transform: rotate(180deg);
}
.lb-privacy-accordion .accordion-body {
    padding: 0 1.5rem 1.5rem;
    font-size: 0.875rem;
    color: var(--lb-on-surface-variant);
    line-height: 1.75;
}
/* Security image */
.lb-privacy-img-wrap {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    aspect-ratio: 16/9;
    margin-bottom: 2rem;
}
.lb-privacy-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lb-privacy-img-wrap .overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(79,109,57,0.4), transparent);
}
.lb-privacy-updated {
    padding: 2rem;
    border-radius: 1rem;
    background: var(--lb-surface-container-lowest);
}
.lb-privacy-updated p {
    font-size: 0.875rem;
    font-style: italic;
    color: var(--lb-on-surface-variant);
    margin-bottom: 0;
}

/* ===== WOOCOMMERCE SHOP / CATEGORY / PRODUCT STYLES ===== */

/* Global WooCommerce overrides to match Little Babeye design */
body.woocommerce, body.woocommerce-page {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background: var(--lb-surface, #fffbff);
}

/* Shop & Category Archive Pages */
.woocommerce .products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
@media (max-width: 768px) {
    .woocommerce .products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .woocommerce .products { grid-template-columns: 1fr; }
}

/* Product Cards */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    border: none;
    background: transparent;
    text-align: left;
    padding: 0;
    margin: 0;
    width: 100% !important;
    float: none !important;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
    text-decoration: none;
    color: inherit;
}
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .fusion-woo-product-image img {
    border-radius: 1rem;
    aspect-ratio: 4/5;
    object-fit: cover;
    transition: transform 0.5s;
    width: 100%;
}
.woocommerce ul.products li.product:hover img {
    transform: scale(1.05);
}
.woocommerce ul.products li.product .fusion-woo-product-image,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
    border-radius: 1rem;
    overflow: hidden;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700;
    font-size: 1rem;
    color: var(--lb-on-surface, #39382b);
    margin-top: 1rem;
    margin-bottom: 0.25rem;
}
.woocommerce ul.products li.product .price {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    color: var(--lb-primary, #4f6d39);
    font-size: 1rem;
}
.woocommerce ul.products li.product .price del {
    color: var(--lb-on-surface-variant, #676556);
    font-weight: 400;
}
.woocommerce ul.products li.product .price ins {
    text-decoration: none;
}

/* Add to cart button on shop/archive */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    background: var(--lb-primary, #4f6d39) !important;
    color: var(--lb-on-primary, #fff) !important;
    border: none;
    border-radius: 9999px;
    padding: 0.75rem 1.5rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    transition: background 0.2s, transform 0.15s;
    margin-top: 0.75rem;
}
.woocommerce ul.products li.product .button:hover {
    background: var(--lb-primary-dim, #43602e) !important;
    transform: scale(0.97);
}

/* Sale badge */
.woocommerce span.onsale,
.fusion-woo-sale {
    background: var(--lb-tertiary-container, #d9a777) !important;
    color: var(--lb-on-tertiary-container, #482904) !important;
    border-radius: 9999px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    padding: 0.25rem 0.75rem;
}

/* Star ratings */
.woocommerce .star-rating {
    color: var(--lb-tertiary, #845c32);
}

/* Sidebar Filters */
.woocommerce .widget_layered_nav,
.woocommerce .widget_price_filter,
.woocommerce .widget_product_categories {
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.woocommerce .widget_product_categories ul,
.woocommerce .widget_layered_nav ul {
    list-style: none;
    padding: 0;
}
.woocommerce .widget_product_categories ul li a,
.woocommerce .widget_layered_nav ul li a {
    color: var(--lb-on-surface-variant, #676556);
    text-decoration: none;
    font-size: 0.875rem;
    padding: 0.5rem 0;
    display: block;
    transition: color 0.2s;
}
.woocommerce .widget_product_categories ul li a:hover,
.woocommerce .widget_layered_nav ul li a:hover {
    color: var(--lb-primary, #4f6d39);
}
.woocommerce .widget-title,
.woocommerce .widgettitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--lb-on-surface-variant, #676556);
    margin-bottom: 1.5rem;
}

/* Price filter slider */
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
    background: var(--lb-surface-container-highest, #ece8d6);
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
    background: var(--lb-primary, #4f6d39);
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background: var(--lb-primary, #4f6d39);
    border: 2px solid white;
}
.woocommerce .widget_price_filter .price_slider_amount .button {
    background: var(--lb-primary, #4f6d39) !important;
    color: var(--lb-on-primary, #fff) !important;
    border-radius: 9999px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
}

/* Category page header */
.woocommerce .term-description,
.woocommerce-products-header {
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.woocommerce-products-header__title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 800 !important;
    font-size: 2.5rem !important;
    color: var(--lb-on-surface, #39382b);
    letter-spacing: -0.025em;
}

/* WooCommerce Ordering */
.woocommerce .woocommerce-ordering select {
    border: 1px solid var(--lb-outline-variant, #bdbaa8);
    border-radius: 1rem;
    padding: 0.75rem 1.5rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    background: var(--lb-surface-container-lowest, #fff);
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
    border: none;
    display: flex;
    gap: 0.5rem;
    justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li {
    border: none;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    border: none !important;
    border-radius: 9999px;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    color: var(--lb-on-surface, #39382b);
    transition: all 0.2s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--lb-primary-container, #caedad);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--lb-primary, #4f6d39) !important;
    color: var(--lb-on-primary, #fff) !important;
}

/* ===== SINGLE PRODUCT PAGE ===== */
.woocommerce div.product {
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.woocommerce div.product .product_title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 800;
    font-size: 2rem;
    color: var(--lb-on-surface, #39382b);
}
.woocommerce div.product p.price {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--lb-primary, #4f6d39);
}
.woocommerce div.product .woocommerce-product-gallery img {
    border-radius: 1rem;
}

/* Variation selectors */
.woocommerce div.product .variations {
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.woocommerce div.product .variations td.label label {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.75rem;
    color: var(--lb-on-surface-variant, #676556);
}
.woocommerce div.product .variations td.value select {
    border: 1px solid var(--lb-outline-variant, #bdbaa8);
    border-radius: 1rem;
    padding: 0.75rem 1rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Single product Add to Cart button */
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button {
    background: var(--lb-primary, #4f6d39) !important;
    color: var(--lb-on-primary, #fff) !important;
    border: none;
    border-radius: 9999px;
    padding: 1rem 2.5rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    transition: background 0.2s, transform 0.15s;
}
.woocommerce div.product form.cart .button:hover {
    background: var(--lb-primary-dim, #43602e) !important;
    transform: scale(0.97);
}

/* Quantity input */
.woocommerce div.product form.cart .quantity input.qty {
    border: 1px solid var(--lb-outline-variant, #bdbaa8);
    border-radius: 1rem;
    padding: 0.75rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    text-align: center;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    color: var(--lb-on-surface-variant, #676556);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--lb-primary, #4f6d39);
}
.woocommerce div.product .woocommerce-tabs .panel {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: var(--lb-on-surface-variant, #676556);
    line-height: 1.75;
}

/* Related products */
.woocommerce div.product .related h2,
.woocommerce div.product .upsells h2 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--lb-on-surface, #39382b);
}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb,
.fusion-breadcrumbs {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: var(--lb-on-surface-variant, #676556);
}
.woocommerce .woocommerce-breadcrumb a {
    color: var(--lb-primary, #4f6d39);
    text-decoration: none;
}

/* Avada-specific WooCommerce overrides */
.fusion-woo-product-design-classic .fusion-price-rating,
.fusion-woo-product-design-clean .fusion-price-rating {
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.fusion-woo-product-design-clean .product-content {
    padding: 1rem 0 0 0;
}

/* Eco badge on shop */
.woocommerce .products .lb-eco-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: var(--lb-primary-container, #caedad);
    color: var(--lb-on-primary-container, #3d5928);
    border-radius: 9999px;
    padding: 0.25rem 0.75rem;
    font-size: 0.7rem;
    font-weight: 700;
    z-index: 2;
}

/* WooCommerce Notices */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
    border-top-color: var(--lb-primary, #4f6d39);
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before {
    color: var(--lb-primary, #4f6d39);
}
.woocommerce .woocommerce-error {
    border-top-color: var(--lb-error, #ae4025);
}

/* Result count & ordering bar */
.woocommerce .woocommerce-result-count {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: var(--lb-on-surface-variant, #676556);
    font-size: 0.875rem;
}
