
/* ==============================
   ROOT
   ============================== */
:root {
    --primary: #E60012;
    --primary-dark: #c10010;
    --black: #111111;
    --white: #ffffff;
    --text: #2b2b2b;
    --gray: #777777;
    --light: #f5f5f5;
    --border: #ececec;
    --shadow: 0 8px 30px rgba(0, 0, 0, .08);
    --radius: 14px;
    --transition: .35s ease;
    --container: 1280px;
}

/* ==============================
   RESET
   ============================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    background: var(--light);
    color: var(--text);
    overflow-x: hidden;
    line-height: 1.6;
}

img {
    width: 100%;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    border: none;
    outline: none;
    cursor: pointer;
    background: none;
}

ul {
    list-style: none;
}

/* ==============================
   CONTAINER
   ============================== */
.container {
    width: 100%;
    max-width: var(--container);
    margin: auto;
    padding-inline: 24px;
}

/* ==============================
   BREAKING NEWS
   ============================== */
.breaking-news {
    background: var(--primary);
    color: #fff;
    height: 42px;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.breaking-news .container {
    display: flex;
    align-items: center;
}

.breaking-title {
    background: #990000;
    padding: 0 18px;
    height: 42px;
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .5px;
    white-space: nowrap;
}

.breaking-wrapper {
    overflow: hidden;
    flex: 1;
    position: relative;
}

.breaking-content {
    display: inline-block;
    white-space: nowrap;
    padding-left: 100%;
    animation: ticker 25s linear infinite;
    font-size: 14px;
}

@keyframes ticker {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}


/* ==============================
   HEADER
   ============================== */
header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: #fff;
    box-shadow: var(--shadow);
    transition: all .3s ease;
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 84px;
}

/* HEADER SHRINK */
header.shrink {
    box-shadow: 0 10px 25px rgba(0, 0, 0, .08);
}

header.shrink .container {
    height: 68px;
}

/* LOGO */
.logo {
    display: flex;
    align-items: center;
    gap: 14px;
}

.logo-circle {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: var(--primary);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 26px;
    font-weight: 800;
    transition: .3s;
}

header.shrink .logo-circle {
    width: 46px;
    height: 46px;
    font-size: 22px;
}

.logo-text {
    display: flex;
    flex-direction: column;
    font-size: 28px;
    font-weight: 800;
    color: var(--black);
}

.logo-text span {
    color: var(--primary);
}

.logo-text small {
    margin-top: -6px;
    color: #777;
    font-size: 11px;
    letter-spacing: 2px;
}

/* NAVIGATION */
nav > ul {
    display: flex;
    gap: 35px;
    align-items: center;
}

nav > ul > li {
    position: relative;
}

nav > ul > li > a {
    display: flex;
    align-items: center;
    height: 84px;
    font-weight: 600;
    color: #222;
    transition: var(--transition);
}

nav > ul > li > a:hover {
    color: var(--primary);
}

/* MEGA MENU */
.mega-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    width: 900px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .12);
    padding: 35px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}

.mega-parent:hover .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.mega-column h3 {
    font-size: 17px;
    color: var(--primary);
    margin-bottom: 15px;
}

.mega-column a {
    display: block;
    padding: 10px 0;
    color: #555;
    transition: .25s;
}

.mega-column a:hover {
    color: var(--primary);
    padding-left: 8px;
}

/* HEADER RIGHT */
.header-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.search-btn,
.dark-btn,
.menu-btn,
.close-menu {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #f3f3f3;
    font-size: 18px;
    transition: .3s;
}

.search-btn:hover,
.dark-btn:hover,
.menu-btn:hover,
.close-menu:hover {
    background: var(--primary);
    color: #fff;
}

/* MOBILE BUTTON */
.menu-btn,
.close-menu {
    display: none;
}

/* ACTIVE MENU */
nav > ul > li > a.active {
    color: var(--primary);
    position: relative;
}

nav > ul > li > a.active::after {
    content: "";
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--primary);
    border-radius: 10px;
}

/* ==============================
   SECTION SPACING
   ============================== */
section {
    padding: 80px 0;
}

/* ==============================
   OVERLAY
   ============================== */
.overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    transition: .35s;
    z-index: 998;
}

.overlay.active {
    opacity: 1;
    visibility: visible;
}

/* ==============================
   SEARCH POPUP
   ============================== */
.search-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transform: scale(.98);
    transition: .35s;
    z-index: 9999;
}

.search-popup.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.search-close {
    position: absolute;
    top: 40px;
    right: 40px;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: #f3f3f3;
    font-size: 22px;
    transition: .3s;
}

.search-close:hover {
    background: var(--primary);
    color: #fff;
}

