/* Container général */

#dragon-news-container {
    --dnews-blue: #0756a6;
    --dnews-blue-light: #eaf5ff;
    --dnews-green: #159b78;
    --dnews-white: #ffffff;
    --dnews-shadow: 0 10px 30px rgba(0, 50, 100, 0.18);

    position: fixed;
    right: 24px;
    bottom: 22px;
    z-index: 99990;

    width: min(430px, calc(100vw - 32px));

    font-family: Arial, Helvetica, sans-serif;
}

/* ---------------------------------------------------------
   BLOC PRINCIPAL
   --------------------------------------------------------- */

#dragon-news-widget {
    position: relative;
    min-height: 180px;
    pointer-events: none;
}


/* ---------------------------------------------------------
   DRAGON
   --------------------------------------------------------- */

#dragon-news-dragon {
    position: absolute;
    right: 0;
    bottom: 0;

    width: 136px;
    height: 176px;

    padding: 0;
    border: 0;

    background: transparent;

    cursor: pointer;
    pointer-events: auto;

    filter: drop-shadow(0 8px 8px rgba(0,0,0,0.12));

    transition:
        transform 0.25s ease,
        filter 0.25s ease;
}

#dragon-news-dragon:hover {
    transform: translateY(-5px) rotate(-1deg);
    filter: drop-shadow(0 12px 12px rgba(0,0,0,0.17));
}

#dragon-news-dragon:focus-visible {
    outline: 3px solid #ffd447;
    outline-offset: 4px;
    border-radius: 20px;
}

.dragon-news-dragon-image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
    object-position: bottom center;

    user-select: none;
    -webkit-user-drag: none;
}

/* Petit mouvement permanent, très léger */
.dragon-news-widget .dragon-news-dragon {
    animation: dnews-dragon-breathe 3.8s ease-in-out infinite;
}

@keyframes dnews-dragon-breathe {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-4px);
    }
}


/* ---------------------------------------------------------
   DRAGON EN BOUTON REDUIT
   --------------------------------------------------------- 

/* Mode réduit (bouton discret) */
#dragon-news-container.minimized #dragon-news-dragon {
    width: 68px;
    height: 88px;
    opacity: 0.7;
}


/* Bulle */

#dragon-news-bubble {
    position: absolute;
    right: 135px;
    bottom: 50px;

    width: min(360px, calc(100vw - 130px));
    padding: 22px 22px 18px;

    background: var(--dnews-white);
    border: 3px solid #65bdf4;
    border-radius: 28px;

    box-shadow: var(--dnews-shadow);

    opacity: 0;
    transform: translateY(18px) scale(0.94);
    transform-origin: bottom right;

    pointer-events: auto;

    transition:
        opacity 0.45s ease,
        transform 0.45s cubic-bezier(.2,.8,.2,1);
}


/* La petite pointe de la bulle */

#dragon-news-bubble::after {
    content: "";
    position: absolute;
    right: 32px;
    right: -10px;

    width: 15px;
    height: 15px;

    background: var(--dnews-white);
    border-right: 3px solid #65bdf4;
    border-bottom: 3px solid #65bdf4;

    transform: rotate(-45deg);
}


/* Bulle visible */
#dragon-news-bubble.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}


/* ---------------------------------------------------------
   CONTENU DE LA BULLE
   --------------------------------------------------------- */

/* Titre */

#dragon-news-title {
    margin: 0 0 9px;

    color: var(--dnews-blue);

    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
}


/* Texte */

#dragon-news-text {
    margin: 0 0 16px;

    color: #23364a;

    font-size: 15px;
    line-height: 1.45;
}


/* Bouton */

#dragon-news-button {

display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 40px;
    padding: 9px 17px;

    border: 0;
    border-radius: 22px;

    background: var(--dnews-green);
    color: #fff;

    font-size: 14px;
    font-weight: 700;
    text-decoration: none;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        filter 0.2s ease,
        box-shadow 0.2s ease;
}

#dragon-news-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
    box-shadow: 0 6px 15px rgba(21, 155, 120, 0.25);
}

#dragon-news-button:focus-visible {
    outline: 3px solid #ffd447;
    outline-offset: 3px;
}

#dragon-dnews-arrow {
    font-size: 18px;
    line-height: 1;
}


/* Badge */

#dragon-news-badge {

    position: absolute;
    bottom: 140px;
    right: 5px;

    min-width: 27px;
    height: 27px;

    padding: 0 7px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #498e19;
    color: #fff;

    border: 3px solid #fff;

    font-size: 13px;
    font-weight: 700;

    box-shadow: 0 4px 10px rgba(0,0,0,0.15);

    pointer-events: none;
}
