/*==================================================
WAJHA STYLE
==================================================*/

:root{

--primary:#2E7D32;
--primary-dark:#1B5E20;

--white:#ffffff;
--light:#F5F7FA;

--text:#222;
--gray:#777;

--radius:22px;

--shadow:
0 15px 40px rgba(0,0,0,.08);

--transition:.35s ease;

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Cairo',sans-serif;

background:var(--light);

color:var(--text);

overflow-x:hidden;

line-height:1.8;

}

img{

display:block;

max-width:100%;

}

a{

text-decoration:none;

}

.container{

width:min(1180px,92%);

margin:auto;

}

/*==================================================
BUTTONS
==================================================*/

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

gap:10px;

padding:15px 34px;

border-radius:999px;

background:var(--primary);

color:#fff;

font-weight:700;

transition:var(--transition);

}

.btn:hover{

background:var(--primary-dark);

transform:translateY(-5px);

}

.btn-light{

background:#fff;

color:var(--primary);

}

.btn-light:hover{

background:#f1f1f1;

}

/*==================================================
HERO
==================================================*/

.hero{

position:relative;

height:100vh;

display:flex;

align-items:center;

background:

linear-gradient(

rgba(16,35,16,.72),

rgba(46,125,50,.42)

),

url(images/hero.jpg)

center center/cover;

animation:

heroZoom 18s infinite alternate;

overflow:hidden;

}

.overlay{

position:absolute;

inset:0;

}

.hero-content{

position:relative;

z-index:5;

max-width:720px;

color:#fff;

}

.badge{

display:inline-block;

padding:9px 18px;

border-radius:999px;

background:

rgba(255,255,255,.12);

backdrop-filter:blur(10px);

border:

1px solid rgba(255,255,255,.2);

font-weight:700;

margin-bottom:25px;

}

.hero h1{

font-size:68px;

line-height:1.2;

font-weight:800;

margin-bottom:25px;

}

.hero p{

font-size:22px;

margin-bottom:40px;

opacity:.95;

}

.hero-buttons{

display:flex;

gap:15px;

flex-wrap:wrap;

}

.scroll{

position:absolute;

bottom:35px;

left:50%;

transform:translateX(-50%);

color:#fff;

font-size:28px;

animation:

float 2s infinite;

}

@keyframes heroZoom{

from{

background-size:100%;

}

to{

background-size:108%;

}

}

@keyframes float{

0%,100%{

transform:

translate(-50%,0);

}

50%{

transform:

translate(-50%,10px);

}

}

/*==================================================
SECTION TITLE
==================================================*/

.section-title{

text-align:center;

margin-bottom:55px;

}

.section-title span{

display:inline-block;

padding:8px 18px;

background:#E8F5E9;

color:var(--primary);

border-radius:999px;

font-weight:700;

margin-bottom:15px;

}

.section-title h2{

font-size:40px;

font-weight:800;

margin-bottom:12px;

}

.section-title p{

color:var(--gray);

font-size:17px;

}
/*==================================================
GALLERY
==================================================*/

.gallery{

padding:100px 0;

}

.gallery-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr;

grid-auto-rows:250px;

gap:18px;

}

.gallery-grid a{

position:relative;

overflow:hidden;

border-radius:22px;

box-shadow:var(--shadow);

}

.gallery-grid a:first-child{

grid-row:span 2;

}

.gallery-grid img{

width:100%;

height:100%;

object-fit:cover;

transition:.45s;

}

.gallery-grid a::before{

content:"";

position:absolute;

inset:0;

background:

linear-gradient(

rgba(0,0,0,0),

rgba(0,0,0,.35)

);

opacity:0;

transition:.35s;

z-index:1;

}

.gallery-grid a::after{

content:"\f00e";

font-family:"Font Awesome 6 Free";

font-weight:900;

position:absolute;

top:50%;

left:50%;

transform:

translate(-50%,-50%)

scale(.6);

font-size:34px;

color:#fff;

opacity:0;

transition:.35s;

z-index:2;

}

.gallery-grid a:hover img{

transform:scale(1.08);

}

.gallery-grid a:hover::before,

