/*
Theme Name: TorrentX Portal
Theme URI: https://example.com/torrentx
Author: Logan
Author URI: https://example.com
Description: Ultra-fast single page portal theme. Dark X hero with a search box that redirects to any URL you set, plus 9 fully editable icon link circles. Everything (logo, title, menus, every word of the homepage) is editable from Appearance > Customize.
Version: 1.1.0
Requires at least: 5.5
Tested up to: 6.6
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: torrentx
Tags: one-column, custom-logo, custom-menu, custom-colors, full-width-template
*/

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:#1f1f1f;
  color:#e8e8e8;
  font-family:'Oswald','Arial Narrow',Arial,sans-serif;
  font-weight:300;
  font-size:17px;
  line-height:1.5;
}
a{color:var(--tx-accent,#e04916);text-decoration:none}
a:hover{color:#fff}
img{max-width:100%;height:auto;display:block}
.tx-wrap{max-width:1210px;margin:0 auto;padding:0 15px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ---------- Top bar ---------- */
.tx-topbar{background:#000;border-bottom:3px solid var(--tx-accent,#e04916)}
.tx-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 18px;min-height:54px;flex-wrap:wrap}
.tx-menu,.tx-menu ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;flex-wrap:wrap}
.tx-menu li{position:relative}
.tx-menu li + li::before{content:"";display:inline-block;width:1px;height:16px;background:#4a4a4a;margin:0 4px;vertical-align:middle}
.tx-menu a{
  display:inline-block;padding:16px 14px;color:#fff;
  font-size:19px;text-transform:uppercase;letter-spacing:.3px;font-weight:400;
}
.tx-menu a:hover{color:var(--tx-accent,#e04916)}
.tx-menu .current-menu-item > a,.tx-menu li:first-child > a{color:#8ec127}
.tx-auth{display:flex;align-items:center}
.tx-auth a{display:inline-block;padding:16px 14px;color:#fff;font-size:19px;text-transform:uppercase}
.tx-auth a:last-child{color:var(--tx-accent,#e04916)}
.tx-auth a:last-child:hover{color:#fff}
.tx-auth span.sep{color:#4a4a4a}

/* mobile menu toggle */
.tx-toggle{display:none;background:none;border:1px solid #444;color:#fff;padding:8px 12px;font:inherit;text-transform:uppercase;cursor:pointer}

/* ---------- Hero ---------- */
.tx-hero{
  position:relative;
  background:#242424 var(--tx-hero-image,none) center center/cover no-repeat;
  padding:60px 0 40px;
  overflow:hidden;
  text-align:center;
}
.tx-hero::before,.tx-hero::after{
  content:"";position:absolute;top:-40%;left:50%;width:26%;height:190%;
  background:linear-gradient(180deg,rgba(224,73,22,.42),rgba(224,73,22,.18));
  pointer-events:none;
}
.tx-hero::before{transform:translateX(-50%) rotate(28deg)}
.tx-hero::after{transform:translateX(-50%) rotate(-28deg)}
.tx-hero > .tx-wrap{position:relative;z-index:2}
.tx-logo{margin:0 0 40px;line-height:1;font-weight:300}
.tx-logo a{color:#fff;font-size:clamp(70px,13vw,150px);letter-spacing:-2px;display:inline-block}
.tx-logo a:hover{color:#fff}
.tx-logo .tx-logo-accent{color:var(--tx-accent,#e04916)}
.tx-logo img{margin:0 auto;max-height:170px;width:auto}
.tx-tagline{margin:-24px 0 34px;color:#cfcfcf;font-size:20px}

/* ---------- Search ---------- */
.tx-search{max-width:1040px;margin:0 auto;display:flex}
.tx-search input[type=text]{
  flex:1 1 auto;min-width:0;background:#0b0b0b;border:1px solid #000;color:#fff;
  font-family:inherit;font-size:22px;font-weight:300;padding:18px 22px;outline:none;
}
.tx-search input[type=text]::placeholder{color:#8a8a8a}
.tx-search button{
  flex:0 0 auto;background:var(--tx-accent,#e04916);border:0;color:#fff;cursor:pointer;
  font-family:inherit;font-size:23px;font-weight:400;text-transform:uppercase;
  padding:0 34px;display:flex;align-items:center;gap:12px;letter-spacing:.5px;
}
.tx-search button:hover{background:#c33f12}
.tx-search svg{width:22px;height:22px;fill:#fff}

/* ---------- Notice ---------- */
.tx-notice{max-width:1210px;margin:70px auto 0}
.tx-notice-head{
  background:var(--tx-accent,#e04916);color:#fff;padding:16px 30px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.tx-notice-head h2{margin:0;font-size:24px;font-weight:400}
.tx-notice-time{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:300}
.tx-notice-time svg{width:20px;height:20px;fill:#fff;opacity:.95}
.tx-notice-body{background:#3a3a3a;color:#efefef;padding:20px 30px;font-size:20px}
.tx-notice-body a{font-weight:400}

/* ---------- Category circles ---------- */
.tx-cats{padding:70px 0 60px}
.tx-cats-grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;
}
.tx-cat{width:118px;text-align:center}
.tx-cat-icon{
  position:relative;width:110px;height:110px;margin:0 auto 16px;border-radius:50%;
  background:var(--tx-accent,#e04916);display:flex;align-items:center;justify-content:center;
  overflow:hidden;transition:transform .15s ease,background .15s ease;
}
.tx-cat-icon::after{
  content:"";position:absolute;top:-30%;left:-10%;width:70%;height:170%;
  background:rgba(255,255,255,.09);transform:rotate(24deg);
}
.tx-cat a:hover .tx-cat-icon{transform:translateY(-4px);background:#c33f12}
.tx-cat-icon i{font-size:44px;color:#fff;position:relative;z-index:2;font-style:normal}
.tx-cat-icon img{width:52px;height:52px;object-fit:contain;position:relative;z-index:2}
.tx-cat-label{display:block;color:var(--tx-accent,#e04916);font-size:22px;text-transform:uppercase;line-height:1.15}
.tx-cat a:hover .tx-cat-label{color:#fff}
.tx-cat-sub{display:inline-block;margin-top:4px;color:#8ec127;font-size:19px}
.tx-cat-sub:hover{color:#fff}

/* ---------- Back to top ---------- */
.tx-top{display:flex;justify-content:center;margin-bottom:-22px;position:relative;z-index:3}
.tx-top a{
  width:52px;height:52px;border-radius:50%;background:#3a3a3a;color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.tx-top a:hover{background:var(--tx-accent,#e04916)}
.tx-top svg{width:20px;height:20px;fill:#fff}

/* ---------- Footer ---------- */
.tx-footer{background:#111;padding:26px 15px 30px;text-align:center}
.tx-footer .tx-menu{justify-content:center}
.tx-footer .tx-menu li + li::before{display:none}
.tx-footer .tx-menu a{color:#9d9d9d;font-size:21px;padding:8px 14px;text-transform:uppercase}
.tx-footer .tx-menu a:hover,.tx-footer .tx-menu .current-menu-item > a{color:#fff}
.tx-copy{margin:10px 0 0;color:#e6e6e6;font-size:19px}

/* ---------- Inner pages ---------- */
.tx-page{padding:50px 0 70px}
.tx-page-title{font-size:40px;font-weight:400;color:#fff;margin:0 0 22px}
.tx-content{font-size:19px;color:#dcdcdc}
.tx-content h1,.tx-content h2,.tx-content h3,.tx-content h4{color:#fff;font-weight:400}
.tx-content a{text-decoration:underline}
.tx-content ul,.tx-content ol{padding-left:22px}
.tx-content img{margin:16px 0}
.tx-list{list-style:none;padding:0;margin:0}
.tx-list li{border-bottom:1px solid #333;padding:14px 0}
.tx-list a{font-size:23px}

/* ---------- Homepage title + editable text block below the icon circles ---------- */
.tx-home-title{margin:8px 0 0;color:#e6e6e6;font-size:22px;text-align:center}
.tx-below{max-width:1000px;margin:34px auto 0;text-align:center;color:#cfcfcf;font-size:19px;line-height:1.6}
.tx-below-title{color:#fff;font-weight:400;font-size:30px;margin:0 0 12px}
.tx-below-text p{margin:0 0 12px}
.tx-below-text a{color:var(--tx-accent)}

/* ---------- Contact form ---------- */
.tx-narrow{max-width:760px}
.tx-form{margin-top:26px}
.tx-field{margin-bottom:18px;text-align:left}
.tx-field label{display:block;color:#e6e6e6;font-size:18px;margin-bottom:6px}
.tx-form input[type=text],.tx-form input[type=email],.tx-form input[type=url],.tx-form select,.tx-form textarea{
  width:100%;background:#1b1b1b;border:1px solid #3a3a3a;color:#fff;font:inherit;font-size:18px;padding:12px 14px;border-radius:3px
}
.tx-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#999 50%),linear-gradient(135deg,#999 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.tx-form input:focus,.tx-form select:focus,.tx-form textarea:focus{outline:none;border-color:var(--tx-accent)}
.tx-btn{background:var(--tx-accent);color:#fff;border:0;font:inherit;font-size:20px;text-transform:uppercase;padding:13px 30px;border-radius:3px;cursor:pointer}
.tx-btn:hover{filter:brightness(1.1)}
.tx-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tx-form-note{color:#9d9d9d;font-size:16px}
.tx-alert{padding:14px 16px;border-radius:3px;font-size:18px;margin:20px 0}
.tx-alert-ok{background:#14351c;border:1px solid #2f7a41;color:#a9e6b8}
.tx-alert-err{background:#3a1616;border:1px solid #8b2b2b;color:#f2b8b8}
.tx-alert p{margin:0 0 6px}
.tx-alert p:last-child{margin:0}
@media (max-width:600px){
  .tx-below{font-size:18px}
  .tx-btn{width:100%}
}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .tx-notice-body,.tx-notice-head{padding-left:18px;padding-right:18px}
  .tx-search input[type=text]{font-size:18px;padding:14px 16px}
  .tx-search button{font-size:18px;padding:0 20px}
  .tx-cat{width:104px}
  .tx-cat-icon{width:92px;height:92px}
  .tx-cat-icon i{font-size:36px}
  .tx-cat-label{font-size:18px}
}
@media (max-width:782px){
  .tx-toggle{display:inline-block}
  .tx-topbar-inner{justify-content:space-between}
  .tx-nav{display:none;flex-basis:100%}
  .tx-nav.is-open{display:block}
  .tx-nav .tx-menu{flex-direction:column;align-items:flex-start;padding-bottom:10px}
  .tx-nav .tx-menu li + li::before{display:none}
  .tx-hero{padding:40px 0 30px}
  .tx-notice{margin-top:40px}
  .tx-cats{padding:44px 0 36px}
}
