/* CTLG Phase 79 - Match-Locations */

.page-location,
.page-location-admin {
    background:
        radial-gradient(circle at 0 0, rgba(150,22,18,.16), transparent 32%),
        radial-gradient(circle at 100% 0, rgba(234,176,50,.13), transparent 34%),
        #030303;
}

.location-shell {
    width: min(100%, 1500px);
    margin: 0 auto;
}

.location-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(30px, 5vw, 66px);
    border: 1px solid rgba(234,176,50,.28);
    border-radius: 34px;
    background:
        linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.62)),
        radial-gradient(circle at 100% 0, rgba(184,58,47,.20), transparent 36%),
        url('../img/hero3.png') center/cover no-repeat;
    box-shadow: 0 34px 110px rgba(0,0,0,.45);
}

.location-hero h1 {
    max-width: 980px;
    margin: 0;
    color: #fff;
    font-size: clamp(44px, 6vw, 96px);
    line-height: .9;
    text-transform: uppercase;
    letter-spacing: -.055em;
}

.location-hero p:not(.eyebrow) {
    max-width: 900px;
    margin: 20px 0 0;
    color: #e8e8e8;
    font-size: clamp(18px, 1.45vw, 24px);
    line-height: 1.5;
}

.location-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, .55fr);
    gap: 22px;
    margin-top: 24px;
}

.location-card,
.location-form-card,
.location-panel,
.location-empty {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0, rgba(184,58,47,.10), transparent 38%),
        linear-gradient(135deg, rgba(18,20,22,.96), rgba(5,6,8,.96));
    box-shadow: 0 26px 80px rgba(0,0,0,.28);
}

.location-card,
.location-form-card,
.location-panel,
.location-empty {
    padding: clamp(22px, 3vw, 36px);
}

.location-card h2,
.location-form-card h2,
.location-panel h2,
.location-empty h2 {
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(30px, 3vw, 50px);
    line-height: .96;
    text-transform: uppercase;
    letter-spacing: -.035em;
}

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

.location-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.location-form label {
    display: block;
}

.location-form label span,
.location-label {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-size: 12px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .14em;
}

.location-form input,
.location-form select,
.location-form textarea {
    width: 100%;
    min-height: 58px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 18px;
    background: rgba(0,0,0,.38);
    color: #fff;
    padding: 0 18px;
    font-size: 16px;
    outline: none;
}

.location-form select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 52px;
    background:
        linear-gradient(45deg, transparent 50%, #ffd56d 50%) calc(100% - 23px) 25px/7px 7px no-repeat,
        rgba(0,0,0,.38);
}

.location-form textarea {
    min-height: 130px;
    padding: 16px 18px;
    resize: vertical;
}

.location-form input:focus,
.location-form select:focus,
.location-form textarea:focus {
    border-color: rgba(234,176,50,.75);
    box-shadow: 0 0 0 4px rgba(234,176,50,.12);
}

.location-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.location-check {
    display: flex !important;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.04);
    color: #fff;
    font-weight: 900;
}

.location-check input {
    width: 20px;
    height: 20px;
    min-height: auto;
    accent-color: #eab032;
}

.location-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.location-status,
.location-pill,
.location-request-status {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(0,0,0,.34);
    color: #eee;
    font-size: 12px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.location-status.approved,
.location-request-status.accepted {
    border-color: rgba(80,255,130,.34);
    background: rgba(20,120,60,.18);
    color: #76ff9b;
}

.location-status.pending,
.location-request-status.requested,
.location-request-status.countered {
    border-color: rgba(234,176,50,.36);
    background: rgba(234,176,50,.10);
    color: #ffd56d;
}

.location-status.rejected,
.location-status.blocked,
.location-request-status.declined {
    border-color: rgba(255,80,80,.40);
    background: rgba(255,60,60,.10);
    color: #ff9d9d;
}

.location-list {
    display: grid;
    gap: 18px;
    margin-top: 24px;
}

.location-list-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 26px;
    background:
        radial-gradient(circle at 100% 0, rgba(184,58,47,.10), transparent 34%),
        linear-gradient(135deg, rgba(18,20,22,.96), rgba(5,6,8,.96));
}

.location-thumb {
    width: 112px;
    height: 88px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(184,58,47,.32);
    background: rgba(184,58,47,.10);
    color: #ff8b72;
    font-size: 34px;
}

.location-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.location-list-card h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 30px;
}

.location-list-card p {
    margin: 5px 0;
    color: #cfcfcf;
}

.location-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.location-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 22px;
}

.location-dashboard-stats article {
    padding: 22px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 24px;
    background: rgba(255,255,255,.04);
}

.location-dashboard-stats strong {
    display: block;
    color: #ffd56d;
    font-size: 42px;
    line-height: 1;
}

