/* Bullauge Adventskalender – independent account portal */
.baa-account-widget{--ba-navy:#122e43;--ba-sea:#20546a;--ba-gold:#e0bd7a;--ba-cream:#fffaf0;max-width:510px;margin:20px auto;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5;box-sizing:border-box}
.baa-account-widget *{box-sizing:border-box}
.baa-account-widget .baa-account-card{background:linear-gradient(145deg,var(--ba-navy),var(--ba-sea));color:#fff;border:1px solid rgba(224,189,122,.7);border-radius:20px;overflow:hidden;box-shadow:0 18px 36px rgba(5,24,35,.24)}
.baa-account-widget .baa-account-head{display:flex;align-items:center;gap:15px;padding:22px 25px;border-bottom:1px solid rgba(255,255,255,.16)}
.baa-account-widget .baa-account-head strong{display:block;font-size:21px;letter-spacing:.03em;color:#fff}
.baa-account-widget .baa-account-head small{display:block;opacity:.85;font-size:13px}
.baa-account-widget .baa-account-anchor{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--ba-gold);font-size:25px;background:rgba(255,255,255,.08)}
.baa-account-widget .baa-account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:18px 24px 0}
.baa-account-widget .baa-account-tabs button{font:inherit;font-weight:650;min-height:44px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:transparent;color:#fff;cursor:pointer}
.baa-account-widget .baa-account-tabs button.is-active{background:var(--ba-gold);color:#172d3d;border-color:var(--ba-gold)}
.baa-account-widget .baa-account-content{padding:17px 25px 8px}
.baa-account-widget h3{font-size:21px;margin:0 0 15px;color:#fff}
.baa-account-widget h4{font-size:17px;color:#fff;margin:14px 0 8px}
.baa-account-widget .baa-account-form{display:grid;gap:12px}
.baa-account-widget .baa-account-field{display:grid;gap:5px;margin:0;font-size:13px;font-weight:600;color:#f4f7f7}
.baa-account-widget .baa-account-field input{width:100%;min-height:44px;background:var(--ba-cream);color:#182e3d;border:2px solid transparent;border-radius:9px;padding:10px 12px;font:inherit;font-size:16px}
.baa-account-widget input:focus-visible,.baa-account-widget button:focus-visible{outline:3px solid var(--ba-gold);outline-offset:3px}
.baa-account-widget .baa-account-accept{display:flex;align-items:start;gap:10px;font-size:13px;margin:4px 0;color:#fff}
.baa-account-widget .baa-account-accept input{width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--ba-gold)}
.baa-account-widget a{color:#ffdf9b;text-decoration:underline}
.baa-account-widget .baa-account-submit{width:100%;min-height:46px;border:none;border-radius:10px;background:var(--ba-gold);color:#1b3041;font:inherit;font-weight:750;cursor:pointer;padding:10px 15px;margin:5px 0}
.baa-account-widget button:disabled{opacity:.55;cursor:not-allowed}
.baa-account-widget .baa-account-links{text-align:right;padding:8px 0 0}
.baa-account-widget .baa-account-links button{padding:5px 0;border:0;background:none;color:#ffdf9b;cursor:pointer;text-decoration:underline}
.baa-account-widget .baa-account-feedback{min-height:20px;padding:0 25px 16px;color:#d7f6e5;font-size:14px;font-weight:650;margin:0}
.baa-account-widget .baa-account-feedback.baa-account-error{color:#ffb9ab}
.baa-account-widget .baa-account-welcome{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:20px 25px}
.baa-account-widget .baa-account-welcome span{flex:1 1 100%}
.baa-account-widget .baa-account-welcome button{border:1px solid var(--ba-gold);border-radius:9px;background:transparent;color:#ffdf9b;min-height:38px;padding:6px 14px;cursor:pointer}
.baa-account-widget .baa-account-profile{padding:0 25px 15px}
.baa-account-widget .baa-account-profile[hidden]{display:none}
.baa-account-widget .baa-account-profile-form{display:grid;gap:9px}
.baa-account-widget .baa-account-vouchers{display:grid;gap:8px;margin:10px 0}
.baa-account-widget .baa-account-voucher{padding:10px;border:1px solid rgba(255,255,255,.2);border-radius:9px;display:grid;gap:4px}
.baa-account-widget .baa-account-voucher span{opacity:.85;font-size:13px}
.baa-account-widget .baa-account-hint,.baa-account-widget .baa-account-preview-note{font-size:13px;color:#e3edf0}
@media(max-width:500px){.baa-account-widget .baa-account-head{padding:15px}.baa-account-widget .baa-account-content{padding:14px 16px}.baa-account-widget .baa-account-feedback{padding:0 16px 14px}}

/* 0.8.0 – Persönlicher Bereich: Teilnahmen und Passwortänderung */
.baa-account-history-item{display:flex;flex-direction:column;gap:4px;border-bottom:1px solid rgba(255,255,255,.18);padding:12px 0}
.baa-account-history-item strong{font-size:14px}
.baa-account-history-item span,.baa-account-history-item small{opacity:.86;font-size:13px}
.baa-account-history-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}
.baa-account-history-controls[hidden]{display:none}
.baa-account-history-controls button{padding:8px 12px;border-radius:6px;cursor:pointer}
.baa-account-security{margin-top:12px}
.baa-account-security summary{cursor:pointer;font-weight:600;padding:8px 0}
.baa-account-password-form{display:grid;gap:12px;padding:10px 0}

.baa-account-voucher-print{display:block;margin-top:8px;padding:8px 12px;border:1px solid #cba86b;border-radius:6px;background:#e3c68c;color:#102e43;font:inherit;font-weight:600;cursor:pointer}.baa-account-voucher-print:hover{background:#f1dba9}

/* 1.2.1 – Kassengutschein mit vollständig scanbarem QR-Code */
.baa-account-voucher-qr{display:flex;justify-content:center;margin:8px 0}.baa-account-voucher-qr svg{width:160px;height:160px;max-width:100%;background:#fff;padding:6px;border-radius:8px}.baa-account-voucher-code{display:block;overflow-wrap:anywhere;text-align:center;padding:8px;background:#fff;color:#102e43;border-radius:5px;font-weight:700;letter-spacing:.035em}

/* 1.6.1: Animierte maritime Einladung, ohne Veränderung der Login-Felder */
.baa-account-intro{position:relative;overflow:hidden;margin:0 0 18px;padding:18px 22px;border:1px solid rgba(224,189,122,.65);border-radius:14px;background:linear-gradient(120deg,rgba(224,189,122,.15),rgba(255,255,255,.04),rgba(224,189,122,.15));background-size:220% 100%;animation:baa-intro-glow 7s ease-in-out infinite;color:#fff8e7;text-align:center;box-shadow:0 5px 22px rgba(0,0,0,.13)}
.baa-account-intro p{margin:0;line-height:1.65;font-size:clamp(14px,1.5vw,16px);font-weight:550;letter-spacing:.01em;animation:baa-intro-reveal .8s ease both}
.baa-account-intro-sparkle{position:absolute;left:9px;top:5px;font-size:22px;color:#f5d48c;pointer-events:none;animation:baa-intro-twinkle 3s ease-in-out infinite}
.baa-intro-sparkle-second{left:auto;right:9px;top:auto;bottom:3px;animation-delay:1.5s}
@keyframes baa-intro-glow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes baa-intro-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes baa-intro-twinkle{0%,100%{opacity:.35;transform:scale(.8) rotate(-10deg)}50%{opacity:1;transform:scale(1.25) rotate(15deg)}}
@media(prefers-reduced-motion:reduce){.baa-account-intro,.baa-account-intro p,.baa-account-intro-sparkle{animation:none!important}}


/* 1.6.4: Schneefall über dem Login, kein Einfluss auf die Formularbedienung */
.baa-advent-experience:has(.baa-account-widget),
.baa-account-widget.baa-account-standalone{position:relative;isolation:isolate;}
.baa-advent-experience > .baa-auth-snow,
.baa-account-standalone > .baa-auth-snow{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:6;border-radius:18px;}
.baa-auth-flake{position:absolute;top:-28px;left:var(--baa-snow-x);font-size:var(--baa-snow-size);line-height:1;color:rgba(255,255,255,.88);text-shadow:0 0 9px #5d96b3,0 0 3px #183e52;opacity:0;will-change:transform;animation:baa-auth-snowfall var(--baa-snow-duration) linear var(--baa-snow-delay) infinite;}
@keyframes baa-auth-snowfall{0%{transform:translate3d(0,-30px,0) rotate(0);opacity:0}12%{opacity:.9}85%{opacity:.85}100%{transform:translate3d(var(--baa-snow-drift),calc(var(--baa-snow-height, 780px) + 60px),0) rotate(280deg);opacity:0}}
.baa-account-invite-badge{display:inline-block;padding:6px 12px;margin:0 0 12px;border-radius:999px;border:1px solid rgba(245,210,139,.8);background:rgba(8,33,48,.55);color:#ffe4a0;font-size:12px;font-weight:750;letter-spacing:.02em;}
.baa-account-invite-benefits{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:-6px 0 15px;}
.baa-account-invite-benefits span{font-size:11px;line-height:1.45;border:1px solid rgba(224,189,122,.36);background:rgba(255,255,255,.06);padding:5px 8px;border-radius:999px;color:#fff7e9;}
@media(prefers-reduced-motion:reduce){.baa-auth-flake{animation:none!important;display:none!important}}

/* 1.6.5: Seitenweiter Schneefall (vor und nach Login) und Start-Countdown. */
#baa-page-snow.baa-page-snow{position:fixed!important;inset:0!important;z-index:1000!important;pointer-events:none!important;overflow:hidden!important;border-radius:0!important;contain:layout style paint;}
#baa-page-snow .baa-auth-flake{animation-name:baa-page-fall;}
@keyframes baa-page-fall{0%{transform:translate3d(0,-30px,0) rotate(0deg);opacity:0}12%{opacity:.85}85%{opacity:.8}100%{transform:translate3d(var(--baa-snow-drift),calc(100vh + 65px),0) rotate(270deg);opacity:0}}
.baa-registration-countdown{margin:0 0 18px;text-align:center;padding:12px 10px;border:1px solid rgba(224,189,122,.5);border-radius:10px;background:rgba(5,27,41,.36);color:#fff8e7;}
.baa-registration-countdown .baa-countdown-title{font-size:12px;display:block;opacity:.9;margin-bottom:5px;}
.baa-registration-countdown .baa-countdown-value{font-size:clamp(13px,2vw,17px);letter-spacing:.02em;display:block;font-variant-numeric:tabular-nums;}
@media(prefers-reduced-motion:reduce){#baa-page-snow{display:none!important}}

/* 1.6.6: Confirmation mail is an essential registration step. */
.baa-account-widget .baa-account-confirmation{display:flex;flex-direction:column;gap:9px;margin:12px 18px 20px!important;padding:18px!important;background:#fff9e9!important;color:#17394b!important;border:2px solid #e9bc66;border-radius:12px;box-shadow:0 8px 20px #0003;font-size:15px!important;line-height:1.6}
.baa-account-widget .baa-account-confirmation strong{display:block;font-size:19px;font-weight:800;color:#17394b}
.baa-account-widget .baa-account-confirmation span{display:block;color:#17394b}

/* 1.6.7: Registration confirmation receives visual and keyboard focus. */
.baa-account-widget .baa-account-confirmation:focus{outline:3px solid #d3a74b;outline-offset:3px}

.baa-account-awards{display:grid;gap:12px}.baa-account-awards .baa-account-voucher{display:flex;flex-direction:column;gap:7px}.baa-account-awards button{cursor:pointer}.baa-account-awards small{color:inherit;opacity:.8}
