/* Original high-fantasy heraldry, gilded plaques and leafwork for Benvenuto. */
:root {
  --fantasy-gold:#d7b15b;
  --fantasy-gold-bright:#f5dda0;
  --fantasy-metal:linear-gradient(125deg,#8f6529 0%,#e4c879 23%,#fff0b7 40%,#c0923b 66%,#eed18a 86%,#976a2b 100%);
  --fantasy-cut:polygon(13px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px),0 13px);
  --fantasy-point:polygon(14px 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,14px 100%,0 50%);
}

/* Gilded shields, with leafwork rather than rectangular nameplates. */
.recommend-routes button {
  position:relative;
  isolation:isolate;
  clip-path:var(--fantasy-cut);
  border:1px solid transparent;
  border-radius:0;
  background:var(--fantasy-metal);
  color:#eee4cc;
  box-shadow:none;
  text-shadow:0 1px 2px #0005;
}
.recommend-routes button::after {
  content:'';
  position:absolute;
  z-index:-1;
  inset:1px;
  clip-path:var(--fantasy-cut);
  pointer-events:none;
  background:radial-gradient(ellipse at 0 0,#8b713126,transparent 70%),linear-gradient(120deg,#26342c,#181e1b 75%);
  box-shadow:inset 0 0 0 4px #18211b,inset 0 0 0 5px #d7b15b59;
}
.recommend-routes button::before {
  z-index:0;
  top:14px;
  right:16px;
  width:78px;
  height:93px;
  background-image:url('assets/fantasy-emblems.svg');
  background-size:300% 100%;
  filter:none;
  opacity:1;
}
.recommend-routes button[aria-selected=true] {background:var(--fantasy-metal);color:#fff0d1;border-color:transparent;box-shadow:none}
.recommend-routes button[aria-selected=true]::after {background:radial-gradient(ellipse at 0 0,#d7b15b20,transparent 75%),linear-gradient(125deg,#2b4b3c,#183227 80%);box-shadow:inset 0 0 0 4px #23392b,inset 0 0 0 5px #e7c97c99}
.recommend-routes button[aria-selected=true]::before {filter:none;opacity:1}
.recommend-routes button[aria-selected=true]>span {color:#e1c486!important}
.recommend-routes button>span:not(.route-number):not(.route-arrow) {color:#c5c1ad}
.recommend-routes .route-number,.recommend-routes .route-arrow {color:#e2c477}
.recommend-routes button:hover {background:linear-gradient(125deg,#bb9349,#fff1b7 45%,#d1a44c);border-color:transparent;box-shadow:none}
.recommend-routes button:hover::after {box-shadow:inset 0 0 0 4px #26392b,inset 0 0 0 5px #e7c97c99}
.recommend-routes button:focus-visible {outline:2px solid #fff3c7;outline-offset:-7px}

/* Pointed gold action plaques. Pseudo-elements add no layout height. */
.primary,.site-nav .nav-reservation,.arena-confirm,.arena-explore,.selector-continue,.pairing-confirm-wine,.meal-next-actions>.primary,.aperitivo-menu-action,.story-battle-menu,.battle-watch {
  position:relative;
  isolation:isolate;
  clip-path:var(--fantasy-point);
  border:1px solid transparent;
  border-radius:0;
  background:var(--fantasy-metal);
  color:#30230f;
  text-shadow:0 1px #fff3cf66;
  box-shadow:none;
}
.primary::before,.site-nav .nav-reservation::before,.arena-confirm::before,.arena-explore::before,.selector-continue::before,.pairing-confirm-wine::before,.meal-next-actions>.primary::before,.aperitivo-menu-action::before,.story-battle-menu::before,.battle-watch::before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:2px;
  clip-path:var(--fantasy-point);
  pointer-events:none;
  background:linear-gradient(180deg,#f6e2a6 0%,#d8b66b 48%,#c29a4c 51%,#e2c37e 100%);
  box-shadow:inset 0 0 0 1px #fcdfa99c;
}
.primary:hover,.site-nav .nav-reservation:hover,.arena-confirm:hover,.arena-explore:hover,.selector-continue:hover,.pairing-confirm-wine:hover,.meal-next-actions>.primary:hover,.aperitivo-menu-action:hover,.story-battle-menu:hover,.battle-watch:hover {background:var(--fantasy-metal);border-color:transparent;color:#291d0d;box-shadow:none}
.primary:hover::before,.site-nav .nav-reservation:hover::before,.arena-confirm:hover::before,.arena-explore:hover::before,.selector-continue:hover::before,.pairing-confirm-wine:hover::before,.meal-next-actions>.primary:hover::before,.aperitivo-menu-action:hover::before,.story-battle-menu:hover::before,.battle-watch:hover::before {background:linear-gradient(180deg,#fff0bd,#e7ca88 48%,#d2ad5e 51%,#efdaa2)}
.primary:focus-visible,.site-nav .nav-reservation:focus-visible,.arena-confirm:focus-visible,.arena-explore:focus-visible,.selector-continue:focus-visible,.pairing-confirm-wine:focus-visible,.aperitivo-menu-action:focus-visible,.story-battle-menu:focus-visible,.battle-watch:focus-visible {outline:2px solid #4b3217;outline-offset:-6px}
.game-selector :is(.arena-confirm,.arena-explore,.selector-continue):focus-visible {outline:2px solid #4b3217;outline-offset:-6px}

/* Dark metal tabs with bright gold edges and chamfered corners. */
#menu-categories .choice-chip,.choice-chip {
  position:relative;
  isolation:isolate;
  clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);
  border-color:transparent;
  border-radius:0;
  background:var(--fantasy-metal);
  color:#e4d0a3;
  box-shadow:none;
}
#menu-categories .choice-chip::before,.choice-chip::before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:1px;
  clip-path:inherit;
  pointer-events:none;
  background:linear-gradient(150deg,#2e3b2d,#19211a);
}
#menu-categories .choice-chip[aria-pressed=true],.choice-chip[aria-pressed=true] {color:#30230f;background:var(--fantasy-metal);border-color:transparent;box-shadow:none}
#menu-categories .choice-chip[aria-pressed=true]::before,.choice-chip[aria-pressed=true]::before {background:linear-gradient(145deg,#f2dfa5,#c7a052)}
#menu-categories .choice-chip:focus-visible,.choice-chip:focus-visible {outline:2px solid #fff0c0;outline-offset:-4px}
#menu-categories .choice-chip[aria-pressed=true]:focus-visible,.choice-chip[aria-pressed=true]:focus-visible {outline-color:#3e2c10}

/* Leafwork and gold mounts continue around the menu folio and food selection. */
.game-selector {border-color:#d8b65f;box-shadow:0 14px 38px #0006,inset 0 0 0 4px #172119,inset 0 0 0 5px #d7b15b80;background:linear-gradient(120deg,#28302222,transparent 60%),#192019}
.game-selector::before,.game-selector::after {width:45px;height:45px;opacity:1;background-image:url('assets/fantasy-gold-corner.svg')}
.game-selector::before {left:4px;top:4px}
.game-selector::after {right:4px;bottom:4px}
.selector-topline {background:linear-gradient(110deg,#443a22,#202c22 65%,#33301e);border-bottom-color:#ddbb6e99}
.selector-eyebrow,.selector-counter {color:#ead095}
.selector-arrow {border-color:#d3ae55;color:#f0d89d;background:linear-gradient(145deg,#44513a,#1a281d);box-shadow:inset 0 0 0 2px #192719,inset 0 0 0 3px #d7b15b70;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}
.dish-tile {border-color:#b6914859;background:linear-gradient(145deg,#303c2a,#1d251c)}
.dish-tile[aria-pressed=true] {border-color:#f0d18a;background:linear-gradient(135deg,#e6d29b,#baa065);box-shadow:inset 0 0 0 2px #8b6b324d,0 5px 15px #0004}
.dish-tile[aria-pressed=true]::after {background-image:url('assets/fantasy-medallion.svg');width:32px;height:32px}
.arena-category {border-left-color:#d8b65f;color:#e5c986}
.arena-wine,.pairing-card,.wine-choice,.aperitivo-experience,.cast-card,.story-feature {border-color:#bf9a4b80;box-shadow:inset 0 0 0 4px #d7b15b08,inset 0 0 0 5px #d7b15b38,0 7px 18px #0003}
.secondary,.outline-action,.pairing-info-action,.arena-menu-only,.pairing-toggle {border-color:#c5a05799;color:#e9d09b;box-shadow:inset 0 0 0 2px #d7b15b12}
.best-menu-badge {border-color:#dfbd72;background:#343d26;color:#f7dfaa;box-shadow:inset 0 0 0 1px #d7b15b38,0 3px 8px #0004}

/* The opening keeps its maps and portraits, with a gilded invitation. */
.hero.game-trailer .chef-choice {border-color:#c6a25499;box-shadow:inset 0 0 0 3px #18211959,inset 0 0 0 4px #d7b15b38,0 10px 24px #0004}
.hero.game-trailer .chef-choice.is-current,.hero.game-trailer .chef-choice[data-preview-chef=giuseppe].is-current {border-color:#efd18a;box-shadow:inset 0 0 0 3px #18211999,inset 0 0 0 4px #d7b15b99,0 0 18px #d7b15b12}
.drama-watch,.hero>.drama-watch-main {clip-path:var(--fantasy-cut);border-color:#d2ac55;background:linear-gradient(125deg,#273b2c,#18271d 80%);box-shadow:inset 0 0 0 3px #14251a,inset 0 0 0 4px #e0bd6c80,0 9px 22px #0004}
.drama-watch:hover,.hero>.drama-watch-main:hover {border-color:#f6dda0;background:linear-gradient(125deg,#354a32,#223326 80%);box-shadow:inset 0 0 0 3px #14251a,inset 0 0 0 4px #e0bd6c99}
.drama-watch-label strong {color:#f1d79d}
.drama-watch-icon {border-color:#e8c778;background:radial-gradient(circle at 30% 20%,#5b6b3d,#213922);color:#ffedbd;box-shadow:inset 0 0 0 3px #233b25,inset 0 0 0 4px #d7b15b99}
.battle-popup {clip-path:polygon(11px 0,calc(100% - 11px) 0,100% 11px,100% calc(100% - 11px),calc(100% - 11px) 100%,11px 100%,0 calc(100% - 11px),0 11px);border-color:#c8a34c;box-shadow:0 18px 55px #0009,0 0 0 3px #d7b15b40}
.battle-shell::before {border-color:#ad843cb3;background-image:url('assets/fantasy-gold-corner.svg');background-size:31px 31px}
.battle-food-frame {border-color:#b68f408c;box-shadow:0 0 0 2px #cba75040,0 3px 10px #33291e18}
.battle-popup .battle-portrait svg,.battle-popup .battle-giuseppe .battle-portrait svg {box-shadow:0 0 0 2px #f5dda2,0 0 0 3px #ae843b}
.chef-battle-burst {clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,7px 100%,0 50%);border-color:#dfbc6d;background:linear-gradient(135deg,#4a3e22,#253321);color:#ead097;box-shadow:inset 0 0 0 2px #263020,inset 0 0 0 3px #d7b15b80}
.chef-battle-burst strong {color:#fff0bc}
.battle-reserve {border-color:#b28b4099;color:#514323;box-shadow:inset 0 0 0 2px #c39b4d26}
.booking-panel {border-color:#cfad62;box-shadow:inset 0 0 0 4px #e7c77a20,inset 0 0 0 5px #a7804159,0 7px 18px #0003}
@media (max-width:700px) {
  .recommend-routes button {clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}
  .recommend-routes button::after {clip-path:inherit}
  .recommend-routes button::before {top:8px;right:10px;width:43px;height:54px}
  .game-selector::before,.game-selector::after {width:32px;height:32px}
  .dish-tile[aria-pressed=true]::after {width:28px;height:28px}
  .battle-shell::before {background-size:24px 24px}
}
