@import url('https://fonts.googleapis.com/css2?family=Syne:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

.sts-ticketing {
    --sts-bg:#000000;
    --sts-panel:#1B1E26;
    --sts-panel-2:#050506;
    --sts-card:#050506;
    --sts-card-soft:#0B0C0F;
    --sts-gold:#EFAE54;
    --sts-gold-deep:#D69528;
    --sts-gold-gradient:linear-gradient(180deg,#EFAE54 0%,#D69528 100%);
    --sts-white:#F7F4EF;
    --sts-grey:#D2D3D5;
    --sts-muted:#595D66;
    --sts-seat:#3D414A;
    --sts-seat-taken:#252932;
    --sts-line:rgba(255,255,255,.075);
    --sts-gold-line:rgba(239,174,84,.72);
    color:var(--sts-white);
    background:var(--sts-bg);
    border-radius:0;
    padding: 0;
    font-family:Niveau Grotesk,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    overflow:visible;
    position:relative;
}
.sts-ticketing * { box-sizing:border-box; }
.sts-shell { max-width:1280px; margin:0 auto; position:relative; }
.sts-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.sts-progress { display:flex; align-items:center; justify-content:center; gap:18px; margin:0 auto 34px; font-family:Syne,Inter,sans-serif; }
.sts-progress-step { display:flex; align-items:center; gap:12px; color:var(--sts-white); }
.sts-progress-number { width:42px; height:42px; border-radius:999px; display:flex; align-items:center; justify-content:center; border:1px solid var(--sts-gold-deep); color:var(--sts-white); font-weight:700; font-size:16px; line-height:1; }
.sts-progress-step.is-active .sts-progress-number { background:var(--sts-gold-gradient); border-color:transparent; color:#050506; }
.sts-progress-step.is-done .sts-progress-number { border-color:var(--sts-gold); color:var(--sts-gold); }
.sts-progress-step.is-done .sts-progress-label { color:var(--sts-gold); }
.sts-progress-label { color:var(--sts-white); text-transform:uppercase; letter-spacing:.22em; font-size:16px; font-weight:700; }
.sts-progress-line { width:72px; height:1px; background:linear-gradient(90deg,rgba(239,174,84,.65),rgba(239,174,84,.12)); }

/* Step wizard: each step shows only its own panel */
.sts-ticketing[data-sts-step="1"] .sts-step-panel-2 { display:none; }
.sts-ticketing[data-sts-step="2"] .sts-step-panel-1 { display:none; }
.sts-ticketing .sts-progress-step[data-sts-step="1"],
.sts-ticketing .sts-progress-step[data-sts-step="2"] { cursor:pointer; }

.sts-step-datebar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 24px; padding:14px 24px; background:var(--sts-panel); border:1px solid rgba(239,174,84,.35); box-shadow:0 22px 54px rgba(0,0,0,.38); }
.sts-step-datebar-label { display:block; margin-bottom:4px; color:var(--sts-grey); font-family:Syne,Inter,sans-serif; font-size:11px; font-weight:700; letter-spacing:.20em; text-transform:uppercase; }
.sts-step-datebar-value { color:var(--sts-gold); font-family:Syne,Inter,sans-serif; font-size:16px; font-weight:700; letter-spacing:.04em; }
.sts-change-date { flex:none; border:1px solid var(--sts-gold-line); border-radius:0; background:transparent; color:var(--sts-gold); font-family:Syne,Inter,sans-serif; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:11px 18px; cursor:pointer; transition:background .18s ease, color .18s ease, border-color .18s ease; }
.sts-change-date:hover { background:var(--sts-gold-gradient); border-color:transparent; color:#050506; }

.sts-header { text-align:center; margin-bottom:28px; }
.sts-kicker { display:block; color:var(--sts-gold); text-transform:uppercase; letter-spacing:.30em; font-family:Syne,Inter,sans-serif; font-size:11px; font-weight:800; }
.sts-header h2 { color:var(--sts-white); margin:12px 0 10px; font-family:Syne,Inter,sans-serif; font-size:clamp(30px,5vw,48px); line-height:1.05; font-weight:700; letter-spacing:-.02em; }
.sts-event-meta { color:var(--sts-grey); line-height:1.55; margin:0; }
.sts-event-meta strong { color:var(--sts-white); }

.sts-date-card { position:relative; margin:0; padding:20px 24px; background:#1a1f2e; border:1px solid #3a4251; box-shadow:0 22px 54px rgba(0,0,0,.38); }
.sts-date-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:16px; }
.sts-date-card h3 { margin:0 0 8px; color:var(--sts-white); font-family:Syne,Inter,sans-serif; font-size:18px; font-weight:700; letter-spacing:.20em; text-transform:uppercase; }
.sts-date-card p { margin:0; color:var(--sts-grey); font-size:16px; line-height:1.5; max-width:600px;}
.sts-date-status { flex:none; color:var(--sts-gold); font-family:Syne,Inter,sans-serif; font-size:16px; font-weight:700; letter-spacing:.20em; text-transform:uppercase; }
.sts-date-label { display:block; margin:30px 0 15px; color:var(--sts-white); font-size:15px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-family: Syne, sans-serif; }
.sts-date-select { width:100%; min-height:50px; border:1px solid rgba(239,174,84,.72); border-radius:0; background:#050506; color:var(--sts-white); padding:0 14px; font-size:15px; font-weight:500; outline:none; appearance: none; -webkit-appearance: none; -moz-appearance: none; font-family: Syne, sans-serif;
  padding: 12px 45px 12px 14px; /* right padding gives arrow space */
background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; background-size: 12px;} 
.sts-date-select:focus { border-color:var(--sts-gold); box-shadow:0 0 0 2px rgba(239,174,84,.18); }
.sts-date-select:disabled { opacity:.65; cursor:not-allowed; }
.sts-date-card.needs-date { border-color:var(--sts-gold); box-shadow:0 0 0 1px rgba(239,174,84,.45), 0 22px 54px rgba(0,0,0,.38); }
.sts-map-card.needs-date { border-color:rgba(239,174,84,.55); box-shadow:0 0 0 1px rgba(239,174,84,.28), 0 32px 70px rgba(0,0,0,.45); }
.sts-date-popup { position:absolute; right:24px; bottom:-18px; z-index:20; min-width:190px; padding:13px 18px; background:var(--sts-gold-gradient); color:#050506; font-family:Syne,Inter,sans-serif; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; text-align:center; box-shadow:0 18px 34px rgba(0,0,0,.35); }
.sts-map-date-popup { position:absolute; top:250px; left:50%; transform:translate(-50%,-50%); z-index:40; display:flex; align-items:center; gap:12px; min-width:min(88%,420px); width:max-content; max-width:calc(100% - 48px); padding:14px 18px; border:1px solid rgba(239,174,84,.65); border-radius:16px; background:linear-gradient(135deg,rgba(239,174,84,.98),rgba(214,149,40,.98)); color:#050506; font-family:Syne,Inter,sans-serif; font-size:18px; font-weight:700; letter-spacing:.10em; text-transform:uppercase; text-align:left; box-shadow:0 18px 48px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.08) inset; animation:stsMapDatePopupIn .18s ease-out both; }
.sts-map-date-popup-icon{flex:0 0 26px;width:26px;height:26px;min-width:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(5,5,6,.94);color:var(--sts-gold);font-weight:700;line-height:1;box-shadow:0 8px 18px rgba(0,0,0,.22);box-sizing:border-box;padding-left:2px}
@keyframes stsMapDatePopupIn { from { opacity:0; transform:translate(-50%,-62%); } to { opacity:1; transform:translate(-50%,-50%); } }
.sts-date-required-overlay { width:100%; min-height:280px; border:1px dashed rgba(239,174,84,.45); background:#050506; color:var(--sts-white); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; cursor:pointer; }
.sts-date-required-overlay:hover,.sts-date-required-overlay:focus { background:#050506; border-color:var(--sts-gold); }
.sts-date-required-overlay strong,.sts-date-required-card strong { color:var(--sts-gold); font-family:Syne,Inter,sans-serif; font-size:14px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.sts-date-required-overlay span,.sts-date-required-card p { color:var(--sts-grey); font-size:12px; margin:0; }
.sts-date-required-card { grid-column:1/-1; min-height:132px; padding:24px; border:1px dashed rgba(239,174,84,.45); background:var(--sts-card); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; cursor:pointer; }

.sts-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(400px,.82fr); gap:38px; align-items:start; }
.sts-map-card,.sts-summary-card { background:var(--sts-panel); border:1px solid rgba(255,255,255,.045); border-radius:0; box-shadow:0 32px 70px rgba(0,0,0,.45); }
.sts-map-card { position:relative; padding:0 24px 30px; overflow:visible; }
.sts-map-top { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 -24px 18px; padding:0 24px; border-bottom:1px solid rgba(255,255,255,.035); color:var(--sts-white); font-size:16px; font-weight:700; letter-spacing:.20em; text-transform:uppercase; font-family:Syne,Inter,sans-serif; }
.sts-selected-count { color:var(--sts-gold); font-size:16px; font-weight:700; white-space:nowrap; }
.sts-map-wrap { width:100%; min-height:280px; }
.sts-svg { display:block; width:100%; height:auto; max-height:500px; margin:0 auto; }
.sts-stage-label { font-family:Niveau Grotesk,sans-serif; font-size:20px; font-weight:700; letter-spacing:.08em; fill:#050506; display:none; }
.sts-row-group { outline:none; }
.sts-row-group.is-row-free,.sts-row-group.is-row-selected { cursor:pointer; }
.sts-row-group.is-row-full { cursor:not-allowed; opacity:.72; }
.sts-row-arc { fill:none; stroke:rgba(255,255,255,.045); stroke-width:1; transition:stroke .18s ease, stroke-width .18s ease, opacity .18s ease; }
.sts-row-group:hover .sts-row-arc { stroke:rgba(239,174,84,.36); stroke-width:2.2; }
.sts-row-group.is-row-selected .sts-row-arc { stroke:var(--sts-gold-deep); stroke-width:3; opacity:.65; }
.sts-seat-dot { stroke:rgba(255,255,255,.035); stroke-width:1; transition:fill .16s ease, filter .16s ease; }
.sts-seat-dot.is-seat-free { fill:var(--sts-seat); }
.sts-row-group.is-row-free:hover .sts-seat-dot.is-seat-free { fill:#555963; }
.sts-row-group.is-row-selected .sts-seat-dot.is-seat-free { fill:var(--sts-gold); filter:drop-shadow(0 0 5px rgba(239,174,84,.65)); }
.sts-seat-dot.is-seat-taken { fill:var(--sts-seat-taken); opacity:.9; }
.sts-row-label { font-family:Syne,Inter,sans-serif; font-size:14px; font-weight:700; fill:rgba(247,244,239,.72); }
.sts-row-group.is-row-selected .sts-row-label { fill:var(--sts-gold); }

.sts-legend { margin:10px 0 18px; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:14px; color:var(--sts-grey); font-size:10px; }
.sts-legend span { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.sts-dot { display:inline-block; width:10px; height:10px; border-radius:999px; }
.sts-dot-free { background:var(--sts-seat); }
.sts-dot-taken { background:var(--sts-seat-taken); }
.sts-dot-selected { background:var(--sts-gold); box-shadow:0 0 8px rgba(239,174,84,.55); }
.sts-legend-separator { width:1px; min-height:12px; background:var(--sts-line); padding:0; }
.sts-row-price strong { color:var(--sts-white); font-weight:800; }

.sts-row-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:0; }
.sts-row-card { display:block; min-height:132px; padding:18px; border-radius:0; background:var(--sts-card); border:1px solid rgba(255,255,255,.08); transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease; cursor:pointer; }
.sts-row-card:hover { border-color:rgba(239,174,84,.45); transform:translateY(-1px); }
.sts-row-card.is-selected { border-color:var(--sts-gold); box-shadow:0 0 0 1px rgba(239,174,84,.18), 0 18px 34px rgba(0,0,0,.28); }
.sts-row-card.is-disabled { opacity:.62; cursor:not-allowed; }
.sts-row-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:13px; font-family:Syne,Inter,sans-serif; }
.sts-row-card-head strong { color:var(--sts-white); font-size:16px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.sts-row-card-head span { color:var(--sts-white); font-size:14px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap; }
.sts-row-card p { margin:0 0 13px; min-height:22px; color:var(--sts-white); font-size:16px; line-height:1.45; font-weight:400; text-transform:capitalize; }
.sts-row-divider { height:1px; background:rgba(255,255,255,.55); opacity:.75; margin-bottom:13px; }
.sts-row-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.sts-row-price-main { color:var(--sts-gold); font-family:Syne,Inter,sans-serif; font-size:30px; font-weight:700; letter-spacing:.01em; }
.sts-row-stepper { display:flex; align-items:center; gap:10px; flex:none; }
.sts-row-stepper button { width:23px; height:23px; border-radius:999px; border:1px solid rgba(239,174,84,.42); background:transparent; color:var(--sts-gold); font-size:16px; line-height:1; padding:0 0 2px; cursor:pointer; transition:filter .18s ease, opacity .18s ease, background .18s ease; font-family:Inter,system-ui,sans-serif; }
.sts-row-stepper button:hover:not(:disabled) { filter:brightness(1.18); background:rgba(239,174,84,.08); }
.sts-row-stepper button:disabled { opacity:.45; cursor:not-allowed; }
.sts-row-stepper span { min-width:18px; text-align:center; color:var(--sts-gold); font-family:Syne,Inter,sans-serif; font-size:25px; font-weight:700; }
.sts-note { color:var(--sts-muted); font-size:12px; font-style:normal; margin:14px 2px 0; line-height:1.5; }

/* =========================
   Kids tickets ("Kinder bis einschließlich 17")
   ========================= */
.sts-kids-section { margin-top:26px; padding-top:22px; border-top:1px solid rgba(239,174,84,.28); }
.sts-kids-section[hidden] { display:none; }
.sts-kids-head { margin:0 0 16px; }
.sts-kids-title { margin:0; color:var(--sts-gold); font-family:Syne,Inter,sans-serif; font-size:18px; font-weight:700; letter-spacing:.10em; line-height:1.3; text-transform:capitalize; }
.sts-kids-note { margin:8px 0 0; color:var(--sts-grey); font-size:14px; line-height:1.5; }
.sts-kids-note:empty { display:none; }
.sts-kids-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.sts-kids-card { border-color:rgba(239,174,84,.30); }
.sts-kids-card.is-selected { border-color:var(--sts-gold); }
.sts-kids-card-label { margin:0 0 13px; min-height:22px; color:var(--sts-gold); font-size:15px; font-weight:600; line-height:1.45; text-transform:none; letter-spacing:.01em; }
.sts-picked-seat.is-kids span { white-space:normal; line-height:1.3; font-size:15px; }


.sts-summary-card { padding:0 14px 14px; position:sticky; top:160px; align-self:start; min-height:360px; }
.sts-summary-card h3 { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 -14px 14px; padding:0 14px; border-bottom:1px solid rgba(255,255,255,.035); color:var(--sts-white); text-transform:uppercase; letter-spacing:.20em; font-family:Syne,Inter,sans-serif; font-size:14px; font-weight:700; }
.sts-summary-count { color:var(--sts-gold); font-size:14px; font-weight:700; white-space:nowrap; }
.sts-selected-list { display:flex; flex-direction:column; gap:8px; max-height:280px; overflow:auto; }
.sts-muted { color:#FCFCFC; font-style:normal; margin:0; line-height:1.5; font-size:12px; }
.sts-picked-seat { display:grid; grid-template-columns:minmax(0,1fr) auto 22px; align-items:center; gap:10px; background:var(--sts-card); border:1px solid rgba(255,255,255,.04); border-radius:0; min-height:38px; padding:8px 8px 8px 12px; color:var(--sts-grey); font-size:12px; }
.sts-picked-seat span { color:var(--sts-grey); font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:18px; font-family: var(--scc-body);}
.sts-picked-seat em { color:var(--sts-gold); font-style:normal; font-weight:700; font-family:Syne,Inter,sans-serif; font-size:18px;}
.sts-picked-remove { width:22px; height:22px; border:0; border-radius:0; display:flex; align-items:center; justify-content:center; background:#151822; color:var(--sts-muted); cursor:pointer; font-size:15px; line-height:1; padding:0; }
.sts-picked-remove:hover { color:var(--sts-gold); }
.sts-total { border:0; margin-top:18px; padding-top:0; display:flex; align-items:center; justify-content:space-between; color:var(--sts-white); font-size:18px; font-weight:700; text-transform:uppercase; letter-spacing:.19em; font-family:Syne,Inter,sans-serif; }
.sts-total strong { color:var(--sts-gold); font-size:28px; letter-spacing:.02em; text-transform:none; font-family: Syne, sans-serif; font-weight:700;}
.sts-add-to-cart { width:100%; margin-top:158px; border:0; border-radius:0; padding:17px 16px; background:var(--sts-gold-gradient); color:#050506; font-size:16px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; box-shadow:none; transition:filter .2s ease, transform .2s ease; font-family:Syne,Inter,sans-serif; }
.sts-add-to-cart:not(:disabled):hover { filter:brightness(1.06); transform:translateY(-1px); }
.sts-add-to-cart:disabled { background:#2c2a22; color:#6b6149; cursor:not-allowed; }
.sts-message { margin-top:12px; color:var(--sts-grey); font-size:12px; line-height:1.45; }
.sts-message.is-error { color:#EE7A70; }
.sts-message.is-success { color:#2FBF71; }
.sts-message a { color:var(--sts-gold); font-weight:800; }
[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover{
	background-color: #fff;
}

@media (max-width: 980px) {
    .sts-row-options { grid-template-columns:1fr; }
    .sts-kids-options { grid-template-columns:1fr; }
    .sts-progress-line { width:54px; }
}
@media (max-width: 880px) {
    .sts-grid { grid-template-columns:1fr; gap:24px; }
    .sts-summary-card { position:static; min-height:auto; }
    .sts-add-to-cart { margin-top:22px; }
}
@media (max-width: 640px) {
	.sts-progress-label{display:none;}
	    .sts-date-option {
        white-space: normal !important;
        line-height: 1.35 !important;
        height: auto !important;
        min-height: 56px !important;
        padding: 12px 16px !important;
        display: block !important;
        text-align: left !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }
    .sts-ticketing { padding:0; }
    .sts-progress { gap:8px; margin-bottom:24px; }
    .sts-progress-number { width:34px; height:34px; font-size:12px; }
    .sts-progress-label { font-size:9px; letter-spacing:.16em; }
    .sts-progress-line { width:45px; }
    .sts-date-card { padding:16px 14px; margin-bottom:0px; }
    .sts-step-datebar { flex-direction:column; align-items:stretch; gap:12px; padding:14px; margin-bottom:18px; }
    .sts-change-date { width:100%; text-align:center; }
    .sts-date-card-top { display:block; }
    .sts-date-status { display:block; margin-top:12px; }
    .sts-date-popup { left:14px; right:14px; bottom:-20px; }
    .sts-map-date-popup { top:56px; min-width:calc(100% - 28px); max-width:calc(100% - 28px); justify-content:center; font-size:12px; padding:12px 14px; }
    .sts-map-card { padding:0 14px 22px; }
    .sts-map-top { margin:0 -14px 14px; padding:0 14px; }
    .sts-svg { max-height:none; }
    .sts-row-card { min-height:124px; padding:15px; }
    .sts-row-price-main { font-size:18px; }
    .sts-kids-title { font-size:15px; letter-spacing:.06em; }
    .sts-kids-card-label { font-size:13px; }
	.sts-date-card h3, .sts-date-status, .sts-map-top, .sts-selected-count, .sts-summary-card h3, .sts-summary-count{font-size: 12px; font-weight: 700; }
	.sts-add-to-cart{font-size: 14px; font-weight: 700;}
	}

/* =========================
   WooCommerce Checkout Skin
   ========================= */
.sts-woo-skin {
    --sts-bg:#000000;
    --sts-panel:#1B1E26;
    --sts-panel-2:#050506;
    --sts-card:#050506;
    --sts-card-soft:#0B0C0F;
    --sts-gold:#EFAE54;
    --sts-gold-deep:#D69528;
    --sts-gold-gradient:linear-gradient(180deg,#EFAE54 0%,#D69528 100%);
    --sts-white:#F7F4EF;
    --sts-grey:#A1A4AA;
    --sts-muted:#595D66;
    --sts-line:rgba(255,255,255,.075);
    --sts-gold-line:rgba(239,174,84,.72);
    color:var(--sts-white);
    background:var(--sts-bg);
    padding:clamp(24px,4vw,54px);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.sts-woo-skin * { box-sizing:border-box; }
.sts-woo-skin .sts-shell { max-width:1280px; margin:0 auto; }
.sts-thankyou-progress { margin:0 0 28px; }
.sts-woo-skin a { color:var(--sts-gold); }
.sts-woo-skin .sts-progress { margin-bottom:34px; }
.sts-checkout-intro { padding:22px 24px; margin-bottom:28px; }
.sts-checkout-back { display:inline-flex; align-items:center; gap:8px; margin-bottom:16px; color:var(--sts-grey); text-decoration:none; font-family:Syne,Inter,sans-serif; font-size:12px; font-weight:700; letter-spacing:.02em; }
.sts-checkout-back:hover { color:var(--sts-gold); }
.sts-checkout-intro-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.sts-checkout-kicker,.sts-checkout-date { font-family:Syne,Inter,sans-serif; font-weight:700; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.sts-checkout-kicker { color:var(--sts-gold); }
.sts-checkout-date { color:var(--sts-grey); }
.sts-checkout-title { margin:0; color:var(--sts-white); font-family:Syne,Inter,sans-serif; font-size:clamp(26px,4vw,34px); line-height:1.08; font-weight:700; }
.sts-checkout-pills { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; }
.sts-checkout-pill { display:inline-flex; align-items:center; min-height:34px; padding:6px 12px; background:var(--sts-panel-2); border:1px solid rgba(255,255,255,.08); color:var(--sts-white); border-radius:8px; font-family:Syne,Inter,sans-serif; font-size:12px; font-weight:700; }
.sts-checkout-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid var(--sts-line); }
.sts-checkout-meta span { color:var(--sts-grey); font-size:14px; }
.sts-checkout-meta strong { color:var(--sts-gold); font-family:Syne,Inter,sans-serif; font-size:28px; font-weight:800; }

.sts-woo-skin form.checkout.woocommerce-checkout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:28px; align-items:start; }
.sts-woo-skin .sts-checkout-main { grid-column:1; }
.sts-woo-skin .sts-checkout-side { grid-column:2; }
.sts-woo-skin #customer_details,
.sts-woo-skin .sts-checkout-main > .col2-set,
.sts-woo-skin .sts-checkout-main .col-1,
.sts-woo-skin .sts-checkout-main .col-2 { width:100%; float:none; }
.sts-woo-skin .sts-checkout-main .col-2 { margin-top:22px; }
.sts-woo-skin .sts-checkout-main .woocommerce-billing-fields,
.sts-woo-skin .sts-checkout-main .woocommerce-additional-fields { background:var(--sts-panel); border:1px solid rgba(255,255,255,.045); box-shadow:0 32px 70px rgba(0,0,0,.45); padding:22px; }
.sts-woo-skin .sts-section-heading { margin:0 0 16px; color:var(--sts-grey); font-family:Syne,Inter,sans-serif; font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.sts-woo-skin .sts-section-heading--payment { margin:18px 0 14px; }
.sts-woo-skin .woocommerce-billing-fields > h3,
.sts-woo-skin .woocommerce-additional-fields > h3,
.sts-woo-skin #ship-to-different-address,
.sts-woo-skin #order_review_heading { display:none !important; }

.sts-woo-skin .form-row { margin:0 0 16px; }
.sts-woo-skin .form-row label { display:block; margin-bottom:8px; color:var(--sts-grey); font-family:Syne,Inter,sans-serif; font-size:11px; font-weight:700; letter-spacing:.10em; text-transform:uppercase; }
.sts-woo-skin .form-row label .required { color:var(--sts-gold); }
.sts-woo-skin .form-row input.input-text,
.sts-woo-skin .form-row textarea,
.sts-woo-skin .form-row select,
.sts-woo-skin .select2-container--default .select2-selection--single { min-height:48px; width:100%; background:#101218; color:var(--sts-white); border:1px solid rgba(255,255,255,.08); border-radius:12px; box-shadow:none; font-size:15px; padding:0 15px; }
.sts-woo-skin .form-row textarea { min-height:110px; padding:14px 15px; }
.sts-woo-skin .form-row input.input-text:focus,
.sts-woo-skin .form-row textarea:focus,
.sts-woo-skin .form-row select:focus,
.sts-woo-skin .select2-container--default.select2-container--focus .select2-selection--single { border-color:var(--sts-gold); outline:none; box-shadow:0 0 0 2px rgba(239,174,84,.18); }
.sts-woo-skin .select2-container .select2-selection--single .select2-selection__rendered { color:var(--sts-white); line-height:46px; padding-left:0; }
.sts-woo-skin .select2-container .select2-selection--single .select2-selection__arrow { height:46px; right:10px; }

.sts-woo-skin .woocommerce-checkout-review-order,
.sts-woo-skin .woocommerce-checkout-payment,
.sts-woo-skin .woocommerce-checkout-review-order-table { background:transparent; }
.sts-woo-skin .sts-summary-card { padding:0 18px 18px; position:sticky; top:32px; align-self:start; min-height:360px; }
.sts-woo-skin .sts-checkout-summary-head { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 -18px 14px; padding:0 18px; border-bottom:1px solid rgba(255,255,255,.035); color:var(--sts-white); text-transform:uppercase; letter-spacing:.20em; font-family:Syne,Inter,sans-serif; font-size:12px; font-weight:700; }
.sts-woo-skin .sts-checkout-summary-head strong { color:var(--sts-gold); white-space:nowrap; }
.sts-woo-skin table.shop_table { width:100%; margin:0; border:0 !important; border-collapse:separate; }
.sts-woo-skin table.shop_table th,
.sts-woo-skin table.shop_table td { border-top:0; border-bottom:1px solid rgba(255,255,255,.04); padding:10px 0; color:var(--sts-grey); font-size:13px; }
.sts-woo-skin table.shop_table thead th { color:var(--sts-grey); font-family:Syne,Inter,sans-serif; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.sts-woo-skin table.shop_table tbody td.product-name { color:var(--sts-white); }
.sts-woo-skin table.shop_table tbody td.product-total,
.sts-woo-skin table.shop_table tfoot td,
.sts-woo-skin table.shop_table tfoot th { color:var(--sts-white); }
.sts-woo-skin table.shop_table tfoot tr.order-total td,
.sts-woo-skin table.shop_table tfoot tr.order-total th { color:var(--sts-gold); font-family:Syne,Inter,sans-serif; font-size:18px; font-weight:800; }
.sts-woo-skin .woocommerce-checkout-review-order-table .variation,
.sts-woo-skin .woocommerce-checkout-review-order-table .wc-item-meta { margin-top:6px; }
.sts-woo-skin .woocommerce-checkout-review-order-table .variation dt,
.sts-woo-skin .woocommerce-checkout-review-order-table .wc-item-meta li strong { color:var(--sts-grey); }
.sts-woo-skin .woocommerce-checkout-review-order-table .variation dd,
.sts-woo-skin .woocommerce-checkout-review-order-table .wc-item-meta li p { color:var(--sts-white); }

.sts-woo-skin #payment { background:transparent; border:0; margin-top:6px; }
.sts-woo-skin #payment ul.payment_methods { border:0; padding:0; margin:0; }
.sts-woo-skin #payment ul.payment_methods > li { background:var(--sts-card); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:14px 16px; margin:0 0 12px; }
.sts-woo-skin #payment ul.payment_methods > li > label { color:var(--sts-white); font-family:Syne,Inter,sans-serif; font-size:14px; font-weight:700; }
.sts-woo-skin #payment div.payment_box { background:#101218; color:var(--sts-grey); border:1px solid rgba(255,255,255,.06); border-radius:10px; margin:12px 0 0; padding:12px 14px; }
.sts-woo-skin #payment div.payment_box::before { border-bottom-color:#101218; }
.sts-woo-skin .wc_payment_methods .payment_method_paypal img,
.sts-woo-skin .wc_payment_methods .payment_method_stripe img { max-height:24px; }
.sts-woo-skin #payment .place-order { padding:8px 0 0; }
.sts-woo-skin #place_order { width:100%; min-height:52px; border:0; border-radius:0; padding:16px; background:var(--sts-gold-gradient); color:#050506; font-size:12px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; box-shadow:none; transition:filter .2s ease, transform .2s ease; font-family:Syne,Inter,sans-serif; }
.sts-woo-skin #place_order:hover { filter:brightness(1.06); transform:translateY(-1px); }
.sts-woo-skin .sts-checkout-security { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:12px; color:var(--sts-muted); font-size:12.5px; text-align:center; }
.sts-woo-skin .sts-checkout-security::before { content:""; width:12px; height:12px; border:1px solid var(--sts-gold); border-radius:2px; box-shadow:inset 0 0 0 2px transparent; transform:rotate(0deg); }

.sts-woo-skin .woocommerce-info,
.sts-woo-skin .woocommerce-message,
.sts-woo-skin .woocommerce-error { background:var(--sts-panel); color:var(--sts-white); border-top:2px solid var(--sts-gold); }
.sts-woo-skin .woocommerce-error { border-top-color:#EE7A70; }
.sts-woo-skin .woocommerce-privacy-policy-text,
.sts-woo-skin .woocommerce-terms-and-conditions-wrapper,
.sts-woo-skin .payment_methods p,
.sts-woo-skin .payment_methods label { color:var(--sts-grey); }
.sts-woo-skin .woocommerce-form__label-for-checkbox,
.sts-woo-skin .woocommerce-SavedPaymentMethods-saveNew label { color:var(--sts-grey); font-size:13px; }
.sts-woo-skin #add_payment_method #payment div.payment_box .wc-credit-card-form-card-number,
.sts-woo-skin .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number,
.sts-woo-skin .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry,
.sts-woo-skin .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc { background:#0f1117; color:var(--sts-white); border:1px solid rgba(255,255,255,.08); }

@media (max-width: 980px) {
    .sts-woo-skin form.checkout.woocommerce-checkout { grid-template-columns:1fr; gap:22px; }
    .sts-woo-skin .sts-checkout-main,
    .sts-woo-skin .sts-checkout-side { grid-column:auto; }
    .sts-woo-skin .sts-summary-card { position:static; min-height:auto; }
}
@media (max-width: 640px) {
    .sts-woo-skin { padding:22px 14px; }
    .sts-checkout-intro { padding:18px 14px; }
    .sts-checkout-intro-top,
    .sts-checkout-meta { flex-direction:column; align-items:flex-start; }
    .sts-woo-skin .sts-checkout-main .woocommerce-billing-fields,
    .sts-woo-skin .sts-checkout-main .woocommerce-additional-fields { padding:16px 14px; }
    .sts-woo-skin .sts-summary-card { padding:0 14px 14px; }
    .sts-woo-skin .sts-checkout-summary-head { margin:0 -14px 14px; padding:0 14px; }
}

.sts-map-loading { min-height:280px; display:flex; align-items:center; justify-content:center; color:var(--sts-grey); font-family:Syne,Inter,sans-serif; font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.sts-ticketing.is-date-locked .sts-row-group { cursor:pointer; }
.sts-ticketing.is-date-locked .sts-row-group.is-row-full { cursor:pointer; }
.sts-ticketing.is-date-locked .sts-row-card.is-disabled { cursor:pointer; }
.sts-ticketing.is-date-locked .sts-kids-section { display:none; }

/* Month-grouped date dropdown and expired event state. */
.sts-date-select optgroup { color:#EFAE54; background:#1a1f2e; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.sts-date-select option { color:#ffffff; background:#1a1f2e; }
.sts-date-select option:disabled { color:rgba(176,184,200,.55); }

/* Custom date dropdown: native select/optgroup styling is OS/browser-limited, so the visible dropdown is HTML-based. */
.sts-date-select {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    min-height:0!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    clip-path:inset(50%)!important;
    border:0!important;
    background:none!important;
    opacity:0!important;
    pointer-events:none!important;
}
.sts-date-dropdown {
    --sts-date-dark-bg:#1a1f2e;
    --sts-date-dark-lighter:#252d3d;
    --sts-date-gold:#EFAE54;
    --sts-date-gold-hover:#e5c158;
    --sts-date-text-primary:#ffffff;
    --sts-date-text-secondary:#b0b8c8;
    --sts-date-border:#3a4251;
    --sts-date-radius:4px;
    --sts-date-transition:all .3s ease;
    position:relative;
    width:100%;
    font-family:Syne,Inter,sans-serif;
}
.sts-date-toggle {
    position:relative;
    width:100%;
    min-height:56px;
    padding:16px 52px 16px 20px;
    background:transparent;
    border:1px solid var(--sts-date-gold);
    border-radius:var(--sts-date-radius);
    color:var(--sts-date-text-secondary);
    font-family:Syne,Inter,sans-serif;
    font-size:18px;
    font-weight:500;
    line-height:1.35;
    letter-spacing:.5px;
    text-align:left;
    cursor:pointer;
    outline:none;
    transition:var(--sts-date-transition);
}
.sts-date-toggle:hover {
    border-color:var(--sts-date-gold-hover);
    background:rgba(239,174,84,.05);
}
.sts-date-toggle:focus {
    border-color:var(--sts-date-gold);
    box-shadow:0 0 0 3px rgba(239,174,84,.1);
}
.sts-date-dropdown.is-open .sts-date-toggle {
    border-color:var(--sts-date-gold);
    background:rgba(239,174,84,.1);
    color:var(--sts-date-text-primary);
}
.sts-date-toggle:disabled { opacity:.65; cursor:not-allowed; }
.sts-date-toggle::after {
    content:"";
    position:absolute;
    right:20px;
    top:50%;
    width:20px;
    height:20px;
    transform:translateY(-50%);
    background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23EFAE54' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:center;
    background-size:20px 20px;
    transition:var(--sts-date-transition);
}
.sts-date-dropdown.is-open .sts-date-toggle::after { transform:translateY(-50%) rotate(180deg); }
.sts-date-menu {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:1000;
    max-height:0;
    margin-top:-1px;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    background:var(--sts-date-dark-lighter);
    border:1px solid var(--sts-date-border);
    border-top:0;
    border-radius:0 0 var(--sts-date-radius) var(--sts-date-radius);
    box-shadow:0 8px 24px rgba(0,0,0,.3);
    transition:var(--sts-date-transition);
    scrollbar-color:var(--sts-date-border) transparent;
    scrollbar-width:thin;
}
.sts-date-dropdown.is-open .sts-date-menu {
    max-height:500px;
    overflow-y:auto;
    opacity:1;
    visibility:visible;
	z-index:1;
}
.sts-date-month {
    display:block;
    padding:12px 20px;
    background:rgba(239,174,84,.05);
    border-bottom:1px solid var(--sts-date-border);
    color:var(--sts-date-gold);
    font-family:Syne,Inter,sans-serif;
    font-size:16px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:1px;
    text-transform:uppercase;
}
.sts-date-option {
    position:relative;
    display:block;
    width:100%;
    padding:12px 20px;
    border:0;
    border-bottom:1px solid rgba(58,66,81,.5);
    background:transparent;
    color:var(--sts-date-text-secondary);
    font-family:Syne,Inter,sans-serif;
    font-size:16px;
    font-weight:400;
    line-height:1.6;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
    transition:var(--sts-date-transition);
}
.sts-date-option:last-child { border-bottom:0; }
button.sts-date-option:hover,
.sts-date-option:hover,
.sts-date-option:focus {
    background:rgba(239,174,84,.1);
    color:var(--sts-date-text-primary);
    padding-left:24px;
    outline:none;
}
.sts-date-option.is-selected {
    background:rgba(239,174,84,.15);
    color:var(--sts-date-gold);
    font-weight:600;
}
.sts-date-option.is-selected::before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:var(--sts-date-gold);
}
.sts-date-option.is-disabled,
.sts-date-option.is-expired {
    color:rgba(176,184,200,.55);
    cursor:not-allowed;
    opacity:.65;
}
.sts-date-option.is-disabled:hover,
.sts-date-option.is-disabled:focus,
.sts-date-option.is-expired:hover,
.sts-date-option.is-expired:focus {
    background:rgba(255,82,82,.08);
    color:rgba(255,255,255,.75);
    padding-left:20px;
}
.sts-date-option.is-expired .sts-date-option-main::after {
    content:" — abgelaufen";
    font-size:12px;
    color:#ff9a9a;
}
.sts-date-option.has-notice { background:rgba(255,82,82,.12); }
.sts-date-option-notice {
    display:block;
    margin-top:7px;
    color:#ffb4b4;
    font-family:Syne,Inter,sans-serif;
    font-size:13px;
    font-weight:600;
    letter-spacing:0;
    text-transform:none;
}
.sts-date-menu::-webkit-scrollbar { width:6px; }
.sts-date-menu::-webkit-scrollbar-track { background:transparent; }
.sts-date-menu::-webkit-scrollbar-thumb { background:var(--sts-date-border); border-radius:3px; }
.sts-date-menu::-webkit-scrollbar-thumb:hover { background:var(--sts-date-gold); }
.sts-date-toggle:focus-visible,
.sts-date-option:focus-visible { outline:2px solid var(--sts-date-gold); outline-offset:-1px; }

@media (max-width:768px) {
    .sts-date-toggle { font-size:14px; padding:14px 46px 14px 16px; }
    .sts-date-menu { max-height:0; }
    .sts-date-dropdown.is-open .sts-date-menu { max-height:400px; }
    .sts-date-option { font-size:13px; padding:10px 16px; }
    button.sts-date-option:hover,
    .sts-date-option:hover,
    .sts-date-option:focus { padding-left:20px; }
}
@media (max-width:480px) {
    .sts-date-toggle { font-size:13px; padding:12px 42px 12px 14px; }
    .sts-date-toggle::after { right:14px; width:18px; height:18px; background-size:18px 18px; }
    .sts-date-month { font-size:11px; padding:10px 14px; }
    .sts-date-option { font-size:12px; padding:9px 14px; }
}
@media (prefers-reduced-motion:reduce) {
    .sts-date-toggle,
    .sts-date-menu,
    .sts-date-toggle::after,
    .sts-date-option { transition:none; }
    .sts-date-dropdown.is-open .sts-date-toggle::after { transform:translateY(-50%); }
}
@media print {
    .sts-date-menu { display:none!important; }
}
