/*
Theme Name: CFD Portal V2
Theme URI: https://cfd-portal.com
Author: CFD Portal
Description: Professional CFD Broker Review Theme
Version: 2.0
Text Domain: cfdportal
*/

/*========================
RESET
========================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:Arial,Helvetica,sans-serif;
font-size:16px;
line-height:1.8;
color:#222;
background:#f7f8fb;
}

img{
max-width:100%;
height:auto;
display:block;
}

a{
text-decoration:none;
transition:.3s;
color:inherit;
}

.container{
width:1280px;
max-width:95%;
margin:auto;
}

/*========================
HEADER
========================*/

.site-header{

background:#fff;

position:sticky;

top:0;

z-index:999;

box-shadow:0 2px 15px rgba(0,0,0,.05);

}

.header-wrap{

height:82px;

display:flex;

align-items:center;

justify-content:space-between;

}

.logo{

font-size:34px;

font-weight:800;

color:#111;

}

.logo span{

color:#0057d8;

}

.main-menu ul{

display:flex;

gap:35px;

list-style:none;

}

.main-menu a{

font-weight:600;

padding:8px 0;

}

.main-menu a:hover{

color:#0057d8;

}

/*========================
BUTTON
========================*/

.btn-primary{

display:inline-block;

background:#0057d8;

color:#fff;

padding:14px 34px;

border-radius:8px;

font-weight:700;

}

.btn-primary:hover{

background:#0045af;

}

/*========================
HOME HERO
========================*/

.hero-home{

padding:100px 0;

text-align:center;

background:#eef5ff;

}

.hero-home h1{

font-size:62px;

margin-bottom:20px;

}

.hero-home p{

font-size:22px;

color:#666;

max-width:760px;

margin:auto auto 35px;

}

/*========================
STATS
========================*/

.hero-stats{

display:flex;

justify-content:center;

gap:25px;

margin-top:50px;

flex-wrap:wrap;

}

.stat-box{

background:#fff;

padding:25px 35px;

border-radius:16px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

min-width:190px;

}

.stat-box h3{

font-size:40px;

color:#0057d8;

margin-bottom:10px;

}

.stat-box span{

color:#666;

}
/*=====================================
FEATURED BROKER
======================================*/

.featured-broker{
padding:90px 0;
background:#fff;
}

.featured-broker h2{
font-size:44px;
margin-bottom:45px;
text-align:center;
}