.search-box {
    width: 90%;
    max-width: 800px;
}

.search-box h2 {
    text-align: center;
    font-size: 42px;
    margin-bottom: 35px;
}

.search-box input {
    width: 100%;
    height: 72px;
    border: none;
    border-radius: 16px;
    background: #f4f4f4;
    padding: 0 30px;
    font-size: 22px;
    outline: none;
    transition: .3s;
}

.search-box input:focus {
    background: #fff;
    box-shadow: 0 0 0 3px rgba(230, 0, 18, .15);
}

.trending-search {
    margin-top: 35px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.trending-search span {
    width: 100%;
    text-align: center;
    font-weight: 700;
    margin-bottom: 10px;
}

.trending-search a {
    background: #f3f3f3;
    padding: 12px 18px;
    border-radius: 50px;
    transition: .3s;
}

.trending-search a:hover {
    background: var(--primary);
    color: #fff;
}

/* ==============================
   HERO
   ============================== */
.hero {
    background: linear-gradient(135deg, #ffffff, #f6f6f6);
    padding: 100px 0;
}

.hero .container {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    align-items: center;
    gap: 60px;
}

.hero-left {
    animation: fadeUp .8s ease;
}

.hero-right {
    animation: fadeLeft .8s ease;
}

.hero-right img {
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .15);
}

/* ==============================
   BADGE
   ============================== */
.badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(230, 0, 18, .08);
    color: var(--primary);
    padding: 8px 16px;
    border-radius: 40px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 20px;
}

/* ==============================
   HERO TEXT
   ============================== */
.hero h1 {
    font-size: 58px;
    line-height: 1.15;
    font-weight: 800;
    color: var(--black);
    margin-bottom: 25px;
}

.hero p {
    color: #666;
    font-size: 19px;
    line-height: 1.8;
    margin-bottom: 35px;
}

/* ==============================
   BUTTON
   ============================== */
.hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--primary);
    color: #fff;
    padding: 18px 34px;
    border-radius: 50px;
    font-weight: 700;
    transition: .3s;
    box-shadow: 0 10px 25px rgba(230, 0, 18, .25);
}

.hero-button:hover {
    background: var(--primary-dark);
    transform: translateY(-4px);
    box-shadow: 0 18px 35px rgba(230, 0, 18, .35);
}

/* ==============================
   UTILITY
   ============================== */
.text-center { text-align: center; }
.mt-20 { margin-top: 20px; }
.mt-40 { margin-top: 40px; }
.mb-20 { margin-bottom: 20px; }
.mb-40 { margin-bottom: 40px; }


/*==============================
GLASS CARD
==============================*/

.glass{

    background:rgba(255,255,255,.7);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.4);

    border-radius:18px;

}


/*==============================
DARK MODE
==============================*/

body.dark{

    background:#111;

    color:#fff;

}

body.dark header{

    background:#181818;

}

body.dark nav{

    background:#181818;

}

body.dark .search-popup{

    background:#111;

}

body.dark .hero{

    background:#111;

}

body.dark .hero h1{

    color:#fff;

}

body.dark .hero p{

    color:#cfcfcf;

}

body.dark .search-box input{

    background:#222;

    color:#fff;

}

body.dark .search-btn,
body.dark .dark-btn,
body.dark .menu-btn,
body.dark .close-menu{

    background:#252525;

    color:#fff;

}

body.dark .mega-menu{

    background:#1d1d1d;

}

body.dark .mega-column a{

    color:#ddd;

}

body.dark .mega-column a:hover{

    color:var(--primary);

}


