/* =====================================================================
 * 11 — ELEMENTOR + VINKMAG-WIDGETS TWEAKS
 * Точкові правки специфічних widgets (vinazine-*, elementor-*).
 * ===================================================================== */

/* ---------- ZAGAL'NI ELEMENTOR FIXES ---------- */
.sm-premium .elementor-section {
    position: relative;
}

.sm-premium .elementor-widget {
    margin-bottom: var(--sm-space-4);
}

.sm-premium .elementor-widget:last-child {
    margin-bottom: 0;
}

/* ---------- HEADING WIDGET ---------- */
.sm-premium .elementor-widget-heading .elementor-heading-title {
    font-family: var(--sm-font-headings) !important;
    color: var(--sm-blue);
    font-weight: 600;
    line-height: var(--sm-leading-tight);
}

/* ---------- TEXT EDITOR ---------- */
.sm-premium .elementor-widget-text-editor {
    font-family: var(--sm-font-body);
    line-height: var(--sm-leading-relaxed);
    color: var(--sm-charcoal);
}

/* ---------- IMAGE WIDGET ---------- */
.sm-premium .elementor-widget-image img {
    border-radius: var(--sm-radius-md);
    transition: transform var(--sm-transition-base);
}

/* ---------- IMAGE BOX ---------- */
.sm-premium .elementor-widget-image-box .elementor-image-box-wrapper {
    background: var(--sm-white);
    border-radius: var(--sm-radius-lg);
    padding: var(--sm-space-5);
    box-shadow: var(--sm-shadow-sm);
    border: 1px solid var(--sm-gray-light);
    transition: all var(--sm-transition-base);
}

.sm-premium .elementor-widget-image-box .elementor-image-box-wrapper:hover {
    transform: translateY(-3px);
    box-shadow: var(--sm-shadow-md);
    border-color: var(--sm-gold-soft);
}

.sm-premium .elementor-widget-image-box .elementor-image-box-img {
    margin-bottom: var(--sm-space-3) !important;
}

.sm-premium .elementor-widget-image-box .elementor-image-box-img img {
    border-radius: var(--sm-radius-md);
}

.sm-premium .elementor-widget-image-box .elementor-image-box-title {
    font-family: var(--sm-font-headings) !important;
    color: var(--sm-blue) !important;
    font-weight: 600 !important;
}

/* ---------- ICON BOX ---------- */
.sm-premium .elementor-widget-icon-box .elementor-icon {
    color: var(--sm-gold) !important;
    background: var(--sm-gold-light) !important;
    border-radius: 50% !important;
}

.sm-premium .elementor-widget-icon-box .elementor-icon-box-title {
    font-family: var(--sm-font-headings) !important;
    color: var(--sm-blue) !important;
}

/* ---------- VINAZINE WIDGETS (Vinkmag Essentials) ---------- */

/* Vinazine block title — заголовок секцій */
.sm-premium .elementor-widget-vinazine-block-title .vinazine-block-title-area,
.sm-premium .vinazine-block-title-area {
    border: none !important;
    margin-bottom: var(--sm-space-5) !important;
    padding-bottom: var(--sm-space-3) !important;
    position: relative;
    border-bottom: 2px solid var(--sm-gold-light) !important;
}

.sm-premium .vinazine-block-title-area::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 60px;
    height: 2px;
    background: var(--sm-gold);
}

.sm-premium .elementor-widget-vinazine-block-title .vinazine-block-title-area .vinazine-block-title,
.sm-premium .vinazine-block-title-area .vinazine-block-title {
    font-family: var(--sm-font-headings) !important;
    color: var(--sm-blue) !important;
    font-size: var(--sm-text-2xl) !important;
    font-weight: 600 !important;
    background: transparent !important;
    text-transform: none !important;
    letter-spacing: var(--sm-tracking-tight) !important;
    padding: 0 !important;
}

.sm-premium .vinazine-block-title-area .vinazine-block-title::before,
.sm-premium .vinazine-block-title-area .vinazine-block-title::after {
    display: none !important;
}

/* Vinazine post grid */
.sm-premium .elementor-widget-vinazine-post-grid .vinazine-post-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--sm-space-5);
}

.sm-premium .elementor-widget-vinazine-post-grid .post-item,
.sm-premium .vinazine-post-grid .post-item {
    background: var(--sm-white);
    border-radius: var(--sm-radius-lg);
    overflow: hidden;
    box-shadow: var(--sm-shadow-sm);
    border: 1px solid var(--sm-gray-light);
    transition: all var(--sm-transition-base);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sm-premium .vinazine-post-grid .post-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--sm-shadow-md);
    border-color: var(--sm-gold-soft);
}

.sm-premium .vinazine-post-grid .post-image {
    aspect-ratio: var(--sm-aspect-card);
    overflow: hidden;
}

.sm-premium .vinazine-post-grid .post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--sm-transition-slow);
}

.sm-premium .vinazine-post-grid .post-item:hover .post-image img {
    transform: scale(1.05);
}

/* Vinazine featured post */
.sm-premium .elementor-widget-vinazine-featured-post .vinazine-featured-post {
    border-radius: var(--sm-radius-xl);
    overflow: hidden;
    box-shadow: var(--sm-shadow-md);
}

.sm-premium .vinazine-featured-post .post-image {
    position: relative;
    aspect-ratio: 16 / 9;
}

.sm-premium .vinazine-featured-post .post-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 30%, rgba(20, 42, 71, 0.85) 100%);
    pointer-events: none;
}

.sm-premium .vinazine-featured-post .post-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--sm-space-6);
    z-index: 2;
    color: var(--sm-cream);
}

.sm-premium .vinazine-featured-post .post-title {
    color: var(--sm-cream) !important;
    font-size: var(--sm-text-3xl) !important;
}

