/* ---------- Cookie-Hinweis (js/cookie-notice.js) ----------
   Aufbau wie reiseclub.de, Farben und Schrift aus der Sonnenbrüder-CI (css/style.css). */
.sbc{
  --sbc-gelb:var(--color-primary,#FAB727);
  --sbc-gelb-dunkel:var(--color-primary-dark,#E39F12);
  --sbc-tinte:var(--color-ink,#0B0D31);
  --sbc-tinte-2:var(--color-ink-2,#2B2B28);
  --sbc-leise:#5E5E59;
  --sbc-wolke:var(--color-cloud,#F6F4F0);
  --sbc-linie:#E7E3DA;
  box-sizing:border-box;
  width:calc(100% - 32px);max-width:530px;
  max-height:min(740px,calc(100dvh - 32px));
  margin:auto;padding:0;border:0;border-radius:1.5rem;
  background:#fff;color:var(--sbc-tinte);
  font-family:'Plus Jakarta Sans','Plus Jakarta Ersatz',system-ui,sans-serif;
  font-size:.75rem;line-height:1.6;text-align:left;
  box-shadow:0 24px 60px -12px rgba(11,13,49,.35);
  overflow:hidden;
}
.sbc[open]{display:flex;flex-direction:column;}
.sbc *,.sbc *::before,.sbc *::after{box-sizing:border-box;}
.sbc.sbc-breit{max-width:970px;}
.sbc::backdrop{background:rgba(11,13,49,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
html.sbc-offen{overflow:hidden;}

/* Kopf */
.sbc-kopf{flex:none;padding:1.25rem 1.25rem 1rem;text-align:center;border-bottom:1px solid var(--sbc-linie);}
.sbc-logo{display:block;height:28px;width:auto;margin:.25rem auto .75rem;}
.sbc-titel{margin:0;font-size:1.25rem;line-height:1.3;font-weight:700;color:var(--sbc-tinte);outline:none;}
.sbc .sbc-titel:focus,.sbc .sbc-titel:focus-visible,.sbc .sbc-knoepfe-seite:focus,.sbc .sbc-knoepfe-seite:focus-visible{outline:none;box-shadow:none;}

/* Inhalt */
.sbc-inhalt{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1.25rem .25rem;}
.sbc-text p,.sbc-leise p,.sbc-gruppe-text p{margin:0 0 .9em;}
.sbc-text{color:var(--sbc-tinte-2);}
.sbc:not(.sbc-breit) .sbc-text{text-align:center;}
.sbc a{color:inherit;text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:2px;}
.sbc a:hover{opacity:.7;}
.sbc a:focus-visible,.sbc button:focus-visible,.sbc input:focus-visible{outline:2px solid var(--sbc-tinte);outline-offset:3px;border-radius:4px;}
.sbc-leise{color:var(--sbc-leise);}
.sbc ul{margin:.25em 0 .9em;padding-left:0;list-style:none;}
.sbc li{position:relative;padding-left:1em;}
.sbc li::before{content:"-";position:absolute;left:0;}
.sbc sup{font-size:.7em;line-height:0;}

/* Knöpfe */
.sbc-knoepfe{flex:none;display:flex;flex-direction:column;gap:.625rem;padding:.75rem 1.25rem 1rem;}
.sbc-knopf{
  display:block;width:100%;min-height:48px;padding:.75rem 1.25rem;
  border-radius:9999px;border:2px solid transparent;
  font:inherit;font-size:1rem;font-weight:700;line-height:1.3;text-align:center;cursor:pointer;
  transition:background-color .2s,border-color .2s,transform .2s;
}
.sbc-knopf:active{transform:scale(.98);}
.sbc-knopf-alle,.sbc-knopf-speichern{background:var(--sbc-gelb);color:var(--sbc-tinte);}
.sbc-knopf-alle:hover,.sbc-knopf-speichern:hover{background:var(--sbc-gelb-dunkel);}
.sbc-knopf-ohne{background:#fff;color:var(--sbc-tinte);border-color:var(--sbc-tinte);}
.sbc-knopf-ohne:hover{background:var(--sbc-wolke);}
.sbc-linkknopf{
  display:inline;padding:0;margin:0;border:0;background:none;cursor:pointer;
  font:inherit;color:inherit;text-align:inherit;
  text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:2px;
}
.sbc-linkknopf:hover{opacity:.7;}
.sbc-individuell{align-self:center;margin-top:.25rem;font-size:.9375rem;font-weight:600;text-align:center;text-decoration:none;}

/* Fuß */
.sbc-fuss{flex:none;display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:.75rem 1.25rem 1rem;background:var(--sbc-wolke);border-top:1px solid var(--sbc-linie);font-size:.8125rem;color:var(--sbc-leise);}

/* Individuelle Ansicht */
.sbc-sprung{position:absolute;left:-9999px;}
.sbc-sprung:focus{position:static;display:inline-block;margin-bottom:.5rem;}
.sbc-knoepfe-seite{padding:0;margin:0 0 1rem;outline:none;}
.sbc-abschnitt{margin:.5rem 0 1rem;}
.sbc-zwischentitel{margin:0 0 .35rem;font-size:1rem;line-height:1.4;font-weight:700;color:var(--sbc-tinte);}
.sbc-gruppe{margin:0 0 .75rem;padding:1rem;border-radius:1rem;background:var(--sbc-wolke);}
.sbc-gruppe-name{font-size:1rem;font-weight:700;}
.sbc-gruppe-text{margin:.35rem 0 0;color:var(--sbc-leise);}
.sbc-gruppe-text > p:last-child{margin-bottom:0;}
.sbc-dienste{margin-top:.75rem;}
.sbc-dienst{margin:0 0 .625rem;padding:.875rem 1rem;border-radius:.75rem;background:#fff;}
.sbc-dienst:last-child{margin-bottom:0;}
.sbc-dienst-name{display:block;margin-bottom:.5rem;font-size:.9375rem;font-weight:700;}
.sbc-feld{margin:0 0 .25rem;color:var(--sbc-tinte-2);overflow-wrap:anywhere;}
.sbc-feld > strong{font-weight:700;color:var(--sbc-tinte);}
.sbc-zweck p:first-of-type{display:inline;}
.sbc-zweck p:first-of-type + *{margin-top:.25em;}
.sbc-feld-eingerueckt{padding-left:1rem;}
.sbc-gcm-liste{display:flex;flex-direction:column;gap:.375rem;margin:.375rem 0 .5rem 1rem;}
.sbc-gcm .sbc-gcm-liste{margin-left:0;}
.sbc-details-knopf{margin-top:.5rem;color:var(--sbc-leise);}
.sbc-details{margin-top:.5rem;}
.sbc-cookie{margin-top:.625rem;padding-top:.625rem;border-top:1px solid var(--sbc-linie);}

/* Kästchen */
.sbc-check{display:flex;align-items:flex-start;gap:.625rem;cursor:pointer;}
.sbc-check input{flex:none;width:20px;height:20px;margin:.1rem 0 0;accent-color:var(--sbc-tinte);cursor:pointer;}
.sbc-check input:disabled{cursor:not-allowed;}
.sbc-gruppe-name input{margin-top:.2rem;}

@media (min-width:768px){
  .sbc-breit .sbc-knoepfe-seite{float:right;width:calc(50% - .75rem);margin:0 0 1rem 1.5rem;}
  .sbc-breit .sbc-inhalt{padding:1.25rem 1.5rem .5rem;}
  .sbc-breit .sbc-abschnitt{clear:both;}
}

/* Handy: Fläche von unten, wie bei reiseclub.de */
@media (max-width:639.98px){
  .sbc,.sbc.sbc-breit{
    width:100%;max-width:none;margin:auto 0 0;
    max-height:min(85dvh,calc(100dvh - 24px));
    border-radius:1.5rem 1.5rem 0 0;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .sbc:not(.sbc-breit){max-height:min(560px,85dvh);}
  .sbc[open]{animation:sbc-hoch .45s cubic-bezier(.16,1,.3,1);}
  .sbc-kopf{padding:1rem 1rem .75rem;}
  .sbc-logo{height:24px;margin-bottom:.5rem;}
  .sbc-titel{font-size:1.125rem;}
  .sbc-inhalt{padding:.875rem 1rem .25rem;}
  .sbc-knoepfe{padding:.625rem 1rem .75rem;}
  .sbc-fuss{padding:.625rem 1rem .75rem;}
  .sbc-gruppe{padding:.875rem;}
  .sbc-dienst{padding:.75rem;}
}
@keyframes sbc-hoch{from{transform:translateY(100%);}to{transform:none;}}
@media (prefers-reduced-motion:reduce){
  .sbc[open]{animation:none;}
  .sbc-knopf{transition:none;}
}
