:root {
    --v-bg: #FFFFFF;
    --v-surface: #FAFAFA;
    --v-tone: #FF7043;
    --v-tone-hover: #E64A19;
    --v-ink: #1F2937;
    --v-ink-light: #4B5563;
    --v-review-bg: #F3F4F6;
    --v-gradient: linear-gradient(135deg, #FF7043 0%, #FF8A65 100%);
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Lato', sans-serif;
    --v-radius: 16px;
    --v-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --v-shadow-deep: 0 10px 15px -3px rgba(255, 112, 67, 0.3), 0 4px 6px -2px rgba(255, 112, 67, 0.15);
}

body {
    background-color: var(--v-bg);
    color: var(--v-ink);
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
}

.v-top-bar {
    background: var(--v-gradient);
    color: #FFFFFF;
}

.v-site-title {
    font-family: var(--font-heading);
    text-transform: uppercase;
}

.v-heading {
    font-family: var(--font-heading);
    text-transform: uppercase;
    color: var(--v-ink);
}

.v-description-text {
    color: var(--v-ink-light);
}

.v-description-text strong {
    color: var(--v-ink);
}

/* Gallery Interactivity */
.v-trigger {
    display: none;
}

.v-slide {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease-in-out, visibility 0.4s;
    z-index: 1;
}

#vg1:checked ~ .v-main-view .v-img1,
#vg2:checked ~ .v-main-view .v-img2,
#vg3:checked ~ .v-main-view .v-img3,
#vg4:checked ~ .v-main-view .v-img4 {
    opacity: 1;
    visibility: visible;
    z-index: 5;
}

/* Thumbnails strictly from preset B (side with border) */
.v-thumb-item {
    border: 3px solid transparent;
    border-radius: 8px;
    overflow: hidden;
    transition: border-color 0.2s ease;
    background-color: var(--v-surface);
}

#vg1:checked ~ .v-thumbs label[for="vg1"],
#vg2:checked ~ .v-thumbs label[for="vg2"],
#vg3:checked ~ .v-thumbs label[for="vg3"],
#vg4:checked ~ .v-thumbs label[for="vg4"] {
    border-color: var(--v-tone);
}

/* CTA styling preset B */
.v-buy-btn {
    display: inline-block;
    background-color: var(--v-tone);
    color: #FFFFFF;
    border-radius: var(--v-radius);
    box-shadow: var(--v-shadow-deep);
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
    text-decoration: none;
}

.v-buy-btn:hover {
    background-color: var(--v-tone-hover);
    box-shadow: 0 15px 25px -4px rgba(255, 112, 67, 0.4);
}

/* Reviews styling preset B */
.v-opinion-box {
    background-color: var(--v-review-bg);
    border-radius: var(--v-radius);
    padding: 1.5rem;
    box-shadow: var(--v-shadow);
}

.v-footer {
    background-color: var(--v-bg);
    color: var(--v-ink-light);
}

.v-footer a {
    color: var(--v-tone);
    transition: color 0.2s;
}

.v-footer a:hover {
    color: var(--v-tone-hover);
}