// main: ../main.scss /*-------------------------------------------------------------- # Ministries Section --------------------------------------------------------------*/ .ministries { .service-card { display: flex; background: var(--surface-color); border: 1px solid color-mix(in srgb, var(--default-color) 12%, transparent); border-radius: 8px; overflow: hidden; height: 100%; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; &:hover { border-color: color-mix(in srgb, var(--accent-color) 40%, transparent); box-shadow: 0 10px 15px rgba(0, 0, 0, 0.06), 0 4px 6px rgba(0, 0, 0, 0.04); .card-media img { transform: scale(1.04); } .link-action { color: var(--accent-color); i { transform: translateX(4px); } } } @media (max-width: 576px) { flex-direction: column; } } .card-media { position: relative; flex: 0 0 40%; max-width: 40%; overflow: hidden; background: color-mix(in srgb, var(--default-color) 5%, transparent); img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .badge-label { position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; font-size: 11px; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; background: var(--surface-color); color: var(--accent-color); border: 1px solid color-mix(in srgb, var(--accent-color) 25%, transparent); border-radius: 12px; i { font-size: 12px; } } @media (max-width: 576px) { flex: 0 0 200px; max-width: 100%; height: 200px; } } .card-body { flex: 1 1 auto; padding: 24px; display: flex; flex-direction: column; p { font-size: 14px; line-height: 1.6; color: color-mix(in srgb, var(--default-color) 70%, transparent); margin-bottom: 16px; flex-grow: 1; } } .card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 8px; h3 { font-size: 18px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; margin: 0; color: var(--heading-color); } .meta-tag { flex-shrink: 0; font-size: 11px; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; color: color-mix(in srgb, var(--default-color) 55%, transparent); padding-top: 4px; } } .card-foot { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid color-mix(in srgb, var(--default-color) 10%, transparent); } .link-action { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: var(--heading-color); text-decoration: none; transition: color 0.2s ease; i { font-size: 14px; transition: transform 0.2s ease; } &:focus { outline: none; color: var(--accent-color); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-color) 20%, transparent); border-radius: 4px; } } .status-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 3px color-mix(in srgb, #22c55e 20%, transparent); } @media (max-width: 768px) { .card-media { flex: 0 0 35%; max-width: 35%; } .card-body { padding: 20px; } .card-head h3 { font-size: 16px; } } }