/*==============================
ANIMATION
==============================*/

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes fadeLeft{

    from{

        opacity:0;

        transform:translateX(50px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}


/*==============================
CUSTOM SCROLLBAR
==============================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#efefef;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--primary-dark);

}

/* ===========================================================
   PINTUPLAYGO NEWS
   STYLE.CSS
   PART 3 (FINAL)
===========================================================*/


/*=========================================
HERO IMAGE
=========================================*/

.hero-right{

    position:relative;

}

.hero-right img{

    width:100%;

    border-radius:24px;

    transition:.4s;

}

.hero-right:hover img{

    transform:scale(1.03);

}


/*=========================================
HEADER BUTTON EFFECT
=========================================*/

.search-btn,
.dark-btn,
.menu-btn{

    display:flex;

    align-items:center;

    justify-content:center;

}

.search-btn:hover,
.dark-btn:hover,
.menu-btn:hover{

    transform:translateY(-3px);

}


/*=========================================
LINK HOVER
=========================================*/

nav ul li{

    position:relative;

}

nav ul li>a::after{

    content:"";

    position:absolute;

    bottom:18px;

    left:50%;

    width:0;

    height:3px;

    border-radius:20px;

    background:var(--primary);

    transition:.3s;

    transform:translateX(-50%);

}

nav ul li>a:hover::after{

    width:100%;

}


/*=========================================
HEADER SHADOW
=========================================*/

header{

    transition:.35s;

}

header.shrink{

    backdrop-filter:blur(15px);

    background:rgba(255,255,255,.95);

}

body.dark header.shrink{

    background:rgba(20,20,20,.96);

}


/*=========================================
MOBILE MENU
=========================================*/

@media(max-width:991px){

.menu-btn{

display:flex;

}

.close-menu{

display:flex;

position:absolute;

top:20px;

right:20px;

width:48px;

height:48px;

justify-content:center;

align-items:center;

font-size:22px;

border-radius:50%;

background:#f3f3f3;

}

nav{

position:fixed;

top:0;

right:-100%;

width:320px;

height:100vh;

background:#fff;

transition:.35s;

z-index:9999;

padding-top:90px;

overflow:auto;

box-shadow:-10px 0 40px rgba(0,0,0,.12);

}

body.dark nav{

background:#181818;

}

nav.active{

right:0;

}

nav ul{

display:flex;

flex-direction:column;

gap:0;

}

nav ul li{

width:100%;

}

nav ul li a{

display:block;

padding:18px 35px;

height:auto;

border-bottom:1px solid rgba(0,0,0,.06);

}

body.dark nav ul li a{

border-color:#2f2f2f;

}

.mega-menu{

position:relative;

left:0;

top:0;

transform:none;

opacity:1;

visibility:visible;

display:none;

width:100%;

box-shadow:none;

border-radius:0;

padding:10px 35px 20px;

grid-template-columns:1fr;

background:#fafafa;

}

body.dark .mega-menu{

background:#1d1d1d;

}

.mega-parent.active .mega-menu{

display:grid;

}

.hero .container{

grid-template-columns:1fr;

text-align:center;

}

.hero{

padding:70px 0;

}

.hero h1{

font-size:42px;

}

.hero p{

font-size:17px;

}

.hero-button{

margin:auto;

}

.search-box h2{

font-size:32px;

}

.search-box input{

height:60px;

font-size:18px;

}

}


/*=========================================
TABLET
=========================================*/

@media(max-width:768px){

.container{

padding-inline:18px;

}

.logo-text{

font-size:24px;

}

.logo-circle{

width:48px;

height:48px;

font-size:22px;

}

.breaking-news{

height:38px;

}

.breaking-title{

height:38px;

font-size:12px;

padding:0 12px;

}

.breaking-content{

font-size:13px;

}

.hero h1{

font-size:36px;

}

.hero p{

font-size:16px;

}

.hero-button{

padding:16px 28px;

}

}


/*=========================================
PHONE
=========================================*/

@media(max-width:576px){

header .container{

height:70px;

}

.logo-circle{

width:42px;

height:42px;

font-size:18px;

}

.logo-text{

font-size:20px;

}

.logo-text small{

font-size:10px;

}

.hero{

padding:50px 0;

}

.hero h1{

font-size:30px;

}

.hero p{

font-size:15px;

}

.hero-button{

width:100%;

justify-content:center;

}

nav{

width:100%;

}

.search-close{

top:20px;

right:20px;

width:46px;

height:46px;

}

.search-box{

width:92%;

}

.search-box h2{

font-size:28px;

}

.search-box input{

height:55px;

padding:0 18px;

font-size:16px;

}

.trending-search{

gap:10px;

}

.trending-search a{

font-size:13px;

padding:10px 14px;

}

}


/*=========================================
SMALL PHONE
=========================================*/

@media(max-width:390px){

.hero h1{

font-size:26px;

}

.hero p{

font-size:14px;

}

.logo-text{

font-size:18px;

}

.logo-circle{

width:38px;

height:38px;

font-size:16px;

}

}


/*=========================================
LOADING ANIMATION
=========================================*/

.fade-in{

opacity:0;

transform:translateY(30px);

transition:.6s;

}

.fade-in.show{

opacity:1;

transform:translateY(0);

}


/*=========================================
BUTTON EFFECT
=========================================*/

button{

transition:.3s;

}

button:active{

transform:scale(.95);

}


/*=========================================
IMAGE EFFECT
=========================================*/

img{

user-select:none;

-webkit-user-drag:none;

}


/*=========================================
SELECTION
=========================================*/

::selection{

background:var(--primary);

color:#fff;

}


/*=========================================
FOCUS
=========================================*/

a:focus,
button:focus,
input:focus{

outline:2px solid var(--primary);

outline-offset:3px;

}


/*=========================================
END
=========================================*/