/* Annual Holiday Glass Art Sale feature (Events page). Same layout as patch-section.css, holiday palette. */
.holi{position:relative;padding:120px 56px 128px;overflow:hidden;isolation:isolate;color:var(--cgac-paper);background:radial-gradient(1.5px 1.5px at 20px 30px,rgba(255,255,255,0.55),transparent 2px) 0 0/120px 120px,radial-gradient(1px 1px at 80px 90px,rgba(255,255,255,0.4),transparent 2px) 0 0/120px 120px,radial-gradient(2px 2px at 50px 70px,rgba(255,255,255,0.3),transparent 3px) 0 0/170px 170px,radial-gradient(900px 620px at 85% 10%,rgba(200,30,50,0.32),transparent 62%),radial-gradient(800px 600px at 5% 95%,rgba(212,175,85,0.16),transparent 60%),linear-gradient(170deg,#0f3324 0%,#0a2419 55%,#061810 100%)}
.holi::before{content:'';position:absolute;top:0;left:0;right:0;height:10px;background:repeating-linear-gradient(135deg,#c81e32 0 16px,#faf6ef 16px 32px);z-index:2}
.holi--curve{margin-top:-48px;z-index:2;border-radius:48px 48px 0 0;box-shadow:0 -18px 50px rgba(6,24,16,0.30)}
.holi--curve::before{display:none}
.holi__inner{position:relative;z-index:1;max-width:1280px;margin:0 auto}
.holi__head{display:grid;grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);gap:64px;align-items:center;margin-bottom:56px}
.holi__eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:12px;letter-spacing:0.30em;text-transform:uppercase;color:#e3c27a;margin:0 0 18px}
.holi__eyebrow::before{content:'';width:28px;height:3px;background:#e3c27a;border-radius:2px}
.holi__title{font-family:var(--font-display);font-size:clamp(54px,7vw,96px);line-height:0.92;letter-spacing:-0.005em;text-transform:uppercase;color:var(--cgac-paper);margin:0 0 24px;text-wrap:balance}
.holi__title .script{font-family:var(--font-script);font-size:1.12em;text-transform:none;letter-spacing:0;color:#ff5a6a;line-height:0.9;display:inline-block;text-shadow:0 0 40px rgba(255,90,106,0.45)}
.holi__dates{font-family:var(--font-display);font-size:22px;letter-spacing:0.06em;text-transform:uppercase;color:#e3c27a;margin:0 0 8px}
.holi__hours{font-family:var(--font-display);font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(250,246,239,0.88);margin:0 0 24px;display:flex;flex-wrap:wrap;gap:6px 14px}
.holi__hours span+span::before{content:'|';margin-right:14px;color:rgba(227,194,122,0.7)}
.holi__copy{font-size:18px;line-height:1.6;color:rgba(250,246,239,0.92);margin:0 0 24px;max-width:50ch;text-wrap:pretty}
.holi__kinds{list-style:none;padding:0;margin:0 0 34px;display:flex;flex-wrap:wrap;gap:10px}
.holi__kinds li{font-family:var(--font-display);font-size:13px;letter-spacing:0.14em;text-transform:uppercase;padding:9px 16px;border:1.5px solid rgba(227,194,122,0.75);border-radius:999px;color:var(--cgac-paper)}
.holi__cta-row{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.holi__instore{display:flex;flex-direction:column;gap:4px;padding:16px 26px 16px 22px;border:3px dashed #ff5a6a;border-radius:var(--radius-md);background:rgba(200,30,50,0.16);color:var(--cgac-paper);text-decoration:none;transition:background 200ms var(--ease-out)}
.holi__instore:hover{background:rgba(200,30,50,0.28)}
.holi__instore-kicker{font-family:var(--font-display);font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:#ff8a96}
.holi__instore-main{font-family:var(--font-display);font-size:22px;letter-spacing:0.04em;text-transform:uppercase;line-height:1.1}
.holi__instore-sub{font-size:14px;color:rgba(250,246,239,0.85)}
.holi__hero{position:relative;margin:0;width:100%;max-width:540px;justify-self:end;border-radius:var(--radius-md);box-shadow:0 30px 80px rgba(0,0,0,0.55),0 0 0 5px var(--cgac-paper);transform:rotate(1.5deg)}
.holi__hero img,.holi__hero .holi__ph{display:flex;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md)}
.holi__ph{display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;box-sizing:border-box;background:repeating-linear-gradient(135deg,rgba(250,246,239,0.05) 0 14px,rgba(250,246,239,0.10) 14px 28px),#123a2a;border:2px dashed rgba(227,194,122,0.6);font-family:var(--font-display);font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(250,246,239,0.8)}
.holi__badge{position:absolute;left:-34px;bottom:-34px;width:132px;height:132px;border-radius:50%;background:#c81e32;color:var(--cgac-paper);border:4px solid var(--cgac-paper);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-10deg);box-shadow:0 14px 34px rgba(0,0,0,0.45)}
.holi__badge-num{font-family:var(--font-display);font-size:40px;line-height:1}
.holi__badge-label{font-family:var(--font-display);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;margin-top:4px}
.holi__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.holi__tile{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-md);background:#123a2a}
.holi__tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 700ms var(--ease-out)}
.holi__tile:hover img{transform:scale(1.06)}
.holi__tile .holi__ph{width:100%;height:100%;border-radius:var(--radius-md)}
.holi__tile img{border-radius:var(--radius-md)}
.holi__tag{position:absolute;left:14px;bottom:14px;font-family:var(--font-display);font-size:12px;letter-spacing:0.18em;text-transform:uppercase;padding:8px 14px;border-radius:999px;background:#0a2419;color:var(--cgac-paper);border:1.5px solid #e3c27a}
.holi__snow{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.holi__flake{position:absolute;top:-12px;border-radius:50%;background:#fff;box-shadow:0 0 6px rgba(255,255,255,0.6);animation:holiFall linear infinite}
@keyframes holiFall{0%{transform:translate3d(0,-20px,0)}100%{transform:translate3d(var(--drift,0),1400px,0)}}
/* Home-page "sizzle" variant */
.holi--sizzle{padding-top:140px}
.holi__lights{position:absolute;top:0;left:0;right:0;height:70px;z-index:2;display:flex;justify-content:space-between;padding:0 3%;pointer-events:none}
.holi__lights::before{content:'';position:absolute;left:0;right:0;top:-30px;height:60px;border-bottom:2px solid rgba(10,36,25,0.9);border-radius:0 0 50% 50%/0 0 100% 100%;filter:drop-shadow(0 1px 0 rgba(227,194,122,0.4))}
.holi__bulb{position:relative;width:12px;height:18px;border-radius:50% 50% 50% 50%/40% 40% 60% 60%;background:var(--c);margin-top:calc(26px + 4px * var(--sag,0));box-shadow:0 0 14px 3px var(--c);animation:holiTwinkle 2.4s ease-in-out infinite}
.holi__bulb::before{content:'';position:absolute;top:-6px;left:3px;width:6px;height:7px;background:#2a3a30;border-radius:2px}
.holi__bulb:nth-child(4n+1){--sag:1}.holi__bulb:nth-child(4n+2){--sag:2}.holi__bulb:nth-child(4n+3){--sag:1}
@keyframes holiTwinkle{0%,100%{opacity:1;box-shadow:0 0 16px 4px var(--c)}50%{opacity:.35;box-shadow:0 0 2px 0 var(--c)}}
.holi--sizzle .holi__title .script{background:linear-gradient(100deg,#ff5a6a 0%,#ff5a6a 40%,#fff3d6 50%,#ff5a6a 60%,#ff5a6a 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 22px rgba(255,90,106,0.55));animation:holiShine 4.5s ease-in-out infinite;line-height:1.15;padding:.14em .12em .06em;margin:-.14em -.12em 0}
@keyframes holiShine{0%{background-position:100% 0}60%,100%{background-position:0 0}}
.holi--sizzle .holi__badge{animation:holiBob 3.2s ease-in-out infinite}
@keyframes holiBob{0%,100%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-8px)}}
.holi--sizzle .holi__hero{transition:transform 500ms var(--ease-out)}
.holi--sizzle .holi__hero:hover{transform:rotate(0deg) scale(1.02)}
.holi__count{margin:6px 0 22px}
.holi__count-kicker{display:block;font-family:var(--font-display);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:#ff8a96;margin-bottom:10px}
.holi__count-row{display:flex;gap:10px;flex-wrap:wrap}
.holi__count-cell{min-width:78px;padding:12px 10px 10px;border-radius:var(--radius-md);background:rgba(250,246,239,0.07);border:1.5px solid rgba(227,194,122,0.55);display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:inset 0 0 18px rgba(227,194,122,0.10)}
.holi__count-num{font-family:var(--font-display);font-size:38px;line-height:1;color:var(--cgac-paper);font-variant-numeric:tabular-nums}
.holi__count-lbl{font-family:var(--font-display);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:#e3c27a}
.holi__live{display:inline-flex;align-items:center;gap:10px;margin:6px 0 22px;padding:10px 18px;border-radius:999px;background:#c81e32;font-family:var(--font-display);font-size:15px;letter-spacing:0.14em;text-transform:uppercase}
.holi__live-dot{width:10px;height:10px;border-radius:50%;background:#fff;animation:holiTwinkle 1.4s ease-in-out infinite;--c:#fff}
.holi--sizzle .holi__instore{border-style:solid;background:linear-gradient(135deg,#c81e32,#8e1424);box-shadow:0 12px 34px rgba(200,30,50,0.45);transition:transform 200ms var(--ease-out),box-shadow 200ms var(--ease-out)}
.holi--sizzle .holi__instore:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(200,30,50,0.6);background:linear-gradient(135deg,#d92a3e,#9e1a2b)}
.holi--sizzle .holi__instore-kicker{color:#ffd7db}
@media (max-width:640px){.holi--sizzle{padding-top:110px}.holi__bulb:nth-child(2n){display:none}.holi__count-cell{min-width:64px}.holi__count-num{font-size:30px}}
@media (prefers-reduced-motion:reduce){.holi__bulb,.holi--sizzle .holi__title .script,.holi--sizzle .holi__badge{animation:none}}
@media (prefers-reduced-motion:reduce){.holi__flake{animation:none;top:auto}.holi__snow{display:none}}
@media (max-width:1080px){.holi--curve{margin-top:-28px;border-radius:28px 28px 0 0}.holi{padding:80px 28px 88px}.holi__head{grid-template-columns:1fr;gap:56px}.holi__hero{justify-self:center;width:calc(100% - 20px)}.holi__badge{width:104px;height:104px;left:-14px;bottom:-28px}.holi__badge-num{font-size:30px}.holi__grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin:0 auto}}
@media (max-width:640px){.holi{padding:64px 20px 72px}.holi__title{font-size:46px}.holi__copy{font-size:16px}.holi__dates{font-size:19px}.holi__head{margin-bottom:40px}.holi__badge{width:84px;height:84px;left:-8px;bottom:-22px}.holi__badge-num{font-size:24px}.holi__badge-label{font-size:9px}.holi__grid{gap:10px}.holi__tag{left:8px;bottom:8px;font-size:10px;padding:6px 10px}.holi__instore{width:100%}.holi__hours span+span::before{display:none}}
