/* ============================================================
   COOKIE POLICY
   Uses variables defined in popup.css
   ============================================================ */

.ccm-policy-page {
    color: var(--ccm-text-regular);
    font-size: var(--ccm-font-base);
    line-height: 1.6;
}

.ccm-policy-page *,
.ccm-policy-page *::before,
.ccm-policy-page *::after {
    box-sizing: border-box;
}

.ccm-policy-container {
    width: 100%;
    display:flex;
    flex-direction: column;
    gap:40px;
}

.ccm-policy-page h2 {
    margin: 0 0 calc(var(--ccm-spacing-xl) + var(--ccm-spacing-sm));
    color: var(--ccm-text-dark);
    font-size: var(--ccm-font-2xl);
    font-weight: var(--ccm-font-semibold);
    line-height: 1.25;
}

/* ============================================================
   CURRENT CONSENT
   ============================================================ */

.ccm-policy-user-consent {
    padding: var(--ccm-spacing-xl);
    border-left: 4px solid var(--ccm-primary);
    border-radius: var(--ccm-radius);
    background: var(--ccm-consent-bg);
    color: var(--ccm-text-regular);
}



.ccm-policy-user-consent p {
    margin: var(--ccm-spacing-sm) 0;
}

.ccm-policy-user-consent code {
    display: inline-block;
    max-width: 100%;
    padding: var(--ccm-spacing-xs) var(--ccm-spacing-sm);
    border-radius: calc(var(--ccm-radius) / 2);
    background: var(--ccm-bg-lightest);
    color: var(--ccm-text-dark);
    font-family: monospace;
    font-size: var(--ccm-font-sm);
    overflow-wrap: anywhere;
    word-break: break-word;
}




/* ============================================================
   CATEGORIES
   ============================================================ */

.ccm-policy-category {
    margin-bottom: calc(var(--ccm-spacing-xxl) * 2);
}

.ccm-policy-category:last-child {
    margin-bottom: 0;
}



.ccm-policy-category-desc {
    margin-bottom: var(--ccm-spacing-xl);
    color: var(--ccm-text-light);
}

.ccm-policy-category-desc > :first-child {
    margin-top: 0;
}

.ccm-policy-category-desc > :last-child {
    margin-bottom: 0;
}

.ccm-policy-services {
    display: flex;
    flex-direction: column;
    gap: var(--ccm-spacing-xl);
}

/* ============================================================
   SERVICES
   ============================================================ */

.ccm-policy-service {
    padding: var(--ccm-spacing-xl);
    border: 1px solid var(--ccm-border-lighter);
    border-radius: var(--ccm-radius);
    background: var(--ccm-bg-light);
    color: var(--ccm-text-regular);
}

.ccm-policy-service > h3 {
    margin: 0 0 var(--ccm-spacing-lg);
    color: var(--ccm-text-dark);
    font-size: var(--ccm-font-lg);
    font-weight: var(--ccm-font-semibold);
    line-height: 1.3;
}

.ccm-policy-section,
.ccm-policy-cookies-list {
    margin-top: var(--ccm-spacing-lg);
}

.ccm-policy-section strong,
.ccm-policy-cookies-list > strong {
    color: var(--ccm-text-regular);
    font-weight: var(--ccm-font-semibold);
}

/* ============================================================
   COOKIES
   ============================================================ */

.ccm-policy-cookie {
    margin-top: var(--ccm-spacing-md);
    padding: var(--ccm-spacing-md);
    border: 1px solid var(--ccm-border-lighter);
    border-radius: var(--ccm-radius);
    background: var(--ccm-bg-white);
}

.ccm-policy-cookie > strong {
    display: block;
    margin-bottom: var(--ccm-spacing-sm);
    color: var(--ccm-text-dark);
    font-weight: var(--ccm-font-semibold);
}

.ccm-policy-cookie-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ccm-spacing-md);
    margin-top: var(--ccm-spacing-sm);
    color: var(--ccm-text-light);
    font-size: var(--ccm-font-sm);
}

.ccm-policy-cookie-meta > div {
    min-width: 0;
}

.ccm-policy-cookie-meta strong {
    display: block;
    margin-bottom: 2px;
    color: var(--ccm-text-muted);
    font-size: 10px;
    font-weight: var(--ccm-font-semibold);
    text-transform: uppercase;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 768px) {
    .ccm-policy-container {
        margin: var(--ccm-spacing-xxl) auto;
        padding: 0 var(--ccm-spacing-lg);
    }

    .ccm-policy-page h2 {
        font-size: var(--ccm-font-xl);
    }



    .ccm-policy-service {
        padding: var(--ccm-spacing-lg);
    }

    .ccm-policy-cookie-meta {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .ccm-policy-container {
        padding: 0 var(--ccm-spacing-md);
    }

    .ccm-policy-user-consent,
    .ccm-policy-service {
        padding: var(--ccm-spacing-lg);
    }

    .ccm-policy-btn-manage {
        width: 100%;
    }
}