:root {
    --space-big: 1.5em;
    --space-normal: 0.75em;
    --space-small: 0.375em;
}

/** === general form style === **/
.verowa_input_has_error,
.pp_input_has_error {
    border: 1px solid red !important;
}

.verowa_inline_error_msg,
.verowa-inline-error-msg,
.pp_inline_error_msg
.verowa_connect_error_box ul li {
    color: red;
}

.verowa_inline_error_msg::first-letter,
.pp_inline_error_msg::first-letter {
    text-transform: uppercase;
}

.verowa_connect_error_box ul {
    list-style: none;
    margin: 0 0 1rem 0;
}

.fa-question-circle {
    font-size: 15px;
}

.text-uppercase {
    text-transform: uppercase;
}

.verowa-force-text-nowrap {
    white-space: nowrap;
}

/* Tooltip (wird im backend-style ebenfalls verwendet) */
.tooltip-wrapper {
    position: relative;
    display: inline-block;
    margin-left: 0.25em;
}

.tooltip-wrapper:hover .custom-tooltip {
    opacity: 1;
    visibility: visible;
}

.custom-tooltip {
    position: absolute;
    max-width: 90vw; /* prevent overflow on small screens */
    width: 300px;
    background-color: #eee;
    border: solid 1px #ddd;
    color: #000;
    padding: var(--space-normal);
    border-radius: 4px;
    font-size: 0.85em;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 999;
}

@media (max-width: 400px) {
    .custom-tooltip {
        font-size: 0.75em;
        padding: 0.75em;
    }
}

.tooltip-info {
    font-size: 20px;
    width: 20px;
    height: 20px;
    line-height: 1;
    text-align: center;
    transition: color 0.1s ease-in;
    color: #000;
    display: flex;
    align-items: center;
}

.tooltip-info:hover {
    color: #7d7676;
}

/** === events list === **/
.event-toggle-button {
    transition: all 0.3s ease-in-out;
}

.event-toggle-button {
    transform: rotate(0deg);
}

.event-toggle-button.open {
    transform: rotate(180deg);
}

.event-accordion-open {
    display: none;
}

/** === events agenda === **/
#verowa-agenda-search-wrapper,
#vc-agenda-search-wrapper {
    margin-bottom: 1.5em;
}

#verowa-agenda-search-wrapper input[type="search"],
#vc-agenda-search-wrapper input[type="search"] {
    background: #fff;
    border-right: 0 !important;
    padding: 5px 16px;
    padding-left: 12px;
}

#verowa-agenda-search-wrapper button,
#vc-agenda-search-wrapper button {
    background-color: #fff;
    padding: 0 !important;
    margin-left: -1px;
}

#verowa-agenda-search-wrapper .is-search-iconm,
#vc-agenda-search-wrapper .is-search-icon {
    display: flex !important;
    height: 39px;
    width: 38px;
    border: 1px solid #ccc;
    font-size: 14px !important;
    background-color: #ededed;
    padding-top: 0 !important;
    align-items: center;
    justify-content: center;
}

#vc-agenda-search-wrapper .is-search-icon {
    background-color: #dcdcdc;
}

#vc-agenda-search-wrapper is-search-icon {
    color: #666;
    font-size: 14px !important;
    line-height: 1;
    text-transform: capitalize;
}

#vc-agenda-search-wrapper .is-search-icon svg {
    width: 22px;
    display: inline;
}

.verowa-submit-wrapper {
    display: flex;
    align-items: center;
}

.verowa-submit-wrapper .verowa-ajax-loader {
    height: 31px;
    margin-left: 1rem;
    display: inline-block;
}

/** === event details === **/
.verowa-subscription-button.disabled,
.subscription-button.disabled {
    background-color: #ccc;
    pointer-events: none;
}

/** === subscriptions === **/
.verowa-block,
.nl_block {
    display: table;
    margin: 0 0 1em 0;
    width: 100%;
}

.verowa-block .row,
.nl_block .row {
    display: table-row;
    width: 100%;
}

.verowa-block .column,
.nl_block .column {
    box-sizing: border-box;
    display: table-cell;
    padding: 3px 0;
}

.verowa-block .column:first-child,
.nl_block .column:first-child {
    padding: 3px 8px 3px 0;
}

.verowa-block div i {
    display: inline-block;
    margin-top: var(--space-normal);
}

.nl_block select,
.nl_block select {
    width: 100%;
}

.verowa-block input[type="text"],
.verowa-input input[type="email"],
.verowa-block select,
.nl_block input[type="text"],
.nl_block select {
    /* margin-bottom: var(--space-normal); */
}

