/* Production home-games composition, isolated from generic public-page CSS. */
.legacy-inner:has(.homegames) .legacy-inner__content { width: 100%; margin: 0; padding: 0; }
.legacy-public .page-top .homegames-page-title { max-width: none; font-size: 40px; line-height: 45px; }
.homegames { padding: 30px 0 78px; background: #f4f2f6; color: #2f2e42; }
.homegames-promo { overflow: hidden; background: #2f2e42; box-shadow: 0 10px 15px #262636; color: #fff; }
.homegames-promo-top { padding-top: 42px; text-align: center; }.homegames-promo__title { position: relative; display: inline-block; margin: 0 0 34px; font-family: 'Code Pro Black', Impact, sans-serif; font-size: clamp(31px, 4vw, 48px); font-weight: 400; line-height: 1.05; text-transform: uppercase; }.homegames-promo__title::before { position: absolute; top: 7px; left: -22px; width: 96px; height: 96px; content: ''; background: url('/static/site-assets/home-games/gifts-title-shape.png') center/contain no-repeat; }.homegames-promo__title span { position: relative; display: block; font-family: 'Code Pro Light', sans-serif; font-weight: 300; }.homegames-promo__logo { position: relative; z-index: 1; }.homegames-promo__logo::before { position: absolute; top: 20px; left: 0; width: 100%; height: 4px; content: ''; background: #e20913; }.homegames-promo__logo span { position: relative; z-index: 1; display: inline-block; padding: 0 30px; background: #2f2e42; }.homegames-promo__logo img { display: block; }
.homegames-promo-body { position: relative; padding: 35px 0 44px; background: url('/static/site-assets/home-games/clouds-bg.png') 36% 38%/319px 113px no-repeat; }.homegames-promo-body::before { position: absolute; top: 50%; left: -70px; width: 380px; height: 380px; margin-top: -190px; content: ''; background: url('/static/site-assets/legacy-particles-left.png') center/contain no-repeat; }.homegames-promo-body::after { position: absolute; top: 35%; right: 30px; width: 200px; height: 400px; content: ''; background: url('/static/site-assets/home-games/quest-bg-right.png') center/contain no-repeat; transform: rotate(-20deg); }
.homegames-promo-features { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; align-items: end; margin: 0 auto 42px; padding: 0 54px; }.homegames-promo-features-item { text-align: center; }.homegames-promo-features-item:nth-child(1), .homegames-promo-features-item:nth-child(3) { transform: translateY(26px); }.homegames-promo-features-item:nth-child(2), .homegames-promo-features-item:nth-child(5) { transform: translateY(60px); }.homegames-promo-features-item__title { min-height: 70px; margin: 0 0 12px; color: #fff; font-size: 17px; line-height: 1.18; }.homegames-promo-features-item__icon { max-width: 100%; transition: transform .2s ease; }.homegames-promo-features-item:hover .homegames-promo-features-item__icon { transform: scale(1.05); }.homegames-promo-details__title { position: relative; z-index: 1; margin: 38px 0 0; color: #fff; font-size: 20px; font-weight: 300; text-align: center; }
.homegames-body { padding-top: 90px; }.homegames-catalog-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 36px; }.homegames-catalog-heading p { margin: 0; color: #e20913; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.homegames-catalog-heading h2 { margin: 0; font-family: 'Code Pro Black', Impact, sans-serif; font-size: clamp(34px, 4vw, 52px); font-weight: 400; text-transform: uppercase; }.homegames-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }.homegames-column { min-width: 0; min-height: 460px; }.homegames-item { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; background: linear-gradient(90deg, #e20913, #e94e1b); }.homegames-item::before, .homegames-item::after { position: absolute; left: 0; z-index: 1; width: 100%; height: 8px; content: ''; background-position: 50% 0; }.homegames-item::before { top: 0; background-image: url('/static/site-assets/home-games/wave-bottom.svg'); }.homegames-item::after { bottom: 0; background-image: url('/static/site-assets/home-games/wave-top.svg'); }.homegames-item__title, .homegames-item__price { position: relative; z-index: 2; margin: 0; padding: 20px 10px 15px; background: #fff; color: #2f2e42; text-align: center; }.homegames-item__title { font-size: 21px; font-weight: 700; }.homegames-item__event { min-height: 74px; margin: 0; padding: 23px 18px 10px; color: #fff; font-size: 18px; font-weight: 700; line-height: 1.15; letter-spacing: .05em; text-transform: uppercase; }.homegames-item-content { display: flex; flex: 1; flex-direction: column; padding: 14px 0; }.homegames-item-features { display: grid; gap: 8px; }.homegames-item-features__item { position: relative; display: block; margin-right: 13px; padding: 7px 35px 7px 26px; color: #fff; box-shadow: 11px 11px 16px rgba(102,17,15,.26); font-size: 14px; font-weight: 700; }.homegames-item-features__item::after { position: absolute; top: 50%; right: 14px; width: 17px; height: 16px; content: ''; background: url('/static/site-assets/home-games/icon-star2.svg') center/contain no-repeat; transform: translateY(-50%); }.homegames-item-features__item_1 { background: linear-gradient(180deg, #f05c4d, #f78a4d); }.homegames-item-features__item_2 { background: linear-gradient(180deg, #edc10b, #ff9f05); }.homegames-item__text { flex: 1; margin: 17px 0; padding: 0 17px; color: #fff; font-size: 15px; line-height: 1.45; }.homegames-item__btn { width: 160px; margin: 0 auto 19px; padding: 11px; border: 0; border-radius: 23px; background: #fcea1c; color: #302509; cursor: pointer; font: inherit; font-size: 17px; font-weight: 700; transition: transform .2s ease; }.homegames-item__btn:hover:not(:disabled), .homegames-item__btn:focus-visible { transform: scale(1.06); }.homegames-item__btn:disabled { cursor: not-allowed; opacity: .62; }.homegames-item__price { padding: 12px; }.homegames-item__price strong { display: inline-block; padding-left: 30px; background: url('/static/site-assets/home-games/icon-price2.svg') left center/25px auto no-repeat; font-size: 25px; }.homegames-item_coming { justify-content: center; min-height: 400px; background: url('/static/site-assets/home-games/homegames-item-soon.png') center/cover; color: #fff; font-family: 'Code Pro Black', Impact, sans-serif; font-size: 37px; line-height: 1; text-align: center; }.homegames-item_coming span span { display: block; padding-left: 90px; }.homegames-empty { padding: 55px; background: #fff; text-align: center; }.homegames-empty p { margin: 0 0 10px; font-family: 'Code Pro Black', Impact, sans-serif; font-size: 30px; text-transform: uppercase; }
.home-game-order[hidden] { display: none; }.home-game-order:not([hidden]) { position: fixed; z-index: 40; inset: auto; display: block; overflow: auto; }.home-game-order { width: min(660px, calc(100% - 24px)); max-height: min(780px, calc(100vh - 24px)); padding: 0; border: 0; background: transparent; color: #2f2e42; }.home-game-order::backdrop { background: rgba(47,46,66,.78); }.home-game-order__panel { position: relative; overflow: auto; padding: 38px; background: #fff; box-shadow: 0 18px 65px rgba(0,0,0,.35); }.home-game-order__close { position: absolute; top: 12px; right: 15px; width: 37px; height: 37px; border: 0; border-radius: 50%; background: #2f2e42; color: #fff; cursor: pointer; font-size: 27px; line-height: 1; }.home-game-order__header { display: flex; align-items: center; gap: 15px; padding-right: 42px; }.home-game-order__header img { border-radius: 50%; background: #e20913; }.home-game-order__header p { margin: 0; color: #e20913; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.home-game-order h2 { margin: 3px 0 0; font-family: 'Code Pro Black', Impact, sans-serif; font-size: 30px; line-height: 1; text-transform: uppercase; }.home-game-order__description { min-height: 48px; margin: 23px 0; line-height: 1.45; }.home-game-order form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.home-game-order label { display: grid; gap: 5px; font-weight: 700; }.home-game-order label span { font-size: 14px; }.home-game-order b { color: #e20913; }.home-game-order i { color: #777; font-size: 12px; font-style: normal; font-weight: 400; }.home-game-order input { min-width: 0; padding: 11px 12px; border: 1px solid #c7c7de; border-radius: 2px; font: inherit; }.home-game-order__price, .home-game-order__status, .home-game-order__consent, .home-game-order button { grid-column: 1 / -1; }.home-game-order__price { margin: 7px 0 0; font-size: 18px; }.home-game-order__price strong { color: #e20913; }.home-game-order__status { min-height: 19px; margin: 0; color: #b70912; font-size: 14px; }.home-game-order button[type=submit] { justify-self: start; border: 0; cursor: pointer; }.home-game-order button[type=submit]:disabled { opacity: .65; cursor: wait; }.home-game-order__consent { margin: 0; color: #666; font-size: 12px; line-height: 1.35; }.home-game-order__consent a { color: #b70912; }.home-game-order :focus-visible { outline: 3px solid #fcea1c; outline-offset: 2px; }
@media (max-width: 960px) { .homegames-promo-features { grid-template-columns: repeat(3, 1fr); padding: 0; }.homegames-promo-features-item:nth-child(1), .homegames-promo-features-item:nth-child(2), .homegames-promo-features-item:nth-child(3), .homegames-promo-features-item:nth-child(5) { transform: none; }.homegames-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }.homegames-promo-body::before, .homegames-promo-body::after { display: none; } }
@media (max-width: 620px) { .homegames { padding: 28px 0 38px; }.homegames-promo-top { padding-top: 31px; }.homegames-promo__title { font-size: 34px; }.homegames-promo__title::before { display: none; }.homegames-promo-features { grid-template-columns: 1fr 1fr; gap: 20px 5px; }.homegames-promo-features-item__title { min-height: 52px; padding: 0 7px; font-size: 15px; }.homegames-promo-features-item__icon { width: 100px; height: 100px; }.homegames-promo-details__title { margin-top: 23px; font-size: 16px; }.homegames-body { padding-top: 45px; }.homegames-catalog-heading { display: block; margin-bottom: 24px; }.homegames-catalog-heading p { margin-bottom: 7px; }.homegames-row { grid-template-columns: 1fr; gap: 24px; }.homegames-column { min-height: 0; }.homegames-item { min-height: 420px; }.homegames-item_coming { min-height: 250px; }.home-game-order__panel { padding: 31px 21px 24px; }.home-game-order form { grid-template-columns: 1fr; }.home-game-order h2 { font-size: 26px; } }
@media (prefers-reduced-motion: reduce) { .homegames *, .homegames *::before, .homegames *::after { scroll-behavior: auto !important; transition: none !important; } }

/* Production site_home_games.php keeps the image inside the icon wrapper and
 * shows the format mark directly in the event ribbon.  The native FastAPI
 * purchase button remains intentionally semantic, but the visual DOM follows
 * the original component. */
/* Source leaves the SVG inline inside a centred icon wrapper.  `display:block`
   pinned every tablet icon to the left edge of its 50% feature column. */
.homegames-promo-features-item__icon img { display: inline-block; max-width: 100%; }
.homegames-item__event span { display: inline-block; margin-right: 7px; vertical-align: middle; }
.homegames-item__event img { display: block; width: 33px; height: 33px; object-fit: contain; }

/* Direct responsive port of production styles/home_games.css.  The original
 * changes this landing from five free-standing icons to 3+2 at <=1599px and
 * to a vertical mobile story at <=479px; the old FastAPI grid flattened both
 * compositions. */
.legacy-public .homegames { padding:55px 0; background:#2f2e42; }
.legacy-public .homegames-body { padding:100px 0 0; }
.legacy-public .homegames-row { display:flex; flex-wrap:wrap; gap:0; margin:0 -15px; }
.legacy-public .homegames-column { flex:1 1 25%; max-width:25%; min-height:500px; margin-bottom:60px; padding:0 15px; }
.legacy-public .homegames-promo-details { position:relative; background:url('/static/site-assets/home-games/clouds-bg.png') 50% 80%/319px 113px no-repeat; text-align:center; }
.legacy-public .homegames-promo-details__title { margin-bottom:40px; }
.legacy-public .homegames-promo-details-btnwrap { padding:50px 0; }
.legacy-public .homegames-promo-details__btn { display:inline-block; padding:10px 20px; border-radius:20px; background:#fcea1c; color:#302509; font-size:1.1em; font-weight:600; text-decoration:none; text-transform:uppercase; }
.legacy-public .homegames-promo-details__note { position:absolute; top:20px; left:50%; margin-left:130px; color:#fff; font-size:13px; font-weight:300; line-height:21px; transform:rotate(-15deg); }
.legacy-public .homegames-promo-details__note::before { position:absolute; top:-30px; left:-40px; width:57px; height:35px; content:''; background:url('/static/site-assets/home-games/icon-detail-arrow.png') center/contain no-repeat; }
@media (max-width:1599px) {
  .legacy-public .homegames-promo-features { display:flex; flex-wrap:wrap; align-items:stretch; justify-content:center; gap:0; padding:0; }
  .legacy-public .homegames-promo-features-item,
  .legacy-public .homegames-promo-features-item:nth-child(1),
  .legacy-public .homegames-promo-features-item:nth-child(2),
  .legacy-public .homegames-promo-features-item:nth-child(3),
  .legacy-public .homegames-promo-features-item:nth-child(5) { flex:1 1 33.333%; max-width:33.333%; margin:0 0 50px; transform:none; }
  .legacy-public .homegames-promo-features-item__title { min-height:0; max-width:100%; margin:0 0 30px; padding:0 30px; }
  .legacy-public .homegames-promo-features-item-body { display:flex; flex-direction:column; height:100%; }
  .legacy-public .homegames-column { flex-basis:33.333%; max-width:33.333%; }
}
@media (max-width:1010px) {
  .legacy-public .homegames-promo-features-item,
  .legacy-public .homegames-promo-features-item:nth-child(1),
  .legacy-public .homegames-promo-features-item:nth-child(2),
  .legacy-public .homegames-promo-features-item:nth-child(3),
  .legacy-public .homegames-promo-features-item:nth-child(5) { flex-basis:50%; max-width:50%; }
  .legacy-public .homegames-row { padding:0 20px; }
  .legacy-public .homegames-column { flex-basis:50%; max-width:50%; }
}
@media (max-width:639px) {
  .legacy-public .homegames-column { flex-basis:100%; max-width:100%; }
  .legacy-public .homegames-item { max-width:350px; margin:0 auto; }
  .legacy-public .homegames-promo-details__note { display:none; }
  .legacy-public .homegames-promo-features-item__title { margin-bottom:15px; }
  /* The source keeps the literal 140px SVGs from site_home_games.php.
   * The earlier prototype grid reduced their wrapper to 100px at 620px. */
  .legacy-public .homegames-promo-features-item__icon { width:140px; height:140px; margin:0 auto; }
}
@media (max-width:479px) {
  .legacy-public .homegames-promo-features { display:block; }
  .legacy-public .homegames-promo-features-item,
  .legacy-public .homegames-promo-features-item:nth-child(1),
  .legacy-public .homegames-promo-features-item:nth-child(2),
  .legacy-public .homegames-promo-features-item:nth-child(3),
  .legacy-public .homegames-promo-features-item:nth-child(5) { max-width:100%; margin-bottom:50px; }
  .legacy-public .homegames-promo-features-item__title { margin-bottom:20px; padding:0 15px; font-size:20px; }
}

/* An explicit price check prevents the order action from masquerading as a
   promo validator and keeps the compact source dialog readable on phones. */
.legacy-public .home-game-promo-control{display:flex;gap:8px;align-items:center}
.legacy-public .home-game-promo-control input{min-width:0;flex:1 1 auto}
.legacy-public .home-game-promo-control button{flex:0 0 auto;padding:9px 12px;border:1px solid #302f43;border-radius:18px;color:#302f43;background:#fcea1c;font:inherit;font-size:12px;font-weight:700;text-transform:uppercase;cursor:pointer}
.legacy-public .home-game-promo-control button:hover,.legacy-public .home-game-promo-control button:focus-visible{outline:2px solid #fcea1c;outline-offset:2px;color:#fff;background:#302f43}
