@font-face {
  font-family: 'Rosamina Notice Italiana';
  src: url('/assets/fonts/italiana.60bf55626d54.woff2') format('woff2');
  font-display: swap;
}
html.rn-open { overflow: hidden; scrollbar-gutter: auto; }
html.rn-open .rn-rail { visibility: hidden; }
.rn-rail[hidden] { display: none; }
.rn-rail {
  --rn-overlap: 6px;
  position: fixed; right: 0; top: var(--rn-rail-top,0px); z-index: 39;
  width: 62px; height: max(0px,calc(100dvh - var(--rn-rail-top,0px) - env(safe-area-inset-bottom,0px)));
  display: flex; flex-direction: column; align-items: flex-end; justify-content: safe center;
  overflow: auto; scrollbar-width: none; pointer-events: none;
}
.rn-rail > .rn-handle { pointer-events: auto; }
.rn-rail > .rn-handle + .rn-handle { margin-top: calc(-1 * var(--rn-overlap)); }
.rn-rail > .rn-handle:nth-child(1) { z-index: 4; }
.rn-rail > .rn-handle:nth-child(2) { z-index: 3; }
.rn-rail > .rn-handle:nth-child(3) { z-index: 2; }
.rn-handle {
  position: relative; display: flex; flex-direction: column; flex: none;
  align-items: center; justify-content: center; gap: 7px;
  box-sizing: border-box; width: 44px; min-height: 50px; max-height: min(164px,var(--rn-tab-cap,164px));
  padding: 15px 0;
  border: 1px solid color-mix(in srgb,var(--rn-ink) 28%,var(--rn-paper)); border-right: 0;
  border-radius: 15px 0 0 15px; background: var(--rn-paper); color: var(--rn-ink);
  box-shadow: -4px 0 15px #2616091f; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.rn-handle:active { background: color-mix(in srgb,var(--rn-paper) 92%,var(--rn-ink)); }
.rn-handle:focus-visible { outline: 2px solid var(--rn-ink); outline-offset: -4px; }
.rn-label {
  flex: 0 1 auto; min-height: 0; overflow: hidden; text-overflow: ellipsis;
  writing-mode: vertical-rl; transform: rotate(180deg);
  white-space: nowrap; font: 500 10.5px/1.2 system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase;
}
.rn-arrow { flex: none; font: 400 18px/1 system-ui,sans-serif; }
.rn-drawer {
  position: fixed; inset: 0 0 0 auto; box-sizing: border-box; margin: 0; padding: 0; border: 0;
  width: min(460px,calc(100% - 48px)); height: 100%; height: 100dvh; max-width: none; max-height: none;
  overflow: visible; background: transparent; color: var(--rn-ink); box-shadow: -10px 0 36px #1c100e24;
  --rn-motion: 350ms;
  transform: translateX(100%);
  transition: transform var(--rn-motion) cubic-bezier(.22,.61,.36,1);
}
.rn-drawer.rn-expanded { transform: translateX(0); }
.rn-drawer.rn-closing { --rn-motion: 280ms; }
.rn-drawer::backdrop { background: #120b074f; opacity: 0; transition: opacity var(--rn-motion) ease-out; }
.rn-drawer.rn-expanded::backdrop { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .rn-drawer, .rn-drawer::backdrop { transition: none; }
}
.rn-drawer > .rn-handle { position: absolute; right: 100%; top: 55%; transform: translateY(-50%); }
.rn-drawer > .rn-handle.rn-from-rail { transform: none; }
.rn-panel {
  position: relative; height: 100%; display: flex; flex-direction: column; overflow: hidden;
  background: var(--rn-paper); color: var(--rn-ink);
}
.rn-close {
  position: absolute; z-index: 2; right: max(12px,env(safe-area-inset-right)); top: max(8px,env(safe-area-inset-top));
  display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%;
  background: var(--rn-paper); color: var(--rn-ink); cursor: pointer;
}
.rn-close svg {
  position: absolute; inset: 0; margin: auto; display: block; width: 24px; height: 24px;
  fill: none; stroke: currentColor; stroke-width: 1.6; pointer-events: none;
}
.rn-scroll {
  flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb,var(--rn-ink) 50%,var(--rn-paper)) var(--rn-paper);
}
.rn-scroll:focus-visible { outline: 2px solid var(--rn-ink); outline-offset: -2px; }
.rn-media { position: relative; height: 286px; overflow: hidden; }
.rn-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 42% 43%; }
.rn-media img[src$="/chocorange-widget-fade.svg"] { object-position: 42% 100%; }
.rn-media:has(img[src="/assets/img/studio/open-studio-empfang-2026.jpg"])::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to bottom,transparent 45%,
    color-mix(in srgb,var(--rn-paper) 10%,transparent) 61%,
    color-mix(in srgb,var(--rn-paper) 52%,transparent) 78%,var(--rn-paper) 98%);
}
.rn-copy {
  padding: 9px 30px max(26px,env(safe-area-inset-bottom));
  overflow-wrap: anywhere;
}
.rn-copy:first-child { padding-top: max(62px,calc(env(safe-area-inset-top) + 54px)); }
.rn-eyebrow {
  margin: 0 0 14px; font: 500 10px/1.5 system-ui,sans-serif; letter-spacing: .14em; text-transform: uppercase;
}
.rn-title {
  margin: 0 0 19px; font: 400 45px/1.08 'Rosamina Notice Italiana',Georgia,serif;
  letter-spacing: -.026em; white-space: pre-line; color: inherit;
}
.rn-description p { margin: 0 0 19px; font: 400 15px/1.6 system-ui,sans-serif; white-space: pre-line; }
.rn-description p:last-child { margin-bottom: 0; }
.rn-description strong { font-weight: 600; }
.rn-footer {
  flex: none; max-height: 55%; overflow: auto; overscroll-behavior: contain; display: grid;
  margin: 0 30px; padding: 13px 0 max(12px,env(safe-area-inset-bottom)); gap: 8px;
  border-top: 1px solid color-mix(in srgb,var(--rn-ink) 55%,var(--rn-paper)); overflow-wrap: anywhere;
}
.rn-price { display: flex; justify-content: space-between; gap: 10px; margin: 0; font: 400 20px/1.4 system-ui,sans-serif; }
.rn-note { margin: 0 0 3px; font: 400 12px/1.55 system-ui,sans-serif; }
.rn-footer .rn-primary {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 52px; padding: 12px 18px;
  background: var(--rn-ink); color: var(--rn-paper); text-decoration: none;
  font: 550 11px/1.5 system-ui,sans-serif; letter-spacing: .09em; text-transform: uppercase;
}
.rn-primary span { font-size: 20px; line-height: 1; }
.rn-footer .rn-secondary {
  display: flex; align-items: center; justify-self: center; min-height: 44px; color: inherit;
  font: 400 14px/1.5 system-ui,sans-serif; text-decoration: underline; text-underline-offset: 4px;
}
@media (max-width:600px) {
  .rn-media { height: clamp(180px,27svh,220px); }
  .rn-copy { padding-inline: 24px; }
  .rn-footer { margin-inline: 24px; }
  .rn-title { font-size: clamp(30px,8.3vw,38px); }
  .rn-description p { font-size: 14px; }
}
@media (max-width:350px) {
  .rn-copy { padding-inline: 20px; }
  .rn-footer { margin-inline: 20px; }
}
@media (max-height:420px) {
  .rn-handle { gap: 4px; padding-block: 8px; }
  .rn-label { font-size: 9px; letter-spacing: .05em; }
}

