/*
|--------------------------------------------------------------------------
| Grundverhalten
|--------------------------------------------------------------------------
*/

html {
    scroll-behavior: smooth;
}

#ticket-reply-form {
    scroll-margin-top: 24px;
}


/*
|--------------------------------------------------------------------------
| Ticket Hero
|--------------------------------------------------------------------------
*/

.ticket-hero {
    position: relative;
    padding: 72px 0 34px;
    overflow: hidden;
}

.ticket-hero::before {
    content: "";
    position: absolute;
    inset: auto -10% 0 auto;
    width: 420px;
    height: 420px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(0,119,255,.20), transparent 68%);
    pointer-events: none;
}

.ticket-hero-inner {
    position: relative;
    display: grid;
    grid-template-columns: 1.4fr .6fr;
    gap: 28px;
    align-items: stretch;
}

.ticket-hero-content,
.ticket-hero-card,
.ticket-info-card,
.ticket-form-card {
    border: 1px solid rgba(20,70,120,.12);
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
    backdrop-filter: blur(18px);
    box-shadow: 0 24px 70px rgba(20,80,140,.12);
}

.ticket-hero-content {
    padding: 38px;
    border-radius: 34px;
}

.ticket-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(0,119,255,.10);
    color: #0077ff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ticket-hero h1 {
    margin: 0 0 14px;
    max-width: 720px;
    color: #0c1724;
    font-size:clamp(34px,4.2vw,56px);
    line-height: 1.02;
    letter-spacing: -.055em;
}

.ticket-hero p {
    margin: 0 0 36px;
    max-width: 760px;
    color: #5d7188;
    font-size: 18px;
    line-height: 1.75;
}

.ticket-hero-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 230px;
    padding: 42px;
    border-radius: 34px;
    background:
        radial-gradient(circle at top right, rgba(107,92,255,.22), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.72));
}

.ticket-hero-card strong {
    color: #0c1724;
    font-size: 24px;
    letter-spacing: -.03em;
	margin-bottom:30px;
}

.ticket-hero-card span {
    margin-top: 8px;
    color: #5d7188;
    line-height: 1.6;
}


/*
|--------------------------------------------------------------------------
| Hauptlayout
|--------------------------------------------------------------------------
*/

.ticket-section {
    padding: 34px 0 90px;
}