.location-dashboard-stats span {
    display: block;
    margin-top: 8px;
    color: #ddd;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .10em;
    font-size: 12px;
}

.location-request-card {
    display: grid;
    gap: 14px;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 24px;
    background: rgba(255,255,255,.04);
}

.location-request-card h3 {
    margin: 0;
    color: #fff;
    font-size: 26px;
}

.location-request-card blockquote {
    margin: 0;
    padding: 16px 18px;
    border-left: 4px solid #eab032;
    border-radius: 16px;
    background: rgba(234,176,50,.08);
    color: #fff;
}

.location-admin-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0;
}

.location-admin-tabs a {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 15px;
    background: rgba(255,255,255,.045);
    color: #fff;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.location-admin-tabs a.active {
    border-color: rgba(234,176,50,.70);
    background: rgba(234,176,50,.12);
    color: #ffd56d;
}

.location-map-dot {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: radial-gradient(circle, #ff6b4a 0%, #b83a2f 44%, #3a0907 100%);
    box-shadow: 0 0 22px rgba(255,80,55,.58), 0 0 0 6px rgba(184,58,47,.18);
}

@media (max-width: 980px) {
    .location-grid,
    .location-list-card {
        grid-template-columns: 1fr;
    }

    .location-dashboard-stats,
    .location-form-grid,
    .location-checkbox-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .location-list-card .location-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .location-shell {
        width: 100%;
    }

    .location-hero {
        padding: 24px;
        border-radius: 26px;
    }

    .location-hero h1 {
        font-size: clamp(38px, 13vw, 58px);
    }

    .location-form-grid,
    .location-checkbox-grid,
    .location-dashboard-stats {
        grid-template-columns: 1fr;
    }

    .location-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .location-actions a,
    .location-actions button,
    .location-actions .btn-primary,
    .location-actions .btn-secondary {
        width: 100%;
    }
}


/* CTLG Phase 82 - Koordinaten aus Adresse */
.location-geocode-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 18px;
    border: 1px solid rgba(234,176,50,.22);
    border-radius: 20px;
    background:
        radial-gradient(circle at 100% 0, rgba(234,176,50,.10), transparent 36%),
        rgba(255,255,255,.035);
}

.location-geocode-box strong {
    display: block;
    color: #fff;
    font-size: 16px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.location-geocode-box p {
    margin: 6px 0 0;
    color: #bdbdbd;
    line-height: 1.45;
}

.location-geocode-status {
    grid-column: 1 / -1;
    min-height: 20px;
    margin: 0;
    font-size: 14px;
    font-weight: 800;
}

.location-geocode-status[data-type="success"] {
    color: #76ff9b;
}

.location-geocode-status[data-type="error"] {
    color: #ff9d9d;
}

.location-geocode-status[data-type="loading"] {
    color: #ffd56d;
}

@media (max-width: 720px) {
    .location-geocode-box {
        grid-template-columns: 1fr;
    }

    .location-geocode-box .btn-secondary {
        width: 100%;
    }
}


/* CTLG Phase 87 - Betreiberdashboard, Features, Uploads */
.location-dashboard-stats.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.location-request-card.is-unread {
    border-color: rgba(234,176,50,.50);
    background:
        radial-gradient(circle at 100% 0, rgba(234,176,50,.14), transparent 38%),
        rgba(255,255,255,.045);
}

.location-actions .danger,
.btn-secondary.danger {
    border-color: rgba(255,80,80,.45) !important;
    color: #ff9d9d !important;
}

.location-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0;
}

.location-feature {
    min-height: 118px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 22px;
    background: rgba(255,255,255,.045);
    display: grid;
    gap: 8px;
    align-content: center;
}

.location-feature i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: rgba(255,255,255,.07);
    color: #aaa;
    font-size: 18px;
}

.location-feature span {
    color: #fff;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px;
}

.location-feature strong {
    font-size: 22px;
}

.location-feature.is-yes {
    border-color: rgba(80,255,130,.30);
    background: rgba(30,150,70,.10);
}

.location-feature.is-yes i,
.location-feature.is-yes strong {
    color: #76ff9b;
}

.location-feature.is-no {
    opacity: .55;
}

.location-share-box {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.10);
}

.location-form input[type="file"] {
    padding: 17px 18px;
    line-height: 1.2;
}

@media (max-width: 900px) {
    .location-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .location-dashboard-stats.compact,
    .location-feature-grid {
        grid-template-columns: 1fr;
    }
}


/* CTLG Phase 91 - Location UI, Bilder, Logos, Benachrichtigungen */
.location-panel {
    min-width: 0;
    overflow: hidden;
}

