/* holiday theme pages (core::occasion, includes/occasion.html): on top of the dark stylesheets, loaded only on these pages */
body.occ-ny{background:#070b1f radial-gradient(1200px 500px at 50% -80px,#1c2a6b 0%,rgba(7,11,31,0) 70%) no-repeat!important;}
.occ-ny #bodyContent,.occ-ny .wrap,.occ-ny .content-right{background:transparent!important;}
.occ-ny .top,.occ-ny .darkHeader{background:#0a1030!important;box-shadow:0 1px 0 rgba(240,205,110,.35)!important;}
.occ-ny .cats-mini-desc,.occ-ny .cats-mini-resp{background:linear-gradient(90deg,#10194a,#2a1f5e)!important;border-bottom:1px solid rgba(240,205,110,.35)!important;}
/* compact header after scrolling: the menu block sits inside the 50px bar, with no background of its own */
.occ-ny .darkHeader .cats-mini-desc{background:none!important;border-bottom:none!important;}
.occ-ny .darkHeader .home-boxes-desc a:hover{color:#f0cd6e;}
.occ-ny .home-boxes-resp-activ{border-bottom-color:#f0cd6e!important;}
.occ-ny .search{background:#10183f!important;border-color:rgba(240,205,110,.4)!important;}
.occ-ny .search:hover{border-color:rgba(240,205,110,.8)!important;}
.occ-ny .search-input{background:transparent!important;color:#fff!important;}
.occ-ny .search-btn,.occ-ny .search-btn .lnr{color:#f0cd6e!important;}
.occ-ny .search-box-big{background:#10183f!important;}
.occ-ny .v_fltr{background:linear-gradient(135deg,#ffe08a 0%,#d9a53a 100%)!important;color:#241a00!important;}
.occ-ny .eat{background:#1b2a63!important;color:#f0cd6e!important;box-shadow:inset 0 0 0 1px rgba(240,205,110,.4);}
@media (min-width:801px){.occ-ny .menu ul{background:transparent!important;}}
/* the page is always dark: no switch */
.occ-page .darkmode_switch,.occ-page #mob_darkmode_on,.occ-page #mob_darkmode_off{display:none!important;}

/* hero */
.occ{position:relative;overflow:hidden;border-radius:16px;margin:0 0 18px;padding:30px 32px;min-height:190px;color:#fff;background:linear-gradient(120deg,#0b1233 0%,#16205a 55%,#33205f 100%);border:1px solid rgba(240,205,110,.45);box-shadow:0 10px 40px rgba(0,0,0,.5),0 0 40px rgba(240,205,110,.08);}
.occ:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 8% 20%,#fff,transparent),radial-gradient(1px 1px at 22% 72%,#ffe9a8,transparent),radial-gradient(1.5px 1.5px at 38% 16%,#fff,transparent),radial-gradient(1px 1px at 52% 60%,#fff,transparent),radial-gradient(1.5px 1.5px at 66% 86%,#ffe9a8,transparent),radial-gradient(1px 1px at 92% 40%,#fff,transparent);animation:occ-tw 3s ease-in-out infinite;}
.occ>*{position:relative;}
.occ-fw{position:absolute!important;inset:0;width:100%;height:100%;pointer-events:none;}
.occ-fw line{stroke-width:2;stroke-linecap:round;}
.occ-fw .fw{opacity:0;animation:occ-burst 2.2s ease-out 2 forwards;}
@keyframes occ-burst{0%{opacity:0;transform:scale(.15);}15%{opacity:1;}55%{opacity:.85;transform:scale(1);}85%,100%{opacity:0;transform:scale(1.12);}}
@keyframes occ-tw{0%,100%{opacity:.9;}50%{opacity:.45;}}
.occ-year{position:absolute!important;right:30px;top:50%;transform:translateY(-50%);font:800 112px/1 Georgia,'Times New Roman',serif;letter-spacing:2px;background:linear-gradient(180deg,#fff3c4 0%,#f0cd6e 45%,#b8862c 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(240,205,110,.45));}
.occ-kicker{font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#f0cd6e;margin-bottom:8px;}
.occ h1.cat-top-title{color:#fff!important;font-size:36px;line-height:42px;margin:0 0 4px;text-align:left;background:none;border:0;padding:0;}
.occ h1.cat-top-title span{color:#f0cd6e!important;}
.occ h2.cat-top-subtitle{color:#d9def2!important;font-size:17px;margin:0 0 16px!important;text-align:left;}
.occ-count{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;color:#d9def2;}
.occ-count div{min-width:60px;padding:6px 8px;border-radius:8px;text-align:center;background:rgba(5,8,28,.55);border:1px solid rgba(240,205,110,.5);}
.occ-count b{display:block;font-size:22px;line-height:24px;color:#f0cd6e;}
.occ-count small{font-size:11px;color:#d9def2;}

/* long titles (destination pages) wrap before the big year */
@media (min-width:801px){.occ h1.cat-top-title,.occ h2.cat-top-subtitle{max-width:calc(100% - 330px);}}

/* intro */
.occ-intro{font-size:16px;line-height:25px;color:#d9def2;margin:0 0 14px;text-align:left;}
.occ-intro b{color:#fff;}
.occ-intro a{color:#f0cd6e;font-weight:600;}
.occ-more{display:none;}

/* quick links */
.occ-links{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 18px;}
.occ-links a{display:block;padding:10px 12px;border:1px solid rgba(240,205,110,.4);border-radius:10px;background:rgba(255,255,255,.05);text-decoration:none;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;}
.occ-links a:hover{transform:translateY(-2px);background:rgba(240,205,110,.12);box-shadow:0 6px 18px rgba(240,205,110,.18);}
.occ-links b{display:block;font-size:15px;color:#fff;font-weight:600;}
.occ-links span{font-size:12px;color:#f0cd6e;}

/* cards */
.occ-ny .offer{background:#10183f!important;}
.occ-ny .box-offer:hover .offer{box-shadow:0 10px 26px rgba(0,0,0,.6),0 0 0 1px rgba(240,205,110,.55);}
.occ-ny .offer .card-go{background:linear-gradient(135deg,#ffe08a 0%,#d9a53a 100%);color:#241a00!important;box-shadow:0 4px 14px rgba(217,165,58,.5);}
.occ-ny .price-suggest-min{color:#f0cd6e!important;}
.occ-ny .offer .h4 p{color:#f2f3f9!important;}
.occ-ny .info-offer a,.occ-ny .info-offer span{color:#f0cd6e!important;}

/* FAQ */
.occ-faq{clear:both;margin:30px 0;padding:22px 24px;border-radius:14px;background:#10183f;border:1px solid rgba(240,205,110,.3);text-align:left;}
.occ-faq h2{font-size:22px;margin:0 0 12px;color:#f0cd6e;font-weight:600;}
.occ-faq details{border-top:1px solid rgba(255,255,255,.12);padding:10px 0;}
.occ-faq summary{cursor:pointer;font-size:16px;font-weight:600;color:#fff;}
.occ-faq p{font-size:15px;line-height:23px;color:#d9def2;margin:8px 0 0;}

/* confetti on hover (occasions.js) */
.occ-confetti{position:absolute;left:0;right:0;top:0;height:100%;overflow:hidden;pointer-events:none;z-index:4;}
.occ-confetti i{position:absolute;top:-12px;width:7px;height:11px;border-radius:1px;opacity:0;animation:occ-fall 1.25s cubic-bezier(.25,.6,.4,1) forwards;}
@keyframes occ-fall{0%{opacity:1;transform:translate3d(0,0,0) rotate(0);}80%{opacity:1;}100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) rotate(var(--r));}}

@media (prefers-reduced-motion: reduce){.occ-fw{display:none;}.occ:before{animation:none;}}
@media (max-width:800px){
.occ{padding:18px;min-height:0;}
.occ-year{font-size:30px;right:16px;top:12px;transform:none;}
.occ-kicker{font-size:11px;letter-spacing:2px;}
.occ h1.cat-top-title{font-size:25px;line-height:31px;}
.occ-intro{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px;}
.occ-intro.open{display:block;}
.occ-more{display:block;background:none;border:0;padding:0 0 10px;color:#f0cd6e;font-size:14px;font-weight:600;cursor:pointer;}
.occ-links{display:flex;overflow-x:auto;gap:8px;padding-bottom:6px;-webkit-overflow-scrolling:touch;}
.occ-links a{flex:0 0 132px;}
}

/* sea theme: light, on top of the rules above */
body.occ-sea{background:#fbf8f0!important;}
.occ-sea #bodyContent,.occ-sea .wrap,.occ-sea .content-right{background:transparent!important;}
.occ-sea .occ{padding:30px 32px 62px;background:linear-gradient(180deg,#d9f4fb 0%,#a4e4f0 55%,#5ccdd6 100%);border:0;box-shadow:0 10px 30px rgba(20,120,140,.2);color:#0b3c49;}
.occ-sea .occ:before{display:none;}
.occ-sun{position:absolute!important;right:58px;top:26px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#fff6c9 0%,#ffd76a 55%,#ffb347 100%);box-shadow:0 0 0 14px rgba(255,215,106,.25),0 0 0 32px rgba(255,215,106,.12);}
.occ-wave{position:absolute!important;left:0;bottom:0;width:200%;height:46px;animation:occ-move 16s linear infinite;}
.occ-wave.w2{height:32px;animation-duration:10s;animation-direction:reverse;}
@keyframes occ-move{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.occ-sea .occ-year{right:178px;top:34px;transform:none;font-size:76px;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#fff;filter:none;text-shadow:0 3px 14px rgba(12,110,130,.45);}
.occ-sea .occ-kicker{display:inline-block;padding:4px 12px;margin-bottom:10px;border-radius:999px;background:#ff7a59;color:#fff;letter-spacing:.5px;text-transform:none;}
.occ-sea .occ h1.cat-top-title{color:#0b3c49!important;}
.occ-sea .occ h1.cat-top-title span{color:#0b7f8c!important;}
.occ-sea .occ h2.cat-top-subtitle{color:#0b3c49!important;}
.occ-sub{font-size:16px;margin-top:4px;}
.occ-sea .occ-intro{color:#33424a;}
.occ-sea .occ-intro b{color:#33424a;}
.occ-sea .occ-intro a,.occ-sea .occ-more{color:#0b7f8c;}
.occ-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 12px;}
.occ-tiles a{display:block;padding:16px 18px;border-radius:14px;color:#fff;text-decoration:none;box-shadow:0 6px 16px rgba(0,0,0,.12);transition:transform .15s ease,box-shadow .15s ease;}
.occ-tiles a:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.18);}
.occ-tiles .t0{background:linear-gradient(135deg,#2bb6d8,#1477b8);}
.occ-tiles .t1{background:linear-gradient(135deg,#34c9b4,#0f9a8c);}
.occ-tiles .t2{background:linear-gradient(135deg,#ff9a6b,#f0574c);}
.occ-tiles b{display:block;font-size:20px;font-weight:700;color:#fff;}
.occ-tiles span{font-size:13px;color:#fff;opacity:.95;}
.occ-sea .occ-links a{border-color:#cfe9ec;background:#fff;}
.occ-sea .occ-links a:hover{background:#fff;box-shadow:0 6px 14px rgba(20,120,140,.15);}
.occ-sea .occ-links b{color:#0b3c49;}
.occ-sea .occ-links span{color:#0b7f8c;}
.occ-sea .offer .card-go{background:linear-gradient(135deg,#ff9a6b 0%,#f0574c 100%);box-shadow:0 4px 14px rgba(240,87,76,.4);}
.occ-sea .occ-faq{background:#fff;border-color:#cfe9ec;}
.occ-sea .occ-faq h2{color:#0b3c49;}
.occ-sea .occ-faq details{border-top-color:#e6f1f2;}
.occ-sea .occ-faq summary{color:#222;}
.occ-sea .occ-faq p{color:#444;}
@media (min-width:801px){
.occ-sea .occ{box-sizing:border-box;height:205px;min-height:0;}
/* the title stays on one line, the year sits right after its row, between the text and the sun */
.occ-sea .occ h1.cat-top-title{max-width:none;white-space:nowrap;}
.occ-sea .occ-year{top:84px;right:158px;font-size:72px;}
}
@media (prefers-reduced-motion: reduce){.occ-wave{animation:none;}}
@media (max-width:800px){
.occ-sea .occ{padding:18px 18px 44px;}
.occ-sun{right:16px;top:14px;width:50px;height:50px;box-shadow:0 0 0 8px rgba(255,215,106,.25);}
.occ-sea .occ-year{font-size:30px;right:76px;top:24px;}
.occ-tiles{gap:8px;}
.occ-tiles a{padding:10px;}
.occ-tiles b{font-size:15px;}
.occ-tiles span{font-size:11px;}
}
