/* =====================================================
   WIZORA MAP BLOCK
===================================================== */


.wizora-map{

width:100%;

position:relative;

overflow:hidden;

}



/* CONTAINER */

.map-container{

width:100%;

position:relative;

}



/* MAP FRAME */

.map-frame,
.map-embed{

width:100%;

overflow:hidden;

border-radius:inherit;

background:#e5e7eb;

}



.map-frame iframe,
.map-embed iframe{

width:100%;

height:100%;

border:0;

display:block;

}



/* PLACEHOLDER */

.map-placeholder{

display:flex;

align-items:center;

justify-content:center;

flex-direction:column;

background:#f1f5f9;

color:#64748b;

gap:15px;

font-size:18px;

}



.map-placeholder i{

font-size:45px;

color:var(--primary-color);

}





/* CONTACT CARD */

.map-contact{

position:absolute;

top:30px;

left:30px;

background:white;

padding:30px;

border-radius:18px;

max-width:340px;

box-shadow:
0 20px 50px rgba(0,0,0,.12);

z-index:5;

}



.map-contact h3{

margin:0 0 20px;

font-size:24px;

color:#111827;

}



.map-contact p{

display:flex;

gap:10px;

align-items:center;

margin:12px 0;

color:#64748b;

font-size:15px;

}



.map-contact i{

color:var(--primary-color);

}



.map-contact a{

color:inherit;

}





/* DIRECTIONS BUTTON */


.map-directions{

position:absolute;

right:30px;

bottom:30px;

background:var(--primary-color);

color:white;

padding:14px 25px;

border-radius:50px;

font-weight:600;

z-index:5;

transition:.3s ease;

}



.map-directions:hover{

background:var(--secondary-color);

transform:translateY(-3px);

}



/* DARK MODE */


.map-dark .map-frame{

filter:
brightness(.75)
contrast(1.1);

}

/* ANIMATION */


.wizora-map{

opacity:0;

transform:translateY(30px);

transition:
opacity .8s ease,
transform .8s ease;

}



.wizora-map.map-visible{

opacity:1;

transform:none;

}

/* MOBILE */


@media(max-width:768px){


.map-contact{

position:relative;

top:auto;

left:auto;

margin:20px;

max-width:none;

}


.map-directions{

position:relative;

display:inline-block;

margin:20px;

right:auto;

bottom:auto;

}



}