/* Explain: Styles for the Christmas section, including festive animations and unique card treatments. */
/* Special Christmas section: festive lighting, falling snow, garland ornaments and holiday card treatments. */

.navidad-section {
    position: relative;
    background:
        radial-gradient(circle at 18% 12%, rgba(201, 162, 39, 0.22), transparent 24rem),
        radial-gradient(circle at 84% 6%, rgba(179, 32, 42, 0.34), transparent 26rem),
        linear-gradient(160deg, #10302A 0%, #0A1F18 52%, #0D0B09 100%);
}

.navidad-snow {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(2px 2px at 12% 24%, rgba(255, 255, 255, 0.75), transparent),
        radial-gradient(2px 2px at 38% 62%, rgba(255, 255, 255, 0.55), transparent),
        radial-gradient(1.6px 1.6px at 66% 32%, rgba(255, 255, 255, 0.65), transparent),
        radial-gradient(1.6px 1.6px at 82% 74%, rgba(255, 255, 255, 0.5), transparent),
        radial-gradient(2.4px 2.4px at 52% 88%, rgba(255, 255, 255, 0.6), transparent),
        radial-gradient(1.6px 1.6px at 6% 82%, rgba(255, 255, 255, 0.45), transparent);
    background-size: 260px 260px;
    opacity: 0.55;
    animation: navidadSnowfall 22s linear infinite;
}

@keyframes navidadSnowfall {
    from { background-position: 0 0; }
    to { background-position: 0 260px; }
}

.navidad-lights {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    display: flex;
    justify-content: space-between;
    padding: 0.6rem 1.25rem;
    pointer-events: none;
}

.navidad-light {
    width: 0.62rem;
    height: 0.62rem;
    border-radius: 999px;
    background: var(--gold-color);
    box-shadow: 0 0 14px rgba(201, 162, 39, 0.75);
    animation: navidadGlow 2.8s ease-in-out infinite;
}

.navidad-light:nth-child(3n) {
    background: var(--red-color);
    box-shadow: 0 0 14px rgba(179, 32, 42, 0.8);
}

.navidad-light:nth-child(3n + 1) {
    background: #EAF3EA;
    box-shadow: 0 0 14px rgba(234, 243, 234, 0.7);
}

@keyframes navidadGlow {
    0%, 100% { opacity: 0.4; transform: scale(0.85); }
    50% { opacity: 1; transform: scale(1.12); }
}

/* Hanging garland across the top of the section */
.navidad-garland {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4.5rem;
    pointer-events: none;
    z-index: 1;
}

.navidad-garland-line {
    position: absolute;
    top: 1.6rem;
    left: 5%;
    right: 5%;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, var(--gold-soft) 12%, var(--gold-color) 50%, var(--gold-soft) 88%, transparent);
    box-shadow: 0 6px 18px rgba(201, 162, 39, 0.35);
}

.navidad-ornament {
    position: absolute;
    top: 1.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform-origin: top center;
    animation: navidadSway 4.4s ease-in-out infinite;
}

.navidad-ornament::before {
    content: "";
    width: 2px;
    height: 0.85rem;
    background: var(--gold-soft);
}

.navidad-ornament-ball {
    width: 0.95rem;
    height: 1.2rem;
    border-radius: 999px;
    box-shadow: 0 0 12px rgba(201, 162, 39, 0.45);
}

@keyframes navidadSway {
    0%, 100% { transform: rotate(-7deg); }
    50% { transform: rotate(7deg); }
}

/* Floating festive icons scattered around the section */
.navidad-float {
    position: absolute;
    color: var(--gold-color);
    opacity: 0.5;
    pointer-events: none;
    filter: drop-shadow(0 0 10px rgba(201, 162, 39, 0.4));
    animation: navidadFloat 6.5s ease-in-out infinite;
}

@keyframes navidadFloat {
    0%, 100% { transform: translateY(0) rotate(-5deg); }
    50% { transform: translateY(-14px) rotate(5deg); }
}

.navidad-badge-ornament {
    opacity: 0.95;
}

.navidad-countdown {
    display: inline-flex;
    align-items: stretch;
    gap: 0.5rem;
    text-transform: uppercase;
}

.navidad-countdown-item {
    display: flex;
    min-width: 3.75rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 1.25rem;
    border: 1px solid var(--gold-soft);
    background: rgba(13, 11, 9, 0.6);
    padding: 0.55rem 0.6rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.32);
    backdrop-filter: blur(6px);
}

.navidad-countdown-value {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--gold-color);
}

