/* Öffentliche Ausnahme-Anzeige im vorhandenen Header. */
.site-header__manual-status {
    color: inherit;
}

.site-header--closed .site-header__manual-status {
    color: #E8E4DA;
}

.site-header--open .site-header__manual-status {
    color: #8fbd3b;
}

.site-header--appointment .site-header__manual-status {
    color: #61E875;
    font-size: 0.72em;
    letter-spacing: 0.6px;
    white-space: nowrap;
}

.site-header--override .site-header__right {
    flex-wrap: wrap;
    align-content: center;
    padding-block: 18px;
}

.site-header__override-notice {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px 14px;
    flex: 0 0 min(100%, 540px);
    width: min(100%, 540px);
    margin: 10px 0 0 auto;
    padding: 9px 16px;
    color: #f4f0e5;
    text-align: center;
    background: rgba(7, 27, 19, 0.88);
    border: 1px solid rgba(228, 201, 93, 0.62);
    border-radius: 999px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
}

.site-header__override-notice i,
.site-header__override-notice strong {
    color: #E8E4DA;
}

.site-header__override-notice span {
    color: rgba(244, 240, 229, 0.75);
    font-size: 14px;
}

.site-header__promotion {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px 18px;
    width: min(92%, 1050px);
    margin: 0 auto 24px;
    padding: 12px 18px;
    color: #f4f0e5;
    text-align: left;
    background: rgba(7, 27, 19, 0.90);
    border: 1px solid rgba(228, 201, 93, 0.66);
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.26);
    backdrop-filter: blur(5px);
}

.site-header__promotion > i {
    color: #E8E4DA;
    font-size: 18px;
}

.site-header__promotion > div {
    min-width: 0;
}

.site-header__promotion strong,
.site-header__promotion span {
    display: block;
}

.site-header__promotion strong {
    margin-bottom: 2px;
    color: #E8E4DA;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
}

.site-header__promotion span {
    color: rgba(244, 240, 229, 0.80);
    font-size: 14px;
    line-height: 1.4;
}

.site-header__promotion a {
    flex: 0 0 auto;
    padding: 8px 15px;
    color: #E8E4DA;
    font-weight: 700;
    text-decoration: none;
    background: rgba(0, 0, 0, 0.20);
    border: 1px solid rgba(228, 201, 93, 0.72);
    border-radius: 999px;
}

/* Private mobile Verwaltungsoberfläche. */
.studio-control-app {
    min-height: 100vh;
    margin: 0;
    color: #f4f0e5;
    background:
        radial-gradient(circle at 50% 0, rgba(91, 116, 31, 0.28), transparent 34%),
        #04110b;
    font-family: Arial, Helvetica, sans-serif;
}

.studio-control-app::before {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image: url('../images/hintergrund.webp');
    background-position: center;
    background-size: cover;
    opacity: 0.18;
    content: "";
}

.studio-control {
    width: min(100% - 24px, 620px);
    margin: 0 auto;
    padding: max(18px, env(safe-area-inset-top)) 0 max(30px, env(safe-area-inset-bottom));
}

.studio-control__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    padding: 14px 16px;
    background: rgba(0, 0, 0, 0.24);
    border: 1px solid rgba(212, 192, 138, 0.32);
    border-radius: 20px;
    backdrop-filter: blur(5px);
}

.studio-control__header img {
    width: 62px;
    height: 62px;
    object-fit: cover;
    border: 1px solid rgba(228, 201, 93, 0.7);
    border-radius: 16px;
}

.studio-control__header span {
    display: block;
    margin-bottom: 3px;
    color: #E8E4DA;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.studio-control__header h1 {
    margin: 0;
    color: #E8E4DA;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(26px, 8vw, 34px);
}

.studio-install {
    margin-bottom: 18px;
    padding: 18px;
    color: #f4f0e5;
    background: rgba(17, 52, 38, 0.92);
    border: 1px solid rgba(228, 201, 93, 0.62);
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
}

.studio-install[hidden],
.studio-install__ios[hidden],
.studio-install__fallback[hidden] {
    display: none !important;
}

.studio-install__heading {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 14px;
}

.studio-install__heading > i {
    color: #E8E4DA;
    font-size: 28px;
}

.studio-install__heading strong,
.studio-install__heading span {
    display: block;
}

.studio-install__heading strong {
    margin-bottom: 4px;
    color: #E8E4DA;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
}