.location-panel h2 {
    font-size: clamp(28px, 2.3vw, 42px) !important;
    word-break: normal;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.location-dashboard .location-panel h2,
.page-location-dashboard .location-panel h2 {
    font-size: clamp(26px, 2.1vw, 38px) !important;
    letter-spacing: -.04em;
}

.location-grid {
    align-items: start;
}

.location-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Dashboard thumbnail with optional logo badge */
.location-thumb-stack {
    position: relative;
    overflow: visible;
}

.location-logo-badge {
    position: absolute;
    right: -8px;
    bottom: -8px;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    border: 1px solid rgba(234,176,50,.50);
    background: rgba(0,0,0,.82);
    box-shadow: 0 10px 30px rgba(0,0,0,.45);
    overflow: hidden;
}

.location-logo-badge img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
}

/* Detail page: Betreiber-/Location-Logo sichtbar */
.location-hero-with-logo {
    padding-right: clamp(30px, 5vw, 66px);
}

.location-detail-logo {
    width: 118px;
    height: 118px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    border: 1px solid rgba(234,176,50,.44);
    border-radius: 28px;
    background: rgba(0,0,0,.52);
    box-shadow: 0 18px 50px rgba(0,0,0,.35);
    overflow: hidden;
}

.location-detail-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10px;
}

.location-detail-image {
    width: 100% !important;
    height: clamp(260px, 32vw, 440px) !important;
    margin-bottom: 24px !important;
    border-radius: 24px !important;
    overflow: hidden;
}

.location-detail-image.logo-only {
    height: 260px !important;
    background:
        radial-gradient(circle at 50% 50%, rgba(234,176,50,.12), transparent 42%),
        rgba(0,0,0,.35);
}

.location-detail-image.logo-only img {
    object-fit: contain;
    padding: 32px;
}

/* Admin thumbnail fix */
.page-location-admin .location-thumb,
.admin-location-card .location-thumb {
    overflow: hidden;
    background: rgba(255,255,255,.045);
}

.page-location-admin .location-thumb img,
.admin-location-card .location-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Share block kompakter */
.location-share-box h2 {
    font-size: clamp(30px, 2.6vw, 48px) !important;
}

@media (max-width: 980px) {
    .location-grid {
        grid-template-columns: 1fr;
    }

    .location-panel h2 {
        font-size: clamp(26px, 9vw, 42px) !important;
    }
}


/* CTLG Phase 92 - Location-Anfrage aus Terminplanung */
.location-request-card blockquote {
    margin: 16px 0;
    padding: 16px 18px;
    border-left: 4px solid rgba(234,176,50,.70);
    border-radius: 16px;
    background: rgba(234,176,50,.07);
    color: #f2f2f2;
    line-height: 1.5;
}

.location-request-card p strong {
    color: #ffd56d;
}

.location-request-status.requested {
    color: #ffd56d;
    border-color: rgba(234,176,50,.45);
    background: rgba(234,176,50,.10);
}

.location-request-status.accepted {
    color: #76ff9b;
    border-color: rgba(80,255,130,.38);
    background: rgba(30,150,70,.12);
}

.location-request-status.declined,
.location-request-status.cancelled {
    color: #ff9d9d;
    border-color: rgba(255,80,80,.38);
    background: rgba(160,30,30,.12);
}

.location-request-status.countered {
    color: #9dccff;
    border-color: rgba(70,150,255,.38);
    background: rgba(30,80,160,.12);
}

/* CTLG Phase 90 - Premium Layout für Betreiberseiten */
.location-hero-edit,
.location-hero-dashboard {
    margin-bottom: 24px;
}

.location-edit-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .48fr);
    gap: 22px;
    align-items: start;
}

.location-edit-main {
    display: grid;
    gap: 20px;
}

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

.location-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.location-section-head.compact {
    margin-bottom: 4px;
}

.location-section-head h2 {
    margin: 2px 0 0;
    font-size: clamp(28px, 2.5vw, 40px);
}

.location-section-badge {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(234,176,50,.28);
    border-radius: 999px;
    background: rgba(234,176,50,.10);
    color: #ffd56d;
    font-size: 12px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.location-edit-side {
    display: grid;
    gap: 20px;
    position: sticky;
    top: 22px;
}

.edit-side-card h2,
.dashboard-side-card h2 {
    font-size: clamp(24px, 2vw, 34px);
}

.stacked-actions {
    display: grid;
    grid-template-columns: 1fr;
}

.stacked-actions .btn-primary,
.stacked-actions .btn-secondary {
    width: 100%;
}

.compact-list {
    gap: 12px;
}

.side-info-row,
.mini-stat-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    background: rgba(255,255,255,.035);
    color: #fff;
}

.side-info-row strong,
.mini-stat-row strong {
    color: #ffd56d;
}

.location-tip-list {
    margin: 0;
    padding-left: 18px;
    color: #d6d6d6;
    line-height: 1.7;
}

.location-tip-list li + li {
    margin-top: 10px;
}

.pricing-grid {
    align-items: end;
}

