/* =========================
MOBILE RESPONSIVE
========================= */

@media screen and (max-width:768px){

/* =========================
GLOBAL
========================= */

body{
overflow-x:hidden;
}

/* =========================
DESKTOP HEADER HIDDEN
========================= */

.desktop-header{
display:none !important;
}

/* =========================
MOBILE HEADER
========================= */

.mobile-header{
display:flex !important;
align-items:center;
justify-content:space-between;
padding:12px 14px;
background:#fff;
position:fixed;
top:0;
left:0;
width:100%;
z-index:999999;
box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.mobile-logo img{
height:42px;
display:block;
}

.mobile-actions{
display:flex;
align-items:center;
gap:10px;
}

/* =========================
PHONE BUTTON
========================= */

.mobile-phone{
width:46px;
height:46px;
background:#ef2b2d;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
text-decoration:none;
flex-shrink:0;
}

.mobile-phone i{
color:#fff;
font-size:18px;
}

/* =========================
HAMBURGER
========================= */

.mobile-toggle{
width:48px;
height:48px;
background:#0b3b73;
border-radius:10px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
gap:5px;
cursor:pointer;
position:relative;
z-index:100001;
flex-shrink:0;
}

.mobile-toggle span{
width:24px;
height:2px;
background:#fff;
border-radius:10px;
display:block;
transition:.3s ease;
}

/* =========================
TOGGLE ANIMATION
========================= */

.mobile-toggle.active span:nth-child(1){
transform:rotate(45deg) translate(5px,5px);
}

.mobile-toggle.active span:nth-child(2){
opacity:0;
}

.mobile-toggle.active span:nth-child(3){
transform:rotate(-45deg) translate(5px,-5px);
}

/* =========================
OVERLAY
========================= */

.mobile-overlay{
display:block !important;
position:fixed;
inset:0;
background:rgba(0,0,0,.45);
opacity:0;
visibility:hidden;
transition:.3s ease;
z-index:999997;
}

.mobile-overlay.active{
opacity:1;
visibility:visible;
}

/* =========================
MOBILE MENU
========================= */

.mobile-menu{
display:flex !important;
position:fixed;
top:0;
right:-100%;
width:82%;
max-width:340px;
height:100vh;
background:#fff;
z-index:999998;
padding:100px 30px 30px;
flex-direction:column;
gap:25px;
transition:right .35s ease;
box-shadow:-10px 0 40px rgba(0,0,0,.18);
overflow-y:auto;
}

.mobile-menu.active{
right:0;
}

.mobile-menu a{
font-size:20px;
font-weight:800;
text-decoration:none;
color:#0b3b73;
padding-bottom:15px;
border-bottom:1px solid #eee;
display:block;
}

/* =========================
HERO
========================= */

.hero-section{
min-height:auto;
padding-top:80px;
}

.hero-content{
flex-direction:column !important;
padding:35px 15px 40px !important;
gap:25px !important;
}

.hero-left,
.hero-form{
width:100% !important;
}

.hero-left{
padding-top:0 !important;
}

.hero-left h1{
font-size:42px !important;
line-height:1 !important;
margin-bottom:25px;
}

.hero-left p{
font-size:20px !important;
line-height:1.5 !important;
margin-bottom:30px;
}

.hero-badge img{
width:130px !important;
margin-bottom:25px;
}

.hero-icons{
flex-direction:column !important;
gap:15px;
}

.hero-icon-box{
width:100% !important;
min-width:100% !important;
padding:15px;
}

.hero-icon-box i{
font-size:34px;
}

.hero-icon-box h3{
font-size:20px;
}

/* =========================
FORM
========================= */

.hero-form{
padding:25px !important;
border-radius:18px !important;
}

.hero-form h2{
font-size:34px !important;
}

.hero-form p{
font-size:15px;
}

.contact-shortcode input,
.contact-shortcode textarea,
.contact-shortcode select{
padding:16px;
font-size:15px;
}

.contact-shortcode input[type=submit],
.contact-shortcode button{
padding:18px;
font-size:18px;
}

/* =========================
SECTIONS
========================= */

.section{
padding:70px 15px !important;
}

.section-title{
margin-bottom:45px;
}

.section-title h2{
font-size:34px !important;
line-height:1.2;
}

.section-title p{
font-size:17px !important;
}

/* =========================
SERVICES
========================= */

.services-grid{
display:grid !important;
grid-template-columns:1fr !important;
gap:25px;
}

.service-card img{
height:240px;
}

.service-content{
padding:70px 20px 30px;
}

.service-content h3{
font-size:18px;
}

.service-content p{
font-size:15px;
}

/* =========================
WHY SECTION
========================= */

.why-grid{
display:grid !important;
grid-template-columns:1fr !important;
gap:40px;
}

.why-box{
border:none !important;
padding:0;
}

.why-box i{
font-size:50px;
}

.why-box h3{
font-size:18px;
}

.why-box p{
font-size:15px;
}

/* =========================
REALISATIONS
========================= */

.realisations-grid{
display:grid !important;
grid-template-columns:1fr !important;
gap:20px;
}

.realisations-grid img{
height:230px !important;
}

.realisation-btn a{
width:100%;
display:block;
text-align:center;
}

/* =========================
AVIS
========================= */

.avis-grid{
display:grid !important;
grid-template-columns:1fr !important;
gap:20px;
}

.avis-box{
padding:30px 20px;
}

.avis-box p{
font-size:16px;
}

/* =========================
FOOTER
========================= */

.toit-footer{
padding:60px 15px 30px;
}

.footer-grid{
display:grid !important;
grid-template-columns:1fr !important;
gap:40px;
}

.footer-title{
font-size:24px;
}

.footer-text{
font-size:16px;
}

.footer-contact li{
font-size:16px;
}

.footer-bottom{
flex-direction:column;
gap:20px;
text-align:center;
}

/* =========================
MAP
========================= */

.footer-map img{
height:auto;
}

/* =========================
SPACING FIX
========================= */

.hero-form,
.service-card,
.avis-box{
overflow:hidden;
}
.hero-form {
    order: -1;
}
}