/* 9 NOV (Tom): the seasonal 3D coverflow. Its own file, so the top slider and the newest-recipes grid are untouched. The height
   is fixed here (head + stage + gold bar), so the page below never moves when the script starts. */
.ttc-season { position: relative; margin: 0 0 30px; border-radius: 28px; overflow: hidden; --sc-w: 270px; --sc-stage: 480px;
  /* 9 Nov (Tom): no hard frame -- a soft lift and the faintest warm tint keep it its own section */
  background: linear-gradient(180deg, rgba(255, 250, 238, .9), rgba(255, 255, 255, 0) 70%);
  box-shadow: 0 10px 34px rgba(60, 40, 10, .10), 0 1px 3px rgba(60, 40, 10, .08); }
.ttc-adtop + .ttc-season { margin-top: 30px; }
.ttc-season__h { margin: 0; padding: 18px 70px 6px; height: 62px; box-sizing: border-box; text-align: center;
  font: 800 2.6rem/1.3 Montserrat, "Segoe UI", system-ui, sans-serif; color: #1a2428; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ttc-season__stage { position: relative; height: var(--sc-stage); overflow: hidden; perspective: 1300px; perspective-origin: 50% 45%; transform-style: preserve-3d; }
.ttc-season__card { position: absolute; top: 14px; left: 50%; width: var(--sc-w); height: calc(var(--sc-stage) - 28px); margin-left: calc(var(--sc-w) / -2);
  will-change: transform; backface-visibility: hidden; border-radius: 22px; }
.ttc-season__card article.card-v2 { width: 100% !important; max-width: none !important; height: 100%; margin: 0 !important; overflow: hidden; box-sizing: border-box;
  border-radius: 22px; background: #fff; box-shadow: 0 14px 30px rgba(0, 0, 0, .28), 0 3px 8px rgba(0, 0, 0, .16); }
.ttc-season__btn, .ttc-season__pause { position: absolute; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; cursor: pointer;
  background: #fff; color: #1a2428; border-radius: 50%; box-shadow: 0 3px 12px rgba(0, 0, 0, .28); }
.ttc-season__btn svg, .ttc-season__pause svg { width: 22px; height: 22px; fill: currentColor; }
.ttc-season__btn { top: calc(62px + var(--sc-stage) / 2 - 24px); width: 48px; height: 48px; opacity: 0; pointer-events: none; transition: opacity .2s; }
.ttc-season__prev { left: 14px; } .ttc-season__next { right: 14px; }
.ttc-season.is-paused .ttc-season__btn { opacity: 1; pointer-events: auto; }
.ttc-season__pause { top: 12px; right: 14px; width: 40px; height: 40px; }
.ttc-season__pause svg { width: 18px; height: 18px; }
.ttc-season__pause .g { display: none; }
.ttc-season.is-paused .ttc-season__pause .p { display: none; }
.ttc-season.is-paused .ttc-season__pause .g { display: inline; }
.ttc-season button:focus-visible, .ttc-season__gold:focus-visible { outline: 3px solid #51000d; outline-offset: 2px; }
/* 9 Nov (Tom): the gold PILL button, its running shine and a right arrow that nudges forward. Transforms only. */
.ttc-season__stage { cursor: grab; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.ttc-season.is-dragging .ttc-season__stage { cursor: grabbing; }
.ttc-season__card { cursor: pointer; }
.ttc-season__card img { -webkit-user-drag: none; user-drag: none; pointer-events: none; }
.ttc-season__foot { height: 86px; display: flex; align-items: center; justify-content: center; }
.ttc-season__gold { position: relative; display: inline-flex; align-items: center; gap: 12px; height: 54px; padding: 0 30px 0 34px; overflow: hidden;
  border-radius: 999px; text-decoration: none; isolation: isolate;
  background: linear-gradient(100deg, #b3851a 0%, #e9c45a 30%, #f9e39a 50%, #e2b640 70%, #b3851a 100%);
  color: #2a1c04; font: 800 1.9rem/1 Montserrat, "Segoe UI", system-ui, sans-serif; letter-spacing: .01em;
  box-shadow: 0 8px 20px rgba(150, 105, 15, .35), inset 0 1px 0 rgba(255, 255, 255, .65), inset 0 -2px 0 rgba(120, 80, 5, .25);
  transition: transform .18s ease, box-shadow .18s ease; }
.ttc-season__gold span, .ttc-season__go { position: relative; z-index: 1; }
.ttc-season__go { width: 24px; height: 24px; flex: 0 0 auto; animation: ttc-season-nudge 1.5s ease-in-out infinite; will-change: transform; }
@keyframes ttc-season-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(6px); } }
.ttc-season__gold::after { content: ""; position: absolute; z-index: 0; top: -30%; bottom: -30%; left: -40%; width: 28%; transform: skewX(-22deg);
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.8), rgba(255,255,255,0)); animation: ttc-season-shine 3.2s linear infinite; will-change: transform; }
@keyframes ttc-season-shine { from { transform: translateX(0) skewX(-22deg); } to { transform: translateX(560%) skewX(-22deg); } }
.ttc-season__gold:hover { transform: translateY(-1px); box-shadow: 0 11px 24px rgba(150, 105, 15, .42), inset 0 1px 0 rgba(255, 255, 255, .65), inset 0 -2px 0 rgba(120, 80, 5, .25); }
@media (max-width: 767px) {
  .ttc-season { --sc-w: 220px; --sc-stage: 430px; border-radius: 20px; }
  .ttc-season__h { font-size: 2rem; height: 54px; padding: 16px 56px 4px; }
  .ttc-season__btn { top: calc(54px + var(--sc-stage) / 2 - 22px); width: 44px; height: 44px; }
  .ttc-season__prev { left: 6px; } .ttc-season__next { right: 6px; }
  .ttc-season__foot { height: 76px; }
  .ttc-season__gold { height: 48px; padding: 0 18px 0 22px; font-size: 1.45rem; gap: 8px; }
  .ttc-season__go { width: 20px; height: 20px; }
}
@media (prefers-reduced-motion: reduce) { .ttc-season__gold::after { animation: none; display: none; } .ttc-season__go { animation: none; } }
