/* KTP season theme: accent + seasons section + hero animation layer. Chinar-red CTAs, fonts and layout are untouched. */
.ktp-strip.ktp-strip--season{background:var(--ktp-season,#94560F)}
/* The older "KTP Monthly Theme" Code Snippet (bar, falling effect, Best-for-month strip) would double up with the season theme on these pages */
.ktp-season .ktp-mt-bar,.ktp-season .ktp-mt-fx,.ktp-season .ktp-mt-strip{display:none!important}
.ktp-season .hv-hero__eyebrow::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:color-mix(in srgb,var(--ktp-season,#94560F) 35%,#fff);vertical-align:1px}
.ktp-season #packages{border-top:3px solid var(--ktp-season,#94560F)}

/* seasons section: current season first and highlighted */
.hv-seasons__g{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:stretch}
.hv-season{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px 20px;background:#fff;border:1px solid var(--ktp-border,#E6DDD1);border-top:4px solid var(--ktp-season,#94560F);border-radius:var(--ui-r,16px);box-shadow:0 6px 18px rgba(31,30,29,.06)}
.hv-season h3{font-size:22px}
.hv-season__r{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ktp-muted,#4A4744)}
.hv-season p:not(.hv-season__r){font-size:15px;line-height:1.55;color:var(--ktp-ink,#1F1E1D);flex:1}
.hv-season .hv-link{margin-top:4px;display:inline-flex;align-items:center;min-height:44px}
.hv-season.is-now{border-color:var(--ktp-season);border-width:2px;border-top-width:6px;box-shadow:0 14px 34px rgba(31,30,29,.14);background:color-mix(in srgb,var(--ktp-season) 6%,#fff)}
.hv-season__now{position:absolute;top:-14px;right:16px;padding:3px 12px;border-radius:999px;background:var(--ktp-season);color:#fff;font:700 12px/1.5 var(--ktp-font-body,Inter,sans-serif);letter-spacing:.08em;text-transform:uppercase}
@media (max-width:1023px){.hv-seasons__g{grid-template-columns:repeat(2,1fr)}}
@media (max-width:759px){.hv-seasons__g{grid-template-columns:1fr;gap:18px}.hv-season.is-now{order:-1}}

/* animation layer: transform-only, <=15 elements, hidden until season.js turns it on */
.hv-fx{display:none;position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;contain:strict}
.hv-fx.is-on{display:block}
.hv-fx i{position:absolute;top:-40px;display:block;opacity:.9;background-repeat:no-repeat;background-position:center;background-size:contain;will-change:transform;animation:hv-fall linear infinite}
.hv-fx.is-paused i{animation-play-state:paused}
@keyframes hv-fall{0%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(var(--sw,30px),55svh,0) rotate(180deg)}100%{transform:translate3d(calc(var(--sw,30px) * -.4),110svh,0) rotate(360deg)}}
.hv-fx--autumn i{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B8431C' d='M12 1.5l2 5.2 4-2.2-1 5.3 5.2 1-4.2 3.2 3 4.2-6-1L14.2 22h-4.4l-.8-4.6-6 1 3-4.2L2 10.8l5.2-1-1-5.3 4 2.2z'/%3E%3Cpath stroke='%23F2C679' stroke-width='.8' fill='none' d='M12 20V9'/%3E%3C/svg%3E")}
.hv-fx--autumn i:nth-child(3n){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23D98A1F' d='M12 1.5l2 5.2 4-2.2-1 5.3 5.2 1-4.2 3.2 3 4.2-6-1L14.2 22h-4.4l-.8-4.6-6 1 3-4.2L2 10.8l5.2-1-1-5.3 4 2.2z'/%3E%3C/svg%3E")}
.hv-fx--winter i{border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0 55%,rgba(255,255,255,0) 72%);opacity:.85}
.hv-fx--winter i{animation-name:hv-snow}
@keyframes hv-snow{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(var(--sw,20px),55svh,0)}100%{transform:translate3d(calc(var(--sw,20px) * -.5),110svh,0)}}
.hv-fx--spring i{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6C9D8' d='M12 2c5.5 4.2 7.5 10.2 0 20C4.500 12.200 6.500 6.200 12 2z'/%3E%3Cpath stroke='%23E9A3BB' stroke-width='.8' fill='none' d='M12 5v14'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion:reduce){.hv-fx,.hv-fx.is-on{display:none!important}}

/* four featured packages: one row on desktop, 2x2 on tablet (the grid is built for 3 or 6) */
@media (min-width:1100px){.hv-grid--3:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:760px) and (max-width:1099px){.hv-grid--3:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
