/* ==========================================================================
   CRRA Component Grid Module
   3×2 grid of numbered items with parallelogram badges
   ========================================================================== */

.crra-component-grid-module {
    width: 100%;
}

.crra-cg-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(30px, 3.125vw, 50px) clamp(36px, 3.75vw, 60px);
}

/* ---------- Each Item — horizontal: badge left, content right ---------- */

.crra-cg-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(12px, 1.125vw, 18px);
}

/* ---------- Number Badge ---------- */

.crra-cg-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(44px, 3.625vw, 58px);
    height: clamp(40px, 3.25vw, 52px);
    clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: clamp(22px, 2.125vw, 34px);
    line-height: 1;
    color: #000000;
    background: var(--crra-yellow);
    filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.14));
}

/* ---------- Content Wrapper ---------- */

.crra-cg-content {
    flex: 1;
    min-width: 0;
    padding-top: 4px;
}

/* ---------- Item Heading ---------- */

.crra-cg-heading {
    font-family: var(--crra-h3-font);
    font-weight: 400;
    font-style: italic;
    font-size: var(--crra-h3-size);
    line-height: 1.33em;
    color: var(--crra-brown);
    margin: 0 0 8px 0;
    padding: 0;
}

/* ---------- Item Body ---------- */

.crra-cg-body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(16px, 1.25vw, 20px);
    line-height: 1.33em;
    color: var(--crra-brown);
    margin: 0;
    padding: 0;
}

/* ---------- Responsive ---------- */

@media (max-width: 980px) {
    .crra-cg-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 50px;
    }
}

@media (max-width: 767px) {
    .crra-cg-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}
