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

body {
    margin: 0;
    font-family: 'Cairo', sans-serif;
    background: linear-gradient(135deg, #1e3c72, #2a5298);
    color: white;
}

/* ✅ ADD THIS RIGHT HERE */
section {
    margin: 60px 0;
}
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

section {
    margin: 60px 0;
}

/* ================================
   HERO HEADER
================================ */
.header {
    
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 400px; /* slightly bigger for CTA */
}


/* ✅ overlay for readability */
.header::before {
    content: "";
    position: absolute;
    inset: 0;
 }

.header::before {
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.5),
        rgba(0,0,0,0.2)
    );
}

.overlay {
    position: relative;
    z-index: 2;
    background: transparent;   /* ✅ removes dark box */
    padding: 40px;
    border-radius: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* spacing */
.overlay p {
    max-width: 700px;
    margin: 15px auto;
}

.overlay h2 {
    color: #fff;
    text-shadow: 0 2px 5px rgba(0,0,0,0.5);
}

.overlay p {
    color: #eee;
}


.overlay h2 {
    font-size: 30px;
}

/* ================================
   HERO BACKGROUNDS (PER SERVICE)
================================ */
.header.domain {
    background: url('https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
}

.header.consulting {
    background: url('https://images.unsplash.com/photo-1551836022-d5d88e9218df?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
}

.header.it {
    background: url('https://images.unsplash.com/photo-1581090700227-1e8b9a7a49db?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
}

.header.webapps {
    background: url('https://images.unsplash.com/photo-1498050108023-c5249f4df085?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
}

.header.mobile {
    background: url('https://images.unsplash.com/photo-1512941937669-90a1b58e7e9c?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
}

.header.market {
    background: url('https://images.unsplash.com/photo-1556745757-8d76bdb6984b?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
}


/* ================================
   CONTAINER & LAYOUT
================================ */
.container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 40px;
    animation: fadeIn 0.6s ease;
}

.column {
    flex: 1;
    min-width: 300px;
}


/* ================================
   GLASS CARDS (MAIN EFFECT)
================================ */
.column,
.card {
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 20px;

    box-shadow: 0 8px 25px rgba(0,0,0,0.25);
    transition: 0.3s ease;
}

/* hover */
.card {
    position: relative;
    overflow: hidden;
}

/* gradient overlay */
.card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.6),
        rgba(0,0,0,0.1)
    );
    opacity: 0;
    transition: 0.3s;
}

/* show on hover */
.card:hover::after {
    opacity: 1;
}

/* text stays above */
.card a {
    position: relative;
    z-index: 2;
}

/* ================================
   FEATURES
================================ */
.feature {
    margin: 10px 0;
    padding: 10px;
    background: rgba(0,0,0,0.35);
    border-radius: 10px;
    color: #fff;
}

.feature i {
    color: #00e0ff;
    margin-right: 8px;
}


/* ================================
   PRICING / CARDS
================================ */


.card {
    width: 100%;
    max-width: 300px;
    margin: auto;
}


.card {
    text-align: center;
}


.price {
    font-size: 22px;
    color: #00e0ff;
}


/* ================================
   BUTTONS
================================ */
.btn {
    display: inline-block;
    margin-top: 15px;
    padding: 10px 20px;
    background: #00e0ff;
    color: black;
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
}

.btn:hover {
    background: #00bcd4;
}

.form-wrapper,
.form-wrapper p,
.form-wrapper label,
.form-wrapper span {
    color: #333 !important;
}
/* ================================
   CONTACT SECTION
================================ */
.contact-section {
    display: block;
    padding: 60px;
    background: #f5f7fa;
    border-radius: 20px;
    margin-top: 40px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

/* layout fix ✅ */
.contact-content {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* LEFT */
.contact-info {
    flex: 1;
    color: #000;
}

/* RIGHT */
.contact-form {
    flex: 1.2;
}


/* ================================
   CONTACT DETAILS
================================ */
.contact-info p {
    display: flex;
    gap: 10px;
    margin: 10px 0;
}

.contact-info i {
    color: #007acc;
}

.contact-info a {
    color: #007acc;
    text-decoration: none;
}

.contact-info a:hover {
    text-decoration: underline;
}


/* ================================
   WHATSAPP
================================ */
.whatsapp-btn {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 15px;
    background: #25D366;
    color: white;
    border-radius: 25px;
}

.whatsapp-btn:hover {
    background: #1ebe5d;
}


/* ================================
   IMAGE / MAP
================================ */
.contact-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 15px;
    margin-top: 20px;
}

.contact-map iframe {
    width: 100%;
    height: 180px;
    border: none;
    border-radius: 15px;
    margin-top: 20px;
}


/* ================================
   FORM
================================ */
.form-wrapper {
    background: #ffffff;
    padding: 25px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.form-field {
    margin-bottom: 15px;
}

label {
    color: #333;
    font-weight: 500;
}

input, textarea {
    width: 100%;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid #ccc;
}

input::placeholder,
textarea::placeholder {
    color: #777;
}


/* ================================
   RTL SUPPORT
================================ */
[dir="rtl"] {
    text-align: right;
}


/* ================================
   RESPONSIVE
================================ */
@media (max-width: 768px) {
    .container {
        flex-direction: column;
    }

    .contact-content {
        flex-direction: column;
    }
}

.packages {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.pricing {
    text-align: center;
    padding: 40px 20px;
}


.cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.cta {
    text-align: center;
    padding: 60px 20px;
    background: linear-gradient(135deg, #203a43, #2c5364);
    color: white;
    border-radius: 20px;
    margin: 40px 0;
}

.cta h2 {
    font-size: 28px;
    margin-bottom: 10px;
}

.cta p {
    margin-bottom: 20px;
    color: #ddd;
}


/* CTA buttons */
.cta-buttons {
    margin-top: 20px;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
}

/* main button */
.header .btn {
    padding: 12px 25px;
}


/* default button */
.cta .btn {
    background: #00e0ff;
    color: black;
    padding: 12px 25px;
}

/* secondary button */
.alt-btn {
    background: transparent;
    border: 2px solid #00e0ff;
    color: #00e0ff;
}

.alt-btn:hover {
    background: #00e0ff;
    color: black;
}

/* ================================
   ANIMATION
================================ */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}