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

    body footer,
    body .footer,
    body .site-footer,
    body .main-footer {
        position: relative !important;
        z-index: 1 !important;
    }

    .gm-case-page {
        position: relative;
        z-index: 5;
        isolation: isolate;
        min-height: 100vh;
        padding: 32px 0 90px;
        background:
            radial-gradient(circle at top left, rgba(255, 169, 77, 0.22), transparent 34%),
            linear-gradient(180deg, #fff8ef 0%, #fff 45%, #fff7ed 100%);
        font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        color: #24110d;
    }

    .gm-case-page .container {
        max-width: 1180px;
    }

    .gm-case-hero {
        border-radius: 28px;
        padding: 30px;
        background: linear-gradient(135deg, #7f1d1d 0%, #b42318 46%, #f97316 100%);
        color: #fff;
        box-shadow: 0 22px 55px rgba(127, 29, 29, 0.22);
        overflow: hidden;
        position: relative;
        margin-bottom: 24px;
    }

    .gm-case-hero::after {
        content: "";
        width: 280px;
        height: 280px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.12);
        position: absolute;
        right: -80px;
        top: -100px;
    }

    .gm-hero-content {
        position: relative;
        z-index: 2;
    }

    .gm-hero-title {
        font-size: clamp(28px, 4vw, 46px);
        font-weight: 800;
        letter-spacing: -0.04em;
        margin: 10px 0 8px;
    }

    .gm-hero-subtitle {
        max-width: 780px;
        color: rgba(255, 255, 255, 0.86);
        font-size: 15px;
        line-height: 1.7;
        margin: 0;
    }

    .gm-back-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        border: 0;
        border-radius: 999px;
        background: #fff;
        color: #8a1c15;
        padding: 11px 17px;
        font-weight: 700;
        text-decoration: none;
        box-shadow: 0 14px 28px rgba(0, 0, 0, 0.14);
        white-space: nowrap;
    }

    .gm-back-btn:hover {
        color: #6b130f;
        transform: translateY(-1px);
    }

    .gm-chip-row {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
    }

    .gm-chip {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 8px 12px;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        border: 1px solid rgba(255, 255, 255, 0.25);
    }

    .gm-chip-white {
        color: #7f1d1d;
        background: #fff;
    }

    .gm-chip-yellow {
        color: #854d0e;
        background: #fef3c7;
    }

    .gm-chip-blue {
        color: #1d4ed8;
        background: #dbeafe;
    }

    .gm-chip-orange {
        color: #c2410c;
        background: #ffedd5;
    }

    .gm-chip-green {
        color: #15803d;
        background: #dcfce7;
    }

    .gm-chip-red {
        color: #b91c1c;
        background: #fee2e2;
    }

    .gm-summary-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 14px;
        margin-bottom: 24px;
    }

    .gm-summary-card {
        background: #fff;
        border: 1px solid #fee2c5;
        border-radius: 22px;
        padding: 18px;
        box-shadow: 0 12px 35px rgba(124, 45, 18, 0.08);
    }

    .gm-summary-card span {
        display: block;
        color: #8b5e3c;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        margin-bottom: 7px;
    }

    .gm-summary-card strong {
        display: block;
        color: #2d130c;
        font-size: 16px;
        font-weight: 800;
        line-height: 1.35;
    }

    .gm-card {
        background: #fff;
        border: 1px solid #f3dcc7;
        border-radius: 26px;
        box-shadow: 0 18px 45px rgba(124, 45, 18, 0.08);
        overflow: hidden;
        margin-bottom: 24px;
    }

    .gm-card-header {
        padding: 22px 24px;
        border-bottom: 1px solid #f4e2d2;
        background: linear-gradient(180deg, #fffaf5, #fff);
    }

    .gm-card-title {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 0;
        color: #2d130c;
        font-size: 20px;
        font-weight: 800;
        letter-spacing: -0.02em;
    }

    .gm-card-title i {
        color: #ea580c;
    }

    .gm-card-body {
        padding: 24px;
    }

    .gm-detail-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .gm-detail-grid.three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gm-detail-item {
        background: #fff8f1;
        border: 1px solid #f6dcc2;
        border-radius: 18px;
        padding: 15px;
        min-height: 86px;
    }

    .gm-detail-item.full {
        grid-column: 1 / -1;
    }

    .gm-detail-label {
        display: block;
        color: #9a5b29;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        margin-bottom: 7px;
    }

    .gm-detail-value {
        color: #24110d;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.6;
        margin: 0;
        word-break: break-word;
    }

    .gm-map-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 16px;
    }

    .gm-action-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        border-radius: 999px;
        padding: 10px 15px;
        font-size: 14px;
        font-weight: 800;
        text-decoration: none;
        border: 1px solid #fed7aa;
        color: #9a3412;
        background: #fff7ed;
    }

    .gm-action-btn:hover {
        color: #7c2d12;
        background: #ffedd5;
    }

    .gm-person-card {
        display: flex;
        gap: 14px;
        align-items: center;
        padding: 14px;
        border-radius: 20px;
        background: #fff8f1;
        border: 1px solid #f6dcc2;
        margin-bottom: 16px;
    }

    .gm-avatar {
        width: 58px;
        height: 58px;
        border-radius: 18px;
        overflow: hidden;
        flex: 0 0 auto;
        display: grid;
        place-items: center;
        color: #fff;
        font-weight: 800;
        font-size: 22px;
        background: linear-gradient(135deg, #b42318, #f97316);
        box-shadow: 0 10px 24px rgba(180, 35, 24, 0.18);
    }

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

    .gm-person-card h5 {
        color: #2d130c;
        font-size: 17px;
        font-weight: 800;
        margin: 0 0 4px;
    }

    .gm-person-card p {
        color: #7c4a2c;
        font-size: 14px;
        font-weight: 600;
        margin: 0;
    }

    .gm-info-list {
        display: grid;
        gap: 11px;
    }

    .gm-info-row {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        color: #3b2016;
        font-size: 14px;
        line-height: 1.5;
    }

    .gm-info-row i {
        color: #ea580c;
        margin-top: 2px;
    }

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

    .gm-media-box {
        border-radius: 22px;
        overflow: hidden;
        background: #111827;
        border: 1px solid #f3dcc7;
        box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
    }

    .gm-media-box img,
    .gm-media-box video {
        width: 100%;
        height: 260px;
        object-fit: cover;
        display: block;
    }

    .gm-empty {
        background: #fff7ed;
        border: 1px dashed #fdba74;
        color: #9a3412;
        padding: 18px;
        border-radius: 18px;
        font-weight: 700;
    }

    .gm-timeline {
        position: relative;
        display: grid;
        gap: 14px;
    }

    .gm-timeline-item {
        display: flex;
        gap: 14px;
        align-items: flex-start;
        padding: 14px;
        border-radius: 18px;
        background: #fff8f1;
        border: 1px solid #f6dcc2;
    }

    .gm-timeline-icon {
        width: 42px;
        height: 42px;
        border-radius: 14px;
        display: grid;
        place-items: center;
        background: #ffedd5;
        color: #ea580c;
        flex: 0 0 auto;
    }

    .gm-timeline-item strong {
        display: block;
        color: #2d130c;
        font-size: 15px;
        font-weight: 800;
        margin-bottom: 3px;
    }

    .gm-timeline-item span {
        color: #7c4a2c;
        font-size: 13px;
        font-weight: 600;
    }

    .gm-table-wrap {
        width: 100%;
        overflow-x: auto;
    }

    .gm-table {
        width: 100%;
        min-width: 850px;
        margin: 0;
        border-collapse: separate;
        border-spacing: 0 10px;
    }

    .gm-table thead th {
        color: #8b5e3c;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        border: 0;
        padding: 0 14px 6px;
    }

    .gm-table tbody td {
        background: #fff8f1;
        color: #2d130c;
        border-top: 1px solid #f6dcc2;
        border-bottom: 1px solid #f6dcc2;
        padding: 14px;
        font-size: 14px;
        font-weight: 600;
        vertical-align: middle;
    }

    .gm-table tbody td:first-child {
        border-left: 1px solid #f6dcc2;
        border-radius: 16px 0 0 16px;
    }

    .gm-table tbody td:last-child {
        border-right: 1px solid #f6dcc2;
        border-radius: 0 16px 16px 0;
    }

    @media (max-width: 991px) {
        .gm-summary-grid {
            grid-template-columns: repeat(2, 1fr);
        }

        .gm-media-grid {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width: 767px) {
        .gm-case-page {
            padding: 20px 0 70px;
        }

        .gm-case-hero {
            padding: 22px;
            border-radius: 22px;
        }

        .gm-summary-grid,
        .gm-detail-grid,
        .gm-detail-grid.three {
            grid-template-columns: 1fr;
        }

        .gm-card-header,
        .gm-card-body {
            padding: 18px;
        }

        .gm-media-box img,
        .gm-media-box video {
            height: 220px;
        }
    }
