/* ===========================================
   MANIA GAME STORE DESIGN SYSTEM
=========================================== */

:root{

/* Primary */

--primary:#c4a405;
--primary-dark:#1d3e80;

/* Accent */

--accent:#324295;
--accent-light:#F3F0FF;

/* Background */

--bg:#FFFFFF;
--section:#F8FAFC;

/* Text */

--text:#0F172A;
--text-light:#64748B;

/* Border */

--border:#E5E7EB;

/* Status */

--success:#22C55E;
--danger:#EF4444;
--warning:#F59E0B;

/* Radius */

--radius-sm:8px;
--radius:16px;
--radius-lg:24px;

/* Shadow */

--shadow-sm:0 2px 8px rgba(0,0,0,.05);

--shadow:
0 10px 25px rgba(0,0,0,.08);

--shadow-lg:
0 20px 40px rgba(0,0,0,.12);

/* Transition */

--transition:.3s ease;

}

/* ========================= */

body{

font-family:Inter,sans-serif;

background:var(--bg);

color:var(--text);

line-height:1.7;

}

/* ========================= */

.container{

width:min(1400px,92%);

margin:auto;

}

/* ========================= */

.section{

padding:80px 0;

}

/* ========================= */

h1{

font-size:52px;

font-weight:700;

line-height:1.2;

}

h2{

font-size:38px;

font-weight:700;

margin-bottom:40px;

}

h3{

font-size:24px;

}

p{

color:var(--text-light);

}

/* ========================= */

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:14px 28px;

background:var(--primary);

color:#fff;

border-radius:var(--radius);

transition:var(--transition);

font-weight:600;

}

.btn:hover{

background:var(--accent);

transform:translateY(-3px);

box-shadow:var(--shadow);

}

/*==========================
HEADER
==========================*/

.header{

position:sticky;

top:0;

z-index:999;

background:#030303;

border-bottom:1px solid var(--border);

box-shadow:0 4px 20px rgba(0,0,0,.04);

}

.header-wrapper{

display:flex;

align-items:center;

justify-content:space-between;

height:88px;

gap:30px;

}

.header-left{

display:flex;

align-items:center;

gap:20px;

}

/* ==========================
LOGO
========================== */

.logo{

display:flex;

align-items:center;

flex-shrink:0;

}

.logo img{

height:40px;

width:auto;

display:block;

transition:.3s;

}

.logo:hover img{

transform:scale(1.02);

}

.category-btn{

display:flex;

align-items:center;

gap:10px;

padding:12px 18px;

border:1px solid var(--border);

border-radius:14px;

background:#fff;

transition:.3s;

}

.category-btn:hover{

background:var(--accent-light);

}

.search-wrapper{

flex:1;

display:flex;

align-items:center;

height:48px;

border:1px solid var(--border);

border-radius:50px;

overflow:hidden;

}

.search-wrapper input{

flex:1;

padding:0 20px;

height:100%;

font-size:15px;

color:#2487ff

}

.search-wrapper button{

width:60px;

height:100%;

background:var(--primary);

color:#fff;

font-size:18px;

}

.login-btn{

display:flex;

align-items:center;

gap:8px;

padding:12px 20px;

border-radius:14px;

background:var(--primary);

color:#fff;

font-weight:600;

transition:.3s;

}

.login-btn:hover{

background:var(--accent);

}

.mobile-menu{

display:none;

}

/*==========================
HERO
==========================*/

.hero{

padding:90px 0;

background:linear-gradient(
135deg,
#ffffff,
#eef4ff,
#f4f0ff
);

}

.hero-wrapper{

display:grid;

grid-template-columns:1fr 1fr;

align-items:center;

gap:70px;

}

.hero-tag{

display:inline-block;

padding:8px 16px;

background:var(--accent-light);

color:var(--accent);

border-radius:999px;

font-weight:600;

margin-bottom:20px;

}

.hero h1{

margin-bottom:20px;

font-size:60px;

}

.hero p{

font-size:18px;

max-width:540px;

margin-bottom:35px;

}

.hero-buttons{

display:flex;

gap:15px;

}

.btn-outline{

background:#fff;

color:var(--primary);

border:2px solid var(--primary);

}

.hero-image img{

border-radius:30px;

box-shadow:var(--shadow-lg);

}