.sm-premium .vinazine-featured-post .post-title a {
    color: var(--sm-cream) !important;
}

.sm-premium .vinazine-featured-post .post-category,
.sm-premium .vinazine-featured-post .post-meta {
    color: var(--sm-gold-soft) !important;
}

/* Vinazine home featured slider — hero */
.sm-premium .elementor-widget-vinazine-home-featured-slider .vinazine-home-featured-slider {
    border-radius: var(--sm-radius-xl);
    overflow: hidden;
    box-shadow: var(--sm-shadow-lg);
}

/* Vinazine post block one (зведений блок з featured + малими картками) */
.sm-premium .vinazine-post-block-one {
    background: transparent;
}

.sm-premium .vinazine-post-block-one .post-block-1-large {
    border-radius: var(--sm-radius-lg);
    overflow: hidden;
    margin-bottom: var(--sm-space-4);
}

.sm-premium .vinazine-post-block-one .post-block-1-small {
    background: var(--sm-white);
    border-radius: var(--sm-radius-md);
    padding: var(--sm-space-3);
    margin-bottom: var(--sm-space-3);
    border: 1px solid var(--sm-gray-light);
    box-shadow: var(--sm-shadow-xs);
}

/* Vinazine logo widget */
.sm-premium .elementor-widget-vinazine-logo .vinazine-logo {
    text-align: center;
}

.sm-premium .elementor-widget-vinazine-logo img {
    max-height: 80px;
    width: auto;
}

/* Vinazine date widget */
.sm-premium .elementor-widget-vinazine-date,
.sm-premium .vinazine-date {
    font-family: var(--sm-font-meta) !important;
    font-style: italic;
    color: var(--sm-gold-deep);
    font-size: var(--sm-text-sm);
}

/* Vinazine taglist */
.sm-premium .elementor-widget-vinazine-taglist .tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sm-space-2);
}

.sm-premium .elementor-widget-vinazine-taglist .tag-item {
    background: var(--sm-cream-deep);
    color: var(--sm-charcoal-soft);
    padding: 6px 14px;
    border-radius: var(--sm-radius-full);
    font-size: var(--sm-text-xs);
    text-decoration: none;
    transition: all var(--sm-transition-base);
}

.sm-premium .elementor-widget-vinazine-taglist .tag-item:hover {
    background: var(--sm-gold);
    color: var(--sm-white);
}

/* ---------- COUNTDOWN WIDGET ---------- */
.sm-premium .elementor-widget-countdown {
    font-family: var(--sm-font-body);
}

.sm-premium .elementor-widget-countdown .elementor-countdown-item {
    background: var(--sm-blue) !important;
    color: var(--sm-cream) !important;
    border-radius: var(--sm-radius-md) !important;
    padding: var(--sm-space-4) !important;
    border: 1px solid var(--sm-gold-soft) !important;
}

.sm-premium .elementor-widget-countdown .elementor-countdown-digits {
    font-family: var(--sm-font-headings) !important;
    color: var(--sm-gold) !important;
    font-size: var(--sm-text-4xl) !important;
    font-weight: 600;
}

.sm-premium .elementor-widget-countdown .elementor-countdown-label {
    color: var(--sm-cream) !important;
    text-transform: uppercase;
    letter-spacing: var(--sm-tracking-wider);
    font-size: var(--sm-text-xs) !important;
}

/* ---------- POSTS WIDGET (Elementor Pro) ---------- */
.sm-premium .elementor-widget-posts .elementor-post,
.sm-premium .elementor-posts .elementor-post {
    background: var(--sm-white);
    border-radius: var(--sm-radius-lg);
    overflow: hidden;
    box-shadow: var(--sm-shadow-sm);
    border: 1px solid var(--sm-gray-light);
    transition: all var(--sm-transition-base);
}

.sm-premium .elementor-widget-posts .elementor-post:hover {
    transform: translateY(-3px);
    box-shadow: var(--sm-shadow-md);
    border-color: var(--sm-gold-soft);
}

.sm-premium .elementor-widget-posts .elementor-post__thumbnail {
    aspect-ratio: var(--sm-aspect-card);
}

.sm-premium .elementor-widget-posts .elementor-post__title {
    font-family: var(--sm-font-headings) !important;
    color: var(--sm-blue) !important;
}

/* ---------- SOCIAL ICONS ---------- */
.sm-premium .elementor-widget-social-icons .elementor-social-icon,
.sm-premium .elementor-widget-vinazine-darklight + .elementor-social-icons {
    transition: all var(--sm-transition-base);
}

.sm-premium .elementor-widget-social-icons .elementor-social-icon:hover {
    transform: translateY(-3px);
    box-shadow: var(--sm-shadow-md);
}

/* ---------- SHORTCODE WIDGET (revslider, formidable etc) ---------- */
.sm-premium .elementor-widget-shortcode {
    overflow: hidden;
    border-radius: var(--sm-radius-md);
}

/* ---------- DIVIDER WIDGET ---------- */
.sm-premium .elementor-widget-divider {
    margin: var(--sm-space-5) 0;
}

.sm-premium .elementor-widget-divider .elementor-divider-separator {
    background: linear-gradient(90deg, transparent, var(--sm-gold), transparent);
    height: 1px;
    border: none;
}

/* ---------- SPACER (без візуальних змін) ---------- */
.sm-premium .elementor-widget-spacer {
    /* Залишаємо як є */
}

/* ---------- BREADCRUMBS WIDGET ---------- */
.sm-premium .elementor-widget-breadcrumbs {
    font-family: var(--sm-font-meta);
    font-size: var(--sm-text-sm);
    font-style: italic;
    color: var(--sm-charcoal-soft);
}
