.nmla-cetesb-widget,
.nmla-cetesb-widget *,
.nmla-cetesb-convergence,
.nmla-cetesb-convergence * {
    box-sizing: border-box;
}

.nmla-cetesb-widget {
    /* Fallback aliases retained only for the existing Mini Card styles below. */
    --cetesb-card-bg: var(--nmla-surface, #ffffff);
    --cetesb-text: var(--nmla-text, #16191f);
    --cetesb-muted: var(--nmla-text-muted-soft, #94a3b8);
    --cetesb-border: var(--nmla-border, rgba(205, 220, 236, 0.7));
    --cetesb-accent: var(--nmla-primary, #087cf5);
    --cetesb-proper: var(--nmla-success, #2f9e44);
    --cetesb-improper: var(--nmla-danger, #d92d20);
    --cetesb-shadow-card: var(--nmla-shadow-elevated, 0 22px 45px rgba(104, 139, 178, 0.16), 0 8px 18px rgba(104, 139, 178, 0.1));
    width: 100%;
    padding: clamp(20px, 4vw, 42px);
    border-radius: var(--nmla-radius-lg, 36px);
    background: var(--nmla-background, #e3edf7);
    color: var(--nmla-text, #16191f);
    font-family: var(--nmla-font-family, "Quicksand", sans-serif);
    font-size: var(--fs, var(--nmla-text, 15px));
    line-height: var(--nmla-line-normal, 1.45);
}

.nmla-cetesb-convergence {
    width: 100%;
    padding: var(--nmla-cetesb-outer-padding, clamp(20px, 4vw, 42px));
    border-radius: var(--nmla-cetesb-card-radius, var(--nmla-card-radius, var(--nmla-radius-lg, 36px)));
    background: var(--nmla-cetesb-context-background, transparent);
    color: var(--nmla-cetesb-text-color, var(--nmla-text, #16191f));
    font-family: var(--nmla-font-family, "Quicksand", sans-serif);
    font-size: var(--nmla-cetesb-font-size, var(--fs, 15px));
    line-height: var(--nmla-line-normal, 1.45);
}

/* Lean visual fallback used only when the central Design System is unavailable. */
.nmla-cetesb-convergence .nmla-cetesb-fallback-card {
    padding: 24px;
    border: 1px solid rgba(205, 220, 236, 0.7);
    border-radius: 36px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(104, 139, 178, 0.08);
    color: #16191f;
}

.nmla-cetesb-convergence .nmla-cetesb-fallback-card--compact {
    padding: 16px;
}

.nmla-cetesb-convergence .nmla-cetesb-fallback-card--elevated {
    box-shadow: 0 22px 45px rgba(104, 139, 178, 0.16), 0 8px 18px rgba(104, 139, 178, 0.1);
}

.nmla-cetesb-convergence .nmla-cetesb-fallback-badge {
    display: inline-flex;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    font: 600 11px/1 "Quicksand", sans-serif;
    white-space: nowrap;
}

.nmla-cetesb-convergence .nmla-cetesb-fallback-badge--success {
    background: #ecfdf3;
    color: #067647;
}

.nmla-cetesb-convergence .nmla-cetesb-fallback-badge--danger {
    background: #fff0ef;
    color: #d92d20;
}

.nmla-cetesb-convergence .nmla-pills {
    display: grid;
    gap: var(--nmla-space-md, 16px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    margin: 0 0 var(--nmla-space-lg, 24px);
}

.nmla-cetesb-convergence .nmla-cetesb-meta {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: var(--nmla-space-sm, 8px);
    align-items: center;
    width: 100%;
    border-radius: var(--nmla-cetesb-card-radius, var(--nmla-card-radius, var(--nmla-radius-lg, 36px)));
}

.nmla-cetesb-convergence .nmla-cetesb-meta i {
    color: var(--nmla-cetesb-accent-color, var(--nmla-primary, #087cf5));
}

.nmla-cetesb-convergence .nmla-cetesb-meta span {
    min-width: 0;
    color: var(--nmla-cetesb-muted-color, var(--nmla-text-muted-soft, #94a3b8));
    font: var(--nmla-font-medium, 500) var(--nmla-cetesb-font-size, var(--nmla-text-small, 12px))/var(--nmla-line-normal, 1.45) var(--nmla-font-family, "Quicksand", sans-serif);
}

.nmla-cetesb-convergence .nmla-cetesb-meta strong {
    color: var(--nmla-cetesb-text-color, var(--nmla-text, #16191f));
    font-weight: var(--nmla-font-semibold, 600);
}

.nmla-cetesb-convergence .nmla-cetesb-table-surface {
    overflow: hidden;
    border-radius: var(--nmla-cetesb-card-radius, var(--nmla-card-radius, var(--nmla-radius-lg, 36px)));
    background: var(--nmla-cetesb-table-background, var(--nmla-surface, #ffffff));
    box-shadow: var(--nmla-cetesb-card-shadow-override, var(--nmla-shadow-elevated, 0 22px 45px rgba(104, 139, 178, 0.16), 0 8px 18px rgba(104, 139, 178, 0.1)));
}

.nmla-cetesb-convergence .nmla-cetesb-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--nmla-cetesb-text-color, var(--nmla-text, #16191f));
    font-family: inherit;
}

.nmla-cetesb-convergence .nmla-cetesb-table thead th {
    padding: var(--nmla-space-sm, 8px) var(--nmla-space-md, 16px) var(--nmla-space-md, 16px);
    border-bottom: 1px solid var(--nmla-border, rgba(205, 220, 236, 0.7));
    color: var(--nmla-cetesb-muted-color, var(--nmla-text-muted-soft, #94a3b8));
    font: var(--nmla-font-semibold, 600) var(--nmla-cetesb-font-size, var(--nmla-text-small, 12px))/var(--nmla-line-normal, 1.45) var(--nmla-font-family, "Quicksand", sans-serif);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.nmla-cetesb-convergence .nmla-cetesb-table tbody td {
    padding: var(--nmla-cetesb-cell-padding, var(--nmla-space-md, 16px));
    border-bottom: 1px solid var(--nmla-border, rgba(205, 220, 236, 0.7));
    color: var(--nmla-cetesb-text-color, var(--nmla-text, #16191f));
    vertical-align: middle;
}

.nmla-cetesb-convergence .nmla-cetesb-table tbody tr:last-child td {
    border-bottom: 0;
}

.nmla-cetesb-convergence .nmla-cetesb-table .flag {
    width: auto;
    height: var(--nmla-cetesb-flag-size, 24px);
    object-fit: contain;
}

.nmla-cetesb-convergence .nmla-cetesb-table .praia,
.nmla-cetesb-convergence .nmla-cetesb-table .praia a {
    color: var(--nmla-cetesb-text-color, var(--nmla-text, #16191f));
    font-size: var(--nmla-cetesb-beach-name-size, var(--nmla-cetesb-font-size, 1.05em));
    font-weight: var(--nmla-font-semibold, 600);
}

.nmla-cetesb-convergence .nmla-cetesb-table .praia a {
    text-decoration-color: var(--nmla-cetesb-accent-color, var(--nmla-primary, #087cf5));
    text-underline-offset: 3px;
}

.nmla-cetesb-convergence .nmla-cetesb-table .badge {
    min-width: 94px;
    justify-content: center;
    font-size: var(--nmla-cetesb-classification-size, var(--nmla-cetesb-font-size, 11px));
}

.nmla-cetesb-convergence .nmla-cetesb-table .nmla-badge--success {
    color: var(--nmla-cetesb-proper-color, var(--nmla-success-strong, #067647));
}

.nmla-cetesb-convergence .nmla-cetesb-table .nmla-badge--danger {
    color: var(--nmla-cetesb-improper-color, var(--nmla-danger-strong, #d92d20));
}

.nmla-cetesb-convergence .nmla-empty {
    padding: var(--nmla-space-xl, 32px) var(--nmla-space-md, 16px);
    color: var(--nmla-cetesb-muted-color, var(--nmla-text-muted-soft, #94a3b8));
    font-weight: var(--nmla-font-semibold, 600);
    text-align: center;
}

.nmla-cetesb-convergence .nmla-empty--proper {
    color: var(--nmla-cetesb-proper-color, var(--nmla-success, #2f9e44));
}

.nmla-cetesb-convergence .nmla-empty--improper {
    color: var(--nmla-cetesb-improper-color, var(--nmla-danger, #d92d20));
}

.nmla-cetesb-convergence .nmla-empty-message {
    display: block;
}

@media (max-width: 680px) {
    .nmla-cetesb-convergence {
        padding: var(--nmla-cetesb-outer-padding, 18px);
        border-radius: var(--nmla-cetesb-card-radius, var(--nmla-card-radius, var(--nmla-radius-md, 26px)));
    }

    .nmla-cetesb-convergence .nmla-pills {
        grid-template-columns: 1fr;
    }

    .nmla-cetesb-convergence .nmla-cetesb-table thead th,
    .nmla-cetesb-convergence .nmla-cetesb-table tbody td {
        padding-right: 9px;
        padding-left: 9px;
    }

    .nmla-cetesb-convergence .nmla-cetesb-table .badge {
        min-width: 0;
    }
}

/* Compact bulletin summary used by the Elementor Mini mode. */
.nmla-cetesb-widget--mini {
    --cetesb-mini-bg: var(--cetesb-card-bg, #ffffff);
    --cetesb-mini-text: var(--cetesb-text, #16191f);
    --cetesb-mini-muted: var(--cetesb-muted, #64748b);
    --cetesb-mini-gap: 10px;
    --cetesb-mini-align: left;
    display: grid;
    width: 100%;
    max-width: 100%;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--cetesb-mini-gap);
    border: 1px solid var(--cetesb-border);
    background: var(--cetesb-mini-bg);
    color: var(--cetesb-mini-text);
    text-align: var(--cetesb-mini-align);
    box-shadow: var(--cetesb-shadow-card);
}

.nmla-cetesb-widget--mini .nmla-mini-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.nmla-cetesb-widget--mini .nmla-mini-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.nmla-cetesb-widget--mini .nmla-mini-content {
    min-width: 0;
}

.nmla-cetesb-widget--mini .nmla-mini-title {
    margin: 0 0 3px;
    color: var(--cetesb-mini-muted);
    font-size: 0.92em;
    font-weight: 700;
}

.nmla-cetesb-widget--mini .nmla-mini-message {
    color: var(--cetesb-mini-text);
    font-size: 1.12em;
    font-weight: 800;
    line-height: 1.25;
}

.nmla-cetesb-widget--mini-state-proper .nmla-mini-message {
    color: var(--cetesb-proper);
}

.nmla-cetesb-widget--mini-state-improper .nmla-mini-message {
    color: var(--cetesb-improper);
}

.nmla-cetesb-widget--mini-state-no-data .nmla-mini-message {
    color: var(--cetesb-mini-muted);
}

.nmla-cetesb-widget--mini .nmla-mini-date {
    margin-top: 3px;
    color: var(--cetesb-mini-muted);
    font-size: 0.86em;
    font-weight: 600;
}

.nmla-cetesb-widget--mini .nmla-mini-names-wrap,
.nmla-cetesb-widget--mini .nmla-mini-detail {
    grid-column: 1 / -1;
}

.nmla-cetesb-widget--mini .nmla-mini-names-wrap {
    width: 100%;
    padding-top: calc(var(--cetesb-mini-gap) * 0.35);
    border-top: 1px solid var(--cetesb-border);
}

.nmla-cetesb-widget--mini .nmla-mini-names-label {
    color: var(--cetesb-mini-muted);
    font-size: 0.86em;
    font-weight: 700;
}

.nmla-cetesb-widget--mini .nmla-mini-names {
    margin: 4px 0 0;
    padding: 0;
    color: var(--cetesb-improper);
    list-style: none;
}

.nmla-cetesb-widget--mini .nmla-mini-names li {
    margin: 2px 0 0;
    font-weight: 750;
}

.nmla-cetesb-widget--mini .nmla-mini-names li::before {
    margin-right: 0.4em;
    content: "•";
}

.nmla-cetesb-widget--mini .nmla-mini-detail {
    color: var(--cetesb-accent);
    font-weight: 750;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 480px) {
    .nmla-cetesb-widget--mini {
        grid-template-columns: auto minmax(0, 1fr);
    }
}

/* Elementor Mini Card: isolated square layout based on Balsa: Mini Card. */
body .elementor .elementor-widget-nmla_praias_cetesb.nmla-cetesb-elementor--mode-mini_card {
    position: relative;
    width: 100%;
    max-width: 432px;
    margin-right: auto;
    margin-left: auto;
    container-name: nmla-cetesb-mini-card;
    container-type: inline-size;
}

body .elementor .elementor-widget-nmla_praias_cetesb.nmla-cetesb-elementor--mode-mini_card::before {
    display: block;
    width: 100%;
    padding-top: 100%;
    content: "";
    pointer-events: none;
}

body .elementor .elementor-widget-nmla_praias_cetesb.nmla-cetesb-elementor--mode-mini_card > .elementor-widget-container {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.nmla-cetesb-mini-card-shell {
    width: 100%;
    max-width: 432px;
    aspect-ratio: 1 / 1;
}

body .elementor .elementor-widget-nmla_praias_cetesb.nmla-cetesb-elementor--mode-mini_card .nmla-cetesb-mini-card-shell {
    height: 100%;
    max-width: none;
    aspect-ratio: auto;
}

.nmla-cetesb-mini-card {
    --nmla-cetesb-card-gap: 16px;
    position: relative;
    isolation: isolate;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #dce6f1;
    border-radius: 28px;
    background: #f8fbff;
    color: #10233f;
    box-shadow: 0 12px 30px rgba(31, 77, 118, 0.12);
    font-family: inherit;
}

.nmla-cetesb-mini-card,
.nmla-cetesb-mini-card * {
    box-sizing: border-box;
}

.nmla-cetesb-mini-card-media {
    position: absolute;
    inset: 0 0 auto;
    width: 100%;
    height: 62%;
    min-height: 0;
    overflow: hidden;
    border-radius: 27px 27px 0 0;
    background-color: #174c70;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.nmla-cetesb-mini-card.is-image-hidden .nmla-cetesb-mini-card-media {
    background-color: #f8fbff;
    background-image: none;
}

.nmla-cetesb-mini-card-overlay {
    position: absolute;
    z-index: 0;
    inset: 0;
    background-color: #0d3155;
    opacity: 0.28;
    pointer-events: none;
}

.nmla-cetesb-mini-card-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-height: 100%;
    padding: 20px;
}

.nmla-cetesb-mini-card .nmla-mini-icon {
    display: inline-flex;
    flex: 0 0 62px;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    overflow: hidden;
    border: 0;
    border-radius: 50%;
    background-color: #fde9eb;
    box-shadow: 0 5px 14px rgba(10, 48, 81, 0.18);
}

.nmla-cetesb-mini-card.nmla-cetesb-widget--mini-state-proper .nmla-mini-icon {
    background-color: #e9f8ed;
}

.nmla-cetesb-mini-card .nmla-mini-icon img {
    display: block;
    width: 56%;
    height: 56%;
    object-fit: contain;
}

.nmla-cetesb-mini-card-heading {
    min-width: 0;
    text-shadow: 0 1px 7px rgba(0, 0, 0, 0.38);
}

.nmla-cetesb-mini-card .nmla-mini-title,
.nmla-cetesb-mini-card .nmla-mini-subtitle {
    overflow-wrap: anywhere;
}

.nmla-cetesb-mini-card .nmla-mini-title {
    margin: 0;
    color: #ffffff;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
}

.nmla-cetesb-mini-card .nmla-mini-subtitle {
    margin: 5px 0 0;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
}

.nmla-cetesb-mini-card.is-image-hidden .nmla-cetesb-mini-card-heading {
    text-shadow: none;
}

.nmla-cetesb-mini-card.is-image-hidden .nmla-mini-title {
    color: #10233f;
}

.nmla-cetesb-mini-card.is-image-hidden .nmla-mini-subtitle {
    color: #5f7392;
}

.nmla-cetesb-mini-card-icon-top-left .nmla-cetesb-mini-card-top,
.nmla-cetesb-mini-card-icon-top-center .nmla-cetesb-mini-card-top,
.nmla-cetesb-mini-card-icon-top-right .nmla-cetesb-mini-card-top {
    flex-direction: column;
}

.nmla-cetesb-mini-card-icon-top-center .nmla-cetesb-mini-card-top {
    align-items: center;
    text-align: center;
}

.nmla-cetesb-mini-card-icon-top-right .nmla-cetesb-mini-card-top {
    align-items: flex-end;
    text-align: right;
}

.nmla-cetesb-mini-card-icon-right .nmla-cetesb-mini-card-top {
    flex-direction: row-reverse;
}

.nmla-cetesb-mini-card-panel {
    position: absolute;
    z-index: 2;
    right: 16px;
    bottom: 16px;
    left: 16px;
    display: flex;
    flex-direction: column;
    width: auto;
    max-height: calc(100% - 32px);
    padding: 24px 24px 22px;
    overflow: auto;
    border: 1px solid rgba(220, 230, 241, 0.92);
    border-radius: 23px;
    background: #ffffff;
    box-shadow: 0 11px 28px rgba(32, 79, 126, 0.14);
    scrollbar-width: thin;
}

.nmla-cetesb-mini-card .nmla-mini-message {
    margin: 0;
    color: #5f7392;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.08;
    text-align: center;
    letter-spacing: -0.035em;
    overflow-wrap: anywhere;
}

.nmla-cetesb-mini-card.nmla-cetesb-widget--mini-state-proper .nmla-mini-message {
    color: var(--cetesb-proper);
}

.nmla-cetesb-mini-card.nmla-cetesb-widget--mini-state-improper .nmla-mini-message {
    color: var(--cetesb-improper);
}

.nmla-cetesb-mini-card .nmla-mini-names-wrap {
    margin-top: var(--nmla-cetesb-card-gap);
    color: #5f7392;
    font-size: 12px;
    line-height: 1.3;
    text-align: center;
}

.nmla-cetesb-mini-card .nmla-mini-names-label {
    font-weight: 700;
}

.nmla-cetesb-mini-card .nmla-mini-names {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3px 10px;
    margin: 5px 0 0;
    padding: 0;
    color: var(--cetesb-improper);
    font-weight: 700;
    list-style: none;
}

.nmla-cetesb-mini-card .nmla-mini-names li {
    margin: 0;
}

.nmla-cetesb-mini-card .nmla-mini-names li::before {
    margin-right: 0.35em;
    content: "•";
}

.nmla-cetesb-mini-card .nmla-mini-date {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: var(--nmla-cetesb-card-gap) 0 0;
    color: #647895;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.nmla-cetesb-mini-card .nmla-mini-date-icon,
.nmla-cetesb-mini-card .nmla-mini-detail-arrow {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.nmla-cetesb-mini-card .nmla-mini-date-icon {
    color: #647895;
    font-size: 17px;
}

.nmla-cetesb-mini-card .nmla-mini-date-icon svg,
.nmla-cetesb-mini-card .nmla-mini-detail-arrow svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.nmla-cetesb-mini-card .nmla-mini-detail {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 13px;
    width: 100%;
    min-height: 48px;
    margin-top: var(--nmla-cetesb-card-gap);
    padding: 12px 20px;
    border: 1px solid transparent;
    border-radius: 999px;
    background-color: #e8f2ff;
    color: #1267e8;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
    overflow-wrap: anywhere;
}

.nmla-cetesb-mini-card .nmla-mini-detail:hover,
.nmla-cetesb-mini-card .nmla-mini-detail:focus {
    background-color: #d7e9ff;
    color: #075dcc;
    box-shadow: 0 6px 16px rgba(18, 103, 232, 0.16);
    text-decoration: none;
    outline: none;
}

.nmla-cetesb-mini-card .nmla-mini-detail:focus-visible {
    outline: 2px solid #1267e8;
    outline-offset: 3px;
}

.nmla-cetesb-mini-card .nmla-mini-detail-arrow {
    font-size: 16px;
}

@container nmla-cetesb-mini-card (max-width: 375px) {
    .nmla-cetesb-mini-card {
        --nmla-cetesb-card-gap: 13px;
        border-radius: 23px;
    }

    .nmla-cetesb-mini-card-media {
        height: 63%;
        border-radius: 22px 22px 0 0;
    }

    .nmla-cetesb-mini-card-top {
        gap: 9px;
        padding: 14px;
    }

    .nmla-cetesb-mini-card .nmla-mini-icon {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
    }

    .nmla-cetesb-mini-card .nmla-mini-title {
        font-size: 16px;
    }

    .nmla-cetesb-mini-card .nmla-mini-subtitle {
        margin-top: 3px;
        font-size: 11px;
    }

    .nmla-cetesb-mini-card-panel {
        right: 10px;
        bottom: 10px;
        left: 10px;
        max-height: calc(100% - 20px);
        padding: 19px 15px 17px;
        border-radius: 18px;
    }

    .nmla-cetesb-mini-card .nmla-mini-message {
        font-size: 25px;
    }

    .nmla-cetesb-mini-card .nmla-mini-names-wrap {
        font-size: 11px;
    }

    .nmla-cetesb-mini-card .nmla-mini-date {
        gap: 6px;
        font-size: 11px;
    }

    .nmla-cetesb-mini-card .nmla-mini-date-icon {
        font-size: 14px;
    }

    .nmla-cetesb-mini-card .nmla-mini-detail {
        min-height: 42px;
        padding: 10px 14px;
        font-size: 14px;
    }

    .nmla-cetesb-mini-card .nmla-mini-detail-arrow {
        font-size: 14px;
    }
}

@container nmla-cetesb-mini-card (max-width: 280px) {
    .nmla-cetesb-mini-card {
        --nmla-cetesb-card-gap: 9px;
    }

    .nmla-cetesb-mini-card-media {
        height: 64%;
    }

    .nmla-cetesb-mini-card-top {
        gap: 7px;
        padding: 10px;
    }

    .nmla-cetesb-mini-card .nmla-mini-icon {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
    }

    .nmla-cetesb-mini-card .nmla-mini-title {
        font-size: 14px;
    }

    .nmla-cetesb-mini-card .nmla-mini-subtitle {
        font-size: 10px;
    }

    .nmla-cetesb-mini-card-panel {
        right: 7px;
        bottom: 7px;
        left: 7px;
        max-height: calc(100% - 14px);
        padding: 13px 10px 11px;
        border-radius: 15px;
    }

    .nmla-cetesb-mini-card .nmla-mini-message {
        font-size: 21px;
    }

    .nmla-cetesb-mini-card .nmla-mini-names-wrap,
    .nmla-cetesb-mini-card .nmla-mini-date {
        font-size: 10px;
    }

    .nmla-cetesb-mini-card .nmla-mini-detail {
        min-height: 38px;
        padding: 8px 10px;
        font-size: 12px;
    }
}

/* Dedicated Elementor widget: Namla Praias Mini Card. */
.elementor-widget-nmla_praias_mini_card {
    --nmla-praias-mini-max-width: 432px;
}

.elementor-widget.elementor-widget-nmla_praias_mini_card {
    position: relative;
    width: 100%;
    max-width: min(100%, var(--nmla-praias-mini-max-width));
}

.nmla-praias-mini-widget {
    display: block;
    position: relative;
    width: 100%;
    min-width: 0;
    height: auto;
    max-width: 100%;
    container-name: nmla-praias-mini;
    container-type: inline-size;
}

.nmla-praias-mini-widget::before {
    display: block;
    width: 100%;
    padding-top: 100%;
    content: "";
}

.nmla-praias-mini-card-shell {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.nmla-praias-mini-card {
    width: 100%;
    height: 100%;
}

.nmla-praias-mini-card {
    --nmla-praias-mini-gap: 12px;
    position: relative;
    aspect-ratio: 1 / 1;
    isolation: isolate;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #dce6f1;
    border-radius: 28px;
    background: #f8fbff;
    color: #10233f;
    box-shadow: 0 12px 30px rgba(31, 77, 118, 0.12);
    font-family: inherit;
}

.nmla-praias-mini-card,
.nmla-praias-mini-card * {
    box-sizing: border-box;
    min-width: 0;
}

.nmla-praias-mini-card-media {
    position: absolute;
    inset: 0 0 auto;
    width: 100%;
    height: 62%;
    overflow: hidden;
    border-radius: 27px 27px 0 0;
    background-color: #174c70;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.nmla-praias-mini-card.is-image-hidden .nmla-praias-mini-card-media {
    background: #f8fbff;
}

.nmla-praias-mini-card.is-image-cover-all .nmla-praias-mini-card-media {
    inset: 0;
    height: 100%;
    border-radius: inherit;
}

.nmla-praias-mini-card-overlay {
    position: absolute;
    z-index: 0;
    inset: 0;
    background-color: #0d3155;
    opacity: 0.28;
    pointer-events: none;
}

.nmla-praias-mini-card-top {
    position: relative;
    z-index: 1;
    min-height: 100%;
    padding: 18px;
}

.nmla-praias-mini-card-heading {
    min-width: 0;
    text-shadow: 0 1px 7px rgba(0, 0, 0, 0.38);
}

.nmla-praias-mini-card-title,
.nmla-praias-mini-card-subtitle {
    overflow-wrap: anywhere;
}

.nmla-praias-mini-card-title {
    margin: 0;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.15;
}

.nmla-praias-mini-card-subtitle {
    margin: 4px 0 0;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
}

.nmla-praias-mini-card.is-image-hidden .nmla-praias-mini-card-heading {
    text-shadow: none;
}

.nmla-praias-mini-card.is-image-hidden .nmla-praias-mini-card-title {
    color: #10233f;
}

.nmla-praias-mini-card.is-image-hidden .nmla-praias-mini-card-subtitle {
    color: #5f7392;
}

.nmla-praias-mini-card-panel {
    position: absolute;
    z-index: 2;
    right: 12px;
    bottom: 12px;
    left: 12px;
    display: flex;
    flex-direction: column;
    max-height: calc(100% - 24px);
    padding: 18px 18px 16px;
    overflow: auto;
    border: 1px solid rgba(220, 230, 241, 0.92);
    border-radius: 23px;
    background: #fff;
    box-shadow: 0 11px 28px rgba(32, 79, 126, 0.14);
    scrollbar-width: thin;
}

.nmla-praias-mini-card.panel-top .nmla-praias-mini-card-panel {
    top: 12px;
    bottom: auto;
}

.elementor-widget.elementor-widget-nmla_praias_mini_card.nmla-praias-mini-layout-horizontal {
    width: 100%;
    max-width: 100% !important;
}

.nmla-praias-horizontal-widget {
    display: block;
    width: 100%;
}

.nmla-summary-card--beaches {
    --nmla-beaches-status-icon-size: 22px;
    --nmla-beaches-status-gap: 8px;
}

.nmla-summary-card--beaches .nmla-summary-card__status {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-start;
    gap: var(--nmla-beaches-status-gap);
}

.nmla-summary-card--beaches .nmla-summary-card__status-icon {
    display: inline-flex;
    flex: 0 0 var(--nmla-beaches-status-icon-size);
    width: var(--nmla-beaches-status-icon-size);
    height: var(--nmla-beaches-status-icon-size);
    align-items: center;
    justify-content: center;
}

.nmla-summary-card--beaches .nmla-summary-card__status-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.nmla-summary-card--beaches.is-no-data .nmla-summary-card__primary {
    color: #64748b;
}

.nmla-praias-mini-card.panel-center .nmla-praias-mini-card-panel {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}

/* Keep the image area genuinely empty when the heading belongs to the panel. */
.nmla-praias-mini-card.heading-panel .nmla-praias-mini-card-top {
    z-index: auto;
    min-height: 0;
    padding: 0;
}

.nmla-praias-mini-card.heading-panel .nmla-praias-mini-card-heading {
    text-shadow: none;
}

.nmla-praias-mini-card.heading-panel .nmla-praias-mini-card-title {
    color: #10233f;
}

.nmla-praias-mini-card.heading-panel .nmla-praias-mini-card-subtitle {
    color: #5f7392;
}

.nmla-praias-mini-card.heading-panel .nmla-praias-mini-card-top + .nmla-praias-mini-card-status {
    margin-top: var(--nmla-praias-mini-gap);
}

.nmla-praias-mini-card-status {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
    min-width: 0;
}

.nmla-praias-mini-card-status-icon {
    display: inline-flex;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-top: 0.08em;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.nmla-praias-mini-card-status-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.nmla-praias-mini-card-message {
    flex: 0 1 auto;
    margin: 0;
    color: #5f7392;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.08;
    text-align: center;
    letter-spacing: -0.03em;
    overflow-wrap: anywhere;
}

.nmla-praias-mini-card.is-proper .nmla-praias-mini-card-message {
    color: #129b55;
}

.nmla-praias-mini-card.is-improper .nmla-praias-mini-card-message {
    color: #ef2f2a;
}

.nmla-praias-mini-card-names-wrap {
    margin-top: var(--nmla-praias-mini-gap);
    color: #647895;
    font-size: 11px;
    line-height: 1.3;
    text-align: center;
}

.nmla-praias-mini-card-names-wrap ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3px 10px;
    margin: 4px 0 0;
    padding: 0;
    color: #ef2f2a;
    font-weight: 700;
    list-style: none;
}

.nmla-praias-mini-card-names-wrap li {
    margin: 0;
}

.nmla-praias-mini-card-names-wrap li::before {
    margin-right: 0.35em;
    content: "•";
}

.nmla-praias-mini-card-date {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: var(--nmla-praias-mini-gap) 0 0;
    color: #647895;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
}

.nmla-praias-mini-card-date-icon,
.nmla-praias-mini-card-button-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.nmla-praias-mini-card-date-icon svg,
.nmla-praias-mini-card-button-icon svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.nmla-praias-mini-card-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 42px;
    margin-top: var(--nmla-praias-mini-gap);
    padding: 9px 16px;
    border: 1px solid transparent;
    border-radius: 999px;
    background-color: #e8f2ff;
    color: #1267e8;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    align-self: center;
}

.nmla-praias-mini-card-button:hover,
.nmla-praias-mini-card-button:focus {
    background-color: #d7e9ff;
    color: #075dcc;
    text-decoration: none;
}

@container nmla-praias-mini (max-width: 375px) {
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card { --nmla-praias-mini-gap: clamp(7px, 2.4cqw, 9px); border-radius: 23px; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-media { height: 63%; border-radius: 22px 22px 0 0; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-top { padding: clamp(10px, 3.5cqw, 13px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card.heading-panel .nmla-praias-mini-card-top { padding: 0; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-title { font-size: clamp(12px, 4cqw, 15px); line-height: 1.12; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-subtitle { margin-top: clamp(2px, 1cqw, 4px); font-size: clamp(9px, 2.7cqw, 10px); line-height: 1.2; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-panel { right: clamp(8px, 2.7cqw, 10px); bottom: clamp(8px, 2.7cqw, 10px); left: clamp(8px, 2.7cqw, 10px); padding: clamp(11px, 3.7cqw, 14px) clamp(10px, 3.5cqw, 13px) clamp(10px, 3.2cqw, 12px); border-radius: 18px; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-status { gap: 6px; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-status-icon { flex-basis: clamp(18px, 6cqw, 22px); width: clamp(18px, 6cqw, 22px); height: clamp(18px, 6cqw, 22px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-message { font-size: clamp(16px, 5.6cqw, 21px); line-height: 1.08; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-names-wrap, .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-date { font-size: clamp(8px, 2.6cqw, 10px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-button { min-height: clamp(32px, 9.6cqw, 36px); padding: clamp(6px, 1.9cqw, 7px) clamp(10px, 3.2cqw, 12px); font-size: clamp(10px, 3.2cqw, 12px); }
}

@container nmla-praias-mini (max-width: 280px) {
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card { --nmla-praias-mini-gap: clamp(5px, 2.2cqw, 7px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-media { height: 64%; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-top { padding: clamp(8px, 3.2cqw, 10px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card.heading-panel .nmla-praias-mini-card-top { padding: 0; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-title { font-size: clamp(10px, 4.3cqw, 13px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-subtitle { font-size: clamp(8px, 3.2cqw, 10px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-panel { right: clamp(6px, 2.5cqw, 8px); bottom: clamp(6px, 2.5cqw, 8px); left: clamp(6px, 2.5cqw, 8px); padding: clamp(8px, 3.4cqw, 10px) clamp(7px, 2.8cqw, 8px); border-radius: 14px; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-status { gap: 5px; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-status-icon { flex-basis: clamp(16px, 6.5cqw, 18px); width: clamp(16px, 6.5cqw, 18px); height: clamp(16px, 6.5cqw, 18px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-message { font-size: clamp(14px, 6.1cqw, 17px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-names-wrap, .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-date { font-size: clamp(7px, 2.9cqw, 8px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-button { min-height: clamp(27px, 10.7cqw, 30px); padding: clamp(5px, 1.8cqw, 6px) clamp(7px, 2.9cqw, 8px); font-size: clamp(9px, 3.6cqw, 10px); }
}

@container nmla-praias-mini (max-width: 200px) {
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card { --nmla-praias-mini-gap: clamp(3px, 2.4cqw, 5px); border-radius: clamp(10px, 10cqw, 16px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-media { height: 61%; border-radius: inherit; border-bottom-right-radius: 0; border-bottom-left-radius: 0; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-top { padding: clamp(5px, 4.3cqw, 7px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-title { font-size: clamp(10px, 10cqw, 16px); line-height: 1.12; overflow-wrap: anywhere; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-subtitle, .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-date { font-size: clamp(7px, 5cqw, 10px); line-height: 1.25; overflow-wrap: anywhere; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-subtitle { margin-top: clamp(1px, 1.3cqw, 2px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-panel { right: clamp(5px, 5cqw, 12px); bottom: clamp(5px, 5cqw, 12px); left: clamp(5px, 5cqw, 12px); max-height: calc(100% - 10px); padding: clamp(7px, 7cqw, 18px); border-radius: clamp(10px, 11cqw, 18px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-status { gap: clamp(3px, 3cqw, 5px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-status-icon { flex-basis: clamp(13px, 8cqw, 18px); width: clamp(13px, 8cqw, 18px); height: clamp(13px, 8cqw, 18px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-message { font-size: clamp(12px, 8.5cqw, 17px); line-height: 1.05; overflow-wrap: anywhere; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-names-wrap { font-size: clamp(6px, 4.3cqw, 8px); }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-button { min-height: clamp(24px, 20cqw, 42px); margin-top: clamp(3px, 3cqw, 5px); padding: clamp(5px, 5cqw, 10px); font-size: clamp(8px, 6cqw, 13px); white-space: nowrap; }
    .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-button-icon { font-size: clamp(8px, 6cqw, 13px); }
}

/* Elementor emits per-widget typography after plugin styles. These rules retain
 * user choices on larger cards while safely constraining them inside tiny columns. */
@container nmla-praias-mini (max-width: 375px) {
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card { --nmla-praias-mini-gap: clamp(7px, 2.4cqw, 9px); border-radius: 23px; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-top { padding: clamp(10px, 3.5cqw, 13px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-title { font-size: clamp(12px, 4cqw, 15px); line-height: 1.12; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-subtitle { margin-top: clamp(2px, 1cqw, 4px); font-size: clamp(9px, 2.7cqw, 10px); line-height: 1.2; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-panel { right: clamp(8px, 2.7cqw, 10px); bottom: clamp(8px, 2.7cqw, 10px); left: clamp(8px, 2.7cqw, 10px); padding: clamp(11px, 3.7cqw, 14px) clamp(10px, 3.5cqw, 13px) clamp(10px, 3.2cqw, 12px); border-radius: 18px; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-message { font-size: clamp(16px, 5.6cqw, 21px); line-height: 1.08; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-names-wrap, body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-date { font-size: clamp(8px, 2.6cqw, 10px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-button { min-height: clamp(32px, 9.6cqw, 36px); padding: clamp(6px, 1.9cqw, 7px) clamp(10px, 3.2cqw, 12px); font-size: clamp(10px, 3.2cqw, 12px); }
}

@container nmla-praias-mini (max-width: 280px) {
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card { --nmla-praias-mini-gap: clamp(5px, 2.2cqw, 7px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-top { padding: clamp(8px, 3.2cqw, 10px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-title { font-size: clamp(10px, 4.3cqw, 13px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-subtitle { font-size: clamp(8px, 3.2cqw, 10px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-panel { right: clamp(6px, 2.5cqw, 8px); bottom: clamp(6px, 2.5cqw, 8px); left: clamp(6px, 2.5cqw, 8px); padding: clamp(8px, 3.4cqw, 10px) clamp(7px, 2.8cqw, 8px); border-radius: 14px; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-message { font-size: clamp(14px, 6.1cqw, 17px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-names-wrap, body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-date { font-size: clamp(7px, 2.9cqw, 8px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-button { min-height: clamp(27px, 10.7cqw, 30px); padding: clamp(5px, 1.8cqw, 6px) clamp(7px, 2.9cqw, 8px); font-size: clamp(9px, 3.6cqw, 10px); }
}

@container nmla-praias-mini (max-width: 200px) {
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card { --nmla-praias-mini-gap: clamp(3px, 2.4cqw, 5px); border-radius: clamp(10px, 10cqw, 16px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-top { padding: clamp(5px, 4.3cqw, 7px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-title { font-size: clamp(10px, 10cqw, 16px); line-height: 1.12; overflow-wrap: anywhere; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-subtitle, body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-date { font-size: clamp(7px, 5cqw, 10px); line-height: 1.25; overflow-wrap: anywhere; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-subtitle { margin-top: clamp(1px, 1.3cqw, 2px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-panel { right: clamp(5px, 5cqw, 12px); bottom: clamp(5px, 5cqw, 12px); left: clamp(5px, 5cqw, 12px); max-height: calc(100% - 10px); padding: clamp(7px, 7cqw, 18px); border-radius: clamp(10px, 11cqw, 18px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-message { font-size: clamp(12px, 8.5cqw, 17px); line-height: 1.05; overflow-wrap: anywhere; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-names-wrap { font-size: clamp(6px, 4.3cqw, 8px); }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-button { min-height: clamp(24px, 20cqw, 42px); margin-top: clamp(3px, 3cqw, 5px); padding: clamp(5px, 5cqw, 10px); font-size: clamp(8px, 6cqw, 13px); white-space: nowrap; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-button-icon { font-size: clamp(8px, 6cqw, 13px); }
}

/*
 * Ultra-narrow Elementor columns need a true component scale, not minimum font
 * sizes. These final card-only rules intentionally supersede per-instance
 * Elementor typography and prevent the information panel from becoming a full
 * white sheet over the image.
 */
@container nmla-praias-mini (max-width: 200px) {
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card {
        --nmla-praias-mini-gap: 1.9cqw;
        border-radius: 7cqw;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-media {
        height: 63%;
        border-radius: inherit;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-top {
        padding: 3.4cqw;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card.heading-panel .nmla-praias-mini-card-top {
        padding: 0;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-panel {
        right: 3.4cqw;
        bottom: 3.4cqw;
        left: 3.4cqw;
        max-height: 78%;
        padding: 3.4cqw 3.1cqw 3cqw;
        overflow: hidden;
        border-radius: 5.6cqw;
        justify-content: center;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-title {
        font-size: 6.5cqw;
        line-height: 1.06;
        letter-spacing: -0.025em;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-subtitle {
        margin-top: 1cqw;
        font-size: 3.9cqw;
        line-height: 1.12;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-status {
        gap: 1.6cqw;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-status-icon {
        flex-basis: 6.6cqw;
        width: 6.6cqw;
        height: 6.6cqw;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-message {
        font-size: 7.4cqw;
        line-height: 1.03;
        letter-spacing: -0.035em;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-names-wrap {
        margin-top: 1.9cqw;
        font-size: 3.4cqw;
        line-height: 1.12;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-names-wrap ul {
        gap: 1cqw 2.5cqw;
        margin-top: 1cqw;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-date {
        gap: 1.5cqw;
        margin-top: 1.9cqw;
        font-size: 3.5cqw;
        line-height: 1.12;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-button {
        min-height: 14.5cqw;
        margin-top: 1.9cqw;
        padding: 2.3cqw 3.4cqw;
        font-size: 4.8cqw;
        line-height: 1;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-button-icon {
        font-size: 4.8cqw;
    }
}

@container nmla-praias-mini (max-width: 145px) {
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card {
        --nmla-praias-mini-gap: 1.6cqw;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-panel {
        right: 3cqw;
        bottom: 3cqw;
        left: 3cqw;
        max-height: 76%;
        padding: 3cqw 2.8cqw;
    }

    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-title { font-size: 5.4cqw; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-subtitle { margin-top: 0.8cqw; font-size: 3cqw; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-status-icon { flex-basis: 5.6cqw; width: 5.6cqw; height: 5.6cqw; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-message { font-size: 5.8cqw; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-names-wrap { font-size: 2.8cqw; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-date { font-size: 3cqw; }
    body .elementor .elementor-widget.elementor-widget-nmla_praias_mini_card .nmla-praias-mini-widget .nmla-praias-mini-card-button { min-height: 13.5cqw; padding: 2cqw 3cqw; font-size: 4.5cqw; }
}

/*
 * Mini Card component boundary.
 * The Home had legacy rules for .nmla-mini-* shared with the compact summary.
 * These names are deliberately card-specific so page-level custom CSS cannot
 * restyle the highlighted card or prevent Elementor controls from applying.
 */
.nmla-cetesb-mini-card .nmla-cetesb-card-icon {
    display: inline-flex;
    flex: 0 0 62px;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    overflow: hidden;
    border: 0;
    border-radius: 50%;
    background-color: #fde9eb;
    box-shadow: 0 5px 14px rgba(10, 48, 81, 0.18);
}

.nmla-cetesb-mini-card.nmla-cetesb-widget--mini-state-proper .nmla-cetesb-card-icon {
    background-color: #e9f8ed;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-icon img {
    display: block;
    width: 56%;
    height: 56%;
    object-fit: contain;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-title,
.nmla-cetesb-mini-card .nmla-cetesb-card-subtitle {
    overflow-wrap: anywhere;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-title {
    margin: 0;
    color: #ffffff;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-subtitle {
    margin: 5px 0 0;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
}

.nmla-cetesb-mini-card.is-image-hidden .nmla-cetesb-card-title {
    color: #10233f;
}

.nmla-cetesb-mini-card.is-image-hidden .nmla-cetesb-card-subtitle {
    color: #5f7392;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-message {
    margin: 0;
    color: #5f7392;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.08;
    text-align: center;
    letter-spacing: -0.035em;
    overflow-wrap: anywhere;
}

.nmla-cetesb-mini-card.nmla-cetesb-widget--mini-state-proper .nmla-cetesb-card-message {
    color: var(--cetesb-proper);
}

.nmla-cetesb-mini-card.nmla-cetesb-widget--mini-state-improper .nmla-cetesb-card-message {
    color: var(--cetesb-improper);
}

.nmla-cetesb-mini-card .nmla-cetesb-card-names-wrap {
    margin-top: var(--nmla-cetesb-card-gap);
    color: #5f7392;
    font-size: 12px;
    line-height: 1.3;
    text-align: center;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-names-label {
    font-weight: 700;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-names {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3px 10px;
    margin: 5px 0 0;
    padding: 0;
    color: var(--cetesb-improper);
    font-weight: 700;
    list-style: none;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-names li {
    margin: 0;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-names li::before {
    margin-right: 0.35em;
    content: "•";
}

.nmla-cetesb-mini-card .nmla-cetesb-card-date {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: var(--nmla-cetesb-card-gap) 0 0;
    color: #647895;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-date-icon,
.nmla-cetesb-mini-card .nmla-cetesb-card-detail-arrow {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-date-icon {
    color: #647895;
    font-size: 17px;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-date-icon svg,
.nmla-cetesb-mini-card .nmla-cetesb-card-detail-arrow svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-detail {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 13px;
    width: 100%;
    min-height: 48px;
    margin-top: var(--nmla-cetesb-card-gap);
    padding: 12px 20px;
    border: 1px solid transparent;
    border-radius: 999px;
    background-color: #e8f2ff;
    color: #1267e8;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
    overflow-wrap: anywhere;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-detail:hover,
.nmla-cetesb-mini-card .nmla-cetesb-card-detail:focus {
    background-color: #d7e9ff;
    color: #075dcc;
    box-shadow: 0 6px 16px rgba(18, 103, 232, 0.16);
    text-decoration: none;
    outline: none;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-detail:focus-visible {
    outline: 2px solid #1267e8;
    outline-offset: 3px;
}

.nmla-cetesb-mini-card .nmla-cetesb-card-detail-arrow {
    font-size: 16px;
}

@container nmla-cetesb-mini-card (max-width: 375px) {
    .nmla-cetesb-mini-card .nmla-cetesb-card-icon {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-title {
        font-size: 16px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-subtitle {
        margin-top: 3px;
        font-size: 11px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-message {
        font-size: 25px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-names-wrap {
        font-size: 11px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-date {
        gap: 6px;
        font-size: 11px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-date-icon {
        font-size: 14px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-detail {
        min-height: 42px;
        padding: 10px 14px;
        font-size: 14px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-detail-arrow {
        font-size: 14px;
    }
}

@container nmla-cetesb-mini-card (max-width: 280px) {
    .nmla-cetesb-mini-card .nmla-cetesb-card-icon {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-title {
        font-size: 14px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-subtitle {
        font-size: 10px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-message {
        font-size: 21px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-names-wrap,
    .nmla-cetesb-mini-card .nmla-cetesb-card-date {
        font-size: 10px;
    }

    .nmla-cetesb-mini-card .nmla-cetesb-card-detail {
        min-height: 38px;
        padding: 8px 10px;
        font-size: 12px;
    }
}
