.pm-card-wrap {
    display: flex;
    width: 100%;
}
.pm-article-card {
    width: 100%;
    max-width: 980px;
    border-left: 8px solid #690F96;
    border-radius: 10px;
    overflow: hidden;
    font-family: Arial, Helvetica, sans-serif;
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
}
.pm-card-main { padding: 62px 70px 58px; }
.pm-card-brand { display: flex; align-items: center; gap: 22px; margin-bottom: 50px; }
.pm-badge {
    width: 58px; height: 58px; border-radius: 7px; border: 2px solid #690F96;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 22px; letter-spacing: 1px; line-height: 1; flex: 0 0 auto;
}
.pm-brand-text { color: #888888; letter-spacing: 9px; font-size: 17px; line-height: 1.4; }
.pm-card-category { color: #690F96; letter-spacing: 9px; font-size: 17px; line-height: 1.4; margin-bottom: 28px; }
.pm-card-title { margin: 0; font-size: 42px; line-height: 1.24; font-weight: 400; letter-spacing: -1px; }
.pm-card-line { width: 65px; height: 3px; background: #690F96; margin: 42px 0; }
.pm-card-url { color: #888888; font-size: 22px; letter-spacing: 2px; line-height: 1.4; }
.pm-card-footer {
    display: flex; justify-content: space-between; align-items: center; gap: 20px;
    padding: 24px 70px; font-size: 19px; letter-spacing: 3px;
}
.pm-card-footer a { color: #690F96; text-decoration: none; transition: color .25s ease; }
.pm-card-footer a:hover { color: #9B30D9; }
.pm-style-dark { background: #1A1A1A; }
.pm-style-dark .pm-card-title { color: #FFFFFF; }
.pm-style-dark .pm-badge { background: #690F96; color: #FFFFFF; border-color: #690F96; }
.pm-style-dark .pm-card-footer { background: #2C2C2C; }
.pm-style-dark .pm-card-footer-label { color: #888888; }
.pm-style-light { background: #F5F5F5; }
.pm-style-light .pm-card-title { color: #1A1A1A; }
.pm-style-light .pm-badge { background: transparent; color: #690F96; border-color: #690F96; }
.pm-style-light .pm-card-footer { background: #DDDDDD; }
.pm-style-light .pm-card-footer-label { color: #666; }
@media (max-width: 1024px) {
    .pm-card-main { padding: 48px 44px; }
    .pm-card-footer { padding: 22px 44px; }
    .pm-card-title { font-size: 34px; }
    .pm-brand-text, .pm-card-category { letter-spacing: 6px; font-size: 14px; }
}
@media (max-width: 767px) {
    .pm-card-main { padding: 34px 26px; }
    .pm-card-brand { align-items: flex-start; gap: 14px; margin-bottom: 34px; }
    .pm-badge { width: 48px; height: 48px; font-size: 18px; }
    .pm-brand-text, .pm-card-category { letter-spacing: 3px; font-size: 12px; }
    .pm-card-title { font-size: 27px; line-height: 1.28; }
    .pm-card-line { margin: 30px 0; }
    .pm-card-url { font-size: 16px; word-break: break-word; }
    .pm-card-footer { padding: 18px 26px; font-size: 14px; letter-spacing: 2px; }
}
@media (max-width: 480px) {
    .pm-card-footer { flex-direction: column; align-items: flex-start; }
}

/* Multiple card grid support */
.pm-card-grid {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}
.pm-card-grid .pm-article-card {
    max-width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.pm-card-grid .pm-card-main {
    flex: 1 1 auto;
}
.pm-card-grid .pm-card-title {
    font-size: 28px;
    line-height: 1.25;
}
.pm-card-grid .pm-card-main {
    padding: 42px 38px 38px;
}
.pm-card-grid .pm-card-footer {
    padding: 18px 38px;
    font-size: 15px;
}
.pm-card-grid .pm-brand-text,
.pm-card-grid .pm-card-category {
    letter-spacing: 5px;
    font-size: 12px;
}
.pm-card-grid .pm-badge {
    width: 56px;
    height: 56px;
    font-size: 18px;
}

/* Badge image / logo support */
.pm-badge img {
    display: block;
    max-width: 95%;
    max-height: 95%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Optional article image support */
.pm-card-image {
    width: 100%;
    margin: 0 0 28px;
    border-radius: 10px;
    overflow: hidden;
}
.pm-card-image img {
    display: block;
    width: 100%;
    height: 160px;
    object-fit: cover;
    transition: transform .35s ease;
}
.pm-article-card:hover .pm-card-image img {
    transform: scale(1.035);
}

@media (max-width: 1024px) {
    .pm-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .pm-card-grid { grid-template-columns: 1fr; }
    .pm-card-grid .pm-card-title { font-size: 25px; }
    .pm-card-grid .pm-card-main { padding: 32px 26px; }
    .pm-card-grid .pm-card-footer { padding: 18px 26px; }
    .pm-card-image img { height: 140px; }
}

/* v4 fixes: reliable horizontal grid, logo image visibility/size */
.pm-card-wrap.pm-grid-mode {
    display: block !important;
    width: 100%;
}
.pm-card-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--pm-grid-cols, 3), minmax(0, 1fr)) !important;
    gap: var(--pm-grid-gap, 28px) !important;
    align-items: stretch;
}
.pm-card-grid .pm-article-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
}
.pm-badge.pm-badge-has-image {
    background: transparent !important;
    border-color: transparent !important;
    padding: 0 !important;
    overflow: visible;
}
.pm-badge.pm-badge-has-image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
}
@media (max-width: 1024px) {
    .pm-card-grid { grid-template-columns: repeat(var(--pm-grid-cols-tablet, var(--pm-grid-cols, 2)), minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
    .pm-card-grid { grid-template-columns: repeat(var(--pm-grid-cols-mobile, 1), minmax(0, 1fr)) !important; }
}