.gallery-grid a:hover::after{

opacity:1;

}

.gallery-grid a:hover::after{

transform:

translate(-50%,-50%)

scale(1);

}

/*==================================================
FEATURES
==================================================*/

#features{

padding:100px 0;

background:#fff;

}

.cards{

display:grid;

grid-template-columns:

repeat(auto-fit,minmax(260px,1fr));

gap:25px;

}

.card{

background:#fff;

padding:35px;

border-radius:22px;

box-shadow:var(--shadow);

border:1px solid rgba(0,0,0,.05);

text-align:center;

transition:.35s;

}

.card:hover{

transform:translateY(-10px);

box-shadow:

0 22px 45px rgba(46,125,50,.16);

}

.card i{

width:75px;

height:75px;

display:flex;

align-items:center;

justify-content:center;

margin:auto auto 22px;

border-radius:50%;

background:#E8F5E9;

color:var(--primary);

font-size:30px;

transition:.35s;

}

.card:hover i{

transform:

rotate(10deg)

scale(1.08);

background:var(--primary);

color:#fff;

}

.card h3{

font-size:24px;

font-weight:800;

margin-bottom:12px;

color:#222;

}

.card p{

font-size:15px;

color:#777;

line-height:1.9;

}
/*==================================================
STATS
==================================================*/

#stats{

padding:100px 0;

background:#F8FAF8;

}

.stats-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

gap:25px;

}

.stat-card{

background:#fff;

padding:40px 30px;

text-align:center;

border-radius:22px;

box-shadow:var(--shadow);

transition:.35s;

border:1px solid rgba(0,0,0,.05);

}

.stat-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 50px rgba(46,125,50,.15);

}

.stat-card i{

font-size:38px;

color:var(--primary);

margin-bottom:20px;

}

.stat-card h3{

font-size:42px;

font-weight:800;

color:var(--primary);

margin-bottom:8px;

}

.stat-card p{

color:#777;

font-size:16px;

}

/*==================================================
CONTACT
==================================================*/

#contact{

padding:100px 0;

background:#fff;

}

#contact .cards{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}

#contact .card .btn{

margin-top:20px;

width:100%;

}

/*==================================================
MAPS
==================================================*/

.maps{

padding:100px 0;

background:#F8FAF8;

}

/*==================================================
FOOTER
==================================================*/

footer{

padding:60px 20px;

background:#173C1C;

color:#fff;

text-align:center;

}

footer h2{

font-size:32px;

margin-bottom:12px;

}

footer p{

opacity:.8;

}

/*==================================================
FLOATING BUTTON
==================================================*/

.floating{

position:fixed;

right:22px;

bottom:22px;

display:flex;

align-items:center;

gap:10px;

padding:16px 24px;

background:var(--primary);

color:#fff;

border-radius:999px;

box-shadow:0 15px 35px rgba(0,0,0,.18);

z-index:999;

transition:.35s;

animation:pulse 3s infinite;

}

.floating:hover{

background:var(--primary-dark);

transform:translateY(-5px);

}

@keyframes pulse{

0%{

box-shadow:0 0 0 0 rgba(46,125,50,.45);

}

70%{

box-shadow:0 0 0 15px rgba(46,125,50,0);

}

100%{

box-shadow:0 0 0 0 rgba(46,125,50,0);

}

}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:992px){

.hero h1{

font-size:50px;

}

.gallery-grid{

grid-template-columns:1fr 1fr;

}

.gallery-grid a:first-child{

grid-row:span 1;

grid-column:span 2;

}

#contact .cards{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.hero{

text-align:center;

}

.hero h1{

font-size:38px;

}

.hero p{

font-size:17px;

}

.hero-buttons{

justify-content:center;

}

.gallery-grid{

grid-template-columns:1fr;

grid-auto-rows:230px;

}

.gallery-grid a:first-child{

grid-column:auto;

}

.stats-grid{

grid-template-columns:1fr;

}

.cards{

grid-template-columns:1fr;

}

.floating{

width:60px;

height:60px;

padding:0;

justify-content:center;

}

.floating span{

display:none;

}

.section-title h2{

font-size:30px;

}

}