:root {
    --mf-jo-bg: #ffffff;
    --mf-jo-surface: #f8fafc;
    --mf-jo-tone: #0ea5e9;
    --mf-jo-tone-hover: #0284c7;
    --mf-jo-ink: #1e293b;
    --mf-jo-border: #e2e8f0;
    --font-display: 'Oswald', sans-serif;
    --font-body: 'Open Sans', sans-serif;
}

body {
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, .font-display {
    font-family: var(--font-display);
    text-transform: uppercase;
}

/* Gallery CSS Logic */
.mf-frame {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease-in-out, visibility 0.4s;
}

#mf-view-1:checked ~ .mf-stage .mf-f-1,
#mf-view-2:checked ~ .mf-stage .mf-f-2,
#mf-view-3:checked ~ .mf-stage .mf-f-3,
#mf-view-4:checked ~ .mf-stage .mf-f-4 {
    opacity: 1;
    visibility: visible;
}

.mf-stage {
padding-bottom: 100%;
}

/* Thumbnail Highlighting */
.mf-thumb-node {
    opacity: 0.6;
}

#mf-view-1:checked ~ .mf-thumb-strip label[for="mf-view-1"],
#mf-view-2:checked ~ .mf-thumb-strip label[for="mf-view-2"],
#mf-view-3:checked ~ .mf-thumb-strip label[for="mf-view-3"],
#mf-view-4:checked ~ .mf-thumb-strip label[for="mf-view-4"] {
    opacity: 1;
    border-color: var(--mf-jo-tone);
}

.mf-thumb-node:hover {
    opacity: 0.9;
}

/* CTA Button Interaction */
.mf-purchase-link {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(14, 165, 233, 0.2), 0 2px 4px -1px rgba(14, 165, 233, 0.1);
}

.mf-purchase-link:hover {
    background-color: var(--mf-jo-tone-hover) !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.3), 0 4px 6px -2px rgba(14, 165, 233, 0.15);
}

/* Review Node Hover (Subtle interaction) */
.mf-feedback-node {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mf-feedback-node:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
}