﻿.fade-out-text {
    display: inline-block;
    animation: fadeOutMessage 7s ease-in-out 2s forwards;
}

@keyframes fadeOutMessage {
    0% {
        opacity: 1;
        visibility: visible;
    }

    90% {
        opacity: 0;
        visibility: visible;
    }

    100% {
        opacity: 0;
        visibility: hidden;
    }
}
/* ============================================================
               OPINIONPOLL / HOMEPAGE STRUCTURE
               OpinionPoll hero + homepage content flow
               ============================================================ */

.hot-topics-flame {
    display: inline-block;
    transform-origin: bottom center;
    animation: flicker-burn 1.2s infinite cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes flicker-burn {

    0%, 100% {
        transform: scale(1) rotate(0deg) skewX(0deg);
        filter: drop-shadow( 0 -2px 4px rgba(255,120,0,0.7)) drop-shadow( 0 -6px 12px rgba(255,50,0,0.4));
    }

    20% {
        transform: scale(1.08,0.94) rotate(-3deg) skewX(-4deg);
        filter: drop-shadow( 0 -4px 8px rgba(255,180,0,0.9)) drop-shadow( 0 -10px 20px rgba(255,80,0,0.6));
    }

    40% {
        transform: scale(0.95,1.12) rotate(2deg) skewX(5deg);
        filter: drop-shadow( 0 -1px 3px rgba(255,100,0,0.6)) drop-shadow( 0 -4px 8px rgba(255,30,0,0.3));
    }

    60% {
        transform: scale(1.04,1.02) rotate(-1deg) skewX(-2deg);
        filter: drop-shadow( 0 -5px 10px rgba(255,200,0,0.95)) drop-shadow( 0 -12px 24px rgba(255,100,0,0.7));
    }

    80% {
        transform: scale(0.98,1.06) rotate(3deg) skewX(3deg);
        filter: drop-shadow( 0 -3px 6px rgba(255,140,0,0.8)) drop-shadow( 0 -7px 15px rgba(255,60,0,0.5));
    }
}



.live-voting-map-title {
    width: 65% !important;
    margin: 40px auto 20px !important;
    padding: 10px !important;
    background: #08284E !important;
    border: 1px solid #C4C2D4 !important;
    border-radius: 24px !important;
    text-align: center !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,0.9);
}


@media (max-width:576px) {

    .live-voting-map-title {
        width: 90% !important;
        font-size: 21px !important;
        padding: 8px !important;
        margin: 30px auto 15px !important;
    }
}