.ticket-layout {
    display: grid;
    grid-template-columns: 520px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.ticket-info-card,
.ticket-form-card {
    border-radius: 34px;
    padding: 30px;
}

.ticket-info-card {
    position: sticky;
    top: 110px;
}

.ticket-info-card h2,
.ticket-form-card h2 {
    margin: 0 0 22px;
    color: #0c1724;
    font-size: 26px;
    letter-spacing: -.035em;
}


/*
|--------------------------------------------------------------------------
| Info-Karte: Schritte
|--------------------------------------------------------------------------
*/

.ticket-steps {
    display: grid;
    gap: 14px;
}

.ticket-steps div {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    align-items: center;
    padding: 16px;
    border: 1px solid rgba(20,70,120,.10);
    border-radius: 22px;
    background: rgba(255,255,255,.70);
}

.ticket-steps span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: linear-gradient(135deg, #0077ff, #6b5cff);
    color: #fff;
    font-weight: 950;
    box-shadow: 0 14px 30px rgba(0,119,255,.22);
}

.ticket-steps p {
    margin: 0;
    color: #243449;
    font-weight: 800;
    line-height: 1.45;
}


/*
|--------------------------------------------------------------------------
| Ticketformular
|--------------------------------------------------------------------------
*/

.ticket-form {
    display: grid;
    gap: 18px;
}

.ticket-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.ticket-form > label,
.ticket-form-grid label,
.ticket-upload-box {
    display: grid;
    gap: 8px;
}

.ticket-form label span {
    color: #243449;
    font-size: 14px;
    font-weight: 900;
}

.ticket-form input,
.ticket-form select,
.ticket-form textarea {
    width: 100%;
    border: 1px solid rgba(20,70,120,.14);
    border-radius: 18px;
    padding: 15px 16px;
    background: rgba(255,255,255,.86);
    color: #0c1724;
    font: inherit;
    outline: none;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease,
        transform .18s ease;
}

.ticket-form textarea {
    min-height: 210px;
    resize: vertical;
    line-height: 1.65;
}

.ticket-form input:focus,
.ticket-form select:focus,
.ticket-form textarea:focus {
    border-color: rgba(0,119,255,.55);
    background: #fff;
    box-shadow:
        0 0 0 4px rgba(0,119,255,.10),
        0 18px 38px rgba(20,80,140,.10);
    transform: translateY(-1px);
}


/*
|--------------------------------------------------------------------------
| Buttons
|--------------------------------------------------------------------------
*/

.ticket-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: max-content;
    min-height: 52px;
    border: 0;
    border-radius: 18px;
    padding: 15px 22px;
    background: linear-gradient(135deg, #0077ff, #6b5cff);
    color: #fff;
    font: inherit;
    font-weight: 950;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 18px 42px rgba(0,119,255,.26);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease;
}

.ticket-button:hover {
    transform: translateY(-2px);
    filter: saturate(1.08);
    box-shadow: 0 24px 52px rgba(0,119,255,.32);
}

.ticket-button:active {
    transform: translateY(0);
}


/*
|--------------------------------------------------------------------------
| Erfolgs- und Fehlermeldungen
|--------------------------------------------------------------------------
*/

.ticket-success,
.ticket-errors {
    border-radius: 24px;
    padding: 22px;
    line-height: 1.65;
    margin-bottom: 22px;
}

.ticket-success {
    border: 1px solid rgba(34,197,94,.22);
    background:
        radial-gradient(circle at top right, rgba(34,197,94,.16), transparent 45%),
        rgba(240,253,244,.86);
    color: #14532d;
}

.ticket-errors {
    border: 1px solid rgba(225,29,72,.20);
    background:
        radial-gradient(circle at top right, rgba(225,29,72,.12), transparent 45%),
        rgba(255,241,242,.86);
    color: #881337;
}

.ticket-success strong,
.ticket-errors strong {
    display: block;
    margin-bottom: 8px;
    font-size: 19px;
}

.ticket-success p {
    margin: 0 0 14px;
}

.ticket-success b {
    display: inline-flex;
    margin-left: 4px;
    padding: 4px 9px;
    border-radius: 10px;
    background: rgba(34,197,94,.14);
    color: #166534;
    font-family: Consolas, Monaco, monospace;
}

.ticket-errors ul {
    margin: 10px 0 0;
    padding-left: 20px;
}

.ticket-errors li + li {
    margin-top: 6px;
}


/*
|--------------------------------------------------------------------------
| Upload-Feld
|--------------------------------------------------------------------------
*/

.ticket-upload-box {
    position: relative;
    padding: 18px;
    border: 1px dashed rgba(0,119,255,.28);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(0,119,255,.10), transparent 42%),
        rgba(255,255,255,.68);
}

.ticket-upload-box input[type="file"] {
    padding: 16px;
    border: 1px solid rgba(20,70,120,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    cursor: pointer;
}

.ticket-upload-box input[type="file"]::file-selector-button {
    margin-right: 14px;
    border: 0;
    border-radius: 14px;
    padding: 11px 16px;
    background: linear-gradient(135deg, #0077ff, #6b5cff);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.ticket-upload-box small {
    color: #5d7188;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
}


/*
|--------------------------------------------------------------------------
| Preis-Hinweis beim Erstellen
|--------------------------------------------------------------------------
*/

.ticket-price-box {
    margin-top: 26px;
    padding: 24px;
    border: 1px solid rgba(37,99,235,.16);
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(37,99,235,.12), transparent 38%),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,255,.92));
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
}

