/* NetMkd DekoWidgets — Public Styles v1.0.2 */

/* ===================== QUOTE WIDGET ===================== */

.nmkd-quote-wrap {
    position: fixed;
    z-index: 99999;
    pointer-events: none;
    max-width: 280px;
}

/* Cloud анимација */
.nmkd-quote-cloud {
    background: #ffffff;
    border-radius: 18px;
    padding: 14px 18px 14px 22px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.13);
    font-size: 14px;
    font-weight: 600;
    color: #1a2a3a;
    line-height: 1.55;
    position: relative;
    pointer-events: auto;
}
.nmkd-quote-cloud::before {
    content: '\201C';
    font-size: 44px;
    color: #1a3a5c;
    opacity: 0.18;
    position: absolute;
    top: -6px; left: 8px;
    font-family: Georgia, serif;
    line-height: 1;
}
.nmkd-quote-cloud .nmkd-quote-tail {
    position: absolute;
    bottom: -10px; left: 28px;
    width: 0; height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 11px solid #fff;
}

/* Flip анимација */
.nmkd-quote-flip-wrap { perspective: 800px; pointer-events: auto; }
.nmkd-quote-flip {
    width: 240px; height: 120px;
    position: relative; transform-style: preserve-3d;
    transition: transform 0.7s cubic-bezier(0.4,0,0.2,1);
}
.nmkd-quote-flip.flipped { transform: rotateY(180deg); }
.nmkd-flip-face {
    position: absolute; inset: 0; border-radius: 14px;
    backface-visibility: hidden;
    display: flex; align-items: center; justify-content: center;
}
.nmkd-flip-front { background: #1a3a5c; font-size: 38px; }
.nmkd-flip-back {
    background: #fff; transform: rotateY(180deg);
    padding: 14px 16px; flex-direction: column; align-items: flex-start;
    font-size: 13px; font-weight: 600; color: #1a2a3a; line-height: 1.5;
}

/* Flash анимација */
.nmkd-quote-flash {
    background: rgba(26,58,92,0.92); color: #fff;
    border-radius: 12px; padding: 18px 22px;
    font-size: 16px; font-weight: 700; line-height: 1.5;
    text-align: center; max-width: 320px; pointer-events: auto;
}

/* Wave анимација */
.nmkd-quote-wave {
    background: #fff; border-left: 4px solid #1a3a5c;
    border-radius: 0 12px 12px 0; padding: 14px 18px;
    font-size: 14px; font-weight: 600; color: #1a2a3a; line-height: 1.5;
    box-shadow: 0 3px 14px rgba(0,0,0,0.1); pointer-events: auto;
}

/* Bubble анимација */
.nmkd-quote-bubble {
    background: #fff; border-radius: 50px; padding: 14px 22px;
    font-size: 14px; font-weight: 600; color: #1a2a3a; line-height: 1.5;
    box-shadow: 0 4px 18px rgba(0,0,0,0.12);
    border: 2px solid rgba(26,58,92,0.13);
    text-align: center; pointer-events: auto;
}

/* Влезни/излезни анимации */
.nmkd-anim-enter-cloud { animation: nmkdCloudEnter 0.7s cubic-bezier(0.34,1.3,0.64,1) forwards; }
@keyframes nmkdCloudEnter {
    0%   { opacity: 0; transform: translateY(-60px) scale(0.85); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
.nmkd-anim-float { animation: nmkdFloat 3s ease-in-out infinite; }
@keyframes nmkdFloat {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-8px); }
}
.nmkd-anim-leave-cloud { animation: nmkdCloudLeave 0.9s ease forwards; }
@keyframes nmkdCloudLeave {
    0%   { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; transform: translateY(-70px); }
}
.nmkd-anim-enter-flash { animation: nmkdFlashEnter 0.4s cubic-bezier(0.34,1.4,0.64,1) forwards; }
@keyframes nmkdFlashEnter {
    0%   { opacity: 0; transform: translate(-50%,-50%) scale(0.3); }
    100% { opacity: 1; transform: translate(-50%,-50%) scale(1); }
}
.nmkd-anim-leave-flash { animation: nmkdFlashLeave 0.5s ease forwards; }
@keyframes nmkdFlashLeave {
    0%   { opacity: 1; transform: translate(-50%,-50%) scale(1); }
    100% { opacity: 0; transform: translate(-50%,-50%) scale(0.7); }
}
.nmkd-anim-enter-wave-right { animation: nmkdWaveRight 0.6s cubic-bezier(0.34,1.2,0.64,1) forwards; }
@keyframes nmkdWaveRight {
    0%   { opacity: 0; transform: translateX(120px); }
    100% { opacity: 1; transform: translateX(0); }
}
.nmkd-anim-enter-wave-left { animation: nmkdWaveLeft 0.6s cubic-bezier(0.34,1.2,0.64,1) forwards; }
@keyframes nmkdWaveLeft {
    0%   { opacity: 0; transform: translateX(-120px); }
    100% { opacity: 1; transform: translateX(0); }
}
.nmkd-anim-leave-wave { animation: nmkdWaveLeave 0.5s ease forwards; }
@keyframes nmkdWaveLeave {
    0%   { opacity: 1; }
    100% { opacity: 0; transform: translateX(80px); }
}
.nmkd-anim-enter-bubble { animation: nmkdBubbleEnter 0.55s cubic-bezier(0.34,1.6,0.64,1) forwards; }
@keyframes nmkdBubbleEnter {
    0%   { opacity: 0; transform: scale(0); }
    100% { opacity: 1; transform: scale(1); }
}
.nmkd-anim-leave-bubble { animation: nmkdBubbleLeave 0.5s ease forwards; }
@keyframes nmkdBubbleLeave {
    0%   { opacity: 1; transform: scale(1); }
    100% { opacity: 0; transform: scale(0.6); }
}
.nmkd-anim-dissolve { animation: nmkdDissolve 0.8s ease forwards; }
@keyframes nmkdDissolve {
    0%   { opacity: 1; }
    100% { opacity: 0; }
}

/* ===================== SEASONAL WIDGET ===================== */

.nmkd-seasonal-wrap {
    position: fixed; z-index: 99998; opacity: 0;
}
.nmkd-seasonal-wrap.nmkd-pos-bottom-right { bottom: 20px; right: 20px; }
.nmkd-seasonal-wrap.nmkd-pos-bottom-left  { bottom: 20px; left: 20px; }
.nmkd-seasonal-wrap.nmkd-pos-top-right    { top: 80px;  right: 20px; }
.nmkd-seasonal-wrap.nmkd-pos-top-left     { top: 80px;  left: 20px; }

/* Влезни анимации */
.nmkd-seasonal-slide { animation: nmkdSeasonSlide 0.8s cubic-bezier(0.34,1.2,0.64,1) forwards; }
@keyframes nmkdSeasonSlide {
    0%   { opacity: 0; transform: translateX(160px); }
    100% { opacity: 1; transform: translateX(0); }
}
.nmkd-seasonal-slide-left { animation: nmkdSeasonSlideLeft 0.8s cubic-bezier(0.34,1.2,0.64,1) forwards; }
@keyframes nmkdSeasonSlideLeft {
    0%   { opacity: 0; transform: translateX(-160px); }
    100% { opacity: 1; transform: translateX(0); }
}
.nmkd-seasonal-bounce { animation: nmkdSeasonBounce 0.9s cubic-bezier(0.34,1.5,0.64,1) forwards; }
@keyframes nmkdSeasonBounce {
    0%   { opacity: 0; transform: translateY(-120px) scale(0.6); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
.nmkd-seasonal-fade { animation: nmkdSeasonFade 1s ease forwards; }
@keyframes nmkdSeasonFade {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}
.nmkd-seasonal-spin { animation: nmkdSeasonSpin 0.8s cubic-bezier(0.34,1.4,0.64,1) forwards; }
@keyframes nmkdSeasonSpin {
    0%   { opacity: 0; transform: rotate(-180deg) scale(0.3); }
    100% { opacity: 1; transform: rotate(0deg) scale(1); }
}

/* ===== WINTER PANEL ===== */
.nmkd-tree-img {
    width: 160px;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.5));
}

.nmkd-winter-panel {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    text-align: center;
    min-width: 180px;
    box-shadow: none;
}

/* ===== CSS ЕЛКА ===== */
.nmkd-tree-wrap { display: inline-block; }

.nmkd-tree {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    position: relative;
}

.nmkd-tree-star {
    font-size: 26px;
    line-height: 1;
    filter: drop-shadow(0 0 8px #ffe066);
}

/* Редови на елката со CSS clip-path триаголници */
.nmkd-tree-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    position: relative;
}

/* Зелена позадина за секој ред */
.nmkd-tree-r1,
.nmkd-tree-r2,
.nmkd-tree-r3,
.nmkd-tree-r4 {
    background: linear-gradient(180deg, #2d6e2d 0%, #1a4d1a 100%);
    border-radius: 4px;
    padding: 4px 8px;
}
.nmkd-tree-r1 { width: 70px;  padding: 5px 8px; }
.nmkd-tree-r2 { width: 95px;  padding: 6px 10px; }
.nmkd-tree-r3 { width: 120px; padding: 7px 12px; }
.nmkd-tree-r4 { width: 145px; padding: 8px 14px; }

/* Триаголна форма преку clip-path */
.nmkd-tree-r1 { clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%); }
.nmkd-tree-r2 { clip-path: polygon(15% 0%, 85% 0%, 100% 100%, 0% 100%); }
.nmkd-tree-r3 { clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%); }
.nmkd-tree-r4 { clip-path: polygon(8%  0%, 92% 0%, 100% 100%, 0% 100%); }

