/* Theme 1.38: little elves, holiday desk row, slim site menu on THIS! Holiday Guide pages */

/* Slim site menu: the guide's own menu leads; the site's sections fold into one line */
body.hg138-slim-on .mast > .catnav, body.hg138-slim-on .ticker { display: none; }
.hg138-slim { background: #0E1A2B; border-top: 1px solid rgba(201, 164, 92, .35); border-bottom: 1px solid rgba(201, 164, 92, .35); }
.hg138-slim-in { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; }
.hg138-back { color: #F6F1E7; font: 600 13px/1.2 Inter, system-ui, sans-serif; letter-spacing: .02em; text-decoration: none; }
.hg138-back:hover, .hg138-back:focus-visible { color: #C9A45C; text-decoration: underline; }
.hg138-sections { background: none; border: 1px solid rgba(246, 241, 231, .35); color: #F6F1E7; border-radius: 999px; padding: 5px 12px; font: 600 12px/1 Inter, system-ui, sans-serif; letter-spacing: .04em; cursor: pointer; }
.hg138-sections[aria-expanded="true"] { background: #F6F1E7; color: #0E1A2B; }
.hg138-catnav[hidden] { display: none !important; }
.hg138-catnav { display: block; }

/* From the holiday desk */
.hg138-desk { max-width: 1200px; margin: 32px auto 8px; padding: 0 16px; }
.hg138-desk-h h2 { margin: 0 0 4px; font: 300 clamp(22px, 3vw, 30px)/1.15 "IBM Plex Serif", Georgia, serif; color: inherit; }
.hg138-desk-h p { margin: 0 0 14px; opacity: .8; font: 400 14px/1.4 Inter, system-ui, sans-serif; }
.hg138-desk-row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 1fr); gap: 14px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.hg138-desk-card { scroll-snap-align: start; display: flex; flex-direction: column; background: #F6F1E7; color: #0E1A2B; border: 1px solid #C9A45C; border-radius: 4px; overflow: hidden; text-decoration: none; min-width: 0; }
.hg138-desk-card img, .hg138-desk-ph { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; background: #0E1A2B; }
.hg138-desk-ph { display: flex; align-items: center; justify-content: center; font-size: 40px; }
.hg138-desk-t { padding: 10px 12px 2px; font: 600 15px/1.3 Inter, system-ui, sans-serif; }
.hg138-desk-m { padding: 0 12px 12px; font: 500 12px/1 Inter, system-ui, sans-serif; color: #6B5A3A; }
.hg138-desk-card:hover .hg138-desk-t, .hg138-desk-card:focus-visible .hg138-desk-t { text-decoration: underline; }
@media (max-width: 640px) { .hg138-desk-row { grid-auto-columns: 78%; } }

/* Little elves */
.hg-elf { position: absolute; z-index: 40; width: 34px; height: 40px; padding: 0; margin: 0; border: 0; background: none; cursor: pointer; transform-origin: 50% 100%; opacity: 0; transform: translateY(8px) scale(.9); transition: opacity .35s ease, transform .45s cubic-bezier(.2, .9, .3, 1.3); filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .25)); }
.hg-elf.hg-elf-in { opacity: 1; transform: none; }
.hg-elf.hg-elf-in.hg-elf-sit svg { animation: hgElfSwing 6s ease-in-out 1.2s 2; }
.hg-elf.hg-elf-in.hg-elf-point svg { animation: hgElfNudge 4.5s ease-in-out 1s 3; }
.hg-elf.hg-elf-flip svg { transform: scaleX(-1); }
.hg-elf.hg-elf-still, .hg-elf.hg-elf-still svg { transition: none; animation: none !important; opacity: 1; transform: none; }
.hg-elf.hg-elf-flip.hg-elf-still svg { transform: scaleX(-1); }
.hg-elf:focus-visible { outline: 2px solid #C9A45C; outline-offset: 2px; border-radius: 6px; }
@keyframes hgElfSwing { 0%, 100% { transform: rotate(0); } 10% { transform: rotate(-6deg); } 20% { transform: rotate(5deg); } 30% { transform: rotate(0); } }
@keyframes hgElfNudge { 0%, 100% { transform: translateX(0); } 8% { transform: translateX(3px); } 16% { transform: translateX(0); } 24% { transform: translateX(3px); } 32% { transform: translateX(0); } }
.hg-elf-flip.hg-elf-in.hg-elf-point svg { animation-name: hgElfNudgeFlip; }
@keyframes hgElfNudgeFlip { 0%, 100% { transform: scaleX(-1) translateX(0); } 8% { transform: scaleX(-1) translateX(3px); } 16% { transform: scaleX(-1) translateX(0); } 24% { transform: scaleX(-1) translateX(3px); } 32% { transform: scaleX(-1) translateX(0); } }
.hg-elf-bubble { position: absolute; z-index: 41; width: 220px; background: #F6F1E7; color: #0E1A2B; border: 1px solid #C9A45C; border-radius: 10px; padding: 10px 12px; box-shadow: 0 6px 18px rgba(0, 0, 0, .25); font: 500 14px/1.35 Inter, system-ui, sans-serif; }
.hg-elf-bubble p { margin: 0 0 6px; }
.hg-elf-hide { background: none; border: 0; padding: 0; color: #8A1A1A; font: 600 12px/1 Inter, system-ui, sans-serif; text-decoration: underline; cursor: pointer; }
@media (max-width: 640px) { .hg-elf { width: 28px; height: 33px; } }
@media (prefers-reduced-motion: reduce) { .hg-elf, .hg-elf svg { transition: none !important; animation: none !important; } .hg-elf { opacity: 1; transform: none; } }
@media print { .hg-elf, .hg-elf-bubble { display: none !important; } }