.ticket-price-head {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.ticket-price-head > span {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #fff;
    font-weight: 900;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    box-shadow: 0 12px 28px rgba(37,99,235,.28);
}

.ticket-price-head strong {
    display: block;
    color: #0f172a;
    font-size: 1.08rem;
    margin-bottom: 4px;
}

.ticket-price-head p,
.ticket-price-note {
    margin: 0;
    color: #64748b;
    line-height: 1.6;
}

.ticket-price-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.ticket-price-grid div {
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(148,163,184,.24);
}

.ticket-price-grid span {
    display: block;
    color: #64748b;
    font-size: .88rem;
    font-weight: 800;
    margin-bottom: 5px;
}

.ticket-price-grid strong {
    display: block;
    color: #0f172a;
    font-size: 1.1rem;
}

.ticket-price-confirm {
    margin-top: 18px;
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 18px;
    background: rgba(37,99,235,.07);
    border: 1px solid rgba(37,99,235,.14);
    cursor: pointer;
}

.ticket-form .ticket-price-confirm input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    padding: 0;
    flex: 0 0 20px;
    accent-color: #2563eb;
}

.ticket-form .ticket-price-confirm span {
    display: inline;
    margin: 0;
    flex: 1;
    color: #1e293b;
    font-weight: 800;
    line-height: 1.45;
}


/*
|--------------------------------------------------------------------------
| Ticketansicht: Detailkopf
|--------------------------------------------------------------------------
*/

.ticket-detail-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 24px;
}

.ticket-detail-head h2 {
    margin: 10px 0 0;
    color: #0c1724;
    font-size: 30px;
    letter-spacing: -.04em;
}


/*
|--------------------------------------------------------------------------
| Ticketansicht: Status- und Prioritäts-Badges
|--------------------------------------------------------------------------
*/

.ticket-status-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.ticket-status,
.ticket-priority {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 950;
}

.ticket-status-open {
    background: rgba(0,119,255,.10);
    color: #005fcc;
}

.ticket-status-progress {
    background: rgba(107,92,255,.12);
    color: #4c3fd8;
}

.ticket-status-waiting {
    background: rgba(245,158,11,.14);
    color: #92400e;
}

.ticket-status-closed {
    background: rgba(34,197,94,.14);
    color: #166534;
}

.ticket-priority-low {
    background: rgba(100,116,139,.12);
    color: #475569;
}

.ticket-priority-normal {
    background: rgba(0,119,255,.10);
    color: #005fcc;
}

.ticket-priority-high {
    background: rgba(245,158,11,.14);
    color: #92400e;
}

.ticket-priority-urgent {
    background: rgba(225,29,72,.13);
    color: #9f1239;
}


/*
|--------------------------------------------------------------------------
| Ticketansicht: Metadaten
|--------------------------------------------------------------------------
*/

.ticket-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 0;
}

.ticket-meta-grid div {
    padding: 16px;
    border: 1px solid rgba(20,70,120,.10);
    border-radius: 20px;
    background: rgba(255,255,255,.70);
}

.ticket-meta-grid span,
.ticket-message-box > span {
    display: block;
    margin-bottom: 6px;
    color: #5d7188;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ticket-meta-grid strong {
    color: #0c1724;
    font-size: 15px;
}


/*
|--------------------------------------------------------------------------
| Ticketansicht: Nachricht
|--------------------------------------------------------------------------
*/

.ticket-message-box {
    margin-bottom: 28px;
    padding: 22px;
    border: 1px solid rgba(20,70,120,.12);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(0,119,255,.08), transparent 40%),
        rgba(255,255,255,.74);
}

.ticket-message-box p {
    margin: 0;
    color: #243449;
    line-height: 1.75;
}


/*
|--------------------------------------------------------------------------
| Ticketansicht: Antworten
|--------------------------------------------------------------------------
*/

.ticket-replies {
    display: grid;
    gap: 14px;
}

