/**
 * gm_benefitsbar — Benefits Bar
 * Author: Gryczan.eu
 *
 * CSS custom properties (override in child theme):
 *   --gm-benefitsbar-bg          Background colour of the bar
 *   --gm-benefitsbar-radius      Border-radius of the bar
 *   --gm-benefitsbar-color       Text colour
 *   --gm-benefitsbar-icon-size   Icon size
 */

:root {
    --gm-benefitsbar-bg:        #FADEE6;
    --gm-benefitsbar-radius:    16px;
    --gm-benefitsbar-color:     #010101;
    --gm-benefitsbar-icon-size: 48px;
}

/* ── Wrapper ─────────────────────────────────────────────────────────── */
.gm-benefitsbar {
    padding:          16px 0;
}

div.gm-benefitsbar__container {
    background-color: var(--gm-benefitsbar-bg);
    border-radius:    var(--gm-benefitsbar-radius);
    padding:          16px;
    margin-bottom:    24px;
}

/* ── List ─────────────────────────────────────────────────────────────── */
.gm-benefitsbar__list {
    display:               grid;
    grid-template-columns: repeat(4, 1fr);
    gap:                   8px 16px;
    list-style:            none;
    margin:                0;
    padding:               0;
}

/* ── Item ─────────────────────────────────────────────────────────────── */
.gm-benefitsbar__item {
    display: flex;
}

/* ── Inner (shared between <a> and <div>) ─────────────────────────────── */
.gm-benefitsbar__inner {
    display:     flex;
    align-items: center;
    gap:         12px;
    padding:     12px 16px;
    color:       var(--gm-benefitsbar-color);
    text-decoration: none;
    border-radius:   12px;
    width:       100%;

    /* Transition for linked items */
    transition:  transform 0.2s ease, box-shadow 0.2s ease;
}

/* ── Hover — only for linked items ───────────────────────────────────── */
.gm-benefitsbar__item--linked .gm-benefitsbar__inner {
    cursor: pointer;
}

.gm-benefitsbar__item--linked .gm-benefitsbar__inner:hover,
.gm-benefitsbar__item--linked .gm-benefitsbar__inner:focus-visible {
    transform:   scale(1.01);
    box-shadow:  0 4px 16px rgba(1, 1, 1, 0.08);
    outline:     none;
    color:       var(--gm-benefitsbar-color);
    text-decoration: none;
    background-color: #fdeff3;
}

/* ── Icon ─────────────────────────────────────────────────────────────── */
.gm-benefitsbar__icon {
    flex-shrink: 0;
    width:       var(--gm-benefitsbar-icon-size);
    height:      var(--gm-benefitsbar-icon-size);
    display:     flex;
    align-items: center;
    justify-content: center;
}

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

/* ── Text block ───────────────────────────────────────────────────────── */
.gm-benefitsbar__text {
    display:        flex;
    flex-direction: column;
    gap:            2px;
}

.gm-benefitsbar__title {
    display:     block;
    font-weight: 700;
    font-size:   0.9375rem; /* 15px */
    line-height: 1.3;
    color:       var(--gm-benefitsbar-color);
}

.gm-benefitsbar__subtitle {
    display:     block;
    font-size:   0.8125rem; /* 13px */
    line-height: 1.4;
    color:       var(--gm-benefitsbar-color);
    opacity:     0.75;
}

/* ── Tablet: 2×2 grid ────────────────────────────────────────────────── */
@media (max-width: 991px) {
    .gm-benefitsbar__list {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ── Mobile: 2×2 grid (tighter) ─────────────────────────────────────── */
@media (max-width: 575px) {
    .gm-benefitsbar {
        border-radius: 12px;
        padding:       12px 0;
        margin: 0 10px;
    }

    .gm-benefitsbar__text {
        text-align: center;
    }

    .gm-benefitsbar__list {
        grid-template-columns: repeat(2, 1fr);
        gap:                   4px 8px;
    }

    .gm-benefitsbar__inner {
        padding:    10px 12px;
        gap:        10px;
        flex-direction: column;
    }

    --gm-benefitsbar-icon-size: 36px; /* not inherited as var in media; override below */

    .gm-benefitsbar__icon {
        width:  36px;
        height: 36px;
    }

    .gm-benefitsbar__title {
        font-size: 0.8125rem;
    }

    .gm-benefitsbar__subtitle {
        font-size: 0.75rem;
    }
}