.mega-menu{

display:none;

position:absolute;

left:0;

top:76px;

width:300px;

background:#fff;

box-shadow:var(--shadow);

border-radius:0 0 20px 20px;

padding:25px;

}

.mega-menu.active{

display:block;

}

.mega-content{

display:flex;

flex-direction:column;

gap:18px;

}

.mega-content a{

padding:10px;

border-radius:12px;

transition:.3s;

}

.mega-content a:hover{

background:#f4f6fb;

}

/*==========================
SECTION HEADER
==========================*/

.section-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:35px;

}

.view-all{

font-weight:600;

color:var(--primary);

}

/*==========================
GRID
==========================*/

.product-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

/*==========================
CARD
==========================*/

.product-card{

background:#fff;

border-radius:20px;

overflow:hidden;

border:1px solid var(--border);

transition:.35s;

}

.product-card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow-lg);

}

/*==========================*/

.product-image{

position:relative;

background:#f8fafc;

padding:30px;

aspect-ratio:1;

overflow:hidden;

}

.product-image img{

width:100%;

height:100%;

object-fit:contain;

transition:.4s;

}

.product-card:hover img{

transform:scale(1.08);

}

.badge{

position:absolute;

top:15px;

left:15px;

background:var(--accent);

color:#fff;

padding:8px 14px;

border-radius:999px;

font-size:13px;

font-weight:600;

}

/*==========================*/

.product-body{

padding:22px;

}

.brand{

font-size:13px;

color:var(--primary);

font-weight:600;

text-transform:uppercase;

}

.product-body h3{

margin:10px 0;

font-size:19px;

min-height:54px;

}

.rating{

color:#fbbf24;

margin-bottom:15px;

}

.price{

font-size:24px;

font-weight:700;

color:var(--text);

margin-bottom:15px;

}

.stock{

font-size:14px;

font-weight:600;

margin-bottom:20px;

}

.in-stock{

color:#16a34a;

}

.product-btn{

display:flex;

justify-content:center;

align-items:center;

height:46px;

background:var(--primary);

color:#fff;

border-radius:14px;

font-weight:600;

transition:.3s;

}

.product-btn:hover{

background:var(--accent);

}

/*================================
CATEGORY
================================*/

.category-grid{

display:grid;

grid-template-columns:repeat(6,1fr);

gap:24px;

}

.category-card{

background:#fff;

border:1px solid var(--border);

border-radius:20px;

padding:24px;

text-align:center;

transition:.35s;

}

.category-card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow);

}

.category-card img{

width:90px;

height:90px;

margin:auto;

object-fit:contain;

margin-bottom:18px;

transition:.35s;

}

.category-card:hover img{

transform:scale(1.08);

}

.category-card h3{

font-size:18px;

font-weight:600;

}

.badge.hot{

background:#2563EB;

}

.badge.sale{

background:#EF4444;

}

/*==================================
BRAND
==================================*/

.brand-grid{

display:grid;

grid-template-columns:repeat(6,1fr);

gap:24px;

}

.brand-card{

height:120px;

display:flex;

justify-content:center;

align-items:center;

background:#fff;

border:1px solid var(--border);

border-radius:20px;

transition:.35s;

}

.brand-card:hover{

transform:translateY(-6px);

box-shadow:var(--shadow);

border-color:var(--primary);

}

.brand-card img{

max-width:120px;

max-height:60px;

object-fit:contain;

filter:grayscale(.3);

transition:.35s;

}

.brand-card:hover img{

filter:none;

transform:scale(1.08);

}

/*==================================
NEWS
==================================*/

.news-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.news-card{

background:#fff;

border-radius:22px;

overflow:hidden;

border:1px solid var(--border);

transition:.35s;

}

.news-card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow-lg);

}

.news-image{

aspect-ratio:16/9;

overflow:hidden;

}

.news-image img{

width:100%;

height:100%;

object-fit:cover;

transition:.4s;

}

.news-card:hover img{

transform:scale(1.08);

}

.news-content{

padding:25px;

}

.news-date{

font-size:13px;

font-weight:600;

color:var(--primary);

display:block;

margin-bottom:15px;

}

.news-content h3{

font-size:22px;

margin-bottom:15px;

line-height:1.4;

}

.news-content p{

margin-bottom:20px;

}

.read-more{

font-weight:600;

color:var(--primary);

}

/*==================================
WHY US
==================================*/

