/*
Theme Name: Sub2me
Theme URI: https://sub2me.com
Author: XIM JSC
Description: App & game review theme for sub2me.com. Custom post type "app" with REST-enabled meta fields for automated publishing via n8n, plus full manual editing via meta boxes.
Version: 1.7.15
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: sub2me
*/

/* Manrope — variable weight files (one file covers 500–800) */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/manrope-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/manrope-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/manrope-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/manrope-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/manrope-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/manrope-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body { margin:0; background:#e9edf3; font-family:'Manrope',system-ui,-apple-system,sans-serif; }
::-webkit-scrollbar { height:8px; }
::-webkit-scrollbar-thumb { background:#c6d2e2; border-radius:4px; }

*{box-sizing:border-box}
a,button{transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}
img{max-width:100%}
.desktop-only{display:block}
.mobile-only{display:none}
.mobile-menu{display:none}
body.menu-open .mobile-menu{display:block}
button[disabled]{opacity:.65;cursor:not-allowed!important}
@media (max-width:899px){
  .desktop-only{display:none!important}
  .mobile-only{display:block!important}
}
@media (min-width:900px){
  .mobile-only{display:none!important}
}

/* Search bar (toggled by the header search icon) */
.s2m-search-bar{display:none;background:#fff;border-top:1px solid #e8eef6}
body.search-open .s2m-search-bar{display:block}
.s2m-search-bar form{max-width:1240px;margin:0 auto;padding:12px clamp(16px,3.5vw,40px);display:flex;gap:10px}
.s2m-search-bar input[type=search]{flex:1;border:1px solid #dde5ef;border-radius:999px;padding:11px 20px;font:inherit;font-size:15px;font-weight:600;color:#16243d;outline:none}
.s2m-search-bar input[type=search]:focus{border-color:#1d6ff2}
.s2m-search-bar button{border:none;background:#1d6ff2;color:#fff;font:inherit;font-size:14px;font-weight:800;padding:11px 24px;border-radius:999px;cursor:pointer}
.s2m-search-toggle{background:none;border:none;padding:0;cursor:pointer}

/* WordPress pagination links reuse the pill styling */
.s2m-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:8px;flex-wrap:wrap;font-size:14px;font-weight:800}
.s2m-pagination a,.s2m-pagination span{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.s2m-pagination .page-numbers{width:42px;height:42px;background:#fff;color:#16243d;border:1px solid #dde5ef;border-radius:50%}
.s2m-pagination .page-numbers.current{background:#1d6ff2;color:#fff;border-color:#1d6ff2}
.s2m-pagination .page-numbers.dots{border:none;background:none}
.s2m-pagination .page-numbers.prev,.s2m-pagination .page-numbers.next{width:auto;height:auto;padding:10px 18px;border-radius:999px;gap:6px}

/* Post content inside the review article */
.s2m-entry{display:flex;flex-direction:column;gap:14px;font-size:16px;line-height:1.7;color:#3a4a61;font-weight:500}
.s2m-entry p{margin:0}
.s2m-entry h2{margin:14px 0 0;font-size:23px;font-weight:800;color:#16243d}
.s2m-entry h3{margin:10px 0 0;font-size:19px;font-weight:800;color:#16243d}
.s2m-entry ul,.s2m-entry ol{margin:0;padding-left:22px}
.s2m-entry img{border-radius:14px}
.s2m-entry a{color:#1d6ff2}

/* Category cards on /categories/ — hover animation (v1.6) */
.s2m-cat-card{transition:transform .22s ease, box-shadow .22s ease, background .22s ease}
.s2m-cat-card .s2m-cat-tile{transition:transform .22s ease}
.s2m-cat-card .s2m-cat-mark{transition:opacity .22s ease, transform .3s ease}
.s2m-cat-card:hover{transform:translateY(-4px); background:#e2ecfb; box-shadow:0 12px 26px rgba(29,111,242,0.18)}
.s2m-cat-card:hover .s2m-cat-tile{transform:scale(1.08) rotate(-4deg)}
.s2m-cat-card:hover .s2m-cat-mark{opacity:0.24; transform:translateX(-4px)}
@media (prefers-reduced-motion: reduce){
  .s2m-cat-card, .s2m-cat-card .s2m-cat-tile, .s2m-cat-card .s2m-cat-mark{transition:none}
  .s2m-cat-card:hover{transform:none}
}

/* Compact category chips on the homepage (v1.7.8) — lift only, keep group color */
.s2m-cat-chip{transition:transform .22s ease, box-shadow .22s ease}
.s2m-cat-chip .s2m-cat-tile{transition:transform .22s ease}
.s2m-cat-chip:hover{transform:translateY(-3px); box-shadow:0 10px 20px rgba(22,36,61,0.14)}
.s2m-cat-chip:hover .s2m-cat-tile{transform:scale(1.1) rotate(-4deg)}
@media (prefers-reduced-motion: reduce){
  .s2m-cat-chip, .s2m-cat-chip .s2m-cat-tile{transition:none}
  .s2m-cat-chip:hover{transform:none}
}

/* Hero slider on the homepage (v1.7.12) */
.s2m-hero-slider{position:relative;margin-top:24px}
.s2m-hero-slider .s2m-hero-track{display:flex;align-items:stretch;transition:transform .5s ease;border-radius:22px}
.s2m-hero-slider .s2m-hero-slide{flex:0 0 100%;min-width:0;display:flex;flex-direction:column}
.s2m-hero-slide>.desktop-only,.s2m-hero-slide>.mobile-only{flex:1;display:flex;flex-direction:column}
.s2m-hero-slide>.desktop-only>div,.s2m-hero-slide>.mobile-only>div{flex:1}
.s2m-hero-viewport{overflow:hidden;border-radius:22px;position:relative}
.s2m-hero-dots{display:flex;justify-content:center;gap:8px;padding-top:12px}
.s2m-hero-dots button{width:9px;height:9px;border-radius:50%;border:none;padding:0;background:#1d6ff2;opacity:0.35;cursor:pointer;transition:opacity .2s ease,transform .2s ease}
.s2m-hero-dots button.is-active{opacity:1;transform:scale(1.25)}
@media (prefers-reduced-motion: reduce){
  .s2m-hero-slider .s2m-hero-track{transition:none}
}

/* Homepage category boxes: fixed height, scroll inside each box (v1.7.9) */
.s2m-cat-scroll{height:232px;overflow-y:auto;align-content:flex-start;padding-right:6px;scrollbar-width:thin;scrollbar-color:#c6d2e2 transparent}
.s2m-cat-scroll::-webkit-scrollbar{width:6px}
.s2m-cat-scroll::-webkit-scrollbar-thumb{background:#c6d2e2;border-radius:3px}
.s2m-cat-scroll::-webkit-scrollbar-track{background:transparent}
