/* Ícones de clima — line-art animado (preto + ciano) */
.clima-anim-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
}

.clima-anim-icon svg {
    display: block;
    overflow: visible;
}

.clima-anim-icon--gif img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    pointer-events: none;
}

/* Header escuro: SVG claro, sem caixa branca */
.clima-anim-icon--on-dark [stroke="#1a1a1a"] {
    stroke: #f1f5f9 !important;
}

.clima-anim-icon--on-dark [fill="#ffffff"] {
    fill: rgba(255, 255, 255, 0.12) !important;
}

.clima-anim-icon--on-dark [fill="#12D6DF"],
.clima-anim-icon--on-dark [stroke="#12D6DF"] {
    stroke: #5eead4 !important;
    fill: #5eead4 !important;
}

.header-brand-clima .clima-anim-icon {
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
    background: transparent;
}

/* Sol — raios ciano giram devagar */
.clima-anim-icon__rays--acc {
    transform-origin: center;
    animation: clima-icon-spin 18s linear infinite;
}

.clima-anim-icon--clear .clima-anim-icon__sun {
    transform-origin: 32px 32px;
}

.clima-anim-icon--partly .clima-anim-icon__sun {
    animation: clima-icon-sun-peek 4s ease-in-out infinite;
}

@keyframes clima-icon-spin {
    to { transform: rotate(360deg); }
}

@keyframes clima-icon-sun-peek {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.88; }
}

/* Nuvens */
.clima-anim-icon__cloud,
.clima-anim-icon__cloud-front {
    transform-origin: 32px 30px;
    animation: clima-icon-cloud 3.4s ease-in-out infinite;
}

.clima-anim-icon__cloud-back {
    transform-origin: 28px 24px;
    animation: clima-icon-cloud 4.2s ease-in-out infinite reverse;
}

@keyframes clima-icon-cloud {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}

.clima-anim-icon--cloudy .clima-anim-icon__cloud-back {
    animation-name: clima-icon-cloud-drift;
}

@keyframes clima-icon-cloud-drift {
    0%, 100% { transform: translate(-5px, -7px); }
    50% { transform: translate(-3px, -9px); }
}

/* Chuva / garoa */
.clima-anim-icon__drop {
    animation: clima-icon-drop 1s ease-in infinite;
    opacity: 0;
}

.clima-anim-icon--drizzle .clima-anim-icon__drop,
.clima-anim-icon--night-drizzle .clima-anim-icon__drop {
    animation-duration: 1.3s;
}

.clima-anim-icon--rain .clima-anim-icon__drop,
.clima-anim-icon--storm .clima-anim-icon__drop,
.clima-anim-icon--night-rain .clima-anim-icon__drop,
.clima-anim-icon--night-storm .clima-anim-icon__drop {
    animation-duration: 0.88s;
}

.clima-anim-icon__drop--1 { animation-delay: 0s; }
.clima-anim-icon__drop--2 { animation-delay: 0.14s; }
.clima-anim-icon__drop--3 { animation-delay: 0.28s; }
.clima-anim-icon__drop--4 { animation-delay: 0.42s; }
.clima-anim-icon__drop--5 { animation-delay: 0.56s; }
.clima-anim-icon__drop--6 { animation-delay: 0.7s; }
.clima-anim-icon__drop--7 { animation-delay: 0.84s; }

@keyframes clima-icon-drop {
    0% {
        transform: translateY(0);
        opacity: 0;
    }
    12% { opacity: 1; }
    88% { opacity: 0.9; }
    100% {
        transform: translateY(11px);
        opacity: 0;
    }
}

/* Tempestade */
.clima-anim-icon__bolt {
    animation: clima-icon-bolt 2.6s ease-in-out infinite;
    transform-origin: 33px 42px;
}

@keyframes clima-icon-bolt {
    0%, 84%, 100% { opacity: 0.25; }
    86%, 88% { opacity: 1; filter: drop-shadow(0 0 3px rgba(18, 214, 223, 0.8)); }
}

/* Neve */
.clima-anim-icon__flake {
    animation: clima-icon-snow 2.2s ease-in-out infinite;
    opacity: 0;
}

.clima-anim-icon__flake--1 { animation-delay: 0s; }
.clima-anim-icon__flake--2 { animation-delay: 0.35s; }
.clima-anim-icon__flake--3 { animation-delay: 0.7s; }

@keyframes clima-icon-snow {
    0% { transform: translateY(0); opacity: 0; }
    20% { opacity: 1; }
    100% { transform: translateY(10px); opacity: 0; }
}

/* Noite — estrelas piscando */
.clima-anim-icon__star {
    animation: clima-icon-star 2.5s ease-in-out infinite;
}

.clima-anim-icon__star--acc {
    animation-delay: 0.4s;
}

@keyframes clima-icon-star {
    0%, 100% { opacity: 0.55; transform: scale(0.92); }
    50% { opacity: 1; transform: scale(1.08); }
}

.clima-anim-icon__moon {
    animation: clima-icon-moon 5s ease-in-out infinite;
}

@keyframes clima-icon-moon {
    0%, 100% { opacity: 0.95; }
    50% { opacity: 1; }
}

/* Neblina */
.clima-anim-icon__fog line:nth-child(1) {
    animation: clima-icon-fog 3.8s ease-in-out infinite;
}

.clima-anim-icon__fog line:nth-child(2) {
    animation: clima-icon-fog 4.4s ease-in-out infinite reverse;
    animation-delay: -0.8s;
}

.clima-anim-icon__fog line:nth-child(3) {
    animation: clima-icon-fog 5s ease-in-out infinite;
    animation-delay: -1.6s;
}

@keyframes clima-icon-fog {
    0%, 100% { transform: translateX(0); opacity: 0.65; }
    50% { transform: translateX(5px); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .clima-anim-icon__rays--acc,
    .clima-anim-icon__cloud,
    .clima-anim-icon__cloud-front,
    .clima-anim-icon__cloud-back,
    .clima-anim-icon__drop,
    .clima-anim-icon__bolt,
    .clima-anim-icon__flake,
    .clima-anim-icon__star,
    .clima-anim-icon__moon,
    .clima-anim-icon__fog line,
    .clima-anim-icon--partly .clima-anim-icon__sun {
        animation: none !important;
        opacity: 1;
    }
}

.clima-anim-icon--static .clima-anim-icon__rays--acc,
.clima-anim-icon--static .clima-anim-icon__cloud,
.clima-anim-icon--static .clima-anim-icon__drop,
.clima-anim-icon--static .clima-anim-icon__bolt,
.clima-anim-icon--static .clima-anim-icon__flake,
.clima-anim-icon--static .clima-anim-icon__star,
.clima-anim-icon--static .clima-anim-icon__moon,
.clima-anim-icon--static .clima-anim-icon__fog line {
    animation: none !important;
    opacity: 1;
}

.header-brand-clima .site-clima__icon--sm {
    width: auto;
    height: auto;
    background: transparent;
}

.clima-modal__hero-icon .clima-anim-icon {
    filter: none;
}

.clima-modal__hero-icon .clima-anim-icon,
.clima-modal__hero-icon .clima-anim-icon svg {
    width: 48px;
    height: 48px;
}

.clima-modal__day-icon .clima-anim-icon,
.clima-modal__day-icon .clima-anim-icon svg {
    width: 20px;
    height: 20px;
}