.nmkd-tree-row span { font-size: 14px; line-height: 1; }

/* Стебло */
.nmkd-tree-trunk {
    width: 22px; height: 20px;
    background: linear-gradient(180deg, #6b3a1f, #4a2510);
    border-radius: 2px;
    margin-top: 2px;
}

/* Подароци */
.nmkd-tree-gifts {
    font-size: 16px;
    margin-top: 6px;
    letter-spacing: 4px;
}

.nmkd-winter-text {
    color: blue;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    margin-top: 8px;
    text-shadow: 0 1px 4px rgba(0,0,0,0.8), 0 0 12px rgba(0,0,0,0.6);
}

/* Sparkle */
.nmkd-sparkle {
    display: inline-block;
    animation: nmkdSparkle var(--spd, 1.5s) ease-in-out infinite alternate;
}
@keyframes nmkdSparkle {
    0%   { opacity: 0.2; transform: scale(0.75); filter: brightness(0.7); }
    100% { opacity: 1;   transform: scale(1.3);  filter: brightness(1.4); }
}

/* Снег — widget scope */
.nmkd-snow-container {
    position: absolute;
    top: -40px; left: -30px; right: -30px; bottom: -10px;
    overflow: hidden; pointer-events: none; z-index: -1;
    border-radius: 18px;
}

/* Снег — fullscreen */
.nmkd-snow-fullscreen {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    pointer-events: none; z-index: 99997; overflow: hidden;
}

/* Снегулки — побавни, со drift */
.nmkd-snowflake {
    position: absolute;
    top: -30px;
    opacity: 0;
    user-select: none;
    animation: nmkdSnowFall linear infinite;
    color: #d0eeff;
}
@keyframes nmkdSnowFall {
    0%   {
        transform: translateY(0px) translateX(0px) rotate(0deg);
        opacity: 0;
    }
    5%   { opacity: 0.85; }
    90%  { opacity: 0.6; }
    100% {
        transform: translateY(110vh) translateX(var(--drift, 20px)) rotate(360deg);
        opacity: 0;
    }
}

/* ===== VALENTINE ===== */
.nmkd-valentine-panel {
    background: linear-gradient(160deg, #3c0514 0%, #6b0a24 100%);
    border: 1px solid rgba(220,80,120,0.35);
    border-radius: 18px;
    padding: 16px 18px;
    text-align: center;
    min-width: 130px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.35);
}
.nmkd-valentine-main { font-size: 38px; line-height: 1; }
.nmkd-valentine-sub  { font-size: 20px; margin: 5px 0 3px; }
.nmkd-valentine-text {
    color: #ffaabb; font-size: 9px;
    font-weight: 700; letter-spacing: 0.8px; margin-top: 8px;
}
.nmkd-heart-particle {
    position: fixed; font-size: 18px;
    animation: nmkdHeartFloat linear infinite;
    pointer-events: none; z-index: 99996;
}
@keyframes nmkdHeartFloat {
    0%   { transform: translateY(100vh) scale(0.5); opacity: 0; }
    10%  { opacity: 0.9; }
    90%  { opacity: 0.7; }
    100% { transform: translateY(-60px) scale(1.1); opacity: 0; }
}
.nmkd-heart-pulse {
    display: inline-block;
    animation: nmkdHeartPulse 1.1s ease-in-out infinite;
}
@keyframes nmkdHeartPulse {
    0%, 100% { transform: scale(1); }
    50%       { transform: scale(1.2); }
}

/* ===== EASTER ===== */
.nmkd-easter-panel {
    background: linear-gradient(160deg, #05200a 0%, #0d3d12 100%);
    border: 1px solid rgba(80,200,60,0.3);
    border-radius: 18px;
    padding: 16px 18px;
    text-align: center;
    min-width: 130px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.35);
}
.nmkd-easter-main  { font-size: 36px; line-height: 1.1; }
.nmkd-easter-deco  { font-size: 16px; margin: 5px 0 3px; letter-spacing: 3px; }
.nmkd-easter-text  {
    color: #b8ffaa; font-size: 9px;
    font-weight: 700; letter-spacing: 0.8px; margin-top: 8px;
}
.nmkd-butterfly {
    position: fixed; font-size: 18px;
    animation: nmkdButterfly ease-in-out infinite;
    pointer-events: none; z-index: 99996;
}
@keyframes nmkdButterfly {
    0%   { transform: translate(0,0) rotate(-5deg); }
    25%  { transform: translate(18px,-22px) rotate(5deg); }
    50%  { transform: translate(-12px,-38px) rotate(-3deg); }
    75%  { transform: translate(22px,-20px) rotate(4deg); }
    100% { transform: translate(0,0) rotate(-5deg); }
}