:root {
    --vh-green:  #1b5e35;
    --vh-accent: #2e9957;
    --vh-light:  #5abf82;
    --vh-gritty: rgba(30, 94, 53, 0.09);
}

/* HERO */
.vh-theme-hero {
    background: radial-gradient(circle at top, rgba(30, 94, 53, 0.22) 0%, rgba(0, 0, 0, 0) 70%) !important;
}
.vh-kicker { color: var(--vh-accent) !important; letter-spacing: 2px !important; }

/* GLOW */
.vh-glow {
    box-shadow: 0 0 50px rgba(30, 94, 53, 0.28) !important;
    border: 1px solid rgba(46, 153, 87, 0.2) !important;
}

/* BOTONES */
.vh-btn-hero, .vh-btn-solid {
    background-color: var(--vh-green) !important;
    border-bottom: 3px solid #0f3a1e !important;
    color: #c8f0d8 !important;
}
.vh-btn-hero:hover, .vh-btn-solid:hover {
    background-color: var(--vh-accent) !important;
    box-shadow: 0 0 20px rgba(30, 94, 53, 0.5) !important;
}
.vh-btn-outline {
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #ccc !important;
}
.vh-btn-outline:hover {
    border-color: var(--vh-accent) !important;
    color: var(--vh-light) !important;
    background: rgba(30, 94, 53, 0.12) !important;
}

/* CARDS */
.vh-featured {
    border: 1px solid var(--vh-accent) !important;
    background: rgba(30, 94, 53, 0.09) !important;
}
.vh-badge-pop  { background: var(--vh-green) !important; color: #c8f0d8 !important; }
.vh-text-accent { color: var(--vh-light) !important; }
.vh-icon       { color: var(--vh-accent) !important; }
.vh-highlight  { background-color: var(--vh-green) !important; color: #fff !important; }
.vh-icon-bg    { background: var(--vh-gritty) !important; }

.feature-box:hover {
    transform: translateY(-5px);
    border-color: var(--vh-accent);
}
.price-card-clean:hover {
    transform: translateY(-5px);
    border-color: var(--vh-accent);
}

/* Sub-location buttons */
.sub-loc-btn.active {
    background: var(--vh-gritty);
    border-color: var(--vh-accent);
    color: var(--vh-light);
}