.verowa-contact-tracing .nl_target_lists {
    background: #f5f5f5;
    border-radius: 2px;
    margin: 1em 0;
    padding: 12px;
}

.verowa-contact-tracing .nl_target_lists .column {
    align-items: center;
    display: flex;
    padding: 1px 0;
}

.verowa-contact-tracing .nl_target_lists .column input {
    margin-right: 7px;
}
.verowa-subscription-form input[type="text"]:disabled,
.verowa-contact-tracing input[type="text"]:disabled {
    background: #f5f5f5;
}

.verowa-subscription-form .subs_block {
    margin-top: var(--space-normal);
}

.verowa-resend-subs-validation-form {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.verowa-resend-subs-validation-form .verowa-subs-validation-email {
    margin: 0 1em 1em 0;
    max-width: 50%;
    min-width: 320px;
}

.verowa-resend-subs-validation-form input[type=submit] {
    margin-bottom: var(--space-normal);
}
/* Topic */
.verowa-subscription-form .verowa-event-topic {
    color: #888;
    line-height: 1.5;
    margin: 0;
}

@media all and (max-width: 600px) {
    .verowa-nl-block input[type="text"], .verowa-nl-block select .nl_block input[type="text"], .nl_block select {
        width: 100%;
    }

    .verowa-nl-block.intervall .row,
    .nl_block.intervall .row {
        display: flex;
        flex-direction: column;
    }

    .verowa-nl-block.intervall .column,
    .nl_block.intervall .column {
        margin-bottom: var(--space-small);
    }
}

/** === renting form === **/
.verowa-renting-form-contact-wrapper,
.vc_renting_form_contact_wrapper {
    display: flex;
    flex-direction: row;
    padding: 15px 0px;
}

.verowa-renting-form-contact-wrapper > div,
.vc_renting_form_contact_wrapper > div {
    flex: 0 1 100%;
}

.verowa-renting-date-width-time .verowa-input-time label,
.renting_date_width_time .ct-input-time label {
    width: 100px;
    margin: 0 10px;
    display: inline-block;
}

.verowa-input-time,
.ct-input-time {
    margin-top: 5px;
}

.verowa-multiple-choice-block .verowa-input-has-error,
.multiple-choice-block .pp_input_has_error,
.verowa-input-radio.pp_input_has_error,
.verowa-single-checkbox.pp_input_has_error {
    border: none !important;
}

#verowa-agenda-filter-reset {
    display: block;
}

#verowa-agenda-filter-reset::after {
    display: none;
}

.verowa-api-error,
.verowa-connect-error,
.verowa_connect_error {
    color: red;
}

.verowa-single-checkbox label {
    display: flex;
    align-items: baseline;
}

.verowa-single-checkbox input[type="checkbox"] {
    /* margin-right: 0.5em; */
}

.comply_checkbox .checkbox-label {
    display: flex;
    align-items: baseline;
    gap: 5px;
}
.comply_checkbox .checkbox-text {
    flex: 1;
    word-wrap: break-word;
}

#verowa-persons-billing,
#renting-persons-billing {
    margin-left: 30px;
}

.verowa-subs-booked-up-detail, .verowa-subs-deadline-expired-detail {
    font-weight: bold;
}

.verowa-subs-no-subs-form-list {
    font-weight: bold;
}

.verowa-subs-booked-up-list,
.verowa-subs-deadline-expired {
    color: #FFF;
    background-color: #808080;
    pointer-events: none;
    cursor: pointer;
}

.verowa_renting_form_submit > input,
.vc_renting_form_submit > input {
    padding: 10px 0px;
}

.verowa-rb-direction-column > div,
.verowa-rb-long-options > div {
    display: flex !important;
    flex-direction: column !important;
}

.verowa-rb-short-options > div {
    display: flex !important;
    flex-direction: row !important;
}

/* Standard Stylesheet vom Verowa Newsletter WordPress-Plugin
Sollte von der jeweiligen Gemeinde überschrieben werden.
*/
.nl_block {
    display: table;
    margin: 1em 0;
    width: 100%;
}

.nl_block .row {
    display: table-row;
    width: 100%;
}

.nl_block .column {
    box-sizing: border-box;
    display: table-cell;
    padding: 3px 0;
}

.nl_block .column:first-child {
    padding: 3px 8px 3px 0;
}

.nl_block select {
    width: 100%;
}
.nl_block input[type="text"],
.nl_block select {
    margin-bottom: var(--space-small);
}

.verowa-newsletter .nl_target_lists {
    background: #f5f5f5;
    border-radius: 2px;
    margin: 1em 0;
    padding: 12px;
}