.ticket-replies h2 {
    margin: 0 0 4px;
    color: #0c1724;
    font-size: 24px;
    letter-spacing: -.035em;
}

.ticket-replies-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.ticket-replies-head h2 {
    margin: 0;
}

.ticket-empty {
    margin-top: 22px;
    padding: 18px;
    border: 1px dashed rgba(20,70,120,.18);
    border-radius: 20px;
    background: rgba(255,255,255,.55);
    color: #5d7188;
    font-weight: 800;
}

.ticket-reply {
    padding: 20px;
    border: 1px solid rgba(20,70,120,.11);
    border-radius: 24px;
    background: rgba(255,255,255,.72);
}

.ticket-reply-admin {
    background:
        radial-gradient(circle at top right, rgba(107,92,255,.12), transparent 42%),
        rgba(255,255,255,.78);
}

.ticket-reply-customer {
    background:
        radial-gradient(circle at top right, rgba(0,119,255,.10), transparent 42%),
        rgba(255,255,255,.78);
}

.ticket-reply-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.ticket-reply-head strong {
    color: #0c1724;
}

.ticket-reply-head span {
    color: #5d7188;
    font-size: 13px;
    font-weight: 800;
}

.ticket-reply p {
    margin: 0;
    color: #243449;
    line-height: 1.75;
}

.ticket-view-actions {
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid rgba(20,70,120,.10);
}


/*
|--------------------------------------------------------------------------
| Ticketansicht: Klappbare Antworten
|--------------------------------------------------------------------------
*/

.ticket-reply-collapsible {
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.ticket-reply-collapsible:hover {
    border-color: rgba(0,119,255,.22);
    box-shadow: 0 18px 42px rgba(20,80,140,.08);
}

.ticket-reply:not(.is-open) [data-ticket-message-preview] p {
    max-height: 54px;
    overflow: hidden;
}

.ticket-reply [data-ticket-message-preview],
.ticket-reply [data-ticket-message-full] {
    min-width: 0;
}

.ticket-reply [data-ticket-message-preview] {
    position: relative;
}

.ticket-reply [data-ticket-message-preview]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 34px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.92));
}

.ticket-reply-customer [data-ticket-message-preview]::after {
    background: linear-gradient(180deg, rgba(239,246,255,0), rgba(255,255,255,.92));
}

.ticket-reply-admin [data-ticket-message-preview]::after {
    background: linear-gradient(180deg, rgba(245,243,255,0), rgba(255,255,255,.92));
}

.ticket-reply.is-open [data-ticket-message-preview]::after {
    display: none;
}

.ticket-message-toggle {
    width: max-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    margin-top: 12px;
    padding: 8px 14px;
    border: 1px solid rgba(0,119,255,.14);
    border-radius: 999px;
    background: rgba(0,119,255,.08);
    color: #0077ff;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.ticket-message-toggle:hover {
    background: rgba(0,119,255,.13);
}


/*
|--------------------------------------------------------------------------
| Ticketansicht: Anhänge
|--------------------------------------------------------------------------
*/

.ticket-attachments {
    display: grid;
    gap: 10px;
    margin: 16px 0 22px;
    padding: 16px;
    border: 1px solid rgba(20,70,120,.10);
    border-radius: 20px;
    background: rgba(255,255,255,.68);
}

.ticket-attachments strong {
    color: #0c1724;
    font-size: 14px;
}

.ticket-attachments a {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(0,119,255,.08);
    color: #0077ff;
    font-weight: 900;
}

.ticket-attachments small {
    color: #5d7188;
    font-weight: 800;
}


/*
|--------------------------------------------------------------------------
| Ticketansicht: Statuspanel
|--------------------------------------------------------------------------
*/

.ticket-status-panel {
    min-width: 300px;
    display: grid;
    gap: 8px;
    padding: 18px;
    border: 1px solid rgba(20,70,120,.10);
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(0,119,255,.10), transparent 46%),
        rgba(255,255,255,.78);
    box-shadow: 0 18px 42px rgba(20,80,140,.08);
}