.price-input-card {
    display: grid;
    gap: 8px;
}

.price-input-wrap {
    position: relative;
}

.price-input-wrap em {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #ffd56d;
    font-style: normal;
    font-weight: 1000;
}

.price-input-wrap input {
    padding-right: 48px;
}

.opening-hours-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.opening-hour-card {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 20px;
    background: rgba(255,255,255,.03);
}

.opening-hour-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.opening-hour-top strong {
    color: #fff;
    font-size: 18px;
}

.hour-closed-toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    color: #ddd;
    font-weight: 800;
}

.hour-closed-toggle input {
    width: 18px;
    height: 18px;
    min-height: auto;
}

.opening-hour-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.location-checkbox-grid .location-check span {
    line-height: 1.35;
}

.location-check span {
    display: block;
    margin: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: none;
}

.location-dashboard-stats.premium {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 0;
    margin-bottom: 22px;
}

.location-dashboard-stats.premium article {
    position: relative;
    overflow: hidden;
    min-height: 120px;
    background:
        radial-gradient(circle at 100% 0, rgba(234,176,50,.10), transparent 35%),
        rgba(255,255,255,.04);
}

.location-dashboard-grid-pro {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, .48fr);
    gap: 22px;
    align-items: start;
}

.dashboard-main-col,
.dashboard-side-col {
    display: grid;
    gap: 22px;
}

.location-list-pro {
    gap: 18px;
}

.location-card-pro-item {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 20px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 24px;
    background: rgba(255,255,255,.03);
}

.location-card-pro-media {
    overflow: hidden;
    border-radius: 20px;
    min-height: 180px;
    border: 1px solid rgba(184,58,47,.30);
    background: rgba(184,58,47,.10);
}

.location-card-pro-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.location-card-pro-placeholder {
    width: 100%;
    height: 100%;
    min-height: 180px;
    display: grid;
    place-items: center;
    color: #ff8b72;
    font-size: 44px;
}

.location-card-pro-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.location-card-pro-head h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 28px;
}

.location-card-pro-head p,
.location-card-note {
    margin: 0;
    color: #c7c7c7;
    line-height: 1.6;
}

.location-kpi-row,
.social-link-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.location-kpi-pill,
.social-link-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;
    background: rgba(0,0,0,.26);
    color: #f1f1f1;
    font-size: 13px;
    text-decoration: none;
}

.location-kpi-pill strong,
.social-link-pill strong {
    color: #ffd56d;
}

.social-link-pill i {
    color: #ffd56d;
}

.social-link-pill.muted {
    text-decoration: none;
    cursor: default;
}

.location-card-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 16px;
}

.location-card-detail-grid strong {
    display: block;
    margin-bottom: 8px;
    color: #fff;
}

.location-card-actions {
    margin-top: 18px;
}

.note-card-compact {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    background: rgba(255,255,255,.04);
}

.note-card-compact h3,
.note-card-compact p,
.dashboard-side-card h3 {
    margin: 0;
}

.btn-small {
    min-height: 40px;
    padding: 0 14px;
    width: fit-content;
}

.compact-actions {
    margin-top: 14px;
}

.hero-actions {
    margin-top: 18px;
}

@media (max-width: 1100px) {
    .location-edit-layout,
    .location-dashboard-grid-pro {
        grid-template-columns: 1fr;
    }

    .location-edit-side {
        position: static;
    }
}

@media (max-width: 980px) {
    .location-card-pro-item,
    .opening-hours-grid,
    .location-card-detail-grid {
        grid-template-columns: 1fr;
    }

    .location-card-pro-head,
    .location-section-head {
        flex-direction: column;
    }
}

@media (max-width: 720px) {
    .location-dashboard-stats.premium,
    .opening-hour-fields {
        grid-template-columns: 1fr;
    }

    .location-card-pro-item {
        padding: 16px;
    }

    .location-card-pro-media,
    .location-card-pro-placeholder {
        min-height: 160px;
    }
}

