/**
 * ABC3 Biz Information page.
 * Mirrors the approved ABC Yii3 bridge look while staying inside the HumHub theme frame.
 */
:root {
    --abc3biz-gap: 20px;
    --abc3biz-panel-border-color: var(--hh-border-color, #d7d7d7);
    --abc3biz-panel-radius: var(--hh-border-radius-default, 4px);
    --abc3biz-panel-header-bg: var(--hh-text-color-highlight, #31414a);
    --abc3biz-panel-header-color: #fff;
    --abc3biz-panel-body-bg: var(--hh-background-color-main, #fff);
    --abc3biz-secondary-bg: var(--hh-background-color-secondary, #f5f5f5);
    --abc3biz-text: var(--hh-text-color-main, #333);
    --abc3biz-muted: var(--hh-text-color-secondary, #777);
}

.abc3biz-global-view,
.abc2biz-container-view,
.abc3biz-information {
    width: 100%;
    max-width: none;
    background: transparent !important;
    color: var(--abc3biz-text);
}

.abc3biz-information * {
    box-sizing: border-box;
}

.abc3biz-header-panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: var(--abc3biz-gap);
    row-gap: 8px;
    margin: 0 0 var(--abc3biz-gap) 0;
    padding: 10px;
    background: var(--abc3biz-panel-body-bg) !important;
    border: 1px solid var(--abc3biz-panel-border-color) !important;
    border-radius: var(--abc3biz-panel-radius) !important;
    box-shadow: none;
}

.abc3biz-header-main {
    grid-column: 1;
    grid-row: 1 / span 2;
    min-width: 0;
}

.abc3biz-title {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    font-size: 24px !important;
    line-height: 1.25 !important;
    font-weight: 300 !important;
    color: var(--hh-text-color-highlight, #31414a) !important;
    background: transparent !important;
}

.abc3biz-header-actions {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 8px;
    max-width: 420px;
    text-align: right;
}

.abc3biz-header-labels {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.abc3biz-header-labels .label,
.abc3biz-header-label {
    display: inline-block;
    padding: 4px 7px;
    color: #fff !important;
    background: var(--hh-text-color-secondary, #777) !important;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.2;
}

.abc3biz-info-grid {
    display: block;
}

.abc3biz-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: var(--abc3biz-gap);
    margin: var(--abc3biz-gap) 0 0 0 !important;
    padding: 0 !important;
    width: 100%;
}

.abc3biz-row:first-child {
    margin-top: 0 !important;
}

.abc3biz-col {
    display: flex;
    min-width: 0;
    padding: 0 !important;
    margin: 0 !important;
}

.abc3biz-col-8 { flex: 0 0 calc((100% - var(--abc3biz-gap)) * 0.6666667); max-width: calc((100% - var(--abc3biz-gap)) * 0.6666667); }
.abc3biz-col-4 { flex: 0 0 calc((100% - var(--abc3biz-gap)) * 0.3333333); max-width: calc((100% - var(--abc3biz-gap)) * 0.3333333); }
.abc3biz-col-6 { flex: 0 0 calc((100% - var(--abc3biz-gap)) / 2); max-width: calc((100% - var(--abc3biz-gap)) / 2); }
.abc3biz-col-12 { flex: 0 0 100%; max-width: 100%; }

.abc3biz-card,
.t3-info-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    background: var(--abc3biz-panel-body-bg) !important;
    border: 1px solid var(--abc3biz-panel-border-color) !important;
    border-radius: var(--abc3biz-panel-radius) !important;
    box-shadow: none !important;
    overflow: hidden;
}

.abc3biz-card-header,
.abc3biz-card > .panel-heading,
.abc3biz-card .abc3biz-card-header {
    color: var(--abc3biz-panel-header-color) !important;
    background: var(--abc3biz-panel-header-bg) !important;
    border: none !important;
    border-bottom: 1px solid var(--abc3biz-panel-border-color) !important;
    padding: 5px 10px !important;
    border-radius: var(--abc3biz-panel-radius) var(--abc3biz-panel-radius) 0 0 !important;
    font-family: "Open Sans", -apple-system, "system-ui", "Segoe UI", sans-serif, serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
}

.abc3biz-card-title,
.abc3biz-card h2,
.abc3biz-card .h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--abc3biz-panel-header-color) !important;
    background: transparent !important;
    font-family: "Open Sans", -apple-system, "system-ui", "Segoe UI", sans-serif, serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.abc3biz-card-body,
.abc3biz-card > .panel-body {
    flex: 1 1 auto;
    padding: 10px !important;
    background: var(--abc3biz-panel-body-bg) !important;
    color: var(--abc3biz-text) !important;
    overflow: auto;
}

.abc3biz-map-card .abc3biz-card-body,
.abc3biz-overview-card .abc3biz-card-body {
    min-height: 100%;
}

.abc3biz-map-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: 100%;
}

.abc3biz-osm-frame {
    display: block;
    width: 100%;
    min-height: 360px;
    height: 100%;
    flex: 1 1 auto;
    border: 0;
    border-radius: 3px;
    background: var(--abc3biz-secondary-bg);
}

.abc3biz-map-coordinates {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--abc3biz-muted);
    font-size: 12px;
}

.abc3biz-map-links {
    margin-top: 2px;
}

.abc3biz-overview-block,
.abc3biz-card .well {
    border: none !important;
    box-shadow: none !important;
    background: var(--abc3biz-secondary-bg) !important;
    margin: 0 0 10px 0 !important;
    padding: 10px !important;
    border-radius: 3px;
}

.abc3biz-overview-block:last-child {
    margin-bottom: 0 !important;
}

.abc3biz-overview-title,
.abc3biz-dl-label,
.abc3biz-copy-label {
    font-weight: 600;
    color: var(--hh-text-color-highlight, #31414a);
    margin-bottom: 4px;
}

.abc3biz-overview-text,
.abc3biz-dl-value,
.abc3biz-copy-text {
    overflow-wrap: anywhere;
}

.abc3biz-overview-block .abc3biz-copy-btn {
    margin-top: 8px;
}

.abc3biz-definition-list,
.abc3biz-copy-list,
.abc3biz-hours-list,
.abc3biz-social-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.abc3biz-dl-row,
.abc3biz-copy-row,
.abc3biz-hours-row,
.abc3biz-hours-line,
.abc3biz-social-row {
    display: grid;
    grid-template-columns: minmax(140px, 28%) minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 8px 10px;
    background: var(--abc3biz-secondary-bg);
    border-radius: 3px;
}

.abc3biz-dl-row {
    grid-template-columns: minmax(140px, 28%) minmax(0, 1fr);
}

.abc3biz-hours-row,
.abc3biz-social-row {
    grid-template-columns: minmax(120px, 28%) minmax(0, 1fr);
}

.abc3biz-hours-line {
    display: block;
}

.abc3biz-social-type {
    font-weight: 600;
    color: var(--hh-text-color-highlight, #31414a);
}

.abc3biz-copy-btn {
    white-space: nowrap;
}

.abc3biz-richtext,
.abc3biz-richtext p,
.abc3biz-richtext li,
.t3-richtext,
.t3-richtext p,
.t3-richtext li {
    line-height: 1.65 !important;
    overflow-wrap: anywhere !important;
    color: var(--abc3biz-text) !important;
}

.abc3biz-richtext p:first-child,
.t3-richtext p:first-child {
    margin-top: 0;
}

.abc3biz-richtext p:last-child,
.t3-richtext p:last-child {
    margin-bottom: 0;
}

.abc3biz-richtext ul,
.t3-richtext ul {
    margin-top: 0;
    margin-bottom: 10px;
    padding-left: 22px;
}

.abc3biz-muted {
    color: var(--abc3biz-muted) !important;
    font-style: italic;
}

.abc3biz-copy-flash {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 9999;
    padding: 8px 12px;
    color: #fff;
    background: rgba(0, 0, 0, .78);
    border-radius: 4px;
    font-size: 12px;
}

@media (max-width: 991px) {
    .abc3biz-header-panel {
        display: block;
    }
    .abc3biz-header-actions {
        justify-content: flex-start;
        margin-top: 10px;
        max-width: none;
    }
    .abc3biz-row {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: var(--abc3biz-gap);
    }
    .abc3biz-col-8,
    .abc3biz-col-4,
    .abc3biz-col-6,
    .abc3biz-col-12 {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }
    .abc3biz-osm-frame {
        min-height: 280px;
    }
}

@media (max-width: 640px) {
    .abc3biz-dl-row,
    .abc3biz-copy-row,
    .abc3biz-hours-row,
    .abc3biz-social-row {
        display: block;
    }
    .abc3biz-dl-label,
    .abc3biz-copy-label,
    .abc3biz-hours-row strong,
    .abc3biz-social-type {
        display: block;
        margin-bottom: 4px;
    }
    .abc3biz-copy-row .abc3biz-copy-btn {
        margin-top: 8px;
    }
}

/* ABC2 Biz manage editor compatibility */
.abc2biz-bridge-body{width:100%;max-width:none}.abc2biz-panel .panel-heading code{font-weight:400}.abc2biz-note{color:#777;font-size:12px}.abc2biz-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.abc2biz-grid .full{grid-column:1/-1}.abc2biz-block{border:1px solid #e5e5e5;border-radius:6px;padding:14px;background:#fff}.abc2biz-block h4{margin-top:0}.abc2biz-block label{margin-top:9px;font-weight:600}.abc2biz-check,.abc2biz-inline-check{font-weight:400!important;margin-top:8px;display:inline-block}.abc2biz-json{white-space:pre-wrap;background:#f8f8f8;border:1px solid #e5e5e5;border-radius:4px;padding:10px}.abc2biz-text{font-size:15px;line-height:1.55}@media(max-width:900px){.abc2biz-grid{grid-template-columns:1fr}.abc2biz-grid .full{grid-column:auto}}

/* 26.05.30.7: Legal information accordion and rich text refinements */
.abc3biz-richtext.t3-richtext p {
    margin: 0 0 10px 0;
}
.abc3biz-richtext.t3-richtext ul,
.abc3biz-richtext.t3-richtext ol {
    margin: 0 0 10px 20px;
    padding-left: 18px;
}
.abc3biz-richtext.t3-richtext h3 {
    margin: 14px 0 8px 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--hh-text-color-highlight, #31414a);
}
.abc3biz-richtext.t3-richtext hr {
    margin: 14px 0;
    border: 0;
    border-top: 1px solid var(--abc3biz-panel-border-color);
}
.abc3biz-legal-accordion,
.t3-legal-accordion {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.abc3biz-details,
.t3-details {
    background: var(--abc3biz-secondary-bg);
    border-radius: 3px;
    padding: 0;
    overflow: hidden;
}
.abc3biz-details > summary,
.t3-details > summary {
    cursor: pointer;
    padding: 8px 10px;
    font-weight: 600;
    color: var(--hh-text-color-highlight, #31414a);
    list-style: none;
}
.abc3biz-details > summary::-webkit-details-marker,
.t3-details > summary::-webkit-details-marker {
    display: none;
}
.abc3biz-details > summary:before,
.t3-details > summary:before {
    content: '▸';
    display: inline-block;
    margin-right: 6px;
    transition: transform .15s ease-in-out;
}
.abc3biz-details[open] > summary:before,
.t3-details[open] > summary:before {
    transform: rotate(90deg);
}
.abc3biz-details-body,
.t3-details-body {
    padding: 0 10px 10px 24px;
}
.abc3biz-details-body .text-muted,
.t3-details-body .text-muted {
    margin: 0;
}
.abcmap-section {
    border: 1px solid #dfe3e9;
    border-radius: 12px;
    padding: 18px;
    margin: 0 0 22px;
    background: #fff;
}

.abcmap-section-title {
    margin: 0 0 14px;
    font-size: 18px;
    font-weight: 600;
}

.abcmap-help {
    color: #6c757d;
    margin-bottom: 12px;
}

.abcmap-map-preview iframe {
    width: 100%;
    min-height: 600px;
    border: 1px solid #dfe3e9;
    border-radius: 12px;
    display: block;
}

.abcmap-table {
    width: 100%;
}

.abcmap-table th,
.abcmap-table td {
    vertical-align: top;
}

.abcmap-table .form-control,
.abcmap-table .form-select {
    width: 100%;
}

.abcmap-check-inline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 12px 0 0;
    white-space: nowrap;
}

.abcmap-check-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.abcmap-service-value[disabled] {
    background: #f8f9fa;
}

.abcmap-link-row .form-control,
.abcmap-link-row .form-select {
    min-width: 0;
}

.abcmap-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

@media (max-width: 767px) {
    .abcmap-responsive-table,
    .abcmap-responsive-table tbody,
    .abcmap-responsive-table tr,
    .abcmap-responsive-table th,
    .abcmap-responsive-table td {
        display: block;
        width: 100%;
    }

    .abcmap-responsive-table thead {
        display: none;
    }

    .abcmap-responsive-table tr {
        border: 1px solid #e6e9ef;
        border-radius: 10px;
        padding: 12px;
        margin-bottom: 12px;
        background: #fff;
    }

    .abcmap-responsive-table th,
    .abcmap-responsive-table td {
        border: 0 !important;
        padding: 6px 0 !important;
    }

    .abcmap-responsive-table td::before {
        content: attr(data-label);
        display: block;
        font-weight: 600;
        margin-bottom: 6px;
    }

    .abcmap-map-preview iframe {
        min-height: 420px;
    }
}
.abcmap-admin-page .card {
    margin-bottom: 1rem;
}

.abcmap-admin-page .form-group,
.abcmap-legal-page .form-group {
    margin-bottom: 1rem;
}

.abcmap-admin-page .nav-pills,
.abcmap-legal-page .nav-pills {
    gap: .35rem;
}

.abcmap-admin-page .nav-pills .nav-link,
.abcmap-legal-page .nav-pills .nav-link {
    border-radius: 999px;
}

.abcmap-admin-page .card-header,
.abcmap-legal-page .card-header {
    font-weight: 600;
}



.abcmap-admin-index .abcmap-settings-actions {
    margin-top: 1rem;
}

.abcmap-location-review-panel,
.abcmap-danger-zone {
    margin-top: 1.5rem;
}

.abcmap-location-review-table > tbody > tr > td {
    vertical-align: middle;
}

.abcmap-location-review-action-col {
    min-width: 260px;
}

.abcmap-location-review-form {
    min-width: 240px;
}

.abcmap-location-review-secondary {
    margin-top: .25rem;
}

.abcmap-danger-zone {
    border-width: 2px;
}

.abcmap-danger-zone .panel-heading {
    font-weight: 700;
}

.abcmap-danger-form {
    max-width: 640px;
}

.abc2biz-manage-panel .richtext-input,
.abc2biz-manage-panel .humhub-richtext {
    min-height: 160px;
}
.abc2biz-manage-panel .ProseMirror,
.abc2biz-manage-panel [contenteditable="true"] {
    min-height: 140px;
}
.abc2biz-manage-panel code {
    white-space: normal;
}
