/* Games directory landing page. Original GamesFree styling, scoped to this page only. */
.portal-free-games { padding: 30px 25px 68px; background: var(--site-bg, #09080c); }
.portal-free-games__inner { max-width: 1412px; margin: 0 auto; }
.portal-free-games__hero { position: relative; overflow: hidden; padding: clamp(34px, 6vw, 70px); border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: radial-gradient(circle at 82% 15%,rgba(255,138,0,.32),transparent 29%),linear-gradient(120deg,#16131b 0%,#271b20 53%,#152131 100%); }
.portal-free-games__hero:after { position:absolute; width:280px; height:280px; right:-90px; bottom:-160px; border:1px solid rgba(255,183,68,.3); border-radius:50%; box-shadow:0 0 0 34px rgba(255,183,68,.04),0 0 0 68px rgba(255,183,68,.025); content:""; }
.portal-free-games__hero > * { position:relative; z-index:1; }
.portal-free-games__eyebrow { margin:0 0 9px; color:#ffad00; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.portal-free-games__hero h1 { max-width:none; margin:0; color:#fff; font-size:clamp(32px,4vw,54px); font-weight:850; letter-spacing:-.04em; line-height:1.04; white-space:nowrap; }
.portal-free-games__hero > p:not(.portal-free-games__eyebrow) { max-width:680px; margin:16px 0 0; color:#ded7e2; font-size:17px; line-height:1.65; }
.portal-free-games__hero-button { display:inline-flex; min-height:45px; align-items:center; justify-content:center; padding:10px 20px; margin-top:25px; border-radius:10px; background:linear-gradient(135deg,#ff642f,#ffad00); color:#1f1415; font-size:14px; font-weight:850; text-decoration:none; box-shadow:0 8px 18px rgba(255,128,0,.22); transition:transform .2s ease,filter .2s ease; }
.portal-free-games__hero-button:hover { color:#1f1415; filter:brightness(1.08); transform:translateY(-2px); }
.portal-free-games__categories,.portal-free-games__top,.portal-free-games__directory,.portal-free-games__faq { margin-top:30px; }
.portal-free-games__directory { margin-top:6px; }
.portal-free-games__section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 14px; }
.portal-free-games__section-heading h2,.portal-free-games__directory h2 { margin:0; color:#fff; font-size:24px; font-weight:800; letter-spacing:-.02em; }
.portal-free-games__section-heading > a { color:#ffad00; font-size:14px; font-weight:750; text-decoration:none; }
.portal-free-games__section-heading > a:hover { color:#ffc95e; }
.portal-free-games__category-scroll { display:flex; gap:9px; padding:3px 0 9px; overflow-x:auto; overscroll-behavior-x:contain; -ms-overflow-style:none; scrollbar-width:none; }
.portal-free-games__category-scroll::-webkit-scrollbar { display:none; }
.portal-free-games__scroll-row { display:grid; grid-template-columns:38px minmax(0,1fr) 38px; gap:8px; align-items:center; }
.portal-free-games__scroll-button { display:inline-grid; width:36px; height:36px; place-items:center; padding:0; border:1px solid rgba(255,255,255,.14); border-radius:50%; background:#191720; color:#ffad00; cursor:pointer; transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease; }
.portal-free-games__scroll-button:hover { border-color:rgba(255,173,0,.75); background:rgba(255,173,0,.16); color:#ffc95e; transform:translateY(-1px); }
.portal-free-games__scroll-button:focus-visible { outline:2px solid #ffad00; outline-offset:2px; }
.portal-free-games__scroll-button[disabled] { opacity:.35; cursor:default; transform:none; }
.portal-free-games__category-scroll a { display:inline-flex; flex:0 0 auto; align-items:center; min-height:39px; padding:8px 15px; border:1px solid rgba(255,255,255,.13); border-radius:999px; background:#17151f; color:#d9d4de; font-size:14px; font-weight:700; text-decoration:none; white-space:nowrap; transition:background .2s ease,border-color .2s ease,color .2s ease; }
.portal-free-games__category-scroll a:hover,.portal-free-games__category-scroll a.is-active { border-color:rgba(255,173,0,.72); background:rgba(255,173,0,.14); color:#ffbd43; }
.portal-free-games__top-track { display:grid; grid-auto-columns:minmax(150px,1fr); grid-auto-flow:column; gap:14px; overflow-x:auto; padding:1px 1px 12px; overscroll-behavior-x:contain; -ms-overflow-style:none; scrollbar-width:none; }
.portal-free-games__top-track::-webkit-scrollbar { display:none; }
.portal-free-games__top-card { min-width:150px; }
.portal-free-games__top-card .portal-game-card { height:205px; }
.portal-free-games__directory { padding:28px; border:1px solid rgba(255,255,255,.1); border-radius:18px; background:#141219; }
.portal-free-games__directory-header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; padding-bottom:17px; border-bottom:1px solid rgba(255,255,255,.1); }
.portal-free-games__directory-header .portal-free-games__eyebrow { margin-bottom:5px; }
.portal-free-games__sort { position:relative; min-width:220px; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:#191720; color:#aea7b3; box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.portal-free-games__sort summary { display:flex; min-height:46px; align-items:center; justify-content:space-between; gap:14px; padding:0 13px; color:#b9b2bd; cursor:pointer; list-style:none; user-select:none; }
.portal-free-games__sort summary::-webkit-details-marker { display:none; }
.portal-free-games__sort summary span { font-size:13px; font-weight:750; white-space:nowrap; }
.portal-free-games__sort summary strong { display:flex; align-items:center; gap:12px; color:#fff; font-size:14px; font-weight:800; white-space:nowrap; }
.portal-free-games__sort summary strong:after { width:8px; height:8px; border-right:2px solid #ffad00; border-bottom:2px solid #ffad00; content:""; transform:rotate(45deg) translateY(-2px); transition:transform .2s ease; }
.portal-free-games__sort[open] { border-color:rgba(255,173,0,.65); border-radius:12px 12px 0 0; box-shadow:0 0 0 3px rgba(255,173,0,.1); }
.portal-free-games__sort[open] summary strong:after { transform:rotate(225deg) translate(-1px,-2px); }
.portal-free-games__sort-menu { position:absolute; z-index:20; top:calc(100% + 7px); right:0; left:0; display:grid; gap:3px; padding:6px; border:1px solid rgba(255,173,0,.42); border-radius:12px; background:#211d28; box-shadow:0 16px 32px rgba(0,0,0,.36); }
.portal-free-games__sort-menu button { width:100%; padding:11px 12px; border:0; border-radius:8px; background:transparent; color:#e9e4eb; font:inherit; font-size:14px; font-weight:700; text-align:left; cursor:pointer; transition:background .18s ease,color .18s ease; }
.portal-free-games__sort-menu button:hover,.portal-free-games__sort-menu button[aria-checked="true"] { background:rgba(255,173,0,.16); color:#ffbd43; }
.portal-free-games__sort-menu button:focus-visible { outline:2px solid #ffad00; outline-offset:-2px; }
.portal-free-games__grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.portal-free-games__grid .portal-game-card { height:220px; }
.portal-free-games__empty { margin:0; padding:45px 20px; border:1px dashed rgba(255,255,255,.18); border-radius:12px; color:#bcb5c2; text-align:center; }
.portal-free-games__pagination { margin-top:28px; }
.portal-free-games__pagination .page-numbers { display:flex; align-items:center; justify-content:flex-end; gap:7px; padding:0; margin:0; list-style:none; }
.portal-free-games__pagination a,.portal-free-games__pagination span { display:inline-grid; min-width:35px; height:35px; place-items:center; padding:0 9px; border:1px solid transparent; border-radius:50%; color:#ffab32; font-size:14px; font-weight:750; text-decoration:none; }
.portal-free-games__pagination a:hover { border-color:rgba(255,173,0,.5); background:rgba(255,173,0,.15); color:#ffd080; }
.portal-free-games__pagination .current { background:#ff9b19; color:#271606; }
.portal-free-games__faq { padding:28px; border:1px solid rgba(255,255,255,.1); border-radius:18px; background:#141219; }
.portal-free-games__faq details { border-top:1px solid rgba(255,255,255,.1); }
.portal-free-games__faq details:last-child { border-bottom:1px solid rgba(255,255,255,.1); }
.portal-free-games__faq summary { position:relative; padding:17px 34px 17px 0; color:#f7f5fa; font-size:16px; font-weight:750; cursor:pointer; list-style:none; }
.portal-free-games__faq summary::-webkit-details-marker { display:none; }
.portal-free-games__faq summary:after { position:absolute; right:4px; top:15px; color:#ffad00; content:"+"; font-size:23px; font-weight:400; }
.portal-free-games__faq details[open] summary:after { content:"−"; }
.portal-free-games__faq p { max-width:830px; margin:0 0 18px; color:#aaa5b2; font-size:15px; line-height:1.65; }
body.portal-light-theme .portal-free-games,body.light-theme .portal-free-games { background:#f5f3f6; }
body.portal-light-theme .portal-free-games__hero,body.light-theme .portal-free-games__hero { border-color:#ded9e1; background:radial-gradient(circle at 82% 15%,rgba(255,138,0,.22),transparent 29%),linear-gradient(120deg,#fffaf4,#f8f3f0 55%,#eef5fa); }
body.portal-light-theme .portal-free-games__hero h1,body.light-theme .portal-free-games__hero h1,body.portal-light-theme .portal-free-games__section-heading h2,body.light-theme .portal-free-games__section-heading h2,body.portal-light-theme .portal-free-games__directory h2,body.light-theme .portal-free-games__directory h2,body.portal-light-theme .portal-free-games__faq summary,body.light-theme .portal-free-games__faq summary { color:#28232d; }
body.portal-light-theme .portal-free-games__hero > p:not(.portal-free-games__eyebrow),body.light-theme .portal-free-games__hero > p:not(.portal-free-games__eyebrow) { color:#645e68; }
body.portal-light-theme .portal-free-games__directory,body.light-theme .portal-free-games__directory,body.portal-light-theme .portal-free-games__faq,body.light-theme .portal-free-games__faq { border-color:#ded9e1; background:#fff; }
body.portal-light-theme .portal-free-games__directory-header,body.light-theme .portal-free-games__directory-header,body.portal-light-theme .portal-free-games__faq details,body.light-theme .portal-free-games__faq details { border-color:#e4e0e6; }
body.portal-light-theme .portal-free-games__category-scroll a,body.light-theme .portal-free-games__category-scroll a { border-color:#ded9e1; background:#fff; color:#3e3845; }
body.portal-light-theme .portal-free-games__scroll-button,body.light-theme .portal-free-games__scroll-button { border-color:#ded9e1; background:#fff; color:#d87800; }
body.portal-light-theme .portal-free-games__sort,body.light-theme .portal-free-games__sort { border-color:#ded9e1; background:#fff; color:#625b68; }
body.portal-light-theme .portal-free-games__sort summary strong,body.light-theme .portal-free-games__sort summary strong { color:#38313f; }
body.portal-light-theme .portal-free-games__sort-menu,body.light-theme .portal-free-games__sort-menu { border-color:#f0a23a; background:#fff; box-shadow:0 16px 32px rgba(38,34,45,.16); }
body.portal-light-theme .portal-free-games__sort-menu button,body.light-theme .portal-free-games__sort-menu button { color:#433c49; }
body.portal-light-theme .portal-free-games__faq p,body.light-theme .portal-free-games__faq p { color:#625b68; }
@media (max-width:1100px) { .portal-free-games__grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (max-width:820px) { .portal-free-games { padding:22px 14px 48px; } .portal-free-games__hero { padding:34px 24px; border-radius:16px; } .portal-free-games__directory,.portal-free-games__faq { padding:21px; border-radius:15px; } .portal-free-games__grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .portal-free-games__grid .portal-game-card { height:200px; } }
@media (max-width:600px) { .portal-free-games__hero h1 { font-size:33px; white-space:normal; } .portal-free-games__hero > p:not(.portal-free-games__eyebrow) { font-size:15px; } .portal-free-games__directory-header { align-items:flex-start; flex-direction:column; } .portal-free-games__sort { width:100%; } .portal-free-games__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .portal-free-games__grid .portal-game-card { height:230px; } .portal-free-games__top-card .portal-game-card { height:195px; } .portal-free-games__pagination .page-numbers { justify-content:center; } }