.verowa-newsletter .nl_target_lists .column {
    align-items: center;
    display: flex;
    padding: 1px 0;
}

.verowa-newsletter .nl_target_lists .column input {
    margin-right: 7px;
}

.verowa-newsletter input[type="text"]:disabled {
    background: #f5f5f5;
}

@media all and (max-width: 600px) {
    .nl_block input[type="text"], .nl_block select {
        width: 100%;
    }
    .nl_block.intervall .row {
        display: flex;
        flex-direction: column;
    }
    .nl_block.intervall .column {
        margin-bottom: var(--space-small);
    }
}

/** === Forms === **/
.verowa-form ::selection {
    color: #fff;
    background-color: var(--accent);
}

.verowa-contact-tracing.big-form {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    /* padding: 1rem; */
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-break: break-word;
}

/* Inner Form Container */
.verowa-form.ct-form {
    background: #f6f6f6;
    padding: var(--space-big);
    /* font-size: 1.1rem; */
    /* line-height: 1.2em; */
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Divider */
.verowa-form hr {
    margin: var(--space-big) 0;
}

/* Titles & Texts  */
.verowa-form h2 {
    /* font-size: clamp(1.75rem, 2vw + 0.5rem, 2rem); */
    margin-top: var(--space-normal);
    margin-bottom: var(--space-small);
}

.verowa-form h3 {
    margin-top: var(--space-normal);
    margin-bottom: 0.2em;
}

.verowa-form h4 {
    /* font-size: clamp(1.25rem, 2vw + 0.2rem, 1.5rem); */
    margin-top: var(--space-big);
    margin-bottom: var(--space-normal);
    /* font-weight: 500; */
}

.verowa-form h3,
.verowa-form label {
    display: flex !important;
    align-items: center !important;
    /* font-family: inherit;
    font-weight: 500;
    font-size: 1.1rem; */
}

span.radio-text,
span.checkbox-text {
    display: flex;
    align-items: center;
    /* font-weight: 400;
    font-size: 1.05rem; */
}

p.verowa-subs-form-text,
.verowa-form p {
    /* font-size: 1.2rem;
    line-height: 1.2em; */
    margin-bottom: var(--space-small) 0;
}

/* Fields */
.verowa-form input[type="text"],
.verowa-form input[type="email"],
.verowa-form input[type="number"],
.verowa-form input[type="url"],
.verowa-form input[type="tel"],
.verowa-form input[type="search"],
.verowa-form input[type="password"],
.verowa-form input[type="time"],
.verowa-form input[type="date"],
.verowa-form textarea,
.verowa-form select,
.verowa-form input[type="radio"],
.verowa-form input[type="checkbox"] {
    transition: color 0.1s ease-in-out, background-color 0.1s ease-in-out, border-color 0.1s ease-in-out;
    /* background-color: white; */
    /* color: var(--contrast); */
    /* border: 1px solid var(--contrast-3); */
    /* outline: none; */
    /* border-radius: 4px; */
    max-width: max-content;
    box-sizing: border-box;
    /* padding: 10px !important; */
}

.verowa-form input[type="text"]:focus,
.verowa-form input[type="email"]:focus,
.verowa-form input[type="number"]:focus,
.verowa-form input[type="url"]:focus,
.verowa-form input[type="tel"]:focus,
.verowa-form input[type="search"]:focus,
.verowa-form input[type="password"]:focus,
.verowa-form input[type="time"]:focus,
.verowa-form input[type="date"]:focus,
.verowa-form textarea:focus,
.verowa-form select:focus,
.verowa-form input[type="radio"]:focus,
.verowa-form input[type="checkbox"]:focus {
    /* border-color: var(--contrast); */
    /* color: var(--contrast); */
    /* background-color: white; */
    /* box-shadow: 0 0 3px var(--base-2); */
    /* border-radius: 4px; */
}

.verowa-form input[type="number"] {
    /* padding: 0; */
    /* padding-left: var(--space-small); */
}

.verowa-form input:not([type="checkbox"]):not([type="radio"]) {
    /* min-height: 2.5em;
    height: 2.5em;
    margin: 0;
    min-width: max-content; */
}

.verowa-form input[type="email"] {
    max-width: fit-content;
}

.verowa-form input[type="number"],
.verowa-form input[type="number"],
.verowa-form input[type="time"],
.verowa-form input[type="date"],
.verowa-input-dropdown-wrapper select {
    /* min-height: 2.5em; */
    /* height: 2.5em; */
    /* padding-right: var(--space-small); */
    /* padding: 10px !important; */
}

.verowa-form input:not([type="checkbox"]):not([type="radio"]):not([type="number"]):not([type="time"]):not([type="date"]):not([type="submit"]),
.verowa-form textarea,
.verowa-form select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.verowa-form input[type="submit"] {
    max-width: 200px;
    width: auto !important;
}

.verowa-input-dropdown-wrapper select {
    width: fit-content;
}

@media (max-width: 768px) {
    .verowa-contact-tracing.big-form {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0;
    }
    .verowa-form input:not([type="checkbox"]):not([type="radio"]),
    .verowa-contact-tracing.big-form select,
    .verowa-contact-tracing.big-form textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
}

/* Date */
form p.verowa-subs-date {
    display: flex;
    align-items: baseline;
    word-wrap: anywhere;
    /* font-size: 1.2em !important; */
    /* margin: 0; */
    padding: 0;
    display: flex;
    /* line-height: 1.2em; */
    margin: var(--space-normal) 0 0;
}

/* Basic Form Inputs */
.verowa-form .verowa-input:not(.verowa-input-checkbox-wrapper):not(.verowa-input-radio-wrapper) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2em;
    /* margin-bottom: var(--space-normal) */
}