.featured-box{
display:grid;
grid-template-columns:220px 1fr;
gap:50px;
align-items:center;
background:#fff;
padding:50px;
border-radius:20px;
box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.featured-logo img{
width:170px;
margin:auto;
}

.featured-badge{
display:inline-block;
background:#ffd54f;
color:#111;
padding:8px 16px;
border-radius:30px;
font-size:14px;
font-weight:700;
margin-bottom:18px;
}

.featured-content h3{
font-size:42px;
margin-bottom:15px;
}

.featured-content p{
margin:20px 0 30px;
color:#666;
}


/*=====================================
TOP BROKERS
======================================*/

.top-brokers{
padding:90px 0;
}

.top-brokers h2{
font-size:42px;
margin-bottom:45px;
text-align:center;
}

.broker-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.broker-card{
background:#fff;
border-radius:18px;
padding:30px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.3s;
}

.broker-card:hover{
transform:translateY(-8px);
}

.broker-card img{
height:75px;
width:auto;
margin:auto auto 25px;
}

.broker-card h3{
font-size:28px;
margin-bottom:10px;
}

.rating{
font-size:20px;
color:#ff9800;
margin-bottom:18px;
font-weight:700;
}

.broker-card p{
font-size:14px;
color:#666;
margin-bottom:12px;
}

.read-review{
display:block;
margin-top:20px;
background:#0057d8;
color:#fff;
padding:14px;
border-radius:8px;
font-weight:700;
}

.read-review:hover{
background:#003fa8;
}


/*=====================================
LATEST REVIEW
======================================*/

.latest-reviews{
padding:90px 0;
background:#fff;
}

.latest-reviews h2{
font-size:42px;
margin-bottom:40px;
text-align:center;
}

.latest-item{
padding:30px;
margin-bottom:25px;
background:#fff;
border-radius:16px;
box-shadow:0 8px 25px rgba(0,0,0,.06);
}

.latest-item h3{
font-size:30px;
margin-bottom:15px;
}

.latest-item p{
margin-bottom:20px;
color:#666;
}


/*=====================================
ARCHIVE
======================================*/

.archive-hero{
padding:90px 0;
background:#eef5ff;
text-align:center;
}

.archive-hero h1{
font-size:56px;
margin-bottom:20px;
}

.archive-hero p{
font-size:20px;
color:#666;
}

.archive-list{
padding:90px 0;
}
/*=====================================
SINGLE BROKER
======================================*/

.broker-page{
padding:80px 0;
}

.broker-hero{
display:grid;
grid-template-columns:180px 1fr 260px;
gap:40px;
align-items:center;
margin-bottom:60px;
}

.broker-logo img{
width:160px;
margin:auto;
}

.broker-info h1{
font-size:48px;
line-height:1.2;
margin-bottom:12px;
}

.broker-rating{
font-size:24px;
color:#ff9800;
font-weight:700;
margin-bottom:18px;
}

.broker-desc{
font-size:18px;
color:#666;
margin-bottom:25px;
}

/*=====================================
SCORE CARD
======================================*/

.score-card{
background:#0057d8;
color:#fff;
padding:35px;
border-radius:18px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.score-card span{
display:block;
font-size:14px;
opacity:.8;
margin-bottom:10px;
}

.score-card h2{
font-size:64px;
margin-bottom:10px;
line-height:1;
}

.score-card p{
font-size:18px;
}

/*=====================================
LAYOUT
======================================*/

.broker-layout{
display:grid;
grid-template-columns:1fr 320px;
gap:45px;
align-items:start;
}

.broker-sidebar{
position:sticky;
top:100px;
}

.sticky-card{
background:#fff;
padding:30px;
border-radius:18px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.sticky-card h3{
font-size:28px;
margin-bottom:10px;
}

.sticky-card h2{
font-size:44px;
margin:20px 0;
}

/*=====================================
BROKER TABLE
======================================*/

.broker-table{
margin-bottom:50px;
}

.broker-table table{
width:100%;
background:#fff;
border-collapse:collapse;
border-radius:16px;
overflow:hidden;
box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.broker-table th{
width:260px;
background:#f5f8fd;
padding:18px;
text-align:left;
font-weight:700;
border-bottom:1px solid #eee;
}

.broker-table td{
padding:18px;
border-bottom:1px solid #eee;
}

/*=====================================
PROS CONS
======================================*/

.pros-cons{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
margin:60px 0;
}

.pros,
.cons{
padding:30px;
border-radius:16px;
}

.pros{
background:#eefbf2;
border:1px solid #d7efdf;
}

.cons{
background:#fff5f5;
border:1px solid #ffd8d8;
}

.pros h2,
.cons h2{
margin-bottom:20px;
font-size:28px;
}

.pros ul,
.cons ul{
padding-left:20px;
}

.pros li,
.cons li{
margin-bottom:12px;
list-style:disc;
}

/*=====================================
REVIEW CONTENT
======================================*/

.review-content{
font-size:18px;
line-height:1.9;
margin-top:60px;
}

.review-content h2{
font-size:36px;
margin:50px 0 20px;
padding-bottom:12px;
border-bottom:2px solid #eee;
}

.review-content h3{
font-size:28px;
margin:35px 0 15px;
}

.review-content p{
margin-bottom:20px;
}

.review-content ul{
margin:20px 0;
padding-left:25px;
}

.review-content li{
margin-bottom:12px;
}
/*=====================================
FOOTER
======================================*/

.site-footer{
background:#111;
color:#fff;
margin-top:100px;
}

.footer-wrap{
display:flex;
justify-content:space-between;
align-items:center;
padding:50px 0;
gap:20px;
}

.footer-wrap a{
color:#fff;
opacity:.85;
}

.footer-wrap a:hover{
opacity:1;
}

/*=====================================
COMPARISON TABLE
======================================*/

.comparison-section{
padding:80px 0;
}

.comparison-table{
width:100%;
border-collapse:collapse;
background:#fff;
border-radius:18px;
overflow:hidden;
box-shadow:0 10px 35px rgba(0,0,0,.08);
}

.comparison-table thead{
background:#0057d8;
color:#fff;
}

.comparison-table th{
padding:20px;
font-size:16px;
text-align:left;
font-weight:700;
}

.comparison-table td{
padding:20px;
border-bottom:1px solid #eee;
vertical-align:middle;
}

.comparison-table tr:last-child td{
border-bottom:none;
}

.comparison-table tr:hover{
background:#f7fbff;
}

.rank{
font-size:22px;
font-weight:700;
width:70px;
text-align:center;
}

.broker-cell{
display:flex;
align-items:center;
gap:15px;
}

.broker-cell img{
width:60px;
height:auto;
}

.score{
font-size:18px;
font-weight:700;
color:#ff9800;
}

.compare-btn{
display:inline-block;
padding:12px 22px;
background:#0057d8;
color:#fff;
border-radius:8px;
font-weight:700;
}

.compare-btn:hover{
background:#0044b0;
}

/*=====================================
PAGE CONTENT
======================================*/

.page-content{
padding:80px 0;
}

.page-content h1{
font-size:46px;
margin-bottom:25px;
}

.page-content p{
margin-bottom:20px;
}

/*=====================================
RESPONSIVE
======================================*/

@media(max-width:991px){

.container{
max-width:92%;
}

.header-wrap{
flex-direction:column;
height:auto;
padding:20px 0;
gap:20px;
}

.main-menu ul{
flex-direction:column;
gap:15px;
}

.hero-home{
padding:70px 0;
}

.hero-home h1{
font-size:40px;
}

.hero-home p{
font-size:18px;
}

.featured-box{
grid-template-columns:1fr;
text-align:center;
}

.broker-grid{
grid-template-columns:1fr;
}

.broker-hero{
grid-template-columns:1fr;
text-align:center;
}

.broker-layout{
grid-template-columns:1fr;
}

.broker-sidebar{
position:relative;
top:auto;
}

.pros-cons{
grid-template-columns:1fr;
}

.footer-wrap{
flex-direction:column;
text-align:center;
}

.comparison-table{
display:block;
overflow-x:auto;
white-space:nowrap;
}

}