.studio-install__heading span {
    color: rgba(244, 240, 229, 0.74);
    font-size: 13px;
    line-height: 1.4;
}

.studio-install > button {
    width: 100%;
    min-height: 50px;
    padding: 11px 18px;
    color: #071b13;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #e4c95d;
    border: 1px solid #e4c95d;
    border-radius: 999px;
}

.studio-install__ios,
.studio-install__fallback {
    margin-top: 14px;
    padding: 14px;
    color: #f4f0e5;
    background: rgba(0, 0, 0, 0.22);
    border-radius: 14px;
}

.studio-install__ios ol {
    margin: 0;
    padding-left: 22px;
}

.studio-install__ios li + li {
    margin-top: 8px;
}

.studio-control__message {
    margin: 0 0 16px;
    padding: 14px 16px;
    border-radius: 14px;
}

.studio-control__message.is-success {
    color: #eff8e1;
    background: rgba(42, 97, 45, 0.82);
    border: 1px solid rgba(145, 203, 86, 0.65);
}

.studio-control__message.is-error {
    color: #ffe9e6;
    background: rgba(111, 34, 31, 0.85);
    border: 1px solid rgba(240, 143, 134, 0.65);
}

.studio-control__current,
.studio-control-form,
.studio-control__log {
    margin-bottom: 18px;
    padding: 20px;
    background: rgba(0, 0, 0, 0.32);
    border: 1px solid rgba(212, 192, 138, 0.34);
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(6px);
}