.navidad-countdown-label {
    margin-top: 0.35rem;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    color: var(--cream-muted);
}

@media (min-width: 640px) {
    .navidad-countdown-item {
        min-width: 4.5rem;
        padding: 0.6rem 0.85rem;
    }

    .navidad-countdown-value {
        font-size: 1.7rem;
    }
}

.navidad-card {
    background-image:
        linear-gradient(135deg, rgba(255, 255, 255, 0.09), transparent 42%),
        repeating-linear-gradient(115deg, rgba(255, 255, 255, 0.03) 0, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 12px);
}

.navidad-ribbon {
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
}

.pick-link-navidad {
    position: relative;
    gap: 0.45rem;
    border: 1px solid var(--gold-soft);
    background: linear-gradient(120deg, rgba(179, 32, 42, 0.96), rgba(139, 20, 28, 0.96));
    color: var(--cream-color);
    overflow: hidden;
}

.pick-link-navidad i {
    color: var(--gold-color);
    font-size: 1rem;
    filter: drop-shadow(0 0 6px rgba(201, 162, 39, 0.85));
    animation: navidadTreeTwinkle 2.2s ease-in-out infinite;
    transition: transform 0.35s ease;
}

@keyframes navidadTreeTwinkle {
    0%, 100% {
        transform: translateY(0) scale(1) rotate(0deg);
        filter: drop-shadow(0 0 4px rgba(201, 162, 39, 0.6));
    }
    50% {
        transform: translateY(-2px) scale(1.18) rotate(-4deg);
        filter: drop-shadow(0 0 12px rgba(201, 162, 39, 1));
    }
}

.pick-link-navidad::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -30%;
    width: 40%;
    height: 220%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.45), transparent);
    transform: rotate(18deg);
    animation: navidadShine 3.6s ease-in-out infinite;
}

@keyframes navidadShine {
    0% { left: -40%; }
    60%, 100% { left: 130%; }
}

