/* Catalog styling from the supplied visual prototype. */
.games-central-page #main{background:transparent;box-shadow:none}
.games-central-page .site{background:#fff;box-shadow:0 0 22px rgba(110,42,77,.24)}
.central{overflow:visible}
.catalog{
  z-index:4;width:830px;margin:-83px auto 0;padding:18px 24px 20px;
  border:1px solid #f9d5e9;border-top:3px solid #f6a3d0;border-radius:34px 34px 29px 29px;
  background:linear-gradient(180deg,#fffafd 0,#fff 230px,#fff 84%,#fff5fb 100%);
  box-shadow:0 -3px 12px #ed7db821,0 4px 19px #c7689a14;
}
.catalog::before{content:'';position:absolute;inset:3px 4px auto;height:35px;border-radius:30px 30px 0 0;border-top:2px solid #fff;background:none;pointer-events:none}
.catalog .section-heading{position:relative;margin:0 6px 13px;gap:12px}
.catalog .section-heading h2{display:flex;align-items:center;gap:8px;margin:0;color:#ed008e;font:700 25px/1.15 BarbieChalet,Arial,sans-serif;letter-spacing:-.65px}
.heading-heart{flex:0 0 26px;width:26px;height:29px;fill:none;stroke:#f58fc8;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transform:rotate(8deg)}
.catalog .catalog-total{align-self:center;color:#df4b9f;font:12px Arial,sans-serif;white-space:nowrap}
.catalog .search{align-items:flex-end;gap:17px;margin:0 0 19px}
.catalog .search-field{height:42px;gap:12px;align-items:center;padding:8px 15px;border:1px solid #ff2ca3;border-radius:25px;background:linear-gradient(180deg,#fff 0,#fff6fc 100%);box-shadow:0 3px 8px #ec4ca427,inset 0 1px 0 #fff}
.catalog .search-field:focus-within{border-color:#e6008a;box-shadow:0 0 0 3px #ffcae64d,0 3px 8px #ec4ca427}
.catalog .search-field input{padding:3px 0;color:#d72a8a;font-size:12px;outline:none}
.catalog .search-field input::placeholder{color:#d776ac;opacity:1}
.catalog .search-field svg{display:block;flex-shrink:0}
.search-icon{width:19px;height:21px;fill:none;stroke:#f3159a;stroke-width:1.8;stroke-linecap:round}
.search-flower{width:25px;height:25px;fill:#f9c0df}
.search-flower circle{fill:#fff6fc}
.catalog .sort-label{gap:4px;color:#d551a0;font:10px/1.2 Arial,sans-serif}
.catalog .sort-label select{appearance:none;width:121px;height:33px;padding:6px 28px 6px 11px;border:1px solid #f5b6db;border-radius:9px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='m2 2 6 6 6-6' stroke='%23f50998' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 10px center/11px 7px no-repeat;color:#ef008e;font-size:12px;font-weight:bold}
.catalog .catalog-tabs{flex-wrap:wrap;align-items:center;gap:9px;padding:0 0 13px;border-bottom:1px solid #e9d9e5}
.catalog .catalog-tabs button{gap:10px;min-width:128px;min-height:35px;padding:8px 17px;border:1px solid #ffd2e9;border-radius:13px;background:linear-gradient(#fff,#fffafd);box-shadow:0 3px 7px #ec63ac1c,inset 0 1px 0 #fff;color:#f00091;font:700 13px/1 Arial,sans-serif;transition:background .16s,box-shadow .16s}
.catalog .catalog-tabs button[aria-pressed=true]{min-width:158px;min-height:39px;padding:9px 20px;border-color:#f28ac4;background:linear-gradient(180deg,#ff92d0 0,#ff3ca9 20%,#f00091 56%,#d90080 100%);box-shadow:inset 0 2px 2px #ffffffd4,inset 0 -2px 2px #ad00604d,0 3px 9px #e22f9b2e;color:#fff;font-size:17px;text-shadow:0 1px #bc006b55}
.catalog .catalog-tabs button:hover:not([aria-pressed=true]){background:#fff0f8;border-color:#fba8d1;box-shadow:0 3px 9px #ec63ac30}
.catalog .catalog-tabs button span{min-width:24px;padding:3px 5px;border-radius:10px;background:#fde3f2;color:#e23194;font:700 10px/1 Arial,sans-serif;text-shadow:none}
.catalog .catalog-tabs button[aria-pressed=true] span{background:#ffb4de75;color:#fff}
.catalog .filter-bar{align-items:center;gap:17px;padding:11px 0 12px;border-bottom:1px solid #eee4ed}
.catalog .filter-label{padding-top:0;color:#ed0090;font:700 9px/1.3 Arial,sans-serif;white-space:nowrap}
.catalog .theme-filters{align-items:center;gap:6px}
.catalog .theme-filters button{padding:5px 10px;border:1px solid transparent;border-radius:14px;background:#fff0f8;color:#e958a4;font:9px/1 Arial,sans-serif;white-space:nowrap}
.catalog .theme-filters button:hover{background:#ffe0f0;color:#e00085}
.catalog .theme-filters button[aria-pressed=true]{border-color:#f47ebd;background:#ffd7ec;color:#ca0077}
.catalog .results-line{min-height:29px;color:#ce70aa;font:10px/1.4 Arial,sans-serif}
.catalog .results-line button{color:#e00087;font-size:10px}
.catalog .games-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 16px;padding:0}
.catalog .game-card{min-width:0}
.catalog .game-link{padding:4px;border:1px solid #f4e4ed;border-radius:13px;background:linear-gradient(#fff,#fffcfe);box-shadow:0 2px 4px #a94d7712,0 3px 8px #d7b2c51a;transition:transform .18s,box-shadow .18s}
.catalog .game-link:hover{transform:translateY(-3px);box-shadow:0 4px 12px #e07db92e;border-color:#f5b5d5}
.catalog .game-art{border-radius:8px 8px 3px 3px}
.catalog .game-art img{height:85px;object-fit:cover}
.catalog .game-label{gap:4px;min-height:34px;padding:6px 4px 4px;color:#f00091;font:700 11px/1.15 Arial,sans-serif}
.catalog .game-arrow{flex-basis:17px;height:17px;background:#fff0f8;color:#ef0091;font:21px/1 Arial,sans-serif}
.catalog .game-badge{top:4px;left:4px;padding:2px 4px;border:1px solid #fff;border-radius:5px;background:linear-gradient(#bf81d1,#9555b6);box-shadow:0 1px 3px #72407426;color:#fff;font:700 7px/1 Arial,sans-serif;letter-spacing:0;text-shadow:0 1px #783fa04d}
.catalog .game-badge.new{background:linear-gradient(#ff74c5,#f00091);text-shadow:0 1px #b5167766}
.catalog .card-tags{gap:4px;min-height:13px;padding:5px 4px 0}
.catalog .card-tags button{color:#b59db1;font:8px/1.25 Arial,sans-serif}
.catalog .card-tags button:hover{color:#ed008e}
.catalog .card-tags button+button::before{content:'·';padding-right:4px}
.catalog .collection-note{margin:0 0 16px;padding:8px 11px;border-color:#f0cfe7;border-radius:9px;background:#fdf5fc;color:#ba67a8;font-size:11px}
.catalog .load-more{padding:16px 0 0}
.catalog .load-more button{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-width:173px;min-height:33px;padding:7px 20px;border:1px solid #f59bc8;border-radius:18px;background:#fffafd;color:#ef008e;font:700 11px Arial,sans-serif;box-shadow:inset 0 1px #fff}
.catalog .load-more button:hover{background:#fff0f9;box-shadow:0 2px 7px #ec63ac26}
.catalog .load-more button svg{width:11px;height:8px;fill:none;stroke:#ef008e;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.catalog .load-more p{margin:8px 0 0;color:#cf79ad;font:9px/1.5 Arial,sans-serif}
.catalog .empty-state{padding:30px 15px}
.catalog .empty-state h3{color:#ed008e}

/* Match the reference footer while keeping links and legal copy in HTML. */
.central-footer{min-height:220px;height:220px;background:#fff}
.central-footer .footer-scene{width:990px;height:220px;object-fit:cover;object-position:center center}
.central-footer .footer-copy{top:72px;bottom:auto;left:0;width:100%;min-height:56px;padding:0 8px;background:transparent;border-radius:0;font:9px/1.45 Arial,sans-serif}
.central-footer .site-footer-links{display:flex;justify-content:center;gap:0 15px;margin:0 0 5px}
.central-footer .site-footer-links a{color:#e83c8f;font:10px/1.2 Arial,sans-serif}
.central-footer .site-footer-links span{color:#ed84b6}
.central-footer .footer-copy p{margin:0;color:#cc6998;font:8px/1.35 Arial,sans-serif}

/* Release artwork in the upper-right corner of the Games box. */
.catalog{padding-top:12px}
.catalog .section-heading{position:relative;display:block;min-height:0;padding-right:115px}
.catalog .catalog-total{display:block;margin-top:7px}
.games-printables-announcement{position:absolute;left:calc(100% - 152px);right:auto;top:-100px;width:255px;height:auto;border-radius:14px;transform:rotate(6deg);transform-origin:left center;pointer-events:none}
