/*
 * ICG Fancy Card — Widget Styles
 *
 * Structural base styles only. All design values (colors, sizes, typography)
 * are controlled via Elementor style controls and injected as inline CSS.
 */

/* ============================================================
   CARD
   ============================================================ */
.icg-fc-card {
    position: relative;
    width: 400px;       /* default — overridden by Elementor card_width control */
    height: 540px;      /* default — overridden by Elementor card_height control */
    overflow: hidden;
    transition: border-color 0.3s ease;
}

/* Full-card link overlay */
.icg-fc-card__link-overlay {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: block;
    font-size: 0;
}

/* ============================================================
   CARD IMAGE — full-bleed, fills entire card
   ============================================================ */
.icg-fc-card__image {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

/* Thumbnail — z-index 2, fades out on reveal */
.icg-fc-card__image > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
    z-index: 2;
    transition: opacity 0.5s ease;
}

/* Video — z-index 1, sits behind thumbnail */
.icg-fc-card .js-video {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.icg-fc-card .js-video video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ============================================================
   CARD CONTENT — overlaid at bottom, hidden by default
   ============================================================ */
.icg-fc-card__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 28px 22px 26px;
    background: linear-gradient(
        to top,
        rgba( 0, 0, 0, 0.88 ) 0%,
        rgba( 0, 0, 0, 0.55 ) 60%,
        rgba( 0, 0, 0, 0 ) 100%
    );
    opacity: 0;
    transform: translateY( 10px );
    transition: opacity 0.45s ease, transform 0.45s ease;
    pointer-events: none;
}

/* Revealed: CSS hover or JS .is-revealed */
.icg-fc-card:hover .icg-fc-card__content,
.icg-fc-card.is-revealed .icg-fc-card__content {
    opacity: 1;
    transform: translateY( 0 );
    pointer-events: auto;
}

/* ============================================================
   TAGS
   ============================================================ */
.icg-fc-card__tags { padding-top: 4px; }

.icg-fc-card .list-tags {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 0;
    margin: 0;
}

.icg-fc-card .list-tags li span {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-radius: 4px;
    padding: 3px 8px;
}

/* ============================================================
   CTA BLOCK
   ============================================================ */
.icg-fc-block {
    position: relative;
    width: 280px;
    min-height: 540px;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 32px 28px;
    transition: background 0.25s ease;
    cursor: pointer;
}

.icg-fc-block__image { width: 100%; }
.icg-fc-block__image img { display: block; max-width: 120px; }

.icg-fc-block__image--dark { display: none; }
.icg-fc-block:hover .icg-fc-block__image--light { display: none; }
.icg-fc-block:hover .icg-fc-block__image--dark  { display: block; }

.icg-fc-block__content {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.icg-fc-block__arrow--dark { display: none; }
.icg-fc-block:hover .icg-fc-block__arrow--light { display: none; }
.icg-fc-block:hover .icg-fc-block__arrow--dark  { display: block; }