/* CTLG Phase 92 – Fix der Bearbeitungsfelder und Dashboard-Seitenleiste */
.page-location-edit .location-edit-layout,
.page-location-edit .location-edit-layout *{box-sizing:border-box}
.page-location-edit .location-edit-layout .location-form-section>label,
.page-location-edit .location-edit-layout .location-form-grid>label,
.page-location-edit .location-edit-layout .opening-hour-fields>label{display:flex;flex-direction:column;gap:8px;min-width:0}
.page-location-edit .location-edit-layout .location-form-section>label>span,
.page-location-edit .location-edit-layout .location-form-grid>label>span,
.page-location-edit .location-edit-layout .opening-hour-fields>label>span,
.page-location-edit .location-edit-layout .price-input-card>span{display:block;margin:0;color:#e5e8ed;font-size:12px;font-weight:800;letter-spacing:.07em;line-height:1.5;text-transform:uppercase}
.page-location-edit .location-edit-layout input:not([type="checkbox"]):not([type="file"]),
.page-location-edit .location-edit-layout select,
.page-location-edit .location-edit-layout textarea{display:block;width:100%;min-width:0;min-height:52px;padding:13px 16px;border:1px solid #414650;border-radius:13px;background:#15181e;color:#f7f8fa;-webkit-text-fill-color:#f7f8fa;font:inherit;font-size:15px;line-height:1.45;outline:none;box-shadow:inset 0 1px 3px rgba(0,0,0,.2);color-scheme:dark}
.page-location-edit .location-edit-layout textarea{min-height:116px;resize:vertical}
.page-location-edit .location-edit-layout input::placeholder,
.page-location-edit .location-edit-layout textarea::placeholder{color:#919aa7;-webkit-text-fill-color:#919aa7;opacity:1}
.page-location-edit .location-edit-layout input:not([type="checkbox"]):not([type="file"]):focus,
.page-location-edit .location-edit-layout textarea:focus,
.page-location-edit .location-edit-layout select:focus{border-color:#e0ae44;box-shadow:0 0 0 3px rgba(224,174,68,.17)}
.page-location-edit .location-edit-layout input[type="file"]{display:block;width:100%;min-width:0;padding:10px;border:1px dashed #535a65;border-radius:13px;background:#15181e;color:#e1e4e9;font-size:13px;cursor:pointer}
.page-location-edit .location-edit-layout input[type="file"]::file-selector-button{padding:10px 13px;margin-right:12px;border:1px solid #907028;border-radius:9px;background:#2a2518;color:#f3d07e;font-weight:750;cursor:pointer}
.page-location-edit .location-edit-layout input[type="checkbox"]{width:18px;height:18px;min-height:18px;margin:0;accent-color:#e0ae44;flex:0 0 18px}
.page-location-edit .location-edit-layout .location-check,
.page-location-edit .location-edit-layout .hour-closed-toggle{display:flex;align-items:center;flex-direction:row;gap:10px}
.page-location-edit .location-edit-layout .location-check>span,
.page-location-edit .location-edit-layout .hour-closed-toggle>span{margin:0;color:#e9ebee;font-size:14px;font-weight:650;line-height:1.35;text-transform:none;letter-spacing:0}
.page-location-edit .location-edit-layout .price-input-wrap input{padding-right:46px!important}
.page-location-edit .location-edit-layout .price-input-wrap em{z-index:1}
.page-location-edit .location-edit-layout .opening-hour-card{min-width:0;padding:16px}
.page-location-edit .location-edit-layout .opening-hour-fields{min-width:0}
.page-location-edit .location-edit-layout .opening-hour-fields input{padding:10px 12px}

/* Rechte Dashboard-Spalte */
.page-location-dashboard .location-dashboard-grid-pro{grid-template-columns:minmax(0,1fr) minmax(310px,350px);gap:22px}
.page-location-dashboard .dashboard-side-col,
.page-location-dashboard .dashboard-main-col{min-width:0}
.page-location-dashboard .dashboard-side-card{min-width:0;padding:23px;border-radius:22px;overflow:hidden}
.page-location-dashboard .dashboard-side-card .location-section-head,
.page-location-dashboard .dashboard-side-card .location-section-head.compact{display:block;margin-bottom:19px}
.page-location-dashboard .dashboard-side-card .eyebrow{font-size:11px;letter-spacing:.14em;margin:0 0 8px;line-height:1.3}
.page-location-dashboard .dashboard-side-card h2,
.page-location-dashboard .location-panel.dashboard-side-card h2{font-size:clamp(21px,1.7vw,27px)!important;line-height:1.17;letter-spacing:-.025em;text-transform:none;overflow-wrap:break-word;hyphens:none}
.page-location-dashboard .dashboard-side-card .mini-stat-list{display:grid;gap:10px}
.page-location-dashboard .dashboard-side-card .mini-stat-row{gap:12px;padding:13px 14px;border-radius:12px}
.page-location-dashboard .dashboard-side-card .mini-stat-row span{min-width:0;font-size:13px;line-height:1.4;font-weight:600}
.page-location-dashboard .dashboard-side-card .mini-stat-row strong{font-size:18px;font-weight:850;flex:0 0 auto}
.page-location-dashboard .dashboard-side-card .stacked-actions{display:grid;gap:10px;margin-top:18px}
.page-location-dashboard .dashboard-side-card .stacked-actions .btn-secondary,
.page-location-dashboard .dashboard-side-card .stacked-actions .btn-primary{display:flex;align-items:center;justify-content:flex-start;min-width:0;width:100%;min-height:46px;padding:11px 14px;gap:11px;border-radius:12px;font-size:12px;font-weight:750;line-height:1.35;letter-spacing:.015em;text-align:left;text-transform:none;white-space:normal;overflow-wrap:anywhere}
.page-location-dashboard .dashboard-side-card .stacked-actions a i{width:18px;flex:0 0 18px;text-align:center;font-size:15px}
.page-location-dashboard .dashboard-side-card .location-request-card,
.page-location-dashboard .dashboard-side-card .note-card-compact{padding:15px;border-radius:14px}
.page-location-dashboard .dashboard-side-card .location-request-card h3,
.page-location-dashboard .dashboard-side-card .note-card-compact h3{font-size:16px;line-height:1.35;font-weight:750;overflow-wrap:anywhere}
.page-location-dashboard .dashboard-side-card .location-card-note{font-size:13px;line-height:1.5}
@media(max-width:1100px){.page-location-dashboard .location-dashboard-grid-pro{grid-template-columns:1fr}.page-location-dashboard .dashboard-side-col{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
@media(max-width:700px){.page-location-dashboard .dashboard-side-col{grid-template-columns:1fr}.page-location-edit .location-edit-layout .opening-hour-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* CTLG 94 – Premium Standortpräsentation und Betreiber-Postfach */
.page-location-detail .location-shell,
.page-location-dashboard .location-shell {max-width:1480px}
.page-location-detail .location-grid {grid-template-columns:minmax(0,1.68fr) minmax(330px,.78fr);gap:24px;align-items:start}
.page-location-detail .location-card,
.page-location-detail .ctlg-public-aside {border-radius:26px;padding:clamp(22px,2.2vw,34px);background:linear-gradient(145deg,#141519,#090a0d 75%);box-shadow:0 18px 55px rgba(0,0,0,.3)}
.page-location-detail .location-card>h2{margin:0 0 20px;font-size:clamp(24px,2.3vw,34px);letter-spacing:-.025em}
.page-location-detail .location-card>p{color:#d3d5da;line-height:1.7;font-size:15px}
.page-location-detail .location-detail-image{height:clamp(280px,33vw,500px)!important;border:1px solid #49403a;border-radius:20px!important}
.page-location-detail .location-feature-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:25px 0}
.page-location-detail .location-feature{min-height:100px;border:1px solid #32363c;border-radius:15px;padding:15px;background:#16191d}
.page-location-detail .location-feature.is-yes{border-color:rgba(217,169,64,.26);background:linear-gradient(140deg,#221d16,#121519)}
.page-location-detail .location-feature i{width:36px;height:36px;border-radius:10px;color:#edbe55;background:rgba(220,169,59,.11);font-size:16px}
.page-location-detail .location-feature.is-yes strong{color:#e9c575}
.page-location-detail .location-feature span{font-size:11px;letter-spacing:.025em;line-height:1.4}
.page-location-detail .location-feature strong{font-size:15px;font-weight:750}
.page-location-detail .location-feature.is-no{opacity:.7}
.page-location-detail .ctlg-premium-panel {margin-top:20px;padding:26px;border:1px solid #33363e;border-radius:22px;background:radial-gradient(circle at right top,rgba(188,119,28,.08),transparent 50%),#101216;box-shadow:0 18px 40px rgba(0,0,0,.14)}
.page-location-detail .ctlg-section-kicker,
.page-location-dashboard .ctlg-section-kicker{display:flex;align-items:center;gap:9px;color:#e7b954;font-size:11px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.page-location-detail .ctlg-premium-panel h3{margin:8px 0 20px;font-size:clamp(23px,2.1vw,32px);color:#fff;line-height:1.15;letter-spacing:-.03em}
.page-location-detail .ctlg-premium-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.page-location-detail .ctlg-price-tile{display:flex;flex-direction:column;gap:12px;padding:18px 16px;border:1px solid rgba(226,177,73,.24);border-radius:15px;background:linear-gradient(140deg,#241d12,#14161a)}
.page-location-detail .ctlg-price-tile small{font-size:12px;color:#cfd0d2;font-weight:700}
.page-location-detail .ctlg-price-tile strong{font-size:clamp(22px,2.3vw,34px);line-height:1;color:#f3ce78;font-variant-numeric:tabular-nums;white-space:nowrap}
.page-location-detail .ctlg-price-tile em{font-size:.53em;font-style:normal}
.page-location-detail .ctlg-premium-prices>p{color:#cdd0d5;margin:0}
.page-location-detail .ctlg-detail-note{display:flex;gap:11px;margin:19px 0 0;padding:14px 16px;border-radius:13px;border:1px solid #383b40;color:#d4d6d8;font-size:13px;line-height:1.6;background:#191c21}
.page-location-detail .ctlg-detail-note i{color:#e7b954;margin-top:3px;flex:0 0 18px}
.page-location-detail .ctlg-premium-hours {display:grid;gap:7px}
.page-location-detail .ctlg-hours-row{display:grid;grid-template-columns:120px minmax(25px,1fr) minmax(135px,auto);align-items:center;gap:14px;min-height:47px;padding:8px 14px;border:1px solid #292d33;border-radius:12px;background:rgba(255,255,255,.024)}
.page-location-detail .ctlg-hours-row .ctlg-hours-day{font-size:13px;font-weight:750;color:#f4f4f4}
.page-location-detail .ctlg-hours-track{height:1px;background:#35383d}
.page-location-detail .ctlg-hours-row strong{font-size:13px;font-weight:750;text-align:right;color:#f0ce82;white-space:nowrap;font-variant-numeric:tabular-nums}
.page-location-detail .ctlg-hours-row.is-closed strong{color:#9399a3}
.page-location-detail .ctlg-hours-row.is-appointment strong{color:#c2c6cd}
.page-location-detail .ctlg-public-aside{position:sticky;top:22px;padding:22px}
.page-location-detail .ctlg-public-aside .ctlg-hall-cert{margin-bottom:22px}
.page-location-detail .ctlg-side-section{padding:16px 5px 20px}
.page-location-detail .ctlg-side-section+.ctlg-side-section{border-top:1px solid #32353b;padding-top:22px}
.page-location-detail .ctlg-side-section h2{font-size:clamp(23px,2vw,30px)!important;letter-spacing:-.03em;text-transform:none;line-height:1.15;margin:8px 0 20px;overflow-wrap:normal}
.page-location-detail .ctlg-side-info{display:grid;gap:8px}
.page-location-detail .ctlg-side-info>div{display:flex;gap:14px;align-items:flex-start;padding:13px 12px;background:#17191e;border:1px solid #2c3035;border-radius:13px;min-width:0}
.page-location-detail .ctlg-side-info>div>i{display:grid;place-items:center;width:33px;height:33px;flex:0 0 33px;border-radius:9px;background:#282116;color:#e7b954;font-size:13px}
.page-location-detail .ctlg-side-info>div>span{min-width:0;display:grid;gap:4px}
.page-location-detail .ctlg-side-info small{font-size:11px;color:#a9adb7;line-height:1.4}
.page-location-detail .ctlg-side-info strong,
.page-location-detail .ctlg-side-info a{color:#f7f7f7;font-size:13px;line-height:1.5;overflow-wrap:anywhere;text-decoration:none}
.page-location-detail .ctlg-side-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.page-location-detail .ctlg-side-links a{display:flex;align-items:center;gap:10px;border:1px solid #685426;border-radius:11px;background:#242016;padding:11px 12px;font-size:12px;font-weight:750;color:#f6dfaa;text-decoration:none;white-space:nowrap}
.page-location-detail .ctlg-side-links a i:last-child{margin-left:auto;font-size:10px;opacity:.75}
.page-location-detail .ctlg-share-section>p{margin:0 0 17px;color:#babec8;font-size:13px}
.page-location-detail .ctlg-share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.page-location-detail .ctlg-share-actions a,
.page-location-detail .ctlg-share-actions button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:42px;cursor:pointer;border:1px solid #3d4148;border-radius:10px;background:#1c1e23;color:#eee;font:inherit;font-size:12px;font-weight:750;text-decoration:none}
.page-location-detail .ctlg-share-actions button{grid-column:1/-1}
.page-location-detail .ctlg-side-links a:hover,
.page-location-detail .ctlg-share-actions a:hover,
.page-location-detail .ctlg-share-actions button:hover{border-color:#d5a846;color:#f7d27b}

.page-location-dashboard .location-dashboard-grid-pro{grid-template-columns:minmax(0,1fr) minmax(300px,350px);gap:20px}
.page-location-dashboard .ctlg-dashboard-rail{display:grid;gap:16px}
.page-location-dashboard .ctlg-rail-panel{padding:24px;border-radius:22px;background:linear-gradient(155deg,#17181b,#0b0c10)}
.page-location-dashboard .ctlg-rail-panel>h2{margin:8px 0 8px;font-size:26px!important;text-transform:none;letter-spacing:-.035em;line-height:1.15}
.page-location-dashboard .ctlg-rail-intro{color:#adb2bb;font-size:13px;line-height:1.55;margin:0 0 22px}
.page-location-dashboard .ctlg-rail-nav{display:grid;gap:8px}
.page-location-dashboard .ctlg-rail-nav>a{display:flex;align-items:center;gap:10px;min-width:0;padding:13px 10px;background:#191b20;border:1px solid #32353a;border-radius:13px;color:white;text-decoration:none}
.page-location-dashboard .ctlg-rail-nav>a:hover{border-color:#d4a640;background:#262117}
.page-location-dashboard .ctlg-rail-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;background:#302619;border-radius:10px;color:#efc771}
.page-location-dashboard .ctlg-rail-nav>a>span:nth-child(2){min-width:0;display:grid;gap:3px;flex:1}
.page-location-dashboard .ctlg-rail-nav strong{font-size:13px;line-height:1.25}
.page-location-dashboard .ctlg-rail-nav small{font-size:11px;color:#aeb1b9;line-height:1.3}
.page-location-dashboard .ctlg-rail-nav b{display:grid;place-items:center;min-width:25px;height:25px;border-radius:8px;background:#332714;color:#f6c75e;font-size:13px}
.page-location-dashboard .ctlg-rail-nav>a>i:last-child{color:#777e89;font-size:10px}
.page-location-dashboard .ctlg-rail-divider{height:1px;background:#34363b;margin:22px 0}
.page-location-dashboard .ctlg-rail-activity{display:grid;gap:4px;margin-top:14px}
.page-location-dashboard .ctlg-rail-activity>p{font-size:13px;color:#b1b6bd}
.page-location-dashboard .ctlg-rail-event{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #2e3035}
.page-location-dashboard .ctlg-rail-event-dot{width:9px;height:9px;flex:0 0 9px;margin-top:6px;border-radius:50%;background:#e8b85a;box-shadow:0 0 0 4px rgba(232,184,90,.12)}
.page-location-dashboard .ctlg-rail-event>div{min-width:0}
.page-location-dashboard .ctlg-rail-event small{display:block;margin-bottom:5px;font-size:11px;color:#b1b4bd}
.page-location-dashboard .ctlg-rail-event strong{display:block;font-size:13px;color:#fff;line-height:1.4}
.page-location-dashboard .ctlg-rail-event p{font-size:12px;line-height:1.5;color:#aaaeb8;margin:5px 0;overflow-wrap:anywhere}
.page-location-dashboard .ctlg-rail-event a,
.page-location-dashboard .ctlg-rail-footerlink{font-size:12px;font-weight:750;color:#e8bc59;text-decoration:none}
.page-location-dashboard .ctlg-rail-event a i{font-size:10px}
.page-location-dashboard .ctlg-rail-request{display:grid;gap:9px;padding:13px 0;border-bottom:1px solid #30333a}
.page-location-dashboard .ctlg-rail-request .location-request-status{justify-self:start}
.page-location-dashboard .ctlg-rail-request strong{font-size:14px}
.page-location-dashboard .ctlg-rail-request small{color:#aeb1bb}
.page-location-dashboard .ctlg-rail-footerlink{display:inline-flex;gap:9px;margin-top:15px}
@media(max-width:1100px){.page-location-dashboard .location-dashboard-grid-pro{grid-template-columns:1fr}.page-location-dashboard .ctlg-dashboard-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.page-location-detail .location-grid{grid-template-columns:1fr}.page-location-detail .ctlg-public-aside{position:static}}
@media(max-width:750px){.page-location-dashboard .ctlg-dashboard-rail{grid-template-columns:1fr}.page-location-detail .ctlg-premium-prices{grid-template-columns:1fr}.page-location-detail .location-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-location-detail .ctlg-hours-row{grid-template-columns:90px minmax(10px,1fr) auto;gap:8px;padding:9px}.page-location-detail .ctlg-hours-row strong{font-size:12px}.page-location-detail .ctlg-side-links{grid-template-columns:1fr}}
@media(max-width:440px){.page-location-detail .location-feature-grid{grid-template-columns:1fr 1fr}.page-location-detail .ctlg-hours-track{display:none}.page-location-detail .ctlg-hours-row{grid-template-columns:minmax(80px,1fr) auto}}

/* Location Betreiber - E-Mail- und Push-Einstellungen */
.page-location-notifications .location-notify-settings {margin:22px 0}
.page-location-notifications .location-notify-settings h2 {font-size:clamp(24px,3vw,36px);text-transform:none;line-height:1.15}
.location-notify-options {display:grid;gap:12px;margin:20px 0}
.location-notify-option {display:flex;gap:14px;align-items:center;border:1px solid #393d43;border-radius:16px;padding:18px;background:#121519;color:#fff}
.location-notify-option input {width:22px;height:22px;accent-color:#e5b248;flex-shrink:0}
.location-notify-option span {display:grid;gap:4px}
.location-notify-option small,.location-device-push small {color:#b5bcc6;line-height:1.55}
.location-notify-options>.btn-primary {justify-self:start}
.location-device-push {border:1px solid rgba(229,178,72,.35);border-radius:16px;padding:20px;background:linear-gradient(125deg,#1d1a14,#101317);display:grid;justify-items:start;gap:12px}
.location-device-push p {margin:0;color:#e1e4e8}
.location-device-push button[hidden] {display:none!important}
@media(max-width:680px){.location-notify-options>.btn-primary {width:100%}}