.ticket-status-panel div {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 16px;
    border: 1px solid rgba(20,70,120,.10);
    border-radius: 20px;
    background: rgba(255,255,255,.70);
}

.ticket-status-panel span {
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ticket-status-panel strong {
    color: #0c1724;
    font-size: 14px;
    text-align: left;
}

.ticket-status-panel .ticket-status,
.ticket-status-panel .ticket-priority {
    min-height: 30px;
    padding: 6px 11px;
}


/*
|--------------------------------------------------------------------------
| Ticketansicht: Spaltenlayout
|--------------------------------------------------------------------------
*/

.ticket-ticket-column {
    position: sticky;
    top: 110px;
}

.ticket-ticket-column .ticket-form-card,
.ticket-conversation-column .ticket-form-card {
    display: grid;
    gap: 22px;
}

.ticket-conversation-column {
    min-width: 0;
}

.ticket-ticket-column .ticket-detail-head {
    display: grid;
    gap: 20px;
}

.ticket-ticket-column .ticket-status-panel {
    min-width: 0;
    width: 100%;
}

.ticket-ticket-column .ticket-message-box,
.ticket-ticket-column .ticket-attachments {
    margin-bottom: 0;
}

.ticket-conversation-column .ticket-replies {
    margin-bottom: 10px;
}


/*
|--------------------------------------------------------------------------
| Ticketansicht: Ticketkopf klein
|--------------------------------------------------------------------------
*/

.ticket-ticket-head {
    margin-bottom: 0;
    padding: 22px;
    border: 1px solid rgba(20,70,120,.10);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(0,119,255,.08), transparent 42%),
        rgba(255,255,255,.72);
}

.ticket-ticket-head h2 {
    margin: 12px 0 0;
    color: #0c1724;
    font-size: 34px;
    line-height: 1.12;
    letter-spacing: -.04em;
}


/*
|--------------------------------------------------------------------------
| Ticketansicht: Sprung-Buttons
|--------------------------------------------------------------------------
*/

.ticket-jump-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(0,119,255,.10);
    color: #005fcc;
    font-size: 13px;
    font-weight: 950;
    text-decoration: none;
}

.ticket-jump-button:hover {
    background: rgba(0,119,255,.16);
}

