.pub-info-cards-block {
    padding: 48px 0;
}

.pub-info-cards-block--fundal-activ {
    background: var(--pub-header-footer-bg);
}

/* Cand "Extindere fundal" e activ dar "Extindere bloc" NU e, .pub-info-cards-block-inner primeste
   clasa "--boxed" - continutul (cardurile) ramane pe latimea normala de container desi fundalul
   din jur e intins pe tot ecranul - acelasi tipar ca la blocurile "Imagine + text", "Contact" si
   "Lista cu bife". */
.pub-info-cards-block-inner--boxed {
    /* --pub-block-width-scale (0-1, vezi Latime continut % din admin) ingusteaza suplimentar
       continutul, independent de fundalul care ramane intins pe tot ecranul (vezi page_blocks.php). */
    width: calc(clamp(min(var(--pub-container-min), 100%), min(var(--pub-container-width), 100%), var(--pub-container-max)) * var(--pub-block-width-scale, 1));
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
}

.pub-info-cards-subtitle {
    text-align: center;
    color: var(--pub-text-muted);
    margin: 0 0 24px;
}

/* Iconita in stanga, titlu+descriere in dreapta - acelasi tipar/dimensiuni ca .service-card din
   nadragaventura_vs (carduri-servicii.css), nu carduri cu continut centrat pe verticala. */
.pub-info-cards-grid {
    --carduri-info-gap: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--carduri-info-gap);
}

.pub-info-card {
    display: flex;
    align-items: center;
    text-align: left;
    gap: 20px;
    padding: 24px 20px;
    border: 1px solid var(--pub-header-footer-border);
    border-radius: 10px;
    flex: 0 1 calc((100% - (var(--carduri-info-cols) - 1) * var(--carduri-info-gap)) / var(--carduri-info-cols));
    min-width: 280px;
}

.pub-info-card-icon-badge {
    width: 104px;
    height: 104px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 2px solid var(--pub-header-footer-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pub-accent);
}

.pub-info-card-icon-badge svg {
    width: 60px;
    height: 60px;
}

.pub-info-card-icon-img {
    width: 104px;
    height: 104px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 2px solid var(--pub-header-footer-border);
    object-fit: contain;
    padding: 18px;
    box-sizing: border-box;
}

.pub-info-card-content {
    flex: 1;
    min-width: 0;
}

.pub-info-card-title {
    margin: 0 0 8px;
    font-size: 17px;
}

.pub-info-card-desc {
    margin: 0;
    color: var(--pub-text-muted);
    font-size: 14px;
}

@media (max-width: 700px) {
    .pub-info-card {
        flex-basis: 100%;
        min-width: 0;
    }
}

@media (max-width: 480px) {
    /* Iconita + titlu pe primul rand, descrierea pe rand nou, pe toata latimea - fara asta,
       titlul se inghesuie langa iconita mare de 104px si se rupe urat pe telefoane inguste. */
    .pub-info-card {
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-areas:
            "icon title"
            "desc desc";
        align-items: center;
        column-gap: 14px;
        row-gap: 8px;
    }

    .pub-info-card-icon-badge,
    .pub-info-card-icon-img {
        grid-area: icon;
        width: 64px;
        height: 64px;
    }

    .pub-info-card-icon-badge svg {
        width: 36px;
        height: 36px;
    }

    .pub-info-card-icon-img {
        padding: 12px;
    }

    .pub-info-card-content {
        display: contents;
    }

    .pub-info-card-title {
        grid-area: title;
        margin: 0;
    }

    .pub-info-card-desc {
        grid-area: desc;
        margin: 0;
    }
}
