.forms-section { padding: 24px 0 28px; color: #29313d; }
.forms-container { max-width: 600px; }
.forms-intro { margin-bottom: 16px; }
.forms-intro h1 { font-size: clamp(1.5rem, 3.5vw, 2rem); margin: 0 0 12px; }
.forms-intro p { margin: 0 0 12px; font-size: .9rem; line-height: 1.5; }
.forms-intro .forms-notice { padding: 10px 12px; border-left: 3px solid #16864b; background: #f0f7f3; font-size: .8rem; }
.forms-container [hidden] { display: none !important; }
.forms-container .sd-root-modern { background: transparent; }
.forms-container .sd-body { padding: 0; }
.forms-container .sd-question__container { padding: 0; box-shadow: none; background: transparent; }
.forms-container .sd-question__header-and-content-container { row-gap: 5px; }
.forms-container .sd-question__header { padding: 0; }
.forms-container .sd-question__content { padding: 0; }
.forms-container .sd-question__title { margin: 0; padding: 0; font-size: .95rem; font-weight: 600; }
.forms-container .sd-question__description { font-size: .8rem; line-height: 1.4; }
.forms-container--invoice .sd-page__content { padding-inline: 0; row-gap: 24px; }
.forms-container--invoice .sd-panel {
    --sjs2-layout-component-panel-content-area-gap-horizontal: 20px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}
.forms-container--invoice .sd-panel__header {
    padding: 0 0 12px;
    border: 0;
}
.forms-container--invoice .sd-panel__title { font-size: 1.25rem; font-weight: 600; }
.forms-container--invoice .sd-panel__description { padding: 6px 0 0; font-size: .8rem; }
.forms-container--invoice .sd-panel__content { padding: 0; row-gap: 16px; }
.forms-container--invoice .sd-dropdown .sd-action { padding: 6px; }
.forms-container--invoice .sd-question__description--under-input { margin-top: 4px; }
.forms-container .sd-body__navigation { padding: 16px 4px 4px; gap: 10px; }
.forms-container .sd-body__navigation .sd-action {
    box-sizing: border-box;
    padding: 10px 16px;
    border: 1px solid #aab5bd;
    border-radius: 4px;
    box-shadow: none;
}
.forms-container .sd-body__navigation .sd-action__title { font-size: .9rem; }
.forms-container .sd-body__navigation .sd-action:focus-visible {
    outline: 2px solid #009fd5;
    outline-offset: 2px;
}
.forms-container .sd-comment__input { min-height: 88px; }
.forms-container .sd-formbox:not(.sd-formbox--readonly):not(.sd-formbox--disabled):not(.sd-formbox--error) {
    background: #fff;
    box-shadow: inset 0 0 0 1px #aab5bd;
}
.forms-container .sd-formbox:not(.sd-formbox--readonly):not(.sd-formbox--disabled):not(.sd-formbox--error):hover {
    box-shadow: inset 0 0 0 1px #718391;
}
.forms-container .sd-formbox:not(.sd-formbox--readonly):not(.sd-formbox--disabled):not(.sd-formbox--error):focus-within {
    box-shadow: inset 0 0 0 1px #009fd5, 0 0 0 2px #009fd5;
}
.forms-container [data-form-result] h2 { font-size: 1.25rem; }
.forms-container [data-form-result] p { font-size: .9rem; }
.forms-container .sd-rating fieldset:has(.sd-rating__item-smiley) {
    display: flex;
    flex-wrap: wrap;
    column-gap: 28px;
    row-gap: 12px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}
.forms-container .sd-rating__item-smiley {
    flex-shrink: 0;
    margin-bottom: 28px;
}
.forms-container .sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected):not(.sd-rating__item-smiley--disabled) {
    opacity: 1;
    border-color: color-mix(in srgb, var(--sd-rating-item-color) 70%, transparent);
}
.forms-container .sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected):not(.sd-rating__item-smiley--disabled) svg {
    opacity: .7;
}
.forms-container .sd-rating__item-smiley::after {
    content: attr(title);
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    color: #29313d;
    font-family: Montserrat, sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
}
@media (max-width: 400px) {
    .forms-container .sd-rating fieldset:has(.sd-rating__item-smiley) { column-gap: 14px; }
    .forms-container .sd-rating__item-smiley::after { font-size: 12px; }
}