.ticket-jump-button-full {
    width: 100%;
    min-height: 52px;
    margin: 0 0 22px;
    border-radius: 18px;
    background: linear-gradient(135deg, #0077ff, #6b5cff);
    color: #fff;
    box-shadow: 0 18px 42px rgba(0,119,255,.22);
}

.ticket-jump-button-small {
    width: auto;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0077ff, #6b5cff);
    color: #fff;
    box-shadow: 0 14px 30px rgba(0,119,255,.20);
}

.ticket-status-panel .ticket-jump-button {
    width: 100%;
    margin-top: 10px;
    min-height: 42px;
    border-radius: 16px;
    background: linear-gradient(135deg, #0077ff, #6b5cff);
    color: #fff;
    box-shadow: 0 14px 30px rgba(0,119,255,.20);
}


/*
|--------------------------------------------------------------------------
| Wissensdatenbank: Link zum Ticket
|--------------------------------------------------------------------------
*/

.knowledge-ticket-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    padding: 14px 22px;
    background: linear-gradient(135deg, var(--primary-color), var(--primary-color-dark, #1f4ed8));
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
    border-radius: 14px;
    box-shadow:
        0 8px 20px rgba(0,0,0,.15),
        0 2px 6px rgba(0,0,0,.08);
    transition: all .25s ease;
}

.knowledge-ticket-link::before {
    content: "🎫";
    margin-right: 8px;
}

.knowledge-ticket-link:hover {
    transform: translateY(-3px);
    box-shadow:
        0 14px 28px rgba(0,0,0,.20),
        0 4px 10px rgba(0,0,0,.10);
}

/*
|--------------------------------------------------------------------------
| Ticketansicht: Aktuelle Kosten
|--------------------------------------------------------------------------
*/

.ticket-cost-box {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(37,99,235,.16);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(37,99,235,.10), transparent 42%),
        rgba(255,255,255,.74);
}

.ticket-cost-head {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.ticket-cost-head > span {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: #fff;
    font-weight: 950;
    background: linear-gradient(135deg, #0077ff, #6b5cff);
    box-shadow: 0 12px 26px rgba(0,119,255,.22);
}

.ticket-cost-head strong {
    display: block;
    color: #0c1724;
    font-size: 18px;
    margin-bottom: 4px;
}

.ticket-cost-head p,
.ticket-cost-note {
    margin: 0;
    color: #5d7188;
    line-height: 1.6;
}

.ticket-cost-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}

.ticket-cost-grid div {
    padding: 14px;
    border: 1px solid rgba(20,70,120,.10);
    border-radius: 18px;
    background: rgba(255,255,255,.76);
}

.ticket-cost-grid span {
    display: block;
    margin-bottom: 6px;
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ticket-cost-grid strong {
    color: #0c1724;
    font-size: 18px;
}

@media (max-width: 680px) {
    .ticket-cost-grid {
        grid-template-columns: 1fr;
    }
}

/*
|--------------------------------------------------------------------------
| Responsive Anpassungen
|--------------------------------------------------------------------------
*/

@media (max-width: 980px) {
    .ticket-hero {
        padding-top: 48px;
    }

    .ticket-hero-inner,
    .ticket-layout {
        grid-template-columns: 1fr;
    }

    .ticket-info-card,
    .ticket-ticket-column {
        position: relative;
        top: auto;
    }
}

@media (max-width: 760px) {
    .ticket-status-panel {
        min-width: 0;
        width: 100%;
    }
}

@media (max-width: 680px) {
    .ticket-hero {
        padding: 32px 0 22px;
    }

    .ticket-hero-content,
    .ticket-hero-card,
    .ticket-info-card,
    .ticket-form-card {
        border-radius: 26px;
        padding: 22px;
    }

    .ticket-hero-card {
        min-height: auto;
    }

    .ticket-form-grid,
    .ticket-meta-grid {
        grid-template-columns: 1fr;
    }

    .ticket-button {
        width: 100%;
    }

    .ticket-section {
        padding-bottom: 62px;
    }

    .ticket-detail-head {
        display: grid;
    }

    .ticket-status-stack {
        justify-content: flex-start;
    }

    .ticket-reply-head {
        display: grid;
    }

    .ticket-replies-head {
        flex-direction: column;
        align-items: stretch;
    }

    .ticket-jump-button-small {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .ticket-price-grid {
        grid-template-columns: 1fr;
    }

    .ticket-price-box {
        padding: 20px;
        border-radius: 24px;
    }
}


.ticket-highlights{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:18px 40px;
    margin:40px 0 0;
    padding:0;
    list-style:none;
}

.ticket-highlights li{
    display:flex;
    align-items:center;
    gap:12px;
    color:#30475c;
    font-size:1.1rem;
    font-weight:700;
    line-height:1.5;
}

.ticket-side-list{
    display:grid;
    gap:20px;
    margin:0;
    padding:0;
    list-style:none;
}

.ticket-side-list li{
    display:flex;
    align-items:center;
    gap:12px;
    color:#30475c;
    font-size:1.05rem;
    font-weight:700;
    line-height:1.5;
}

.ticket-description{
    padding:80px 0;
}

.ticket-description h2{
    margin-bottom:24px;
    font-size:2rem;
}

.ticket-description p{
    max-width:900px;
    margin-bottom:20px;
    color:#5d7188;
    line-height:1.9;
}

@media (max-width:768px){

    .ticket-highlights{
        grid-template-columns:1fr;
        gap:14px;
    }

}