.verowa-form .verowa-input:not(.verowa-input-checkbox-wrapper):not(.verowa-input-radio-wrapper):not([type="time"]) label {
    display: flex;
    align-items: baseline;
    margin-top: var(--space-normal);
}

.verowa-input-time,
.ct-input-time {
    margin-top: 0 !important;
}

.verowa-block select {
    margin: 0
}

/* Dropdown */
.verowa-input-dropdown-wrapper label {
    display: flex;
    align-items: baseline;
    margin-top: var(--space-normal);
    margin-bottom: 0.2em;
}

/* Checkboxes */
.verowa-single-checkbox label {
    /* display: contents !important; */
    /* margin-top: 1em; */
}

.verowa-single-checkbox {
    display: block;
    margin: 0.2em 0;
}

.verowa-single-checkbox .checkbox-label {
    display: flex;
    align-items: center;
    gap: var(--space-small);
    flex-wrap: nowrap;
}

/* Radio */
.verowa-input-radio-container.subs-input-radio-container {
    flex-wrap: wrap;
}

.verowa-radio-input .radio-label {
    display: flex;
    align-items: baseline;
    gap: var(--space-small);
    /* margin: 0.2em 0; */
}

.verowa-rb-short-options .verowa-radio-input .radio-label {
    gap: 0.3em;
    margin-right: var(--space-normal);
    width: max-content;
}

.verowa-rb-long-options .verowa-radio-input .radio-label {
    width: fit-content;
}

/* Placeholders */
.verowa-form input,
.verowa-form textarea {
    /* color: var(--contrast); */
}

.verowa-form input.has-placeholder[type="date"],
.verowa-form input.has-placeholder[type="time"] {
    /* color: #969696; */
}

/* Agree to terms Checkbox */
.verowa-form .verowa-single-checkbox:has(+ :not(.verowa-single-checkbox)) {
    display: flex;
    align-items: center;
    margin: var(--space-normal) 0;
    width: 100%;
}

/* Submit Button */
.verowa-form input[type="submit"] {
    /*	color: white; */
    height: auto !important;
}

.verowa-form input[type="submit"]:active {
    /* color: white; */
}

/* Error */
.verowa-form .verowa-inline-error-msg,
.verowa-form .pp_inline_error_msg {
    display: block;
    width: fit-content;
    font-size: 0.8em;
    color: red;
    margin: 0.3em 0 0;
    line-height: 1.3;
}

.verowa-form input.pp_input_has_error,
.verowa-form select.pp_input_has_error,
.verowa-form textarea.verowa-inline-error-msg,
.verowa-input-dropdown-wrapper:has(.verowa-inline-error-msg) select,
.verowa-input:has(.verowa-inline-error-msg) textarea {
    border: 1px solid red;
    outline: none;
}

.verowa-form .verowa-single-checkbox:has(.verowa-inline-error-msg),
.verowa-form .verowa-single-checkbox:has(.pp_input_has_error) {
    margin-bottom: 0 !important;
}

/* Required */
.verowa-required-labeling {
    /* color: #d00; */
    margin-left: 0.25em;
    font-weight: bold;
    font-size: 0; /* hides the original character */
}

.verowa-required-labeling::before {
    content: "*";
    font-size: 1rem;
    color: #d00;
    margin-left: 0.3em;
    /* font-weight: bold; */
}

