:root {
    --tea-leaf-bg: #fcfdfa;
    --tea-leaf-surface: #ffffff;
    --tea-leaf-tone: #4a6741;
    --tea-leaf-tone-hover: #364d2f;
    --tea-leaf-ink: #2c3329;
    --tea-leaf-gradient: linear-gradient(135deg, #4a6741 0%, #2f4429 100%);
    --font-display: 'Playfair Display', serif;
    --font-body: 'Mulish', sans-serif;
    --radius-soft: 14px;
}

/* Custom Reset */
h1, h2, h3 {
    text-transform: uppercase;
}

/* Gallery Logic - Preset B side thumbs */
.infusion-visuals {
    max-height: 550px;
}

.mini-leaf-pic {
    cursor: pointer;
    width: 70px;
    height: 70px;
    flex-shrink: 0;
    overflow: hidden;
    transition: all 0.2s ease;
    border-radius: 4px;
}

.mini-leaf-pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mini-leaf-pic:hover {
    box-shadow: 0 0 0 2px var(--tea-leaf-tone);
}

.main-steep-view {
    aspect-ratio: 1/1;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.05);
}

.slide-deck {
    position: relative;
    width: 100%;
    height: 100%;
}

.slide-node {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
    display: none;
}

.slide-node img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Gallery Interactivity */
#img-track-1:checked ~ .slide-deck #pic-1,
#img-track-2:checked ~ .slide-deck #pic-2,
#img-track-3:checked ~ .slide-deck #pic-3,
#img-track-4:checked ~ .slide-deck #pic-4 {
    opacity: 1;
    display: block;
}

/* Shadows */
.shadow-depth-deep {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04), 0 0 40px rgba(74, 103, 65, 0.05);
}

/* Buttons */
.prime-purchase-trigger {
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.prime-purchase-trigger:hover {
    background-color: var(--tea-leaf-tone-hover);
    transform: translateY(-1px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* Mobile Adjustments */
@media (max-width: 1024px) {
    .infusion-visuals {
        max-height: none;
    }
    .thumb-strip {
        padding-bottom: 10px;
    }
}

.brand-essence-title {
    font-size: 1.1rem;
    line-height: 1.4;
}

@media (min-width: 768px) {
    .brand-essence-title {
        font-size: 1.4rem;
    }
}