.pink-block {
    background: linear-gradient( 145deg, #FFFFFF 0%, #F4F5F7 55%, #DDE1E7 100% ) !important;
    border: 2px solid #B7BBC4 !important;
    border-radius: 10px !important;
    box-shadow: inset 0 2px 3px rgba(255,255,255,0.95), inset 0 -3px 5px rgba(8,40,78,0.08), 0 3px 6px rgba(8,40,78,0.18) !important;
}


.statsbox {
    background: linear-gradient( 145deg, #FFFFFF 0%, #F4F5F7 55%, #DDE1E7 100% ) !important;
    border: 2px solid #B7BBC4 !important;
    border-radius: 10px !important;
    box-shadow: inset 0 2px 3px rgba(255,255,255,0.95), inset 0 -3px 5px rgba(8,40,78,0.08), 0 3px 6px rgba(8,40,78,0.18) !important;
    transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}


.survey-box-slider {
    position: relative;
    width: 100%;
    height: 225px;
}


.survey-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
    text-decoration: none;
    display: block;
}


    .survey-slide.active {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 1;
        visibility: visible;
    }


.survey-box {
    height: 100%;
}


.looking-eyes {
    display: inline-block;
    animation: lookAndBlink 10s steps(1) infinite;
    transform-origin: center;
}


@keyframes lookAndBlink {

    0% {
        transform: scaleX(1);
    }

    25% {
        transform: scale(1,0.1);
    }

    26% {
        transform: scaleX(1);
    }

    40% {
        transform: scaleX(-1);
    }

    70% {
        transform: scaleX(1);
    }

    73% {
        transform: scaleX(-1);
    }

    95%, 100% {
        transform: scaleX(1);
    }
}


/* =========================================================
               CATEGORY AD
               ========================================================= */

.category-ad-wrapper {
    width: 100%;
    max-width: 1050px;
    margin: 25px auto 30px;
    padding: 0 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    max-height: 180px;
    overflow: hidden;
}


.category-responsive-ad {
    display: block;
    width: 100%;
    height: 180px;
    max-height: 180px;
    margin: 0 auto;
}


@media (max-width:1000px) {

    .category-ad-wrapper {
        padding: 0 15px;
        max-height: 160px;
    }

    .category-responsive-ad {
        width: 100%;
        height: 160px;
        max-height: 160px;
    }
}


@media (max-width:575px) {

    .category-ad-wrapper {
        width: 100%;
        margin: 20px auto 25px;
        padding: 0 10px;
        max-height: 90px;
    }

    .category-responsive-ad {
        width: 100%;
        height: 90px;
        max-height: 90px;
    }
}



/* =========================================================
               HOMEPAGE HERO
               ========================================================= */

.homepage-hero-heading {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    line-height: 1.05;
}


    .homepage-hero-heading .span,
    .homepage-hero-heading .text-wrapper-3 {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }


.homepage-hero {
    margin-top: 20px;
    margin-bottom: 35px;
}


.homepage-hero-left {
    padding: 25px 25px 10px 10px;
}


.homepage-kicker {
    color: #db5867;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 2px;
}


.homepage-hero-title {
    color: #08284E;
    font-size: clamp(42px, 6vw, 72px);
    line-height: 0.98;
    font-weight: 800;
    margin: 0;
}


    .homepage-hero-title span {
        color: #db5867;
    }


.homepage-hero-subtitle {
    color: #4e5965;
    font-size: 20px;
    line-height: 1.4;
    margin: 8px 0 0;
    max-width: 520px;
}


.hero-subtitle-second-line {
    display: block;
}


.homepage-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}


.homepage-primary-button,
.homepage-secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 22px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.2s ease;
}


.homepage-primary-button {
    background: #db5867;
    color: #ffffff !important;
    border: 2px solid #db5867;
}


    .homepage-primary-button:hover {
        background: #c94757;
        border-color: #c94757;
        transform: translateY(-1px);
    }


.homepage-secondary-button {
    background: #ffffff;
    color: #08284E !important;
    border: 2px solid #08284E;
}


    .homepage-secondary-button:hover {
        background: #08284E;
        color: #ffffff !important;
        transform: translateY(-1px);
    }



/* ============================================================
               HOT TOPICS / FEATURED QUESTION
               ============================================================ */