/*==================================
WHY US
==================================*/

.why-section{

padding:120px 0;

background:
radial-gradient(circle at top right,#EEF2FF 0%,transparent 35%),
radial-gradient(circle at bottom left,#F5F3FF 0%,transparent 35%),
#fff;

position:relative;

overflow:hidden;

}

.why-section::before{

content:"";

position:absolute;

top:-180px;

right:-180px;

width:380px;

height:380px;

background:rgba(124,58,237,.05);

border-radius:50%;

filter:blur(80px);

}

.why-section::after{

content:"";

position:absolute;

bottom:-180px;

left:-180px;

width:350px;

height:350px;

background:rgba(37,99,235,.06);

border-radius:50%;

filter:blur(80px);

}

.why-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

margin-top:70px;

position:relative;

z-index:2;

}

.why-card{

position:relative;

background:#fff;

border:1px solid rgba(37,99,235,.08);

border-radius:26px;

padding:42px 30px;

text-align:center;

transition:.35s;

overflow:hidden;

box-shadow:
0 10px 30px rgba(15,23,42,.04);

}

.why-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:5px;

background:linear-gradient(
90deg,
#2563EB,
#7C3AED
);

transform:scaleX(0);

transform-origin:left;

transition:.35s;

}

.why-card:hover{

transform:translateY(-12px);

border-color:#2563EB;

box-shadow:
0 25px 50px rgba(37,99,235,.15);

}

.why-card:hover::before{

transform:scaleX(1);

}

.why-icon{

width:82px;

height:82px;

margin:0 auto 28px;

display:flex;

align-items:center;

justify-content:center;

border-radius:22px;

background:linear-gradient(
135deg,
#2563EB,
#7C3AED
);

color:#fff;

box-shadow:
0 15px 35px rgba(124,58,237,.25);

transition:.35s;

}

.why-card:hover .why-icon{

transform:
rotate(-8deg)
scale(1.08);

}

.why-icon svg{

width:34px;

height:34px;

stroke-width:2.2;

}

.why-card h3{

font-size:24px;

font-weight:700;

margin-bottom:18px;

line-height:1.4;

color:#0F172A;

}

.why-card p{

font-size:15px;

line-height:1.9;

color:#64748B;

}

.section-header.center{

max-width:760px;

margin:0 auto;

text-align:center;

}

