/* Survey Styling */
.hv-survey-wrapper {
    background: transparent; 
    border: none;
    padding: 10px 0;
    margin: 20px auto; 
    max-width: 800px;
    font-family: inherit;
}

.hv-survey-item { 
    margin-bottom: 30px; 
    padding-bottom: 25px; 
    border-bottom: 1px solid rgba(255, 255, 255, 0.15); 
}

.hv-q-title { 
    font-size: 1.2em; 
    font-weight: 600; 
    color: #ffffff;
    margin-bottom: 5px; 
}
.hv-q-sub { 
    font-size: 0.9em; 
    color: #aaaaaa;
    font-style: italic; 
    margin-bottom: 12px; 
}

/* Star Ratings */
.hv-stars-cont { display: flex; align-items: center; gap: 5px; cursor: pointer; }
.hv-star svg { 
    fill: rgba(255, 255, 255, 0.2); 
    transition: fill 0.2s; 
}
.hv-star.active svg, .hv-star.hover-temp svg { fill: #f5c518; }
.hv-rating-val { margin-left: 10px; font-weight: bold; color: #fff; font-size: 0.9em; }

/* Options & Columns */
.hv-options-group { display: flex; flex-direction: column; gap: 10px; }
.hv-options-group.hv-two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
    row-gap: 10px;
}

@media (max-width: 600px) {
    .hv-options-group.hv-two-columns {
        display: flex;
    }
}

.hv-opt-label { 
    display: flex; align-items: center; gap: 10px; 
    cursor: pointer; 
    font-size: 1em;
    color: #eeeeee; 
}
.hv-opt-label input { transform: scale(1.2); margin: 0; }

/* Footer & Messages */
.hv-survey-footer { margin-top: 20px; }
.hv-msg { margin-top: 15px; font-weight: 600; }
.hv-msg.success { color: #46b450; }
.hv-msg.error { color: #dc3232; }
