/* Tibolin Tickets – Kundenkonto und Online-Ticket */
.tt-account,.tt-public{--navy:#101b32;--text:#3f4b60;--muted:#6b7587;--line:#e6e1dc;--orange:#f28c28;--orange-deep:#d96a0e;--cream:#fff0e2;--ok:#1f7a4d}
.tt-account{display:grid;gap:18px;margin:0 0 28px;color:var(--text)}
.tt-account h2{margin:0;color:var(--navy);font-size:20px}
.tt-hint{margin:0;color:var(--muted);font-size:14px}
.tt-empty{margin:0;padding:14px 16px;border-left:3px solid var(--orange);background:var(--cream);color:var(--navy)}
.tt-ticket{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start;padding:22px 0;border-top:2px solid var(--navy);border-bottom:1px solid var(--line)}
.tt-ticket.is-past{opacity:.55}
.tt-ticket__qr{padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;line-height:0}
.tt-ticket__qr svg{display:block;width:100%;height:auto}
.tt-ticket__qr svg .dark,.tt-ticket__qr svg path{fill:var(--navy)}
.tt-ticket__body{display:grid;gap:14px;min-width:0}
.tt-ticket__code{margin:0;color:var(--navy);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px;font-weight:700;letter-spacing:.06em}
.tt-ticket__event strong{display:block;color:var(--navy);font-size:17px;line-height:1.3}
.tt-ticket__event span{display:block;margin-top:2px;color:var(--muted);font-size:14px}
.tt-ticket__event ul{margin:8px 0 0;padding:0;list-style:none}
.tt-ticket__event li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:9px 0;border-bottom:1px solid var(--line);color:var(--navy);font-size:15px}
.tt-ticket__event li:first-child{border-top:1px solid var(--line)}
.tt-line__state{font-size:13px;font-weight:600;color:var(--muted);text-align:right;white-space:nowrap}
.tt-ticket__event li.is-done .tt-line__name{color:var(--muted)}
.tt-ticket__event li.is-done .tt-line__state{color:var(--ok)}
.tt-ticket__event li.is-done .tt-line__state::before{content:"";display:inline-block;width:7px;height:12px;margin-right:7px;border:solid var(--ok);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px)}
.tt-ticket__event li.is-part .tt-line__state{color:var(--orange-deep)}
.tt-progress{margin-top:12px}
.tt-progress__bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.tt-progress__bar i{display:block;height:100%;background:var(--ok)}
.tt-progress small{display:block;margin-top:6px;font-size:13px;font-weight:600;color:var(--navy)}
.tt-ticket__event li b{display:inline-block;min-width:28px;color:var(--orange-deep)}

.tt-ticket__meta{margin:0;color:var(--muted);font-size:13px}
.tt-ticket__link{justify-self:start;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:12px;background:var(--orange-deep);color:#fff!important;font-weight:600;text-decoration:none}
.tt-ticket__link:hover{background:#c25c08}
.tt-past summary{padding:12px 0;color:var(--navy);font-weight:600;cursor:pointer}

/* Online-Ticket (eigene Seite, ohne Theme) */
body.tt-public{margin:0;background:#fff;color:var(--text);font-family:Poppins,system-ui,-apple-system,"Segoe UI",sans-serif}
.tt-public__main{max-width:460px;margin:0 auto;padding:28px 18px 40px}
.tt-public__brand{margin:0 0 18px;color:var(--orange-deep);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.tt-public .tt-ticket{grid-template-columns:1fr;gap:20px;border-bottom:0}
.tt-public .tt-ticket__qr{padding:14px}
.tt-public .tt-hint{margin-top:8px}

@media(max-width:640px){
	.tt-ticket{grid-template-columns:1fr}
	.tt-ticket__qr{max-width:260px}
}

@media (max-width:480px){.tt-ticket__event li{flex-wrap:wrap}.tt-line__state{white-space:normal;text-align:left}}

/* Danke-Seite: kompakt, Text links, QR rechts */
.tt-kicker{margin:0;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-deep)}
.tt-account--compact{gap:8px}
.tt-account--compact h2{font-size:24px}
.tt-account--compact .tt-ticket{grid-template-columns:minmax(0,1fr) 180px;margin-top:12px}
.tt-account--compact .tt-ticket__qr{order:2}
@media (max-width:640px){.tt-account--compact .tt-ticket{grid-template-columns:1fr}.tt-account--compact .tt-ticket__qr{order:0;max-width:220px}}
