/* Look G seasonal mockup. Decorations frame the content and do not cover text or buttons. */

.look-g .brand{position:relative}
.g-logo-badge{position:absolute;top:-7px;right:-18px;width:28px;height:28px;pointer-events:none;z-index:2}
.g-logo-badge svg{width:100%;height:100%;display:none;overflow:visible}
.season-thanksgiving .g-logo-badge .g-pumpkin{display:block}
.season-christmas .g-logo-badge .g-wreath{display:block}
.season-newyear .g-logo-badge .g-star{display:block}

/* Seasonal closed-days banner */
.look-g .closed-bar .lights{display:none}
.season-thanksgiving .closed-bar{
  background:linear-gradient(90deg,#7a2e12 0%,#b44a16 42%,#c56a12 72%,#8c3510 100%);
  color:#fff8ee;
  border-bottom:2px solid #1d2422;
}
.season-thanksgiving .closed-bar a{color:#f2dc9b}
.season-thanksgiving .closed-bar .cb-dot{color:#f2dc9b}

.season-christmas .closed-bar{
  background:#0c3331;
  color:#fbf1dc;
  border-bottom:2px solid #1d2422;
}
.season-christmas .closed-bar a{color:#f2dc9b}
.season-christmas .closed-bar .cb-dot{color:#f2dc9b}

.season-newyear .closed-bar{
  background:#111111;
  color:#f2dc9b;
  border-bottom:2px solid #e9c86a;
}
.season-newyear .closed-bar a{color:#fff}
.season-newyear .closed-bar .cb-dot{color:#e9c86a}
.season-newyear .site-header{border-top:3px solid #e9c86a}

/* Christmas string lights under the header. Hidden in other seasons. */
.g-xmas-lights{display:none;position:relative;height:26px;background:#0c3331;border-bottom:2px solid #1d2422;overflow:visible;pointer-events:none;z-index:39}
.season-christmas .g-xmas-lights{display:block}
.g-xmas-lights .wire{position:absolute;left:0;right:0;top:9px;height:2px;background:rgba(242,220,155,.55)}
.g-xmas-lights .bulb{position:absolute;top:4px;width:12px;height:16px;border-radius:6px 6px 8px 8px;opacity:.95}
.g-xmas-lights .bulb.gold{background:#f2dc9b;box-shadow:0 0 8px 2px rgba(242,220,155,.65)}
.g-xmas-lights .bulb.teal{background:#5eaaa3;box-shadow:0 0 8px 2px rgba(94,170,163,.55)}
.g-xmas-lights .bulb.hib{background:#d4c4b0;box-shadow:0 0 8px 2px rgba(212,196,176,.5)}
.g-xmas-lights .bulb:nth-child(2){left:4%}.g-xmas-lights .bulb:nth-child(3){left:11%}
.g-xmas-lights .bulb:nth-child(4){left:18%}.g-xmas-lights .bulb:nth-child(5){left:25%}
.g-xmas-lights .bulb:nth-child(6){left:32%}.g-xmas-lights .bulb:nth-child(7){left:39%}
.g-xmas-lights .bulb:nth-child(8){left:46%}.g-xmas-lights .bulb:nth-child(9){left:53%}
.g-xmas-lights .bulb:nth-child(10){left:60%}.g-xmas-lights .bulb:nth-child(11){left:67%}
.g-xmas-lights .bulb:nth-child(12){left:74%}.g-xmas-lights .bulb:nth-child(13){left:81%}
.g-xmas-lights .bulb:nth-child(14){left:88%}.g-xmas-lights .bulb:nth-child(15){left:95%}
@keyframes g-twinkle{0%,100%{opacity:.45}50%{opacity:.95}}
.season-christmas .g-xmas-lights .bulb{animation:g-twinkle 6.8s ease-in-out infinite}
.season-christmas .g-xmas-lights .bulb:nth-child(3n){animation-duration:7.6s;animation-delay:.4s}
.season-christmas .g-xmas-lights .bulb:nth-child(3n+1){animation-duration:8.2s;animation-delay:1.1s}
.season-christmas .g-xmas-lights .bulb:nth-child(3n+2){animation-duration:6.2s;animation-delay:.7s}

/* Hero badges. In the copy column, never over buttons. */
.g-hero-badge{display:none;margin:0 0 12px;max-width:28ch;padding:8px 14px 9px;border:2px solid var(--ink);border-radius:16px;box-shadow:3px 3px 0 var(--ink);line-height:1.2}
.g-hero-badge strong{display:block;font-family:var(--display);text-transform:uppercase;font-weight:400;font-size:clamp(20px,3.4vw,28px);letter-spacing:.02em}
.g-hero-badge span{display:block;font:700 13px/1.35 var(--body);margin-top:3px}
.season-thanksgiving .g-hero-badge.g-tg{display:block;background:#c45a1a;color:#fff8ee}
.season-thanksgiving .g-hero-badge.g-tg span{color:#f2dc9b}
.season-christmas .g-hero-badge.g-xmas{display:block;background:var(--teal);color:var(--gold)}
.season-christmas .g-hero-badge.g-xmas span{color:var(--cream);font-weight:600}
.season-newyear .g-hero-badge.g-ny{display:block;background:#111;color:#f2dc9b;border-color:#e9c86a}
.season-newyear .g-hero-badge.g-ny span{color:#fbf1dc;font-weight:600}
.g-hero-badge .g-badge-ico{display:inline-block;width:22px;height:22px;vertical-align:middle;margin-right:6px}

/* Corner frames and garland live behind the copy. */
.g-hero-frame{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.hero-copy,.hero-art{position:relative;z-index:2}
.look-g .hero.holiday-hero .hero-greenery,
.look-g .hero.holiday-hero .string-lights{display:none}

/* Thanksgiving leaves in the corners */
.g-tg-leaves{display:none}
.season-thanksgiving .g-tg-leaves{display:block}
.g-tg-leaves .leaf{position:absolute}
.g-tg-leaves .leaf-tl{top:-10px;left:-22px;width:170px;transform:rotate(-18deg)}
.g-tg-leaves .leaf-tl2{top:78px;left:-28px;width:110px;transform:rotate(24deg);opacity:.95}
.g-tg-leaves .leaf-br{right:-16px;bottom:-8px;width:180px;transform:rotate(16deg)}
.g-tg-leaves .leaf-br2{right:48px;bottom:-18px;width:100px;transform:rotate(-28deg);opacity:.9}
@media (max-width:699px){
  .g-tg-leaves .leaf-tl{width:108px;top:-8px;left:-16px}
  .g-tg-leaves .leaf-tl2{width:76px;top:52px;left:-16px}
  .g-tg-leaves .leaf-br{width:120px;right:-12px;bottom:-6px}
  .g-tg-leaves .leaf-br2{width:72px;right:20px;bottom:-10px}
}

/* Slow drifting leaves, home page, edges only so they do not sit on the headline. */
.g-drift{display:none;position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.season-thanksgiving .g-drift{display:block}
.g-drift .flake{position:absolute;top:-40px;width:26px;height:auto;opacity:.75;animation:g-fall 20s linear infinite}
.g-drift .flake:nth-child(1){left:1.5%;animation-duration:22s;animation-delay:-2s;width:26px}
.g-drift .flake:nth-child(2){left:3.5%;animation-duration:18s;animation-delay:-8s;width:22px}
.g-drift .flake:nth-child(3){left:91%;animation-duration:24s;animation-delay:-5s;width:26px}
.g-drift .flake:nth-child(4){left:96%;animation-duration:19s;animation-delay:-12s;width:20px}
.g-drift .flake:nth-child(5){left:2%;animation-duration:26s;animation-delay:-16s;width:24px}
.g-drift .flake:nth-child(6){left:94%;animation-duration:21s;animation-delay:-9s;width:22px}
@keyframes g-fall{
  0%{transform:translate3d(0,-20px,0) rotate(0deg);opacity:0}
  8%{opacity:.8}
  92%{opacity:.65}
  100%{transform:translate3d(18px,108%,0) rotate(140deg);opacity:0}
}

/* Christmas pine garland along the top of the hero, above the headline. */
.g-garland{display:none;position:absolute;left:0;right:0;top:0;height:36px;z-index:1;pointer-events:none}
.season-christmas .g-garland{display:block}
.g-garland svg{width:100%;height:36px;display:block}

/* A few gold sparkles, Christmas home only. */
.g-sparkles{display:none;position:absolute;inset:0;pointer-events:none;z-index:1}
.season-christmas .g-sparkles{display:block}
.g-sparkles i{position:absolute;width:10px;height:10px;background:#f2dc9b;opacity:.8;box-shadow:0 0 8px rgba(242,220,155,.85);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);border-radius:0}
.g-sparkles i:nth-child(1){top:18%;left:4%}
.g-sparkles i:nth-child(2){top:28%;right:6%}
.g-sparkles i:nth-child(3){top:62%;left:3%}
.g-sparkles i:nth-child(4){bottom:16%;right:8%}
.g-sparkles i:nth-child(5){top:12%;right:22%}
@keyframes g-spark{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:.8;transform:scale(1.15)}}
.season-christmas .g-sparkles i{animation:g-spark 5.5s ease-in-out infinite}
.season-christmas .g-sparkles i:nth-child(2){animation-duration:6.4s;animation-delay:.6s}
.season-christmas .g-sparkles i:nth-child(3){animation-duration:7s;animation-delay:1.2s}
.season-christmas .g-sparkles i:nth-child(4){animation-duration:5.2s;animation-delay:.3s}
.season-christmas .g-sparkles i:nth-child(5){animation-duration:6.8s;animation-delay:1.6s}

/* Gift Cards highlighted on Christmas */
.season-christmas .nav-gift,
.season-christmas .os-tab.os-gift,
.season-christmas .btn-gift{
  background:#f2dc9b;
  color:#1d2422;
  box-shadow:0 0 0 3px #0c3331, 0 0 0 5px #f2dc9b;
}
.season-christmas .holiday-gift-line{
  background:#fff6d4;
  border:2px solid var(--ink);
  border-radius:12px;
  padding:8px 12px;
  display:inline-block;
}

/* New Year gold and black accents */
.season-newyear .hero.holiday-hero{background:#1a1a1a}
.season-newyear .hero-copy .hand,
.season-newyear .hero-copy .hero-lead,
.season-newyear .holiday-gift-line{color:#f2dc9b}
.season-newyear .hero-h{color:#fbf1dc}
.season-newyear .hero-h .hib-text{color:#e9c86a}
.season-newyear .facts li{background:#111;color:#fbf1dc;border-color:#e9c86a}
.season-newyear .hero-art .sticker{box-shadow:6px 6px 0 #e9c86a}

/* Confetti burst, once, from near the badge. */
#g-confetti{position:absolute;left:24%;top:90px;width:0;height:0;pointer-events:none;z-index:1}
.g-confetti-piece{position:absolute;left:0;top:0;width:9px;height:12px;border-radius:1px;opacity:0;animation:g-burst 1.4s ease-out forwards;animation-delay:var(--delay,0s)}
.g-confetti-piece.is-star{width:8px;height:8px;clip-path:polygon(50% 0,61% 35%,100% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,0 35%,39% 35%);border-radius:0}
@keyframes g-burst{
  0%{transform:translate(0,0) rotate(0deg) scale(.4);opacity:0}
  12%{opacity:1}
  100%{transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.9);opacity:0}
}

/* Season-specific home sections */
.g-show-tg{display:none}
.g-show-xmas{display:none}
.g-show-ny{display:none}
.season-thanksgiving .g-show-tg{display:block}
.season-christmas .g-show-xmas{display:block}
.season-newyear .g-show-ny{display:block}
/* hero badges also use these classes; override display from the badge rule */
.season-thanksgiving .g-hero-badge.g-show-tg,
.season-christmas .g-hero-badge.g-show-xmas,
.season-newyear .g-hero-badge.g-show-ny{display:block}
.season-thanksgiving .btn-tg-dinner{display:inline-flex}
.look-g .btn-tg-dinner{display:none}
.season-thanksgiving .btn-tg-dinner{display:inline-flex}

/* Menu: From the Smoker drumstick, Thanksgiving only */
.g-smoker-ico{display:none;width:34px;height:34px;vertical-align:middle;margin-left:8px;overflow:visible}
.season-thanksgiving .g-smoker-ico{display:inline-block}

/* Interior pages: no hero frames, no drift, no sparkles, no confetti, no garland */
.look-g.g-interior .g-hero-frame,
.look-g.g-interior .g-drift,
.look-g.g-interior .g-sparkles,
.look-g.g-interior .g-garland,
.look-g.g-interior #g-confetti,
.look-g.g-interior .g-xmas-lights{display:none!important}

/* Reduced motion: freeze or hide moving bits. Frames, badges, and banner stay. */
@media (prefers-reduced-motion:reduce){
  .g-drift{display:none!important}
  .g-xmas-lights .bulb,
  .g-sparkles i,
  .g-confetti-piece{animation:none!important}
  .g-xmas-lights .bulb{opacity:.8}
  .g-sparkles i{opacity:.5}
  #g-confetti{display:none}
}
.g-reduce .g-drift{display:none!important}
.g-reduce .g-xmas-lights .bulb,
.g-reduce .g-sparkles i{animation:none!important}
.g-reduce #g-confetti{display:none}

/* Tiny footer switcher, not in the hero */
.g-switcher{font-size:13px;color:var(--cream);margin:8px 0 0}
.g-switcher a{color:var(--gold);font-weight:700}
.season-newyear .g-switcher a{color:#f2dc9b}

.g-confetti-piece.g-confetti-still{
  animation:none;
  opacity:.92;
  transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.95);
}


/* Closed-bar: keep the dinner phrase on one line; show that link only at Thanksgiving. */
.look-g .closed-bar a{white-space:nowrap}
.season-christmas .closed-bar .cb-dot,
.season-christmas .closed-bar a[href*="thanksgiving"],
.season-newyear .closed-bar .cb-dot,
.season-newyear .closed-bar a[href*="thanksgiving"]{display:none}

/* Frozen mid-positions for screenshots (?shot=1). Leaves stay on the edges. */
.g-shot .g-drift .flake{animation:none!important;opacity:.8}
.g-shot .g-drift .flake:nth-child(1){top:16%;left:1.2%;transform:rotate(-22deg)}
.g-shot .g-drift .flake:nth-child(2){top:46%;left:2.4%;transform:rotate(28deg)}
.g-shot .g-drift .flake:nth-child(3){top:20%;left:93%;transform:rotate(14deg)}
.g-shot .g-drift .flake:nth-child(4){top:52%;left:95.5%;transform:rotate(-26deg)}
.g-shot .g-drift .flake:nth-child(5){top:76%;left:1.6%;transform:rotate(38deg)}
.g-shot .g-drift .flake:nth-child(6){top:80%;left:93.5%;transform:rotate(-12deg)}
.g-shot .g-sparkles i{animation:none!important;opacity:.9;transform:scale(1.15)}
.g-shot .g-xmas-lights .bulb{animation:none!important;opacity:1}
.g-shot .g-xmas-lights .bulb:nth-child(3n){opacity:.7}
.g-shot .g-xmas-lights .bulb:nth-child(3n+1){opacity:1}

/* Gift line should not orphan the word card. */
.look-g .holiday-gift-line a{white-space:nowrap}

/* Live-site additions for the staged batch (not mockup-only). */

/* Base closed-days bar. Seasonal colors come from the rules above. */
.closed-bar{background:var(--teal);color:var(--cream);border-bottom:2px solid var(--ink)}
.closed-bar-in{padding:8px 16px 9px;text-align:center}
.closed-bar p{margin:0;font:600 13.5px/1.45 var(--body)}
.closed-bar a{color:var(--gold);font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.closed-bar a:hover{color:#fff}
.cb-dot{color:var(--gold);font-weight:700}
@media (max-width:519px){.closed-bar p{font-size:12.5px;line-height:1.45}}
.closed-bar.is-empty{display:none}

/* Gift Cards in the nav and order strip */
.nav a.nav-gift{background:var(--gold);color:var(--ink)}
.os-tab.os-gift{background:var(--gold);color:var(--ink)}
.holiday-gift-line{margin:16px 0 0;font:600 16px/1.4 var(--body);color:var(--teal);max-width:42ch}
.holiday-gift-line a{color:var(--teal);font-weight:800;text-underline-offset:2px;white-space:nowrap}
@media (min-width:1180px){.hdr-cta .btn-gift{display:none}}

/* Home hero frames sit behind the copy on the live hero too. */
.look-g .hero{position:relative}
.look-g .hero .hero-in{position:relative;z-index:1}
.look-g .hero-copy,.look-g .hero-art{position:relative;z-index:2}

/* Friendsgiving callout and New Year greeting (home, seasonal). */
.fg-sec{padding:48px 0;background:var(--cream)}
.fg-card{max-width:720px;margin:0 auto;background:var(--paper);border:2px solid var(--ink);border-radius:var(--r);padding:22px 24px 20px;box-shadow:var(--shadow-sm)}
.fg-card h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(28px,5vw,40px);color:var(--teal);margin:0 0 10px}
.fg-card .lead{max-width:none}
.draft-note{font:700 13px/1.4 var(--body);letter-spacing:.04em;text-transform:uppercase;color:#8a5a00;margin:0 0 10px}
.ny-greet{padding:36px 0;background:var(--teal);color:var(--cream);border-block:3px solid var(--ink);text-align:center}
.ny-greet h2{font-family:var(--display);text-transform:uppercase;color:var(--gold);font-size:clamp(28px,5vw,42px);margin:0 0 10px}
.ny-greet p{margin:0 auto;max-width:44ch;font-size:17px;color:var(--cream)}
.ny-greet a{color:var(--gold);font-weight:700}

/* Visit hours: highlight holiday closures */
.hours li.holiday{background:rgba(242,220,155,.45);margin-inline:-10px;padding-inline:10px;border-radius:8px;border-bottom-color:transparent}

/* Thanksgiving dinner to go page */
.tg-page .phead{background:var(--teal);color:var(--cream);border-bottom:3px solid var(--ink);padding:36px 0 28px}
.tg-page .phead .display{color:var(--gold);margin:0 0 12px;font-size:clamp(40px,9vw,92px);line-height:.92}
.tg-page .phead .hib-text{white-space:nowrap}
.tg-page .phead .hand{color:var(--gold)}
.tg-page .phead .lead{color:var(--cream);max-width:46ch}
.phead-in{display:grid;gap:22px;align-items:center}
@media (min-width:800px){.phead-in{grid-template-columns:1.15fr .85fr}}
.phead-art img{width:100%;height:auto;border-radius:var(--r);border:3px solid var(--ink);box-shadow:var(--shadow-sm)}
.tg-grid{display:grid;gap:18px;padding:48px 0 20px}
@media (min-width:800px){.tg-grid{grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}}
.tg-card{background:var(--paper);border:3px solid var(--ink);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:22px 22px 20px}
.tg-card h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(28px,5vw,40px);color:var(--teal);margin:0 0 12px}
.tg-card .feast-name{font:800 22px/1.2 var(--body);color:var(--teal);margin:0 0 4px}
.tg-card .feast-price{font:800 28px/1.1 var(--display);color:var(--teal);letter-spacing:.02em;margin:0 0 14px}
.tg-card dl{margin:0;display:grid;gap:0}
.tg-card dt{font:800 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--hib-ink);margin:14px 0 4px}
.tg-card dd{margin:0;font-size:17px}
.tg-note{margin-top:16px;font-size:15px;color:var(--muted)}
.tg-card .items{list-style:none;padding:0;margin:0 0 12px}
.tg-card .items li{margin:0 0 8px}
.tg-deals{display:grid;gap:18px;padding:48px 0 8px}
@media (min-width:800px){.tg-deals{grid-template-columns:1fr 1fr;gap:28px;align-items:start}}
.tg-pickup{padding:0 0 20px}
@media (min-width:800px){.tg-pickup{max-width:50%;}}
.tg-card .btn-row{margin-top:16px}


/* Season off: no seasonal decorations, banner colors stay default teal. */
body.look-g.season-off .g-logo-badge,
body.look-g.season-off .g-xmas-lights,
body.look-g.season-off .g-hero-frame,
body.look-g.season-off .g-hero-badge,
body.look-g.season-off .g-drift,
body.look-g.season-off .g-garland,
body.look-g.season-off .g-sparkles,
body.look-g.season-off #g-confetti,
body.look-g.season-off .btn-tg-dinner,
body.look-g.season-off .g-show-tg,
body.look-g.season-off .g-show-xmas,
body.look-g.season-off .g-show-ny,
body.look-g.season-off .g-smoker-ico{display:none!important}
