/*  V1043 — recurso exclusivo do tema christmas; carregado somente quando este tema está ativo.  */
body.vjs-theme-seasonal {
    --vjs-seasonal-surface: rgba(255,255,255,.94);
    --vjs-seasonal-surface-strong: #fff;
    --vjs-seasonal-ink: #172033;
    --vjs-seasonal-line: rgba(var(--vjs-primary-rgb),.22);
    position: relative;
    overflow-x: hidden;
    background: var(--vjs-seasonal-page-bg, #f7f8fb) !important;
}
body.vjs-theme-seasonal .site-shell {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    background: transparent !important;
}
body.vjs-theme-seasonal .page-space,
body.vjs-theme-seasonal .vjs-content-shell {
    background: transparent !important;
}
body.vjs-theme-seasonal :where(.home-dynamic-card,.home-category-card,.home-product-row,.vjs-catalog-service-card,.detail-card,.dashboard-card,.panel-card,.account-card,.finance-card,.support-card,.vjs-cms-managed-content-card) {
    border-color: var(--vjs-seasonal-line) !important;
    background: var(--vjs-seasonal-surface) !important;
    box-shadow: 0 18px 44px rgba(var(--vjs-primary-dark-rgb),.10), inset 0 1px 0 rgba(255,255,255,.82) !important;
}
body.vjs-theme-seasonal :where(.pill-btn,.primary-btn,.btn-primary,.vjs-catalog-submit-button,.guest-access-btn) {
    border-color: rgba(var(--vjs-seasonal-accent-rgb),.42) !important;
    background: linear-gradient(135deg, var(--brand), var(--vjs-seasonal-secondary)) !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(var(--vjs-primary-rgb),.22) !important;
}
body.vjs-theme-seasonal :where(.utility-bar,.topbar) {
    border-color: rgba(var(--vjs-seasonal-accent-rgb),.24) !important;
}
body.vjs-theme-seasonal .footer {
    position: relative;
    border-top: 2px solid rgba(var(--vjs-seasonal-accent-rgb),.46) !important;
    background: linear-gradient(150deg, var(--vjs-seasonal-header-a), var(--vjs-seasonal-header-b)) !important;
    color: var(--vjs-seasonal-header-ink, #fff) !important;
}
body.vjs-theme-seasonal .footer :where(h1,h2,h3,h4,strong,a,span,p,small) {
    color: inherit;
}
.vjs-seasonal-scene {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    contain: strict;
}
.vjs-seasonal-scene__garland,
.vjs-seasonal-scene__particles,
.vjs-seasonal-scene__fireworks,
.vjs-seasonal-scene__corner {
    position: absolute;
    pointer-events: none;
}
.vjs-seasonal-scene__garland {
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
    height: 42px;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    padding: 0 2vw;
}
.vjs-seasonal-scene__garland > span {
    display: block;
    position: relative;
}
.vjs-seasonal-scene__particles {
    inset: 0;
    z-index: 1;
}
.vjs-seasonal-scene__particles > i {
    position: absolute;
    left: calc(var(--vjs-scene-index) * 4.04%);
    --vjs-seasonal-drift: -22px;
    top: -8vh;
    display: block;
    opacity: .72;
}
.vjs-seasonal-scene__particles > i:nth-child(even) { --vjs-seasonal-drift: 22px; }
.vjs-seasonal-scene__fireworks { inset: 0; display: none; }
.vjs-seasonal-scene__corner { bottom: 18px; width: 92px; height: 92px; opacity: .68; }
.vjs-seasonal-scene__corner.is-left { left: 14px; }
.vjs-seasonal-scene__corner.is-right { right: 14px; transform: scaleX(-1); }
body.vjs-theme-color-christmas {
    --vjs-seasonal-page-bg:
        radial-gradient(circle at 10% 12%, rgba(250,204,21,.10), transparent 23%),
        radial-gradient(circle at 86% 18%, rgba(185,28,28,.10), transparent 25%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.84) 0 18px, rgba(255,247,237,.84) 18px 36px);
    --vjs-seasonal-header-a: #0f3f26;
    --vjs-seasonal-header-b: #7f1d1d;
    --vjs-seasonal-header-ink: #fff;
}
body.vjs-theme-color-christmas :where(.utility-bar,.topbar) {
    background: linear-gradient(90deg,#0f3f26 0%,#14532d 46%,#7f1d1d 100%) !important;
    color: #fff !important;
}
body.vjs-theme-color-christmas .nav-links::after {
    content: "";
    position: absolute;
    left: 8%; right: 8%; bottom: -5px;
    height: 3px;
    z-index: 0;
    pointer-events: none;
    background: repeating-linear-gradient(90deg,#facc15 0 14px,#fff 14px 28px,#dc2626 28px 42px);
}
body.vjs-theme-color-christmas .nav-links > .nav-item {
    z-index: 1;
}
body.vjs-theme-color-christmas :where(.home-dynamic-card,.home-category-card,.vjs-catalog-service-card) {
    border-top: 3px solid #b91c1c !important;
}
body.vjs-theme-color-christmas .vjs-seasonal-scene__garland::before {
    content: ""; position:absolute; left:0; right:0; top:3px; height:17px;
    border-bottom: 2px solid rgba(20,83,45,.72); border-radius: 50% !important;
}
body.vjs-theme-color-christmas .vjs-seasonal-scene__garland > span {
    width: 11px; height: 17px; margin-top: 15px;
    border-radius: 55% 55% 48% 48% !important;
    background: #ef4444;
    box-shadow: 0 0 13px currentColor;
    color: #ef4444;
    animation: vjsChristmasLights 1.8s ease-in-out infinite alternate;
    animation-delay: calc(var(--vjs-scene-index) * -120ms);
}
body.vjs-theme-color-christmas .vjs-seasonal-scene__garland > span:nth-child(3n+1){background:#facc15;color:#facc15}
body.vjs-theme-color-christmas .vjs-seasonal-scene__garland > span:nth-child(3n+2){background:#22c55e;color:#22c55e}
body.vjs-theme-color-christmas .vjs-seasonal-scene__particles > i {
    width: 7px; height: 7px; border-radius: 50% !important; background:#fff;
    filter: drop-shadow(0 0 4px rgba(255,255,255,.9));
    animation: vjsChristmasSnow calc(7.5s + var(--vjs-scene-index) * .12s) linear infinite;
    animation-delay: calc(var(--vjs-scene-index) * -520ms);
}
body.vjs-theme-color-christmas .vjs-seasonal-scene__particles > i:nth-child(4n){width:4px;height:4px;opacity:.55}
body.vjs-theme-color-christmas .vjs-seasonal-scene__corner {
    background: linear-gradient(145deg,transparent 38%,#166534 39% 53%,transparent 54%),
                radial-gradient(circle at 62% 42%,#dc2626 0 8%,transparent 9%),
                radial-gradient(circle at 48% 52%,#dc2626 0 7%,transparent 8%);
    animation: vjsChristmasCorner 4s ease-in-out infinite;
}
@keyframes vjsChristmasLights { from{opacity:.45;transform:translateY(0) scale(.92)} to{opacity:1;transform:translateY(3px) scale(1.08)} }
@keyframes vjsChristmasSnow { to{transform:translate3d(var(--vjs-seasonal-drift),112vh,0) rotate(360deg)} }
@keyframes vjsChristmasCorner { 50%{transform:translateY(-7px) rotate(-3deg)} }
.site-shell .vjs-slide-submit__handle-icon,
.site-shell .vjs-slide-destination { display:none; }
body.vjs-theme-color-christmas .site-shell .vjs-slide-submit__handle-icon.is-christmas { display:block; }
body.vjs-theme-color-christmas .site-shell .vjs-slide-destination.is-christmas { display:grid; }
body.vjs-theme-seasonal .site-shell .vjs-slide-submit__track { min-height:70px; padding-inline:78px 94px; border-width:2px; }
body.vjs-theme-color-christmas .site-shell .order-page-shell > .detail-hero-card:not(.is-physical-product) + .detail-workspace .vjs-slide-submit__track { min-height:70px; }
body.vjs-theme-seasonal .site-shell .vjs-slide-submit__handle { width:56px;height:56px;padding:0;overflow:visible!important; }
body.vjs-theme-color-christmas .site-shell .order-page-shell > .detail-hero-card:not(.is-physical-product) + .detail-workspace .vjs-slide-submit__handle { width:56px;height:56px; }
body.vjs-theme-seasonal .site-shell .vjs-slide-submit__handle-icon { width:50px;height:50px;overflow:visible; }
body.vjs-theme-seasonal .site-shell .vjs-slide-submit__destination { position:absolute;right:8px;top:50%;z-index:4;width:72px;height:58px;transform:translateY(-50%);place-items:center;pointer-events:none; }
body.vjs-theme-color-christmas .site-shell .vjs-slide-submit__destination { right:0; }
body.vjs-theme-seasonal .site-shell .vjs-slide-destination { width:100%;height:100%;place-items:center; }
body.vjs-theme-seasonal .site-shell .vjs-slide-destination svg { width:64px;height:56px;overflow:visible; }
body.vjs-theme-seasonal .site-shell .vjs-slide-submit__label { z-index:2;max-width:calc(100% - 34px); }
body.vjs-theme-seasonal .site-shell .vjs-slide-submit.is-complete .vjs-slide-submit__destination { animation:vjsSeasonalDestinationSuccess .55s ease-out both; }
@keyframes vjsSeasonalDestinationSuccess{50%{transform:translateY(-50%) scale(1.16)}100%{transform:translateY(-50%) scale(1)}}
body.vjs-theme-color-christmas .site-shell .vjs-slide-submit__track { background:repeating-linear-gradient(135deg,#fff 0 16px,#fff7ed 16px 32px);border-color:rgba(185,28,28,.46); }
body.vjs-theme-color-christmas .site-shell .vjs-slide-submit__fill { background:linear-gradient(90deg,#166534,#b91c1c 68%,#facc15); }
body.vjs-theme-color-christmas .site-shell .vjs-slide-submit__handle { border:0;border-radius:0;background:transparent;background-color:transparent;background-image:none;box-shadow:none;appearance:none;-webkit-appearance:none;animation:vjsSlideGift 1.8s ease-in-out infinite; }
body.vjs-theme-color-christmas .site-shell .vjs-slide-submit__handle:focus-visible { outline:2px solid #b91c1c;outline-offset:2px; }
@keyframes vjsSlideGift{50%{margin-top:-3px;transform:translate3d(0,-50%,0) rotate(-4deg)}}
body.vjs-theme-color-christmas .site-shell .vjs-slide-submit.is-seasonal-drop .vjs-slide-submit__destination { animation:none; }
body.vjs-theme-color-christmas .site-shell .vjs-slide-submit.is-seasonal-drop .vjs-slide-submit__handle { transition:transform .42s cubic-bezier(.2,.8,.2,1); }
body.vjs-theme-color-christmas .site-shell .vjs-slide-submit.is-seasonal-drop .vjs-slide-submit__handle-icon.is-christmas { animation:none; }
body.vjs-theme-color-christmas .site-shell .vjs-slide-submit.is-seasonal-drop .vjs-slide-destination__tree { animation:vjsChristmasTreeDrop .68s ease-in-out both;transform-origin:50% 100%; }
@keyframes vjsChristmasTreeDrop { 0%,100%{transform:translateY(-8px) scale(.72) rotate(0)} 22%{transform:translateY(-8px) scale(.72) rotate(8deg)} 48%{transform:translateY(-8px) scale(.72) rotate(-7deg)} 72%{transform:translateY(-8px) scale(.72) rotate(4deg)} }

@media (max-width: 640px) {
    .vjs-seasonal-scene__corner { display:none; }
    .vjs-seasonal-scene__garland { height:30px; }
    body.vjs-theme-seasonal .site-shell .vjs-slide-submit__track { min-height:62px;padding-inline:66px 76px; }
    body.vjs-theme-color-christmas .site-shell .order-page-shell > .detail-hero-card:not(.is-physical-product) + .detail-workspace .vjs-slide-submit__track { min-height:66px; }
    body.vjs-theme-seasonal .site-shell .vjs-slide-submit__handle { width:48px;height:48px; }
    body.vjs-theme-seasonal .site-shell .vjs-slide-submit__handle-icon { width:44px;height:44px; }
    body.vjs-theme-seasonal .site-shell .vjs-slide-submit__destination { width:60px;height:50px;right:5px; }
    body.vjs-theme-color-christmas .site-shell .order-page-shell > .detail-hero-card:not(.is-physical-product) + .detail-workspace .vjs-slide-submit__handle { width:48px;height:48px; }
    body.vjs-theme-color-christmas .site-shell .vjs-slide-submit__destination { right:0; }
    body.vjs-theme-seasonal .site-shell .vjs-slide-destination svg { width:55px;height:48px; }
    body.vjs-theme-seasonal .site-shell .vjs-slide-submit__label { font-size:11px; }
}
@media (prefers-reduced-motion: reduce) {
    body.vjs-theme-seasonal *,
body.vjs-theme-seasonal *::before,
body.vjs-theme-seasonal *::after { animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important; }
}
@media (prefers-reduced-motion: reduce) {
    body.vjs-theme-color-christmas .site-shell .vjs-slide-submit.is-seasonal-drop .vjs-slide-destination__tree { animation:none;transform:translateY(-8px) scale(.72); }
    body.vjs-theme-color-christmas .site-shell .vjs-slide-submit.is-seasonal-drop .vjs-slide-submit__handle { transition:none; }
}
body.vjs-theme-seasonal .site-shell .vjs-slide-submit:is(.is-dragging,.is-complete,.is-loading,.is-disabled) .vjs-slide-submit__handle {
    animation: none !important;
}
body.vjs-theme-seasonal .store-home {
    position: relative;
    isolation: isolate;
    background: transparent !important;
}
body.vjs-theme-seasonal :where(.home-dynamic-card,.home-category-card,.official-clean,.home-categories,.home-dynamic-cms-row,.vjs-cms-managed-content-card) {
    position: relative;
    z-index: 1;
}
body.vjs-theme-seasonal :where(.home-dynamic-card,.home-category-card,.official-clean,.vjs-cms-managed-content-card) {
    border-color: var(--vjs-seasonal-line) !important;
    box-shadow: 0 18px 44px rgba(var(--vjs-primary-dark-rgb),.12), inset 0 1px 0 rgba(255,255,255,.82) !important;
}
body.vjs-theme-color-christmas :where(.home-dynamic-card,.home-category-card,.official-clean) {
    background: linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,247,237,.95)) !important;
}

.vjs-seasonal-signature {
    position: absolute;
    display: block;
    pointer-events: none;
}
body.vjs-theme-color-christmas {
    --vjs-seasonal-surface: rgba(255,252,246,.97);
    --vjs-seasonal-line: rgba(153,27,27,.34);
}
body.vjs-theme-color-christmas .header-stack {
    box-shadow: 0 8px 26px rgba(20,83,45,.18);
}
body.vjs-theme-color-christmas .topbar {
    background-image:
        linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,0)),
        repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 8px,transparent 8px 16px),
        linear-gradient(90deg,#0f3f26,#14532d 48%,#7f1d1d) !important;
}
body.vjs-theme-color-christmas :where(.home-dynamic-card,.home-category-card,.home-product-row,.official-clean,.vjs-catalog-service-card,.detail-card,.dashboard-card,.panel-card,.account-card,.finance-card,.support-card,.vjs-cms-managed-content-card) {
    border: 1px solid rgba(153,27,27,.28) !important;
    border-top: 5px solid #b91c1c !important;
    border-radius: 12px !important;
    background:
        linear-gradient(90deg,transparent 0 48%,rgba(250,204,21,.08) 48% 52%,transparent 52%),
        linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,247,237,.96)) !important;
    box-shadow: 0 16px 34px rgba(127,29,29,.12),inset 0 1px 0 #fff !important;
}
body.vjs-theme-color-christmas :where(.pill-btn,.primary-btn,.btn-primary,.vjs-catalog-submit-button,.guest-access-btn) {
    border: 1px solid rgba(250,204,21,.72) !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg,#166534 0 48%,#b91c1c 49% 100%) !important;
    box-shadow: 0 10px 20px rgba(127,29,29,.22),inset 0 1px 0 rgba(255,255,255,.22) !important;
}
body.vjs-theme-color-christmas .vjs-full-home-banner__frame {
    border: 4px solid #fff7ed;
    outline: 2px solid rgba(185,28,28,.45);
    box-shadow: 0 18px 40px rgba(20,83,45,.2);
}
body.vjs-theme-color-christmas .vjs-assistant-root .vjs-assistant-fab {
    border: 3px solid #facc15 !important;
    border-radius: 50% !important;
    background: radial-gradient(circle at 35% 28%,#ef4444,#b91c1c 62%,#7f1d1d) !important;
    box-shadow: 0 12px 24px rgba(127,29,29,.35),inset 0 0 0 5px rgba(255,255,255,.12) !important;
}
body.vjs-theme-color-christmas .vjs-assistant-root .vjs-assistant-fab::before {
    content:"";
    position:absolute;
    top:-9px;
    left:50%;
    width:22px;
    height:12px;
    transform:translateX(-50%);
    border-radius:5px 5px 2px 2px;
    background:#d4af37;
    box-shadow:inset 0 0 0 2px rgba(92,62,5,.25);
}
body.vjs-theme-color-christmas .vjs-assistant-panel {
    border-top: 5px solid #b91c1c !important;
    box-shadow: 0 24px 70px rgba(20,83,45,.24) !important;
}
.vjs-christmas-star {
    top: 54px;
    left: 50%;
    width: 34px;
    height: 34px;
    transform: translateX(-50%);
    clip-path: polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%);
    background: #facc15;
    filter: drop-shadow(0 0 12px rgba(250,204,21,.8));
    animation: vjsChristmasStarPulse 2.4s ease-in-out infinite;
}
.vjs-christmas-tree {
    bottom: 8px;
    width: 120px;
    height: 150px;
    opacity: .38;
    background:
        linear-gradient(90deg,transparent 45%,#6b3d1d 46% 54%,transparent 55%) bottom/100% 34px no-repeat,
        conic-gradient(from 210deg at 50% 18%,transparent 0 30deg,#14532d 31deg 89deg,transparent 90deg) 50% 0/100% 62px no-repeat,
        conic-gradient(from 210deg at 50% 38%,transparent 0 30deg,#166534 31deg 89deg,transparent 90deg) 50% 34px/100% 78px no-repeat,
        conic-gradient(from 210deg at 50% 62%,transparent 0 30deg,#15803d 31deg 89deg,transparent 90deg) 50% 70px/100% 90px no-repeat;
    filter: drop-shadow(0 8px 8px rgba(20,83,45,.22));
}
.vjs-christmas-tree.is-left { left: 1.5vw; }
.vjs-christmas-tree.is-right { right: 1.5vw; transform: scaleX(-1); }
@keyframes vjsChristmasStarPulse { 50% { transform: translateX(-50%) scale(1.16) rotate(9deg); } }
body.vjs-theme-color-christmas .vjs-assistant-root .vjs-assistant-fab-text {
    font-weight:800;
    letter-spacing:.01em;
}
body.vjs-theme-color-christmas .vjs-assistant-shortcuts button { border-radius:10px !important;border-color:rgba(185,28,28,.24) !important; }

@media (max-width: 760px) {
    .vjs-seasonal-signature { opacity:.2; }
    .vjs-christmas-tree { width:64px;height:76px; }
}

@media (prefers-reduced-motion: reduce) {
    .vjs-seasonal-signature { animation:none !important; }
}
.vjs-seasonal-assistant-mark,
.vjs-seasonal-assistant-icon {
    display: none;
}
body.vjs-theme-seasonal .vjs-assistant-root .vjs-assistant-fab {
    width: 92px !important;
    min-width: 92px !important;
    height: 92px !important;
    min-height: 92px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    clip-path: none !important;
    overflow: visible !important;
    transform: none;
}
body.vjs-theme-seasonal .vjs-assistant-root .vjs-assistant-fab::before,
body.vjs-theme-seasonal .vjs-assistant-root .vjs-assistant-fab::after,
body.vjs-theme-seasonal .vjs-assistant-root .vjs-assistant-fab-icon,
body.vjs-theme-seasonal .vjs-assistant-root .vjs-assistant-fab-text {
    display: none !important;
}
body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-mark {
    --vjs-assistant-arc-color: #fff;
    --vjs-assistant-arc-shadow: rgba(15,23,42,.92);
    position: relative;
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    filter: drop-shadow(0 13px 17px rgba(15,23,42,.28));
    transition: transform .18s ease, filter .18s ease;
}
body.vjs-theme-seasonal .vjs-assistant-root .vjs-assistant-fab:hover .vjs-seasonal-assistant-mark,
body.vjs-theme-seasonal .vjs-assistant-root .vjs-assistant-fab:focus-visible .vjs-seasonal-assistant-mark {
    transform: translateY(-2px) scale(1.04);
    filter: drop-shadow(0 17px 21px rgba(15,23,42,.34));
}
body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-symbol {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 68px;
    height: 68px;
    transform: translate(-50%,-43%);
    display: grid;
    place-items: center;
}
body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-icon {
    width: 66px;
    height: 66px;
    overflow: visible;
    transform-box: fill-box;
    transform-origin: center;
}
body.vjs-theme-color-christmas .vjs-assistant-root .vjs-seasonal-assistant-icon.is-christmas {
    display: block;
}
body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-word {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    color: var(--vjs-assistant-arc-color);
    text-shadow: 0 1px 2px var(--vjs-assistant-arc-shadow),0 0 6px var(--vjs-assistant-arc-shadow);
    pointer-events: none;
}
body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-word > i {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16px;
    margin-left: -8px;
    margin-top: -8px;
    font-style: normal;
    font-size: 11px;
    line-height: 16px;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    text-align: center;
    transform: rotate(var(--vjs-letter-angle)) translateY(-38px) rotate(var(--vjs-letter-upright));
    transform-origin: 8px 8px;
}
body.vjs-theme-color-christmas .vjs-assistant-root .vjs-seasonal-assistant-mark {
    --vjs-assistant-arc-color:#dc2626;
    --vjs-assistant-arc-shadow:rgba(127,29,29,.95);
}
body.vjs-theme-color-christmas .vjs-assistant-root .vjs-seasonal-assistant-icon.is-christmas {
    animation:vjsAssistantChristmasOrnament 2.6s ease-in-out infinite;
}
@keyframes vjsAssistantChristmasOrnament { 0%,
100%{transform:rotate(-4deg)} 50%{transform:rotate(4deg) translateY(-2px)} }
body.vjs-theme-seasonal .site-shell .vjs-slide-submit__handle {
    animation: none !important;
    transform-origin: center !important;
}
body.vjs-theme-seasonal .site-shell .vjs-slide-submit__handle-icon {
    transform-box: fill-box;
    transform-origin: center;
    will-change: transform,filter;
}
body.vjs-theme-color-christmas .site-shell .vjs-slide-submit__handle-icon.is-christmas { animation:vjsSlideChristmasGiftIcon 1.8s ease-in-out infinite; }
@keyframes vjsSlideChristmasGiftIcon { 0%,
100%{transform:rotate(-3deg)} 50%{transform:translateY(-2px) rotate(3deg)} }

@media (max-width:640px) {
    body.vjs-theme-seasonal .vjs-assistant-root .vjs-assistant-fab,
body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-mark {
        width:80px !important;
        min-width:80px !important;
        height:80px !important;
        min-height:80px !important;
    }
    body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-symbol {
        width:60px;
        height:60px;
    }
    body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-icon {
        width:58px;
        height:58px;
    }
    body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-word > i {
        transform:rotate(var(--vjs-letter-angle)) translateY(-33px) rotate(var(--vjs-letter-upright));
    }
}
@media (prefers-reduced-motion:reduce) {
    body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-icon,
body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-fire,
body.vjs-theme-seasonal .vjs-assistant-root .vjs-seasonal-assistant-fire-core,
body.vjs-theme-seasonal .site-shell .vjs-slide-submit__handle-icon,
body.vjs-theme-seasonal .site-shell .vjs-slide-june-fire,
body.vjs-theme-seasonal .site-shell .vjs-slide-june-fire-core {
        animation:none !important;
    }
}
body:not(.vjs-theme-color-christmas) .vjs-christmas-top-lights,
body:not(.vjs-theme-color-christmas) .vjs-christmas-snow {
    display: none !important;
}
.vjs-christmas-top-lights {
    position: relative;
    z-index: 6;
    width: 100%;
    height: 42px;
    overflow: hidden;
    pointer-events: none;
    isolation: isolate;
    background:
        radial-gradient(ellipse at 12% -40%,rgba(255,255,255,.16),transparent 42%),
        radial-gradient(ellipse at 86% -30%,rgba(220,38,38,.18),transparent 38%),
        linear-gradient(90deg,#082d1c 0%,#0f5132 48%,#5f1717 100%);
    border-bottom: 1px solid rgba(250,204,21,.72);
    box-shadow: 0 6px 18px rgba(15,23,42,.24),inset 0 -1px 0 rgba(255,255,255,.08);
}
.vjs-christmas-top-lights::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 8px,transparent 8px 16px);
}
.vjs-christmas-top-lights__cable {
    position: absolute;
    left: -2%;
    right: -2%;
    top: -9px;
    height: 28px;
    border-bottom: 3px solid #111827;
    border-radius: 0 0 50% 50% / 0 0 100% 100%;
    filter: drop-shadow(0 2px 1px rgba(0,0,0,.36));
}
.vjs-christmas-top-lights__cable::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    height: 1px;
    background: rgba(255,255,255,.12);
}
.vjs-christmas-top-lights__row {
    position: absolute;
    inset: 8px 1.4vw 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-around;
    gap: clamp(4px,1vw,14px);
}
.vjs-christmas-top-lights__row > i {
    position: relative;
    display: block;
    flex: 0 0 clamp(9px,1vw,13px);
    width: clamp(9px,1vw,13px);
    height: clamp(14px,1.5vw,19px);
    margin-top: var(--vjs-christmas-light-drop);
    border-radius: 52% 52% 58% 58% / 42% 42% 68% 68%;
    color: #ef4444;
    background:
        radial-gradient(circle at 35% 27%,rgba(255,255,255,.95) 0 8%,rgba(255,255,255,.28) 9% 19%,transparent 20%),
        linear-gradient(155deg,#ff8585 0%,#ef4444 42%,#b91c1c 100%);
    border: 1px solid rgba(255,255,255,.48);
    box-shadow:
        0 0 4px currentColor,
        0 0 11px currentColor,
        0 0 22px currentColor,
        inset 0 -2px 3px rgba(0,0,0,.22);
    transform-origin: 50% -8px;
    animation: vjsChristmasTopLight var(--vjs-christmas-light-duration) ease-in-out infinite alternate;
    animation-delay: var(--vjs-christmas-light-delay);
}
.vjs-christmas-top-lights__row > i::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -7px;
    width: 8px;
    height: 8px;
    transform: translateX(-50%);
    border-radius: 2px 2px 1px 1px;
    background: linear-gradient(90deg,#101827,#374151 48%,#0b1220);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
.vjs-christmas-top-lights__row > i::after {
    content: "";
    position: absolute;
    left: 50%;
    top: -13px;
    width: 2px;
    height: 7px;
    transform: translateX(-50%);
    background: #111827;
}
.vjs-christmas-top-lights__row > i:nth-child(4n+2) {
    color: #facc15;
    background:
        radial-gradient(circle at 35% 27%,#fff 0 8%,rgba(255,255,255,.42) 9% 20%,transparent 21%),
        linear-gradient(155deg,#fff2a5 0%,#facc15 46%,#ca8a04 100%);
}
.vjs-christmas-top-lights__row > i:nth-child(4n+3) {
    color: #22c55e;
    background:
        radial-gradient(circle at 35% 27%,#fff 0 8%,rgba(255,255,255,.34) 9% 20%,transparent 21%),
        linear-gradient(155deg,#86efac 0%,#22c55e 46%,#15803d 100%);
}
.vjs-christmas-top-lights__row > i:nth-child(4n) {
    color: #60a5fa;
    background:
        radial-gradient(circle at 35% 27%,#fff 0 8%,rgba(255,255,255,.36) 9% 20%,transparent 21%),
        linear-gradient(155deg,#bfdbfe 0%,#60a5fa 46%,#2563eb 100%);
}
@keyframes vjsChristmasTopLight {
    0%,
18% { opacity:.36;filter:saturate(.72) brightness(.72);transform:rotate(-1.5deg) scale(.94); }
    42%,
100% { opacity:1;filter:saturate(1.08) brightness(1.14);transform:rotate(1.5deg) scale(1.04); }
}
.vjs-christmas-snow {
    position: fixed;
    inset: 42px 0 0;
    z-index: 4;
    overflow: hidden;
    pointer-events: none;
    contain: layout paint style;
    isolation: isolate;
    perspective: 900px;
    -webkit-mask-image: linear-gradient(to bottom,transparent 0,#000 3%,#000 96%,transparent 100%);
    mask-image: linear-gradient(to bottom,transparent 0,#000 3%,#000 96%,transparent 100%);
}
.vjs-christmas-snow__symbols {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
}
.vjs-christmas-snow > i {
    position: absolute;
    left: var(--vjs-snow-left);
    top: -16vh;
    display: block;
    width: var(--vjs-snow-size);
    height: var(--vjs-snow-size);
    opacity: 0;
    transform: translate3d(0,-16vh,0);
    transform-origin: center;
    will-change: transform,opacity;
    animation: vjsChristmasSnowPath var(--vjs-snow-duration) linear infinite;
    animation-delay: var(--vjs-snow-delay);
}
.vjs-christmas-snow > i > span {
    position: absolute;
    inset: 0;
    display: block;
    color: rgba(255,255,255,.98);
    transform: rotate(0deg) scale(var(--vjs-snow-scale));
    transform-origin: center;
    filter:
        blur(var(--vjs-snow-blur))
        drop-shadow(0 0 2px rgba(255,255,255,.88))
        drop-shadow(0 1px 1px rgba(15,23,42,.24));
    animation: vjsChristmasSnowSpin var(--vjs-snow-rotation-duration) linear infinite;
}
.vjs-christmas-snow > i > span > svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    stroke-width: var(--vjs-snow-stroke);
    opacity: .96;
    transform-origin: center;
    animation: vjsChristmasSnowGlint var(--vjs-snow-glint-duration) ease-in-out infinite alternate;
}
.vjs-christmas-snow > i > span > svg :where(path,circle) {
    vector-effect: non-scaling-stroke;
}
.vjs-christmas-snow > i.is-far {
    z-index: 1;
}
.vjs-christmas-snow > i.is-far > span {
    color: rgba(241,245,249,.86);
    filter:
        blur(var(--vjs-snow-blur))
        drop-shadow(0 0 1px rgba(255,255,255,.58));
}
.vjs-christmas-snow > i.is-far > span > svg {
    opacity: .70;
}
.vjs-christmas-snow > i.is-mid {
    z-index: 2;
}
.vjs-christmas-snow > i.is-near {
    z-index: 3;
}
.vjs-christmas-snow > i.is-near > span {
    color: #fff;
    filter:
        blur(var(--vjs-snow-blur))
        drop-shadow(0 0 3px rgba(255,255,255,.98))
        drop-shadow(0 2px 2px rgba(15,23,42,.30));
}
.vjs-christmas-snow > i.is-near > span > svg {
    opacity: 1;
}
.vjs-christmas-snow > i.is-plate > span > svg {
    opacity: .90;
}
.vjs-christmas-snow > i.is-fern > span > svg {
    stroke-width: calc(var(--vjs-snow-stroke) * .88);
}
@keyframes vjsChristmasSnowPath {
    0% {
        opacity: 0;
        transform: translate3d(0,-16vh,0);
    }
    6% {
        opacity: var(--vjs-snow-opacity);
    }
    18% {
        transform: translate3d(var(--vjs-snow-x1),12vh,0);
    }
    37% {
        transform: translate3d(var(--vjs-snow-x2),36vh,0);
    }
    58% {
        transform: translate3d(var(--vjs-snow-x3),62vh,0);
    }
    79% {
        opacity: var(--vjs-snow-opacity);
        transform: translate3d(var(--vjs-snow-x4),88vh,0);
    }
    100% {
        opacity: 0;
        transform: translate3d(var(--vjs-snow-drift),120vh,0);
    }
}
@keyframes vjsChristmasSnowSpin {
    from { transform: rotate(0deg) scale(var(--vjs-snow-scale)); }
    to { transform: rotate(var(--vjs-snow-spin)) scale(var(--vjs-snow-scale)); }
}
@keyframes vjsChristmasSnowGlint {
    0% {
        opacity: .72;
        filter: brightness(.92);
        transform: rotateX(-8deg) scaleX(.92);
    }
    48% {
        opacity: 1;
        filter: brightness(1.18);
        transform: rotateX(7deg) scaleX(1);
    }
    100% {
        opacity: .82;
        filter: brightness(1.02);
        transform: rotateX(-4deg) scaleX(.95);
    }
}
body.vjs-theme-color-christmas .vjs-seasonal-scene__garland,
body.vjs-theme-color-christmas .vjs-seasonal-scene__particles {
    display: none !important;
}

@media (max-width:640px) {
    .vjs-christmas-top-lights { height:36px; }
    .vjs-christmas-top-lights__row { inset-inline:1vw;gap:3px; }
    .vjs-christmas-top-lights__row > i {
        flex-basis:9px;
        width:9px;
        height:14px;
    }
    .vjs-christmas-top-lights__row > i:nth-child(n+21) { display:none; }
    .vjs-christmas-snow { inset-block-start:36px; }
    .vjs-christmas-snow > i:nth-of-type(n+61) { display:none; }
}

@media (prefers-reduced-motion:reduce) {
    .vjs-christmas-snow { display:none !important; }
    .vjs-christmas-top-lights__row > i { animation:none !important;opacity:.88;filter:none; }
}
body.vjs-theme-color-christmas .vjs-seasonal-scene__corner {
    display: none !important;
    animation: none !important;
    background: none !important;
    transform: none !important;
}
body.vjs-theme-color-christmas .vjs-christmas-tree {
    animation: none !important;
    transform: none !important;
    transform-origin: 50% 100%;
    background: none !important;
    clip-path: none !important;
    opacity: .56;
    filter: drop-shadow(0 8px 9px rgba(20,83,45,.24));
    will-change: auto;
}
body.vjs-theme-color-christmas .vjs-christmas-tree::before,
body.vjs-theme-color-christmas .vjs-christmas-tree::after {
    content: "";
    position: absolute;
    display: block;
    pointer-events: none;
}
body.vjs-theme-color-christmas .vjs-christmas-tree::before {
    left: 0;
    right: 0;
    bottom: 16%;
    height: 84%;
    background:
        radial-gradient(circle at 35% 43%,#dc2626 0 2.7%,transparent 3.5%),
        radial-gradient(circle at 66% 47%,#facc15 0 2.7%,transparent 3.5%),
        radial-gradient(circle at 47% 67%,#ef4444 0 2.7%,transparent 3.5%),
        radial-gradient(circle at 69% 74%,#facc15 0 2.7%,transparent 3.5%),
        linear-gradient(90deg,#0f5132 0%,#15803d 48%,#166534 100%);
    clip-path: polygon(
        50% 0,
        65% 22%,58% 22%,74% 43%,64% 43%,
        88% 69%,62% 69%,62% 100%,38% 100%,38% 69%,12% 69%,
        36% 43%,26% 43%,42% 22%,35% 22%
    );
}
body.vjs-theme-color-christmas .vjs-christmas-tree::after {
    left: 42%;
    bottom: 0;
    width: 16%;
    height: 24%;
    border-radius: 2px 2px 4px 4px;
    background: linear-gradient(90deg,#5a331b,#8b5a2b 50%,#5a331b);
}
body.vjs-theme-color-christmas .vjs-christmas-tree.is-right {
    transform: none !important;
}

/* V1043 — isolamento final do Natal. */
body:not(.vjs-theme-color-christmas) :is(
    .vjs-christmas-top-lights,
    .vjs-christmas-snow,
    .vjs-seasonal-scene--christmas,
    .vjs-christmas-star,
    .vjs-christmas-tree
) {
    display: none !important;
}
body.vjs-theme-color-christmas .vjs-christmas-snow {
    display: block !important;
    visibility: visible !important;
}
body.vjs-theme-color-christmas .vjs-christmas-snow > i {
    animation-name: vjsChristmasSnowPath !important;
    animation-duration: var(--vjs-snow-duration) !important;
    animation-timing-function: linear !important;
    animation-iteration-count: infinite !important;
    animation-delay: var(--vjs-snow-delay) !important;
}
body.vjs-theme-color-christmas .vjs-christmas-snow > i > span {
    animation-name: vjsChristmasSnowSpin !important;
    animation-duration: var(--vjs-snow-rotation-duration) !important;
    animation-timing-function: linear !important;
    animation-iteration-count: infinite !important;
}
body.vjs-theme-color-christmas .vjs-christmas-snow > i > span > svg {
    animation-name: vjsChristmasSnowGlint !important;
    animation-duration: var(--vjs-snow-glint-duration) !important;
    animation-timing-function: ease-in-out !important;
    animation-iteration-count: infinite !important;
    animation-direction: alternate !important;
}
body.vjs-theme-color-christmas .vjs-christmas-top-lights__row > i {
    animation-name: vjsChristmasTopLight !important;
    animation-duration: var(--vjs-christmas-light-duration) !important;
    animation-timing-function: ease-in-out !important;
    animation-iteration-count: infinite !important;
    animation-direction: alternate !important;
    animation-delay: var(--vjs-christmas-light-delay) !important;
}
@media (max-width:640px) {
    body.vjs-theme-color-christmas .vjs-christmas-snow > i:nth-of-type(n+61) {
        display: none !important;
    }
}
@media (prefers-reduced-motion:reduce) {
    body.vjs-theme-color-christmas .vjs-christmas-snow {
        display: block !important;
    }
}