.pick-link-navidad:hover,
.pick-link-navidad.active {
    background: linear-gradient(120deg, var(--gold-color), #E8C75A);
    color: var(--charcoal-color);
    box-shadow: 0 12px 30px rgba(201, 162, 39, 0.45);
}

.pick-link-navidad:hover i,
.pick-link-navidad.active i {
    color: var(--red-color);
    transform: rotate(-12deg) scale(1.15);
}

/* Decorated Christmas tree with presents beside the countdown */
.navidad-tree-scene {
    position: relative;
    width: 9rem;
    height: 10rem;
    flex: none;
}

.navidad-tree-star {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.5rem;
    height: 1.5rem;
    transform: translateX(-50%);
    background: radial-gradient(circle at 30% 30%, #FFF3C4, #C9A227 72%);
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    filter: drop-shadow(0 0 10px rgba(201, 162, 39, 0.9));
    animation: navidadStarPulse 2.4s ease-in-out infinite;
    z-index: 5;
}

@keyframes navidadStarPulse {
    0%, 100% { transform: translateX(-50%) scale(1) rotate(-4deg); }
    50% { transform: translateX(-50%) scale(1.16) rotate(4deg); }
}

.navidad-tree-layer {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(160deg, #2E7D5B 0%, #17624A 55%, #0F3D2E 100%);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.42));
    z-index: 2;
}

.navidad-tree-layer-1 {
    width: 4rem;
    height: 3rem;
    top: 1.4rem;
}

.navidad-tree-layer-2 {
    width: 5.6rem;
    height: 3.4rem;
    top: 3.4rem;
}

.navidad-tree-layer-3 {
    width: 7.2rem;
    height: 3.8rem;
    top: 5.6rem;
}

.navidad-tree-trunk {
    position: absolute;
    bottom: 0.7rem;
    left: 50%;
    width: 0.7rem;
    height: 1.1rem;
    transform: translateX(-50%);
    background: linear-gradient(180deg, #6B4A2A, #3B2314);
    border-radius: 0.15rem;
    z-index: 1;
}

.navidad-tree-orn {
    position: absolute;
    width: 0.44rem;
    height: 0.44rem;
    border-radius: 999px;
    box-shadow: 0 0 8px currentColor;
    z-index: 4;
    animation: navidadOrnGlow 2.6s ease-in-out infinite;
}

.navidad-tree-orn:nth-of-type(2n) {
    animation-delay: 0.8s;
}

.navidad-tree-orn:nth-of-type(3n) {
    animation-delay: 1.4s;
}

@keyframes navidadOrnGlow {
    0%, 100% { opacity: 0.65; transform: scale(0.9); }
    50% { opacity: 1; transform: scale(1.15); }
}

.navidad-gift {
    position: absolute;
    bottom: 0;
    border-radius: 0.2rem;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.42);
    z-index: 4;
}

.navidad-gift::before,
.navidad-gift::after {
    content: "";
    position: absolute;
    background: var(--gold-color);
}

.navidad-gift::before {
    top: 0;
    bottom: 0;
    left: 50%;
    width: 0.22rem;
    transform: translateX(-50%);
}

.navidad-gift::after {
    left: 0;
    right: 0;
    top: 42%;
    height: 0.22rem;
}

.navidad-gift-1 {
    left: 0.3rem;
    width: 1.6rem;
    height: 1.4rem;
    background: linear-gradient(150deg, #C9383F, #8C1620);
}

.navidad-gift-2 {
    left: 3.3rem;
    width: 2rem;
    height: 1.8rem;
    background: linear-gradient(150deg, #2E7D5B, #14503A);
}

.navidad-gift-3 {
    right: 0.3rem;
    width: 1.5rem;
    height: 1.3rem;
    background: linear-gradient(150deg, #C9A227, #8C6D12);
}

.navidad-cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    overflow: hidden;
    border: 2px solid var(--gold-color);
    background: linear-gradient(120deg, var(--red-color) 0%, #8C1A10 44%, var(--gold-color) 100%);
    color: var(--cream-color);
    box-shadow: 0 0 0 1px var(--gold-soft), 0 18px 50px rgba(201, 162, 39, 0.55);
    animation: navidadCtaPulse 2.4s ease-in-out infinite;
}

.navidad-cta i {
    color: var(--gold-color);
    font-size: 1.05rem;
    transform-origin: top center;
    filter: drop-shadow(0 0 6px rgba(201, 162, 39, 0.9));
    animation: navidadBellSwing 1.8s ease-in-out infinite;
}

.navidad-cta::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -35%;
    width: 40%;
    height: 220%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);
    transform: rotate(18deg);
    animation: navidadCtaShine 2.8s ease-in-out infinite;
    pointer-events: none;
}

@keyframes navidadCtaPulse {
    0%, 100% {
        box-shadow: 0 0 0 1px var(--gold-soft), 0 18px 50px rgba(201, 162, 39, 0.45);
        transform: translateY(0);
    }
    50% {
        box-shadow: 0 0 0 3px var(--gold-color), 0 24px 66px rgba(201, 162, 39, 0.85);
        transform: translateY(-2px);
    }
}

@keyframes navidadBellSwing {
    0%, 100% { transform: rotate(-14deg); }
    50% { transform: rotate(14deg); }
}

@keyframes navidadCtaShine {
    0% { left: -40%; }
    60%, 100% { left: 135%; }
}

.navidad-cta:hover,
.navidad-cta:focus-visible {
    background: linear-gradient(120deg, var(--gold-color), #E8C75A);
    color: var(--charcoal-color);
    animation: none;
    transform: translateY(-2px);
    box-shadow: 0 24px 70px rgba(201, 162, 39, 0.9);
}

.navidad-cta:hover i,
.navidad-cta:focus-visible i {
    color: var(--red-color);
    animation: none;
    transform: scale(1.2) rotate(-8deg);
}

.navidad-whatsapp {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    overflow: hidden;
    border: 2px solid #4ade80;
    background: linear-gradient(120deg, #0b2e18 0%, #128C7E 30%, #25D366 68%, #0b2e18 100%);
    color: #ffffff;
    box-shadow: 0 0 0 1px rgba(37, 211, 102, 0.45), 0 18px 50px rgba(37, 211, 102, 0.5);
    animation: navidadWhatsPulse 2.4s ease-in-out infinite;
}

.navidad-whatsapp i {
    color: #EAF3EA;
    font-size: 1.25rem;
    filter: drop-shadow(0 0 6px rgba(37, 211, 102, 0.9));
    animation: navidadWhatsIcon 1.6s ease-in-out infinite;
}

.navidad-whatsapp::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -35%;
    width: 40%;
    height: 220%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);
    transform: rotate(18deg);
    animation: navidadWhatsShine 2.8s ease-in-out infinite;
    pointer-events: none;
}

@keyframes navidadWhatsPulse {
    0%, 100% {
        box-shadow: 0 0 0 1px rgba(37, 211, 102, 0.4), 0 18px 50px rgba(37, 211, 102, 0.4);
        transform: translateY(0);
    }
    50% {
        box-shadow: 0 0 0 3px #25D366, 0 24px 66px rgba(37, 211, 102, 0.8);
        transform: translateY(-2px);
    }
}

@keyframes navidadWhatsIcon {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-3px) scale(1.18); }
}

@keyframes navidadWhatsShine {
    0% { left: -40%; }
    60%, 100% { left: 135%; }
}

.navidad-whatsapp:hover,
.navidad-whatsapp:focus-visible {
    background: linear-gradient(120deg, #25D366, #4ade80);
    color: #0b2e18;
    animation: none;
    transform: translateY(-2px);
    box-shadow: 0 24px 70px rgba(37, 211, 102, 0.9);
}

.navidad-whatsapp:hover i,
.navidad-whatsapp:focus-visible i {
    color: #0b2e18;
    animation: none;
    transform: scale(1.25) rotate(-8deg);
}

@media (prefers-reduced-motion: reduce) {
    .navidad-cta,
    .navidad-cta i,
    .navidad-cta::after,
    .navidad-whatsapp,
    .navidad-whatsapp i,
    .navidad-whatsapp::after,
    .navidad-snow,
    .navidad-light,
    .navidad-ornament,
    .navidad-float,
    .navidad-tree-star,
    .navidad-tree-orn,
    .pick-link-navidad i,
    .pick-link-navidad::after,
    .navidad-gallery-featured,
    .navidad-gallery-spark,
    .navidad-gallery-glow {
        animation: none;
    }
}

/* Featured gallery card in the Christmas "Lo que llevamos a tu mesa" grid */
.navidad-gallery-featured {
    animation: navidadGalleryGlowPulse 3s ease-in-out infinite;
}

@keyframes navidadGalleryGlowPulse {
    0%, 100% {
        box-shadow: 0 22px 60px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(201, 162, 39, 0.35);
    }
    50% {
        box-shadow: 0 26px 72px rgba(201, 162, 39, 0.68), 0 0 28px rgba(201, 162, 39, 0.6);
    }
}

.navidad-gallery-spark {
    position: absolute;
    top: -60%;
    left: -35%;
    width: 40%;
    height: 220%;
    z-index: 3;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
    transform: rotate(18deg);
    animation: navidadGallerySpark 3.6s ease-in-out infinite;
    pointer-events: none;
}

@keyframes navidadGallerySpark {
    0% { left: -40%; }
    60%, 100% { left: 135%; }
}

.navidad-gallery-glow {
    background:
        radial-gradient(circle at 80% 14%, rgba(201, 162, 39, 0.5), transparent 60%),
        radial-gradient(circle at 16% 24%, rgba(179, 32, 42, 0.42), transparent 62%);
    animation: navidadGalleryGlow 3s ease-in-out infinite;
    pointer-events: none;
}

@keyframes navidadGalleryGlow {
    0%, 100% { opacity: 0.55; }
    50% { opacity: 1; }
}

/* Featured red gallery card in the Christmas "Lo que llevamos a tu mesa" grid */
.navidad-gallery-red {
    animation: navidadGalleryRedPulse 3s ease-in-out infinite;
}

@keyframes navidadGalleryRedPulse {
    0%, 100% {
        box-shadow: 0 22px 60px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(179, 32, 42, 0.5);
    }
    50% {
        box-shadow: 0 26px 72px rgba(179, 32, 42, 0.62), 0 0 30px rgba(179, 32, 42, 0.7);
    }
}

.navidad-gallery-red-spark {
    position: absolute;
    top: -60%;
    left: -35%;
    width: 40%;
    height: 220%;
    z-index: 3;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
    transform: rotate(18deg);
    animation: navidadGalleryRedSpark 3.4s ease-in-out infinite;
    pointer-events: none;
}

@keyframes navidadGalleryRedSpark {
    0% { left: -40%; }
    60%, 100% { left: 135%; }
}

.navidad-gallery-red-glow {
    background:
        radial-gradient(circle at 18% 16%, rgba(179, 32, 42, 0.55), transparent 62%),
        radial-gradient(circle at 84% 26%, rgba(201, 162, 39, 0.4), transparent 60%);
    animation: navidadGalleryRedGlow 3s ease-in-out infinite;
    pointer-events: none;
}

@keyframes navidadGalleryRedGlow {
    0%, 100% { opacity: 0.55; }
    50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .navidad-gallery-red,
    .navidad-gallery-red-spark,
    .navidad-gallery-red-glow {
        animation: none;
    }
}