/* Safety Partners — layout only. Type lives in css/common.css. */

.partner-list {
    display: grid;
    gap: var(--space-2xl);
    margin-top: var(--space-2xl);
}

.partner-item {
    display: grid;
    gap: var(--space-lg);
    padding: var(--space-xl);
    background: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--space-sm);
}

.partner-photo,
.partner-item .img-slot {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center top;
    border-radius: var(--space-sm);
}

.partner-links {
    display: grid;
    gap: var(--space-sm);
    margin-top: var(--space-md);
}

@media (min-width: 768px) {
    .partner-item {
        grid-template-columns: 1fr 2fr;
        align-items: start;
    }
}

/* #319 color pass: white sections become dark bands (charcoal gray here, v4), same treatment as
   .band in css/common.css. Cards inside keep their own background and dark
   text, so every text rule below skips anything inside a card. */

.safety-partners {
    background: var(--color-slate);
    color: var(--color-on-primary);
}

:is(.safety-partners) :is(.partner-item) {
    color: var(--color-text);
}

:is(.safety-partners) :is(h1, h2, h3, h4, h5, h6, .kicker):not(:is(.partner-item) *) {
    color: var(--color-on-primary);
}

:is(.safety-partners) :is(p, li, .text-muted):not(:is(.partner-item), :is(.partner-item) *) {
    color: var(--color-on-primary-muted);
}

:is(.safety-partners) p a:not(.btn, .h-btn, :is(.partner-item) *) {
    color: inherit;
    text-decoration: underline;
}

:is(.safety-partners) p a:not(.btn, .h-btn, :is(.partner-item) *):hover {
    color: var(--color-on-primary);
}

:is(.safety-partners) .btn-primary:not(:is(.partner-item) *) {
    background: var(--color-bg-white);
    color: var(--color-primary);
}

:is(.safety-partners) .btn-primary:not(:is(.partner-item) *):hover {
    background: var(--color-bg-luxury);
    color: var(--color-primary);
}
