/* Seasonal ribbon (site/seasonal.js). One slim bar under the menu; animations stay inside it. */
.ucb-season{position:relative;overflow:hidden;color:#fff;background:#013e6b;font-family:inherit;line-height:1.35;z-index:5}
.ucb-season__in{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:10px 12px 10px 16px;display:flex;align-items:center;gap:10px}
.ucb-season__icon{font-size:24px;flex:0 0 auto;line-height:1}
.ucb-season__txt{flex:1 1 auto;min-width:0;font-size:14.5px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.ucb-season__title{font-weight:800;font-size:15.5px}
.ucb-season__cta{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:#f4c632;color:#091e3a;font-weight:800;font-size:14.5px;text-decoration:none;white-space:nowrap}
.ucb-season__cta:focus-visible,.ucb-season__close:focus-visible{outline:3px solid #fff;outline-offset:2px}
.ucb-season__close{flex:0 0 auto;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:26px;line-height:1;cursor:pointer;opacity:.85}
.ucb-season__close:hover{opacity:1;background:rgba(255,255,255,.12)}
.ucb-season__plate{flex:0 0 auto;font:900 15px/1 "Arial Black",Arial,sans-serif;letter-spacing:1px;color:#111;background:#f7d117;border:2px solid #111;border-radius:5px;padding:5px 7px}
@media (max-width:640px){
  .ucb-season__in{flex-wrap:wrap;padding:10px 50px 10px 14px;gap:6px 10px}
  .ucb-season__txt{flex-basis:calc(100% - 80px);font-size:13.5px}
  .ucb-season__more{display:none}
  .ucb-season__close{position:absolute;top:4px;right:2px}
  .ucb-season__title{display:block;font-size:15px}
  .ucb-season__cta{order:5;margin-left:34px;min-height:40px;font-size:14px}
}
/* themes: every colour pair below passes 4.5:1 for the text on it */
.ucb-season--christmas{background:linear-gradient(90deg,#8e1b17,#b3261e 55%,#1d6b3a)}
.ucb-season--newyear{background:linear-gradient(90deg,#071b33,#013e6b)}
.ucb-season--newyear .ucb-season__title{color:#f4c632}
.ucb-season--january{background:linear-gradient(90deg,#0b4f7d,#1b6fa3)}
.ucb-season--valentines{background:linear-gradient(90deg,#9d1747,#c2185b)}
.ucb-season--plate{background:linear-gradient(90deg,#013e6b,#025591)}
.ucb-season--easter{background:linear-gradient(90deg,#2f6b1f,#3f7f2a)}
.ucb-season--summer{background:linear-gradient(90deg,#035f8c,#0369a1)}
.ucb-season--halloween{background:linear-gradient(90deg,#131c2b,#2a1b3d)}
.ucb-season--halloween .ucb-season__title{color:#ffb347}
.ucb-season--bonfire{background:linear-gradient(90deg,#0b1830,#22163d)}
.ucb-season--bonfire .ucb-season__title{color:#ffd166}
.ucb-season--blackfriday{background:#0b0b0b}
.ucb-season--blackfriday .ucb-season__title{color:#f4c632}
/* effects: CSS only, behind the text, never under a finger */
.ucb-season__fx{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.ucb-season__p{position:absolute;top:-12px;display:block;will-change:transform;animation:ucbFall 6s linear infinite}
.ucb-season__fx--snow .ucb-season__p,.ucb-season__fx--flurry .ucb-season__p{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.6)}
.ucb-season__fx--flurry .ucb-season__p{opacity:.6}
.ucb-season__fx--hearts .ucb-season__p{top:auto;bottom:-14px;color:rgba(255,255,255,.55);font-size:13px;animation-name:ucbRise}
.ucb-season__fx--spooky .ucb-season__p{top:auto;bottom:-18px;font-size:15px;opacity:.55;animation-name:ucbRise}
.ucb-season__fx--eggs .ucb-season__p{top:auto;bottom:-18px;font-size:14px;opacity:.6;animation-name:ucbRise}
.ucb-season__fx--fireworks .ucb-season__p{top:20%;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#fff 0,#ffd166 40%,rgba(255,209,102,0) 70%);animation-name:ucbBurst}
.ucb-season__fx--fireworks .ucb-season__p:nth-child(even){top:55%;background:radial-gradient(circle,#fff 0,#7dd3fc 40%,rgba(125,211,252,0) 70%)}
.ucb-season__fx--sun .ucb-season__p{top:-60px;left:auto!important;right:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,214,102,.45),rgba(255,214,102,0) 65%);animation:ucbGlow 5s ease-in-out infinite}
@keyframes ucbFall{from{transform:translateY(0)}to{transform:translateY(120px)}}
@keyframes ucbRise{from{transform:translateY(0);opacity:0}15%{opacity:.6}to{transform:translateY(-120px);opacity:0}}
@keyframes ucbBurst{0%{transform:scale(.2);opacity:0}20%{opacity:1}60%{transform:scale(6);opacity:.0}100%{transform:scale(6);opacity:0}}
@keyframes ucbGlow{0%,100%{opacity:.6}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.ucb-season__fx{display:none}}
@media print{.ucb-season{display:none}}
/* homepage: the season's short line sits in the existing heading slot above "Your car sold." (same size, nothing moves) */
.ucb-season-eb{position:relative;color:transparent!important}
.ucb-season-eb>*:not(.ucb-season-eb__over){visibility:hidden}
.ucb-season-eb__over{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;overflow:hidden;color:var(--Y3,#f4c632)}
.ucb-season-eb__over .eb-line{visibility:visible}
.ucb-season-eb__icon{font-size:14px;letter-spacing:0;line-height:1}
.ucb-season-eb__t{overflow:hidden;text-overflow:ellipsis}
/* homepage: the effect falls behind everything in the hero and never takes a tap */
.ucb-season-herofx{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ucb-season-herofx .ucb-season__p{animation-name:ucbFallHero}
.ucb-season-herofx.ucb-season__fx--snow .ucb-season__p,.ucb-season-herofx.ucb-season__fx--flurry .ucb-season__p{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.7)}
.ucb-season-herofx.ucb-season__fx--hearts .ucb-season__p,.ucb-season-herofx.ucb-season__fx--spooky .ucb-season__p,.ucb-season-herofx.ucb-season__fx--eggs .ucb-season__p{top:-24px;bottom:auto;animation-name:ucbFallHero;opacity:.5}
.ucb-season-herofx.ucb-season__fx--fireworks .ucb-season__p{animation-name:ucbBurst;top:12%}
.ucb-season-herofx.ucb-season__fx--fireworks .ucb-season__p:nth-child(3n){top:30%}
.ucb-season-herofx.ucb-season__fx--fireworks .ucb-season__p:nth-child(3n+1){top:6%}
.ucb-season-herofx.ucb-season__fx--sun .ucb-season__p{animation-name:ucbGlow;top:-80px;right:-60px;width:260px;height:260px}
@keyframes ucbFallHero{from{transform:translateY(-20px)}to{transform:translateY(110vh)}}
/* homepage scene: the existing hero sky changes with the season (the day/night switch still works) */
.lx-hero[data-season="christmas"][data-sky="day"]{background:linear-gradient(180deg,#0a3d6b 0%,#083761 55%,var(--B1) 100%)}
.lx-hero[data-season="newyear"] .lx-nightsky,.lx-hero[data-season="bonfire"] .lx-nightsky{opacity:.75}
.lx-hero[data-season="newyear"][data-sky="day"],.lx-hero[data-season="bonfire"][data-sky="day"]{background:linear-gradient(180deg,#061f3c 0%,#0a2b52 60%,var(--B1) 100%)}
.lx-hero[data-season="halloween"][data-sky="day"]{background:linear-gradient(180deg,#2a1b3d 0%,#3b2453 45%,#1b2f55 100%)}
.lx-hero[data-season="halloween"] .orb1{background:radial-gradient(circle,rgba(255,138,0,.38) 0%,transparent 62%)}
.lx-hero[data-season="valentines"] .orb1{background:radial-gradient(circle,rgba(233,69,107,.42) 0%,transparent 62%)}
.lx-hero[data-season="summer"] .orb1{background:radial-gradient(circle,rgba(255,196,64,.45) 0%,transparent 62%)}
.lx-hero[data-season="january"][data-sky="day"]{background:linear-gradient(180deg,#0b4f7d 0%,#0a4472 55%,var(--B1) 100%)}
.lx-hero[data-season="easter"] .orb1{background:radial-gradient(circle,rgba(132,204,22,.35) 0%,transparent 62%)}
/* Christmas: fairy lights strung along the very top of the scene, above the heading */
.ucb-season-roof{position:absolute;left:0;right:0;top:0;height:22px;pointer-events:none;z-index:1}
.ucb-season-roof__lights{position:absolute;left:-2%;right:-2%;top:-10px;height:22px;border-bottom:2px solid rgba(10,20,35,.55);border-radius:0 0 50% 50%/0 0 100% 100%}
.ucb-season-roof__bulb{position:absolute;bottom:-9px;width:7px;height:10px;margin-left:-3px;border-radius:50% 50% 45% 45%;background:#ffd166;box-shadow:0 0 8px 2px rgba(255,209,102,.7);animation:ucbTwinkle 1.4s ease-in-out infinite}
.ucb-season-roof__bulb:nth-child(4n+1){background:#ff5a5f;box-shadow:0 0 8px 2px rgba(255,90,95,.7)}
.ucb-season-roof__bulb:nth-child(4n+2){background:#5ee07a;box-shadow:0 0 8px 2px rgba(94,224,122,.7)}
.ucb-season-roof__bulb:nth-child(4n+3){background:#60a5fa;box-shadow:0 0 8px 2px rgba(96,165,250,.7)}
@keyframes ucbTwinkle{0%,100%{opacity:1}50%{opacity:.45}}
/* settling: effects fade away once the customer starts on the form; the lights stay on but stop twinkling */
.ucb-season-herofx{transition:opacity 1.6s ease}
.ucb-season-herofx.is-settled{opacity:0}
.ucb-season-roof.is-settled .ucb-season-roof__bulb{animation:none}
@media (prefers-reduced-motion:reduce){.ucb-season-roof__bulb{animation:none}}
