@font-face {
  font-family: 'Cairo';
  src: url('../fonts/static/Cairo-Regular.ttf') format('truetype');
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Cairo",sans-serif;
}

body{
    padding-top: 90px;
    background:#f6f9fc;
    direction:rtl;
}

body, html {
    overflow-x: visible;
}


/*================== HEADER =============== */

header .logo {
    position: relative;
    width: 140px;
    height: auto;
}

header .logo img:first-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 140px;
    transition: opacity 0.3s;
    opacity: 1; 
}

header .logo .logo-blue {
    top: 0;
    left: 0;
    width: 140px;
    transition: opacity 0.3s;
    opacity: 0; 
}

header.scrolled .logo img:first-child {
    opacity: 0; 
}

header.scrolled .logo .logo-blue {
    opacity: 1; 
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 20px 0;
    z-index: 1000;
    transition: 0.3s;
    background: transparent;
    border-bottom: 0px solid transparent;
}

header.scrolled {
    background: #ffffff;
    border-bottom: 4px solid #033d83; 
}

header .container {
    width: 90%;
    margin: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    direction: ltr;
}

nav ul {
    list-style: none;
    display: flex;
    flex-direction: row;
    gap: 25px;
}

nav ul li a {
    text-decoration: none;
    font-size: 14px;
    color: black;
    transition: 0.3s;
}

header.scrolled nav ul li a {
    color: #000;
}

.triangle-btn-wrapper {
  width: 30px;
  height: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
}

.triangle-btn-wrapper div {
  width: 100%;
  height: 4px;
  background-color: white; 
  transition: 0.3s;
}


header.scrolled .triangle-btn-wrapper div {
  background-color: #033d83;
}

/* ================= HERO ================= */

.hero-header{
    background: linear-gradient(135deg,#163a5f,#1d70b8);
    color:#fff;
    text-align:center;
    padding:45px 15px;
}

.hero-header h1{
    font-size:30px;
    margin-bottom:6px;
    letter-spacing:.5px;
}

.hero-header p{
    font-size:14px;
    opacity:.9;
}

.dropdown {
    position: relative;
}

.dropdown-menu {
    position: absolute;
    top: 25px;
    left: 0;
    background: #ffffff;
    padding: 10px 0;
    border-radius: 6px;
    display: none;
    min-width: 170px;
    top: calc(120% - 5px);
}

.dropdown-menu li a {
    color: #000 !important;
    display: block;
    padding: 8px 15px;
    text-decoration: none;
}

.dropdown:hover .dropdown-menu {
    display: block;
}

@media (min-width: 992px) {
  .triangle-btn-wrapper {
    display: none;
  }
}

/* ===== EXPO COVER FINAL (BACKGROUND SOLUTION) ===== */

.expo-cover{
    position: relative; /* مهم جداً */
    width: 100%;
    height: 420px;
    background-image: url("../images/خريطة مدينة العارض.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-color: #f6f9fc;
}

.expo-hall{
    position: absolute;
    cursor: pointer;
    z-index: 5;
    border-radius: 6px;
    transition: background 0.3s, outline 0.3s;
}


.expo-hall:hover {
    background: none;
    outline: none;
}

#expo-tooltip {
    position: absolute;
    background: rgba(29,112,184,0.9);
    color: white;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 12px;
    white-space: nowrap;
    z-index: 100;
    pointer-events: none;
    margin-top: 30px;
}

#expo-tooltip::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px 6px 0 6px;
    border-style: solid;
    border-color: rgba(29,112,184,0.9) transparent transparent transparent;
}

.hall-label {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 14px;
    color: #fff;
    opacity: 0;
    transition: 0.3s;
}

.expo-hall:hover .hall-label {
    opacity: 1;
}





/* ================= CONTENT ================= */

.form-container{
    max-width:1200px;
    margin:-20px auto 40px;
    padding:20px;

    display:grid;
    grid-template-columns:1fr 1fr; 
    gap:30px;
    align-items: center;
}

/* ================= FORM CARD ================= */

.form-fields{
    background: transparent;
    border: none;
    box-shadow: none;
    padding:0; /* يمكن تعديل حسب الحاجة */
}

.form-fields::before{
    content:"بيانات العارض";
    display:block;

    margin-bottom:12px;
    padding-bottom:5px;

    font-size:17px;
    font-weight:700;

    color:#163a5f;
    border-bottom:1px solid #e5edf7;
}

/* ================= INPUTS ================= */

label{
    display: flex;
    font-size:13px;
    color:#314a6b;
    margin:10px 0 5px;
}

.label-ar{
    text-align: right;
    flex: 1;
}

.label-en{
    text-align: left;
    flex: 1;
    direction: ltr;
}

input,
select{
    width:100%;
    padding:12px 13px;
    border-radius:8px;
    border:1px solid #ccd7e5;

    background:#f9fbfe;
    font-size:14px;
    transition:.25s;
}

input:focus,
select:focus{
    outline:none;
    border-color:#1d70b8;
    background:#fff;
}

.form-row {
    display: flex;
    gap: 15px; /* المسافة بين الحقلين */
}

/* كل حقل يأخذ نصف العرض */
.form-row > div {
    flex: 1;
}

/* وضع labels و inputs/select داخل كل div */
.form-row label,
.form-row input,
.form-row select {
    width: 100%;
}

/* ================= AGREE ================= */