.section-header.center h2{

font-size:52px;

line-height:1.25;

margin-bottom:20px;

font-weight:800;

background:linear-gradient(
90deg,
#0F172A,
#2563EB
);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

.section-header.center p{

font-size:18px;

line-height:1.9;

max-width:650px;

margin:auto;

color:#64748B;

}

/*==================================
FEATURED COLLECTION
==================================*/

.featured-collection{

padding:90px 0;

}

.featured-wrapper{

display:grid;

grid-template-columns:1.2fr 1fr;

align-items:center;

gap:70px;

background:linear-gradient(
135deg,
#2563EB,
#4F46E5,
#7C3AED
);

border-radius:32px;

padding:70px;

overflow:hidden;

}

.featured-content{

color:#fff;

}

.featured-tag{

display:inline-block;

padding:8px 16px;

background:rgba(255,255,255,.15);

border-radius:999px;

margin-bottom:20px;

font-weight:600;

}

.featured-content h2{

font-size:48px;

margin-bottom:25px;

color:#fff;

}

.featured-content p{

color:#e5e7eb;

margin-bottom:35px;

max-width:520px;

}

.featured-buttons{

display:flex;

gap:15px;

}

.featured-image img{

width:100%;

display:block;

}

/*==================================
PAGE HERO
==================================*/

.page-hero{

padding:90px 0;

background:linear-gradient(135deg,#EEF4FF,#F8F5FF);

}

.page-hero-content{

max-width:700px;

}

.page-hero h1{

font-size:52px;

font-weight:800;

margin:20px 0;

}

.page-hero p{

font-size:18px;

line-height:1.8;

color:#64748B;

}


/*==================================
PRODUCT PAGE
==================================*/

.products-layout{

display:grid;

grid-template-columns:280px 1fr;

gap:40px;

align-items:start;

}


/*==================================
SIDEBAR
==================================*/

.sidebar{

position:sticky;

top:100px;

}

.filter-box{

background:#fff;

border:1px solid #E5E7EB;

border-radius:18px;

padding:24px;

margin-bottom:24px;

}

.filter-box h3{

font-size:20px;

margin-bottom:18px;

}

.filter-box label{

display:flex;

align-items:center;

gap:10px;

margin-bottom:14px;

cursor:pointer;

font-size:15px;

}

.filter-box input{

width:18px;

height:18px;

}


/*==================================
CONTENT
==================================*/

.products-top{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:35px;

}

.products-top h2{

font-size:34px;

font-weight:700;

}

.products-top select{

padding:12px 18px;

border:1px solid #E5E7EB;

border-radius:12px;

background:#fff;

font-size:15px;

}


/*==================================
GRID
==================================*/

#allProducts{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}


/*==================================
PAGINATION
==================================*/

.pagination{

display:flex;

justify-content:center;

gap:12px;

margin-top:60px;

}

.pagination a{

width:44px;

height:44px;

display:flex;

align-items:center;

justify-content:center;

border-radius:12px;

background:#fff;

border:1px solid #E5E7EB;

font-weight:600;

transition:.3s;

}

.pagination a:hover{

background:#2563EB;

color:#fff;

border-color:#2563EB;

}

.pagination .active{

background:#2563EB;

color:#fff;

border-color:#2563EB;

}

/*==================================
FOOTER
==================================*/

.footer{

margin-top:100px;

background:#0F172A;

color:#CBD5E1;

padding:80px 0 30px;

}

.footer-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr 1fr;

gap:50px;

}

.footer-logo{

width:300px;

margin-bottom:20px;

}

.footer-about p{

line-height:1.9;

margin-bottom:30px;

color:#94A3B8;

max-width:380px;

}

.footer h3{

color:#fff;

margin-bottom:22px;

font-size:20px;

}

.footer ul{

display:flex;

flex-direction:column;

gap:14px;

}

.footer ul li a{

color:#CBD5E1;

transition:.3s;

}

.footer ul li a:hover{

color:#60A5FA;

padding-left:5px;

}

.footer-social{

display:flex;

gap:14px;

}

.footer-social a{

width:44px;

height:44px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:#1E293B;

color:#fff;

transition:.3s;

}

.footer-social a:hover{

background:#2563EB;

transform:translateY(-3px);

}

.footer-bottom{

margin-top:60px;

padding-top:30px;

border-top:1px solid rgba(255,255,255,.08);

display:flex;

justify-content:center;

font-size:14px;

color:#94A3B8;

}

/*==================================
LOGIN PAGE
==================================*/

.login-page{

background:
radial-gradient(circle at top,#c100f122 0%,transparent 45%),
radial-gradient(circle at bottom,hsl(262, 76%, 55%) 0%,transparent 40%),
linear-gradient(180deg,#780df1,#0058dd);

min-height:100vh;

display:flex;

align-items:center;

justify-content:center;

padding:60px 20px;

}

.login-section{

width:100%;

display:flex;

justify-content:center;

}

.login-card{

width:100%;

max-width:520px;

padding:50px;

border-radius:30px;

border:1px solid rgba(0, 153, 255, 0.6);

background:
linear-gradient(
180deg,
rgba(14, 68, 245, 0.98),
rgba(247,249,255,.98)
);

box-shadow:
0 20px 60px rgba(15,23,42,.08),
0 0 0 1px rgba(37,99,235,.05);

backdrop-filter:blur(12px);

animation:loginFade .45s ease;

position:relative;

overflow:hidden;

}

.login-card::before{

content:"";

position:absolute;

top:-120px;

right:-120px;

width:260px;

height:260px;

background:#2563EB;

opacity:.08;

border-radius:50%;

filter:blur(60px);

}

.login-card::after{

content:"";

position:absolute;

bottom:-120px;

left:-120px;

width:220px;

height:220px;

background:#7C3AED;

opacity:.08;

border-radius:50%;

filter:blur(60px);

}

@keyframes loginFade{

from{

opacity:0;

transform:translateY(25px);

}

to{

opacity:1;

transform:translateY(0);

}

}

.login-logo{

display:flex;

justify-content:center;

margin-bottom:10px;

}

.login-logo img{

width:280px;

height:auto;

display:block;

}


.login-card h1{

font-size:38px;

font-weight:800;

text-align:center;

margin-bottom:18px;

color:#0F172A;

}

.login-description{

text-align:center;

line-height:1.8;

font-size:16px;

color:#ececec;

margin-bottom:40px;

}

.form-group{

margin-bottom:24px;

}

.form-group label{

display:block;

margin-bottom:10px;

font-weight:700;

color:#0F172A;

}

.form-group input{

width:100%;

height:58px;

padding:0 20px;

background:#F8FAFC;

border:1px solid #E5E7EB;

border-radius:16px;

font-size:15px;

transition:.3s;

}

.form-group input:focus{

outline:none;

border-color:#2563EB;

background:#fff;

box-shadow:0 0 0 4px rgba(37,99,235,.12);

}

.login-options{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

font-size:14px;

}

.login-options label{

display:flex;

gap:8px;

align-items:center;

cursor:pointer;

}

.login-options a{

color:#2563EB;

font-weight:600;

}

.login-submit{

width:100%;

height:58px;

border:none;

border-radius:16px;

font-size:18px;

font-weight:700;

cursor:pointer;

color:#fff;

background:linear-gradient(
135deg,
#2563EB,
#7C3AED
);

transition:.35s;

}

.login-submit:hover{

transform:translateY(-2px);

box-shadow:0 18px 35px rgba(37,99,235,.28);

}

.login-divider{

margin:35px 0;

text-align:center;

position:relative;

}

.login-divider::before{

content:"";

position:absolute;

left:0;

top:50%;

width:100%;

height:1px;

background:#E5E7EB;

}

.login-divider span{

position:relative;

background:#fff;

padding:0 18px;

color:#94A3B8;

}

.social-login{

display:grid;

gap:15px;

}

.social-login button{

height:54px;

border:1px solid #E5E7EB;

border-radius:16px;

background:#fff;

display:flex;

align-items:center;

justify-content:center;

gap:12px;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.social-login button:hover{

background:#F8FAFC;

border-color:#2563EB;

}

.register-link{

margin-top:35px;

text-align:center;

font-size:15px;

}

.register-link a{

font-weight:700;

color:#2563EB;

}

.login-footer{

margin-top:35px;

padding-top:25px;

border-top:1px solid #E5E7EB;

text-align:center;

font-size:14px;

line-height:1.9;

color:#64748B;

}

.form-group textarea{

width:100%;

min-height:120px;

padding:18px 20px;

border:1px solid #E5E7EB;

border-radius:16px;

background:#F8FAFC;

font-size:15px;

font-family:inherit;

resize:vertical;

transition:.3s;

}

.form-group textarea:focus{

outline:none;

border-color:#2563EB;

background:#fff;

box-shadow:0 0 0 4px rgba(37,99,235,.12);

}

/*==================================
ABOUT PAGE
==================================*/

.about-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.about-content h2{

font-size:42px;

margin:18px 0 30px;

color:#0F172A;

}

.about-content p{

font-size:17px;

line-height:2;

margin-bottom:22px;

color:#64748B;

}

.about-image img{

width:100%;

border-radius:28px;

display:block;

box-shadow:0 25px 60px rgba(15,23,42,.10);

}


/*==================================
TIMELINE
==================================*/

.timeline{

max-width:900px;

margin:70px auto 0;

position:relative;

}

.timeline::before{

content:"";

position:absolute;

left:30px;

top:0;

bottom:0;

width:3px;

background:#2563EB;

}

.timeline-item{

display:flex;

gap:30px;

margin-bottom:55px;

position:relative;

}

.timeline-year{

width:64px;

height:64px;

border-radius:50%;

background:linear-gradient(135deg,#2563EB,#7C3AED);

display:flex;

align-items:center;

justify-content:center;

font-weight:700;

color:#fff;

flex-shrink:0;

box-shadow:0 15px 35px rgba(37,99,235,.25);

}

.timeline-content{

background:#fff;

padding:30px;

border-radius:22px;

border:1px solid #E5E7EB;

box-shadow:0 10px 30px rgba(15,23,42,.05);

flex:1;

}

.timeline-content h3{

margin-bottom:12px;

font-size:22px;

}

.timeline-content p{

line-height:1.8;

color:#64748B;

}


/*==================================
STATS
==================================*/

.stats-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:28px;

margin-top:60px;

}

.stat-card{

background:#fff;

border:1px solid #E5E7EB;

border-radius:24px;

padding:45px 25px;

text-align:center;

transition:.3s;

}

.stat-card:hover{

transform:translateY(-8px);

box-shadow:0 18px 40px rgba(37,99,235,.12);

}

.stat-card h3{

font-size:42px;

font-weight:800;

color:#2563EB;

margin-bottom:12px;

}

.stat-card p{

color:#64748B;

}


/*==================================
BRANDS
==================================*/

.brand-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

margin-top:60px;

}

.brand-card{

background:#fff;

border:1px solid #E5E7EB;

border-radius:22px;

padding:35px;

display:flex;

align-items:center;

justify-content:center;

transition:.3s;

}

.brand-card:hover{

transform:translateY(-6px);

border-color:#2563EB;

box-shadow:0 15px 35px rgba(37,99,235,.10);

}

.brand-card img{

max-width:180px;

max-height:50px;

object-fit:contain;

}


/*==================================
FAQ
==================================*/

.faq-list{

max-width:900px;

margin:60px auto 0;

}

.faq-list details{

background:#fff;

border:1px solid #E5E7EB;

border-radius:18px;

margin-bottom:20px;

padding:24px 30px;

transition:.3s;

}

.faq-list details[open]{

border-color:#2563EB;

box-shadow:0 10px 30px rgba(37,99,235,.08);

}

.faq-list summary{

font-weight:700;

font-size:18px;

cursor:pointer;

list-style:none;

}

.faq-list summary::-webkit-details-marker{

display:none;

}

.faq-list p{

margin-top:20px;

line-height:1.9;

color:#64748B;

}


/*==================================
CONTACT
==================================*/

.contact-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

margin-top:60px;

}

.contact-card{

background:#fff;

border:1px solid #E5E7EB;

border-radius:22px;

padding:40px 25px;

text-align:center;

transition:.3s;

}

.contact-card:hover{

transform:translateY(-8px);

box-shadow:0 18px 35px rgba(37,99,235,.10);

}

.contact-icon{

width:72px;

height:72px;

margin:0 auto 20px;

border-radius:20px;

display:flex;

align-items:center;

justify-content:center;

background:linear-gradient(135deg,#2563EB,#7C3AED);

color:#fff;

}

.contact-icon svg{

width:30px;

height:30px;

}

.contact-card h3{

margin-bottom:15px;

}

.contact-card p{

line-height:1.8;

color:#64748B;

}


/*==================================
MAP
==================================*/

.map-wrapper{

margin-top:60px;

border-radius:28px;

overflow:hidden;

box-shadow:0 20px 45px rgba(15,23,42,.08);

}

.map-wrapper iframe{

width:100%;

height:480px;

border:0;

}


/*==================================
CTA
==================================*/

.cta-banner{

background:linear-gradient(135deg,#2563EB,#7C3AED);

padding:80px 60px;

border-radius:32px;

text-align:center;

color:#fff;

}

.cta-banner .hero-tag{

background:rgba(255,255,255,.15);

color:#fff;

}

.cta-banner h2{

font-size:48px;

margin:20px 0;

}

.cta-banner p{

max-width:700px;

margin:auto;

line-height:1.9;

margin-bottom:40px;

opacity:.92;

color:#fafafa;

}

.cta-banner .btn{

background:#fff;

color:#fcfcfc;

}

.cta-banner .btn-outline{

border-color:#fff;

color:#d60bff;

}

.cta-banner .btn-outline:hover{

background:#fff;

color:#fbfcff;

}

.section .container{

max-width:900px;

}

.section h2{

font-size:34px;

font-weight:700;

color:#0F172A;

margin:60px 0 20px;

position:relative;

padding-left:20px;

}

.section h2:first-child{

margin-top:0;

}

.section h2::before{

content:"";

position:absolute;

left:0;

top:50%;

transform:translateY(-50%);

width:6px;

height:34px;

border-radius:999px;

background:linear-gradient(180deg,#2563EB,#7C3AED);

}

.section p{

font-size:16px;

line-height:2;

color:#64748B;

margin-bottom:24px;

}

.section ul{

margin:20px 0 35px 24px;

}

.section li{

margin-bottom:14px;

line-height:1.9;

color:#64748B;

}

.section li::marker{

color:#2563EB;

}

.section strong{

color:#0F172A;

}

.section a{

color:#2563EB;

font-weight:600;

text-decoration:none;

}

.section a:hover{

text-decoration:underline;

}