.homepage-question-card {
    position: relative;
    min-height: 0;
    padding: 30px;
    border-radius: 20px;
    background: linear-gradient( 145deg, #ffffff 0%, #f8f9fb 58%, #f4dfe3 100% );
    border: 1px solid #d2d2d2;
    box-shadow: 0 10px 30px rgba(8, 40, 78, 0.10), inset 0 1px 0 rgba(255,255,255,0.9);
    overflow: hidden;
}


    .homepage-question-card::before {
        content: "";
        position: absolute;
        width: 180px;
        height: 180px;
        border-radius: 50%;
        background: rgba(219, 88, 103, 0.08);
        right: -60px;
        top: -60px;
        pointer-events: none;
    }


.homepage-question-header {
    position: relative;
}


.homepage-question-label {
    position: relative;
    color: #db5867;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 18px;
}


.homepage-question-body {
    width: 100%;
}


.homepage-featured-content {
    padding: 0;
}


/* ============================================================
               HOT TOPICS SLIDER
               ============================================================ */

.homepage-topic-slider {
    position: relative;
    width: 100%;
}


.homepage-topic-slide {
    display: none;
    position: relative;
    width: 100%;
}


    .homepage-topic-slide.active {
        display: block;
    }


/* ============================================================
               QUESTION TITLE
               ============================================================ */

.homepage-question-title {
    position: relative;
    color: #08284E;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 700;
    min-height: 62px;
    margin-bottom: 10px;
}


    .homepage-question-title a {
        color: #08284E;
        text-decoration: none;
        transition: color 0.2s ease;
    }


        .homepage-question-title a:hover {
            color: #db5867;
        }


/* ============================================================
               FEATURED TOPIC IMAGE
               ============================================================ */

.homepage-featured-image {
    width: 100%;
    margin-top: 10px;
    overflow: hidden;
}


    .homepage-featured-image img {
        width: 95%;
        height: auto;
        display: block;
        object-fit: contain;
        margin: 5% 0 0;
        border-radius: 12px;
    }


/* ============================================================
               QUESTION DESCRIPTION
               ============================================================ */

.homepage-question-description {
    position: relative;
    color: #5b6570;
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 25px;
}



/* ============================================================
               OLD QUESTION BUTTON STYLES
               Kept in case buttons are restored later.
               ============================================================ */

.homepage-question-buttons {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}


.homepage-question-vote,
.homepage-question-results {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 9px;
    text-decoration: none;
    font-weight: 700;
}


.homepage-question-vote {
    background: #08284E;
    color: #ffffff !important;
    border: 2px solid #08284E;
}


.homepage-question-results {
    background: #ffffff;
    color: #08284E !important;
    border: 2px solid #c4c2d4;
}


    .homepage-question-vote:hover,
    .homepage-question-results:hover {
        transform: translateY(-1px);
    }



/* ============================================================
               QUESTION META
               ============================================================ */

.homepage-question-meta {
    position: relative;
    margin-top: 12px;
    color: #7a8189;
    font-size: 13px;
}



/* ============================================================
               SLIDER ARROWS
               ============================================================ */

.homepage-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(8, 40, 78, 0.88);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5;
    transition: all 0.2s ease;
}


    .homepage-slider-arrow:hover {
        background: #db5867;
        transform: translateY(-50%) scale(1.05);
    }


.homepage-slider-prev {
    left: 8px;
}


.homepage-slider-next {
    right: 8px;
}



/* ============================================================
               OTHER HOMEPAGE SECTIONS
               ============================================================ */

.homepage-section-intro {
    text-align: center;
    margin-bottom: 18px;
}


    .homepage-section-intro .div-2 {
        margin-bottom: 4px !important;
    }


.homepage .homepage-hero-heading {
    text-align: left;
}


.homepage-section-intro p:last-child {
    margin-bottom: 0;
}


.homepage-explore-card {
    margin-bottom: 25px;
}


.homepage-action-strip {
    margin: 30px 0 40px;
    padding: 22px 25px;
    border-radius: 15px;
    background: #08284E;
    color: #ffffff;
    box-shadow: 0 5px 18px rgba(8, 40, 78, 0.14);
}


.homepage-action-strip-title {
    color: #ffffff;
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 5px;
}


.homepage-action-strip-text {
    color: rgba(255,255,255,0.82);
    font-size: 16px;
    margin: 0;
}



/* ============================================================
               MOBILE
               ============================================================ */

@media (max-width: 767px) {

    .homepage-hero {
        margin-top: 10px;
        margin-bottom: 25px;
    }


    .homepage-hero-left {
        padding: 20px 5px 10px;
        text-align: center;
    }

    .homepage .homepage-hero-heading {
        text-align: center;
    }


    .homepage-hero-subtitle {
        font-size: 17px;
        margin-left: auto;
        margin-right: auto;
    }


    .homepage-hero-actions {
        justify-content: center;
    }


    .homepage-question-card {
        min-height: 0;
        padding: 25px;
    }


    .homepage-question-title {
        font-size: 21px;
        min-height: 55px;
    }


    .homepage-featured-image img {
        width: 100%;
        margin-top: 5%;
    }


    .homepage-slider-prev {
        left: 5px;
    }


    .homepage-slider-next {
        right: 5px;
    }
}