.checkbox-agree{
    margin-top:14px;
}

.agree-label{
    font-size:13px;
    color:#314a6b;
    cursor:pointer;
}

.terms-link{
    color:#1d70b8;
    font-weight:600;
}


/* ================= BUTTON ================= */

button{
    width:100%;
    margin-top:20px;
    padding:14px;

    background:#1d70b8;
    color:#fff;

    border:none;
    border-radius:12px;

    font-size:15px;
    font-weight:700;
    cursor:pointer;
    transition:.3s;
}

button:hover:not(:disabled){
    background:#155f9d;
    transform:translateY(-1px);
}

button:disabled{
    background:#aac0da;
    cursor:not-allowed;
}

/* ================= MAP ================= */

#map-container{
    position: relative;
    width: 650px;        
    max-width: 100%;
    height: 480px;     
    margin: auto;
    overflow: hidden;
}

#base-map{
    position: absolute;
    inset: 0;
    width:100%;
    height:100%;
    object-fit: contain;
    object-position: center;
    z-index:1;
}

.hall-overlay{
    position: absolute;
    inset: 0;
    width:100%;
    height:100%;
    object-fit: contain;
    object-position: center;
    z-index:2;
}

/* ================= POPUP ================= */

.popup{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.6);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:999;
}

.popup-content{
    background:#fff;
    width:92%;
    max-width:720px;
    border-radius:14px;
    padding:12px;
}

.popup-content img{
    width:100%;
    border-radius:10px;
}

.close-popup{
    position:absolute;
    top:10px;
    left:12px;
    font-size:22px;
    font-weight:bold;
    cursor:pointer;
    color:#163a5f;
}

/*================== footer ==================*/

.footer {
    background: #0a2955;
    padding: 50px 80px;
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr;
    gap: 40px;
    align-items: start;
    direction: ltr;
}


.footer-logo {
    display: flex;
    flex-direction: column; 
}

.logo-wrapper {
    display: flex;
    flex-direction: column; 
    gap: 10px; 
    align-items: flex-start; 
}

.social-icons {
    display: flex;
    gap: 10px;
    margin-top: 80px;
}

.social-icons a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px; 
    height: 32px;
    border-radius: 50%;
    border: solid white;
    text-decoration: none;
    transition: transform 0.3s, background 0.3s;
}

.social-icons a img {
    width: 20px;  
    height: 20px;
    display: block;
}

.social-icons a:hover {
    background: #0a2955;
    transform: scale(1.1);
}

.footer-section h3 , p{
    margin-bottom: 10px;
    color: white;
}

.footer-section ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-section ul li {
    margin: 8px 0;
    color: #444;
    padding-left: 20px;
    position: relative;
}

.footer-section ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px; 
    height: 8px;
    background-color: white; 
    border-radius: 50%; 
}

.footer-section ul li a{
    text-decoration: none;
    color: white;
}

.map-box {
    width: 140px;
    height: 120px;
    background: #e0e0e0;
    border: 1px solid #aaa;
    margin-top: 10px;
}

.bottom-bar {
    background: #0a2955;
    color: white;
    padding: 12px;
    text-align: center;
    font-size: 14px;
}

/* ================= HALL POPUP ================= */

.hall-info-popup{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9998;
}

.hall-info-content{
    background: #fff;
    width: 90%;
    max-width: 360px;
    padding: 20px;
    border-radius: 14px;
    text-align: center;
}

.hall-info-close{
    position:absolute;
    top:12px;
    left:14px;
    font-size:22px;
    cursor:pointer;
}


/* ================= MOBILE ================= */

@media(max-width:900px){

    .form-container{
        grid-template-columns:1fr;
        gap:35px;
    }

    .map-section{
        order:-1;
    }

    .form-fields{
        padding:26px 22px;
    }

    button{
        padding:15px;
        border-radius:10px;
    }
}

@media screen and (max-width: 480px) {

 nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: white;
        padding: 20px 0;
    }

    nav.active {
        display: block;
    }

    nav ul {
        display: flex;
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .menu-toggle {
        display: flex;
    }

    nav ul li a {
        color: #000 !important;
    }

    nav ul {
        padding: 0;
    }

    .expo-cover {
        height: 220px;
    }

    .footer {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        gap: 16px !important;
        padding: 24px 12px !important;
        grid-template-columns: none !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }
    

    .footer * {
        box-sizing: border-box !important;
        max-width: 100%;
    }
    
    .footer > .logo-wrapper,
    .footer > .footer-logo,
    .footer > :nth-child(1) {
        width: 100% !important;
        flex: 0 0 100% !important;
        text-align: center !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
    
    .footer > :nth-child(n+2) {
        flex: 0 0 45% !important;    
        max-width: 48% !important;
        width: 48% !important;
        min-width: 140px !important;
    }
    

    .footer img {
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
    }
    
    .footer-section {
        width: 48% !important;
        max-width: 48% !important;
        flex: 0 0 48% !important;
        padding: 8px 6px !important;
    }
    
    .footer-section h3 {
        font-size: 15px !important;
        margin-bottom: 8px !important;
        text-align: right;
    }
    
    .footer-section p,
    .footer-section ul li {
        font-size: 13px !important;
        text-align: right;
    }
    
    .social-icons {
        justify-content: center !important;
        margin-top: 12px !important;
    }
    
     .footer > * {
        display: block !important;
    }
}    
