/**
 * Premium theme — components
 */

/* Buttons */
body.premium .btn-custom {
    background: linear-gradient(135deg, var(--premium-accent-strong), #8b5cf6);
    border: 0;
    color: #0b0b0c;
    font-weight: 600;
    border-radius: var(--premium-radius-pill);
    padding: 0.65rem 1.25rem;
    transition: transform var(--premium-duration-fast) var(--premium-ease-out),
                box-shadow var(--premium-duration-fast) var(--premium-ease-out);
}

body.premium .btn-custom:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 30px var(--premium-accent-glow);
    color: #0b0b0c;
}

body.premium .btn-load-more {
    min-width: 180px;
}

/* Badges */
.premium-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.75rem;
    border-radius: var(--premium-radius-pill);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
}

.premium-badge--ghost {
    background: rgba(255, 255, 255, 0.12);
    color: var(--premium-text);
    border: 1px solid var(--premium-border);
}

/* Card */
.premium-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: var(--premium-radius-xl);
    overflow: hidden;
    background: var(--premium-bg-card);
    border: 1px solid var(--premium-border);
    box-shadow: var(--premium-shadow-card);
    transition: transform var(--premium-duration-base) var(--premium-ease-out),
                border-color var(--premium-duration-base) var(--premium-ease-out),
                box-shadow var(--premium-duration-base) var(--premium-ease-out);
}

.premium-card:hover {
    transform: translateY(-4px);
    border-color: var(--premium-border-strong);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5);
}

.premium-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #1a1a1f;
}

.premium-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--premium-duration-slow) var(--premium-ease-out);
}

.premium-card:hover .premium-card__media img {
    transform: scale(1.04);
}

.premium-card__overlay {
    position: absolute;
    inset: 0;
    background: var(--premium-gradient-card);
    pointer-events: none;
}

.premium-card__body {
    padding: var(--premium-space-md);
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    flex: 1;
}

.premium-card__title {
    font-family: var(--premium-font-display);
    font-size: var(--premium-type-h3);
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: -0.02em;
    margin: 0;
}

.premium-card__title a {
    color: var(--premium-text);
}

.premium-card__title a:hover {
    color: var(--premium-accent);
}

.premium-card__meta,
.premium-card__description {
    color: var(--premium-text-muted);
    font-size: var(--premium-type-meta);
    margin: 0;
}

.premium-card__description {
    line-height: 1.55;
}

.premium-card--no-image .premium-card__body {
    padding-top: var(--premium-space-lg);
}

.premium-card--vertical .premium-card__media {
    aspect-ratio: 3 / 4;
}

.premium-card--vertical .premium-card__title {
    font-size: clamp(1rem, 1.2vw, 1.125rem);
}

.premium-card--media .premium-card__media {
    aspect-ratio: 16 / 9;
}

.premium-card .media-icon {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Post meta inside premium */
.premium-card .post-meta,
.premium-hero .post-meta {
    color: var(--premium-text-subtle);
    font-size: var(--premium-type-meta);
}

.premium-hero--dark-surface .post-meta,
.premium-hero--dark-surface .post-meta a {
    color: var(--premium-hero-text-muted);
}

.premium-card .post-meta a,
.premium-hero .post-meta a {
    color: var(--premium-text-muted);
}

.premium-hero--dark-surface .post-meta a:hover {
    color: var(--premium-hero-text);
}

/* Latest posts grid */
.premium-latest-grid {
    row-gap: var(--premium-space-lg);
}

/* Nav corporate / media library accents */
.premium-nav-top .nav-item-media-library .nav-link,
.premium-nav-main .nav-item-media-library .nav-link,
.premium-nav-main .nav-link-corporate {
    color: var(--premium-accent) !important;
}

/* Form controls global touch-up for hybrid pages */
body.premium.premium-scheme-dark .form-input,
body.premium.premium-scheme-dark .form-control {
    color-scheme: dark;
}

body.premium.premium-scheme-light .form-input,
body.premium.premium-scheme-light .form-control {
    color-scheme: light;
}

body.premium .section-page,
body.premium .section-category,
body.premium .section-featured {
    background: transparent;
}

body.premium .breadcrumb {
    color: var(--premium-text-muted);
}

body.premium .breadcrumb-item.active {
    color: var(--premium-text);
}

body.premium .section-page {
    padding-top: var(--premium-space-xl);
}

body.premium .page-title,
body.premium .section-title .title {
    color: var(--premium-text);
}
