/* ============================================================
   PONTES / PAGE-CARD  —  Front-end styles
   Enqueued automatically on any page that contains this block.
   ============================================================ */

.pontes-page-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.4rem 1.6rem;
    margin-bottom: 1rem;
    background: var(--color-white, #fff);
    border-radius: var(--border-radius-lg, 0.5rem);
    box-shadow: var(--shadow-md, 0 4px 6px rgba(0,0,0,.07));
    border-left: 4px solid var(--color-primary, #3d6600);
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s ease,
                border-left-color 0.2s ease,
                transform 0.2s ease;
}

/* Grid wrapper controls its own gap — suppress the margin there */
.pontes-page-cards .pontes-page-card {
    margin-bottom: 0;
}

a.pontes-page-card:hover,
a.pontes-page-card:focus-visible {
    box-shadow: var(--shadow-lg, 0 10px 15px rgba(0,0,0,.1));
    border-left-color: var(--color-accent, #e06c00);
    transform: translateX(3px);
}

a.pontes-page-card:focus-visible {
    outline: 3px solid var(--color-focus, #e06c00);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .pontes-page-card { transition: none; }
}

/* Icon circle */
.pontes-page-card__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(61,102,0,.08);
    color: var(--color-primary, #3d6600);
    flex-shrink: 0;
    transition: background 0.2s ease, color 0.2s ease;
}

a.pontes-page-card:hover .pontes-page-card__icon-wrap,
a.pontes-page-card:focus-visible .pontes-page-card__icon-wrap {
    background: var(--color-primary, #3d6600);
    color: #fff;
}

.pontes-page-card__icon-wrap .material-icons-outlined {
    font-size: 26px;
    line-height: 1;
}

/* Body */
.pontes-page-card__body {
    flex: 1;
    min-width: 0;
}

.pontes-page-card__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--color-primary-dark, #294500);
    margin: 0 0 0.2rem;
    line-height: 1.3;
}

.pontes-page-card__desc {
    font-size: var(--font-size-sm, 0.875rem);
    color: var(--color-text-muted, #4a5540);
    margin: 0;
    line-height: 1.5;
}

/* Arrow */
.pontes-page-card__arrow {
    color: var(--color-accent, #e06c00);
    flex-shrink: 0;
    transition: transform 0.2s ease;
    display: flex;
    align-items: center;
}

a.pontes-page-card:hover .pontes-page-card__arrow,
a.pontes-page-card:focus-visible .pontes-page-card__arrow {
    transform: translateX(4px);
}

.pontes-page-card__arrow .material-icons-outlined {
    font-size: 22px;
    line-height: 1;
}

/* No arrow for non-link variant */
div.pontes-page-card .pontes-page-card__arrow {
    display: none;
}

/* Wide alignment */
.alignwide > .pontes-page-card {
    max-width: var(--max-width-wide, 1200px);
    margin-left: auto;
    margin-right: auto;
}

/* Responsive */
@media (max-width: 480px) {
    .pontes-page-card {
        padding: 1.1rem 1.25rem;
        gap: 0.75rem;
    }

    .pontes-page-card__icon-wrap {
        width: 42px;
        height: 42px;
    }

    .pontes-page-card__icon-wrap .material-icons-outlined {
        font-size: 20px;
    }
}