.studio-control__current > span {
    display: block;
    margin-bottom: 6px;
    color: rgba(244, 240, 229, 0.65);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.studio-control__current > strong {
    display: block;
    color: #E8E4DA;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 8vw, 38px);
}

.studio-control__current--open > strong {
    color: #9dcc4a;
}

.studio-control__current--closed > strong {
    color: #E8E4DA;
}

.studio-control__current p {
    margin: 10px 0 4px;
    line-height: 1.5;
}

.studio-control__current small {
    color: rgba(244, 240, 229, 0.65);
}

.studio-control-form fieldset {
    margin: 0 0 22px;
    padding: 0;
    border: 0;
}

.studio-control-form legend,
.studio-control-form__field > span {
    display: block;
    margin-bottom: 10px;
    color: #E8E4DA;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 700;
}

.studio-control-form__choices {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 9px;
}

.studio-control-form__choices--time {
    grid-template-columns: repeat(2, 1fr);
}

.studio-control-form__choices label {
    position: relative;
    display: block;
}

.studio-control-form__choices > label:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.studio-control-form__choices input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

.studio-control-form__choices label > span {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 76px;
    padding: 10px;
    color: #f4f0e5;
    text-align: center;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(212, 192, 138, 0.30);
    border-radius: 14px;
}

.studio-control-form__choices--time label > span {
    min-height: 54px;
}

.studio-control-form__choices input:checked + span {
    color: #071b13;
    background: #e4c95d;
    border-color: #e4c95d;
}

.studio-control-form__choices input:focus-visible + span {
    outline: 3px solid rgba(228, 201, 93, 0.52);
    outline-offset: 3px;
}

.studio-control-form__field {
    display: block;
    margin-bottom: 20px;
}

.studio-control-form__dates {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.studio-control-form__dates .studio-control-form__field {
    min-width: 0;
}

.studio-control-form__field[hidden],
.studio-control-form__override[hidden] {
    display: none !important;
}

.studio-control-form__field small {
    color: rgba(244, 240, 229, 0.58);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 400;
}

.studio-control-form__field input,
.studio-control-form__field select {
    width: 100%;
    min-height: 52px;
    padding: 12px 14px;
    color: #f4f0e5;
    font: inherit;
    background: #0a2017;
    border: 1px solid rgba(212, 192, 138, 0.38);
    border-radius: 12px;
}

.studio-control-form__submit {
    width: 100%;
    min-height: 56px;
    padding: 13px 20px;
    color: #071b13;
    font: inherit;
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
    background: #e4c95d;
    border: 1px solid #e4c95d;
    border-radius: 999px;
}

.studio-control-form__submit:hover,
.studio-control-form__submit:focus-visible {
    color: #E8E4DA;
    background: #071b13;
}

.studio-actions {
    margin-bottom: 18px;
    padding: 20px;
    background: rgba(0, 0, 0, 0.32);
    border: 1px solid rgba(212, 192, 138, 0.34);
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(6px);
}

.studio-email-settings {
    margin-bottom: 18px;
    padding: 20px;
    background: rgba(0, 0, 0, 0.32);
    border: 1px solid rgba(212, 192, 138, 0.34);
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(6px);
}

.studio-email-settings__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.studio-email-settings__header span {
    display: block;
    margin-bottom: 3px;
    color: rgba(244, 240, 229, 0.60);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.studio-email-settings__header h2 {
    margin: 0;
    color: #E8E4DA;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
}

.studio-email-settings__header > i {
    color: #E8E4DA;
    font-size: 24px;
}

.studio-email-settings__intro,
.studio-email-settings__note {
    color: rgba(244, 240, 229, 0.72);
    font-size: 14px;
    line-height: 1.55;
}

.studio-email-settings__intro {
    margin: 0 0 18px;
}

.studio-email-settings__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.studio-email-settings__form label,
.studio-email-settings__test label {
    display: block;
}

.studio-email-settings__form label > span,
.studio-email-settings__test label > span {
    display: block;
    margin-bottom: 8px;
    color: #E8E4DA;
    font-weight: 700;
}

.studio-email-settings__form label > small {
    display: block;
    margin-top: 7px;
    color: rgba(244, 240, 229, 0.62);
    font-size: 12px;
    line-height: 1.45;
}

.studio-email-settings input {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    color: #f4f0e5;
    font: inherit;
    background: #0a2017;
    border: 1px solid rgba(212, 192, 138, 0.38);
    border-radius: 12px;
}

.studio-email-settings__save,
.studio-email-settings__test button {
    min-height: 52px;
    padding: 12px 20px;
    color: #071b13;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #e4c95d;
    border: 1px solid #e4c95d;
    border-radius: 999px;
}

.studio-email-settings__save {
    width: 100%;
    margin-top: 18px;
}

.studio-email-settings__test {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 12px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(212, 192, 138, 0.24);
}

.studio-email-settings__test button {
    white-space: nowrap;
}

.studio-email-settings__note {
    margin: 16px 0 0;
}

.studio-email-settings__note a {
    color: #e4c95d;
}

@media (max-width: 640px) {
    .studio-email-settings__grid,
    .studio-email-settings__test {
        grid-template-columns: 1fr;
    }

    .studio-email-settings__test button {
        width: 100%;
    }
}

.studio-actions__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.studio-actions__header span {
    display: block;
    margin-bottom: 3px;
    color: rgba(244, 240, 229, 0.60);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.studio-actions__header h2 {
    margin: 0;
    color: #E8E4DA;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
}

.studio-actions__header > i {
    color: #E8E4DA;
    font-size: 24px;
}

.studio-actions__list {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
}

.studio-actions__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 14px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(212, 192, 138, 0.26);
    border-radius: 14px;
}

.studio-actions__item.is-active {
    background: rgba(40, 91, 48, 0.30);
    border-color: rgba(145, 203, 86, 0.48);
}

.studio-actions__item.is-expired {
    opacity: 0.58;
}

.studio-actions__item span,
.studio-actions__item strong,
.studio-actions__item small {
    display: block;
}

.studio-actions__item span {
    margin-bottom: 3px;
    color: #E8E4DA;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.studio-actions__item strong {
    margin-bottom: 4px;
    color: #f4f0e5;
}

.studio-actions__item small {
    color: rgba(244, 240, 229, 0.62);
}

.studio-actions__item button {
    display: grid;
    width: 42px;
    height: 42px;
    color: #f2aaa4;
    cursor: pointer;
    background: rgba(111, 34, 31, 0.26);
    border: 1px solid rgba(240, 143, 134, 0.36);
    border-radius: 50%;
    place-items: center;
}

.studio-actions__create summary {
    padding: 13px 15px;
    color: #071b13;
    font-weight: 700;
    cursor: pointer;
    background: #e4c95d;
    border-radius: 999px;
    list-style-position: inside;
}

.studio-actions__create > form {
    padding-top: 20px;
}

.studio-actions__create label {
    display: block;
    margin-bottom: 18px;
}

.studio-actions__create label > span {
    display: block;
    margin-bottom: 8px;
    color: #E8E4DA;
    font-weight: 700;
}

.studio-actions__create label small {
    color: rgba(244, 240, 229, 0.58);
    font-weight: 400;
}

.studio-actions__create input,
.studio-actions__create textarea {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    color: #f4f0e5;
    font: inherit;
    background: #0a2017;
    border: 1px solid rgba(212, 192, 138, 0.38);
    border-radius: 12px;
}

.studio-actions__create textarea {
    min-height: 110px;
    line-height: 1.5;
    resize: vertical;
}

.studio-actions__dates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.studio-actions__save {
    width: 100%;
    min-height: 54px;
    color: #071b13;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #e4c95d;
    border: 1px solid #e4c95d;
    border-radius: 999px;
}

.studio-header-event {
    margin-bottom: 18px;
    padding: 20px;
    background: rgba(0, 0, 0, 0.32);
    border: 1px solid rgba(212, 192, 138, 0.34);
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(6px);
}

.studio-header-event__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.studio-header-event__header span {
    display: block;
    margin-bottom: 3px;
    color: rgba(244, 240, 229, 0.60);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.studio-header-event__header h2 {
    margin: 0;
    color: #E8E4DA;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
}

.studio-header-event__header > i {
    color: #E8E4DA;
    font-size: 24px;
}

.studio-header-event__intro {
    margin: 0 0 18px;
    color: rgba(244, 240, 229, 0.70);
    font-size: 14px;
    line-height: 1.55;
}

.studio-header-event__current {
    display: grid;
    grid-template-columns: 132px 1fr;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(212, 192, 138, 0.26);
    border-radius: 15px;
}

.studio-header-event__current.is-active {
    background: rgba(40, 91, 48, 0.30);
    border-color: rgba(145, 203, 86, 0.48);
}

.studio-header-event__current.is-expired {
    opacity: 0.72;
}

.studio-header-event__current span,
.studio-header-event__current strong,
.studio-header-event__current em,
.studio-header-event__current small {
    display: block;
}

.studio-header-event__current span {
    margin-bottom: 4px;
    color: #E8E4DA;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.studio-header-event__current strong {
    margin-bottom: 5px;
    color: #f4f0e5;
}

.studio-header-event__current em {
    margin-bottom: 5px;
    color: #E8E4DA;
    font-size: 12px;
    font-style: normal;
}

.studio-header-event__current small {
    color: rgba(244, 240, 229, 0.62);
}

.studio-header-event__preview {
    display: grid;
    min-height: 96px;
    overflow: hidden;
    background:
        linear-gradient(45deg, rgba(230, 196, 106, 0.035) 25%, transparent 25%, transparent 75%, rgba(230, 196, 106, 0.035) 75%),
        #061810;
    background-position: 0 0, 8px 8px;
    background-size: 16px 16px;
    border: 1px solid rgba(212, 192, 138, 0.22);
    border-radius: 12px;
    place-items: center;
}

.studio-header-event__preview img {
    display: block;
    width: 100%;
    height: 96px;
    object-fit: contain;
}

.studio-header-event__preview .header-event-motif {
    width: 96px;
    margin: 0;
    filter: none;
}

.studio-header-event__preview--empty {
    min-height: 150px;
    margin-bottom: 20px;
    color: rgba(244, 240, 229, 0.46);
    text-align: center;
}

.studio-header-event__preview--empty i,
.studio-header-event__preview--empty span {
    display: block;
}

.studio-header-event__preview--empty i {
    margin-bottom: 8px;
    color: #E8E4DA;
    font-size: 30px;
}

.studio-header-event__form label {
    display: block;
    margin-bottom: 18px;
}

.studio-header-event__form label > span {
    display: block;
    margin-bottom: 8px;
    color: #E8E4DA;
    font-weight: 700;
}

.studio-header-event__form label small {
    display: block;
    margin-top: 7px;
    color: rgba(244, 240, 229, 0.58);
    font-weight: 400;
    line-height: 1.4;
}

.studio-header-event__form label > span small {
    display: inline;
    margin: 0;
}

.studio-header-event__form input,
.studio-header-event__form select {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    color: #f4f0e5;
    font: inherit;
    background: #0a2017;
    border: 1px solid rgba(212, 192, 138, 0.38);
    border-radius: 12px;
}

.studio-header-event__form input[type="file"] {
    padding: 9px;
}

.studio-header-event__form input[type="file"]::file-selector-button {
    margin-right: 10px;
    padding: 8px 11px;
    color: #071b13;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #e4c95d;
    border: 0;
    border-radius: 9px;
}

.studio-header-event__motifs {
    margin: 0 0 20px;
    padding: 0;
    border: 0;
}

.studio-header-event__motifs legend {
    margin-bottom: 10px;
    color: #E8E4DA;
    font-weight: 700;
}

.studio-header-event__motif-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.studio-header-event__motif-grid label {
    position: relative;
    margin: 0;
    cursor: pointer;
}

.studio-header-event__motif-grid input {
    position: absolute;
    width: 1px;
    min-height: 0;
    height: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
}

.studio-header-event__form label > .studio-header-event__motif-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;
    padding: 8px;
    color: #f4f0e5;
    text-align: center;
    background: rgba(3, 16, 10, 0.76);
    border: 1px solid rgba(212, 192, 138, 0.26);
    border-radius: 14px;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.studio-header-event__motif-card .header-event-motif {
    width: 100%;
    margin: 0 0 6px;
    filter: none;
    border-radius: 9px;
}

.studio-header-event__motif-card strong {
    color: #E8E4DA;
    font-size: 13px;
    line-height: 1.3;
}

.studio-header-event__motif-card small {
    margin-top: 4px;
    color: rgba(244, 240, 229, 0.58);
    font-size: 10px;
    line-height: 1.3;
}

.studio-header-event__motif-grid input:checked + .studio-header-event__motif-card {
    border-color: #e4c95d;
    box-shadow: 0 0 0 2px rgba(228, 201, 93, 0.20), 0 10px 24px rgba(0, 0, 0, 0.26);
    transform: translateY(-2px);
}

.studio-header-event__motif-grid input:focus-visible + .studio-header-event__motif-card {
    outline: 2px solid #f4f0e5;
    outline-offset: 2px;
}

.studio-header-event__dates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.studio-header-event__save {
    width: 100%;
    min-height: 54px;
    color: #071b13;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #e4c95d;
    border: 1px solid #e4c95d;
    border-radius: 999px;
}

.studio-header-event__remove {
    margin-top: 12px;
}

.studio-header-event__remove button {
    width: 100%;
    min-height: 48px;
    color: #f2aaa4;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: rgba(111, 34, 31, 0.18);
    border: 1px solid rgba(240, 143, 134, 0.34);
    border-radius: 999px;
}

.studio-header-event__remove i {
    margin-right: 7px;
}

.studio-control__log summary {
    color: #E8E4DA;
    font-weight: 700;
    cursor: pointer;
}

.studio-control__log ol {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.studio-control__log li {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(212, 192, 138, 0.16);
}

.studio-control__log li span {
    color: rgba(244, 240, 229, 0.62);
    font-size: 13px;
    text-align: right;
}

.studio-control__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 18px;
    padding: 8px 10px;
}

.studio-control__footer a {
    color: #E8E4DA;
    text-underline-offset: 3px;
}

/* Eigene, vereinfachte Anmeldung ohne WordPress-Oberfläche. */
.studio-control-login-app {
    display: grid;
    min-height: 100vh;
    place-items: center;
}

.studio-login {
    width: min(100% - 28px, 430px);
    padding: max(24px, env(safe-area-inset-top)) 0 max(28px, env(safe-area-inset-bottom));
}

.studio-login__header {
    margin-bottom: 18px;
    text-align: center;
}

.studio-login__header img {
    width: 92px;
    height: 92px;
    margin-bottom: 14px;
    object-fit: cover;
    border: 1px solid rgba(228, 201, 93, 0.72);
    border-radius: 22px;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.32);
}

.studio-login__header > span {
    display: block;
    margin-bottom: 5px;
    color: #E8E4DA;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.studio-login__header h1 {
    margin: 0 0 8px;
    color: #E8E4DA;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
}

.studio-login__header p {
    margin: 0;
    color: rgba(244, 240, 229, 0.72);
}

.studio-login-form {
    padding: 22px;
    background: rgba(0, 0, 0, 0.34);
    border: 1px solid rgba(212, 192, 138, 0.34);
    border-radius: 20px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(7px);
}

.studio-login-form > label {
    display: block;
    margin-bottom: 18px;
}

.studio-login-form > label > span {
    display: block;
    margin-bottom: 8px;
    color: #E8E4DA;
    font-weight: 700;
}

.studio-login-form input[type="text"],
.studio-login-form input[type="password"] {
    width: 100%;
    min-height: 52px;
    padding: 12px 14px;
    color: #f4f0e5;
    font: inherit;
    background: #0a2017;
    border: 1px solid rgba(212, 192, 138, 0.38);
    border-radius: 12px;
}

.studio-login-form input:focus {
    border-color: #e4c95d;
    box-shadow: 0 0 0 3px rgba(228, 201, 93, 0.12);
    outline: none;
}

.studio-login-form__remember {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px;
    color: rgba(244, 240, 229, 0.68);
    font-size: 13px;
}

.studio-login-form__remember i {
    color: #E8E4DA;
}

.studio-login-form button {
    width: 100%;
    min-height: 54px;
    color: #071b13;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    background: #e4c95d;
    border: 1px solid #e4c95d;
    border-radius: 999px;
}

.studio-login__help {
    margin: 16px 0 0;
    color: rgba(244, 240, 229, 0.62);
    font-size: 13px;
    text-align: center;
}

@media (max-width: 767px) {
    .site-header--override,
    .site-header--override .site-header__inner {
        min-height: 150px;
    }

    .site-header--override .site-header__right {
        padding-block: 10px;
    }

    .site-header__override-notice {
        flex-wrap: wrap;
        flex-basis: 100%;
        width: 100%;
        margin: 10px 0 0;
        padding: 10px 14px;
        border-radius: 16px;
        font-size: 14px;
    }

    .site-header__override-notice span {
        flex-basis: 100%;
    }

    .site-header__promotion {
        flex-wrap: wrap;
        width: calc(100% - 24px);
        margin: 4px auto 18px;
        text-align: center;
    }

    .site-header__promotion > div {
        flex: 1 1 calc(100% - 40px);
    }

    .site-header__promotion a {
        width: min(100%, 280px);
        text-align: center;
    }

    .studio-control-form__choices {
        grid-template-columns: 1fr;
    }

    .studio-control-form__choices--time {
        grid-template-columns: 1fr 1fr;
    }

    .studio-actions__dates {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .studio-header-event__dates {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .studio-header-event__current {
        grid-template-columns: 105px 1fr;
    }

    .studio-header-event__motif-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .studio-control-form__choices:not(.studio-control-form__choices--time) label > span {
        flex-direction: row;
        min-height: 58px;
    }
}

.studio-flyer {
    margin: 10px 0 4px;
    padding: clamp(18px, 4vw, 28px);
    border: 1px solid rgba(230, 196, 106, .35);
    border-radius: 22px;
    background: rgba(0, 9, 5, .52);
    box-shadow: inset 0 1px rgba(255, 255, 255, .03);
}

.studio-flyer > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}

.studio-flyer > header span {
    display: block;
    margin-bottom: 4px;
    color: #E8E4DA;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.studio-flyer > header h3 {
    margin: 0;
    color: #e8e4da;
    font-family: Georgia, serif;
    font-size: clamp(21px, 4vw, 28px);
}

.studio-flyer > header i {
    color: #E8E4DA;
    font-size: 25px;
}

.studio-flyer__format {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}

.studio-flyer__format > span {
    color: #e8e4da;
    font-weight: 700;
}

.studio-flyer__format select {
    width: 100%;
    min-height: 52px;
    padding: 0 15px;
    border: 1px solid rgba(230, 196, 106, .4);
    border-radius: 14px;
    color: #e8e4da;
    background: #07170e;
    font: inherit;
}

.studio-flyer__preview {
    display: grid;
    place-items: center;
    padding: 12px;
    overflow: hidden;
    border: 1px solid rgba(230, 196, 106, .22);
    border-radius: 18px;
    background: rgba(0, 0, 0, .42);
}

.studio-flyer__preview canvas {
    display: block;
    width: 100%;
    height: auto;
    max-height: 600px;
    object-fit: contain;
    border-radius: 10px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .42);
}

.studio-flyer__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 15px;
}

.studio-flyer__actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 52px;
    padding: 10px 14px;
    border: 1px solid #e6c46a;
    border-radius: 999px;
    color: #061009;
    background: #e6c46a;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.studio-flyer__actions button + button {
    color: #E8E4DA;
    background: transparent;
}

.studio-flyer__actions button:hover,
.studio-flyer__actions button:focus-visible {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.studio-flyer__status {
    min-height: 22px;
    margin: 10px 0 0;
    color: #bcd9c7;
    font-size: 14px;
    text-align: center;
}

.studio-flyer__status.is-error {
    color: #ffb0a8;
}

@media (max-width: 620px) {
    .studio-flyer__actions {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .studio-control-app *,
    .site-header__override-notice {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}