.rn-voucher-frame {
  display: block;
  flex: 1;
  min-height: 0;
  width: 100%;
  border: 0;
  margin-top: max(58px,calc(env(safe-area-inset-top) + 50px));
  background: var(--rn-paper);
}

.rn-panel [hidden] { display: none !important; }
.rn-panel button.rn-primary { width: 100%; border: 0; text-align: left; cursor: pointer; }
.rn-panel button.rn-primary:disabled { opacity: .6; cursor: wait; }
.rn-scroll:not(:has(.rn-media:not([hidden]))) .rn-action-copy { padding-top: max(56px,calc(env(safe-area-inset-top) + 48px)); }
.rn-action-copy .rn-title:focus { outline: none; }
.rn-action-back {
  display: block; min-height: 44px; margin: -7px 0 14px; padding: 0; border: 0;
  background: none; color: inherit; text-align: left; cursor: pointer;
  font: 500 14px/1.4 system-ui,sans-serif;
}
.rn-action-list, .rn-action-row { display: grid; gap: 10px; }
.rn-action-list { gap: 16px; }
.rn-action-list .rn-primary, .rn-option {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  min-height: 48px; padding: 12px 14px; text-decoration: none;
  font: 550 14px/1.4 system-ui,sans-serif;
}
.rn-action-list .rn-primary { background: var(--rn-ink); color: var(--rn-paper); }
.rn-option {
  border: 1px solid color-mix(in srgb,var(--rn-ink) 38%,var(--rn-paper)); color: inherit;
}
.rn-action-note, .rn-event-error { margin: 0; font: 400 12px/1.5 system-ui,sans-serif; }
.rn-action-note a, .rn-privacy-link { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.rn-privacy-link { justify-self: center; padding: 8px; font: 400 12px/1.4 system-ui,sans-serif; }
.rn-event-name { margin: 0 0 4px; font: 600 16px/1.45 system-ui,sans-serif; }
.rn-event-date { margin: 0 0 24px; font: 400 14px/1.5 system-ui,sans-serif; }
.rn-event-form { display: grid; gap: 14px; }
.rn-event-form label { display: grid; gap: 5px; font: 600 14px/1.4 system-ui,sans-serif; }
.rn-event-form small { font-size: 12px; font-weight: 400; }
.rn-event-form input {
  min-height: 45px; padding: 9px 11px; width: 100%; margin: 0; color: inherit;
  border: 1px solid color-mix(in srgb,var(--rn-ink) 38%,var(--rn-paper)); border-radius: 5px;
  background: #fffefa; font: 400 16px/1.4 system-ui,sans-serif;
}
.rn-event-error { color: #802f32; font-weight: 600; }
.rn-event-error:empty { display: none; }
.rn-footer:not(:has(> :not([hidden]))) { display: none; }
