/* =========================================================
   WELCOME PANEL
========================================================= */

.wel_abo{

    position:relative;

    width:100%;

    min-height:390px;

    padding:50px 60px 75px;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            #9088FF 0%,
            #6C63FF 55%,
            #5548F5 100%
        );

    color:var(--color-text-light);

}


/* =========================================================
   CONTENT
========================================================= */

.wel_abo_content{

    position:relative;

    z-index:5;

    width:100%;

    min-height:265px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:var(--space-10);

}


/* =========================================================
   TEXT
========================================================= */

.wel_abo_text{

    flex:1;

    max-width:650px;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    text-align:right;

}


/* =========================================================
   BADGE
========================================================= */

.wel_abo_badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:7px 16px;

    margin-bottom:var(--space-4);

    border-radius:var(--radius-pill);

    background:rgba(255,255,255,.15);

    border:var(--border-width) solid rgba(255,255,255,.22);

    color:var(--color-text-light);

    font-size:var(--font-size-sm);

    font-weight:var(--font-weight-bold);

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

}


/* =========================================================
   TITLE
========================================================= */

.wel_abo_title{

    margin:0;

	font-family:"Estedad", var(--font-family);

    color:var(--color-text-light);

    font-size:var(--font-size-5xl);

    line-height:var(--line-height-normal);

    font-weight:var(--font-weight-extrabold);

    letter-spacing:-.5px;

}


/* =========================================================
   SUBTITLE
========================================================= */

.wel_abo_subtitle{

    margin:5px 0 10px;

    color:rgba(255,255,255,.92);

    font-size:var(--font-size-3xl);

    line-height:var(--line-height-normal);

    font-weight:var(--font-weight-bold);

}


/* =========================================================
   DESCRIPTION
========================================================= */

.wel_abo_description{

    max-width:570px;

    margin:0 0 25px;

    color:var(--color-text-light);

    font-size:var(--font-size-sm);

    line-height:var(--line-height-relaxed);

    font-weight:var(--font-weight-medium);

}


/* =========================================================
   VISUAL AREA
========================================================= */

.wel_abo_visual{

    position:relative;

    flex:0 0 360px;

    width:360px;

    height:280px;

    display:flex;

    align-items:center;

    justify-content:center;

}


/* =========================================================
   MAIN ICON
========================================================= */

.wel_abo_main_icon{

    position:relative;

    z-index:3;

    width:150px;

    height:150px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:var(--radius-round);

    background:rgba(255,255,255,.18);

    border:1px solid rgba(255,255,255,.25);

    box-shadow:
        0 20px 45px rgba(0,0,0,.14),
        inset 0 1px 0 rgba(255,255,255,.25);

    backdrop-filter:blur(10px);

    -webkit-backdrop-filter:blur(10px);

}


/* =========================================================
   MAIN ICON INNER CIRCLE
========================================================= */

.wel_abo_main_icon::before{

    content:"";

    position:absolute;

    width:115px;

    height:115px;

    border-radius:var(--radius-round);

    background:var(--color-surface);

    box-shadow:var(--shadow-secondary);

}

.wel_abo_main_icon svg {

    position:relative;
    z-index:4;
    width:75px;
    height:75px;
	color:var(--color-text);

}


/* =========================================================
   FLOATING ICONS
========================================================= */

.wel_abo_float_icon{

    position:absolute;

    z-index:4;

    width:54px;

    height:54px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:var(--radius-lg);

    background:var(--color-surface);

    color:var(--color-surface);

    box-shadow:
        0 12px 28px rgba(0,0,0,.14);

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

    animation:
        welPamFloat 4s ease-in-out infinite;

}



.wel_abo_float_icon svg {

    width:32px;
    height:32px;
	color:var(--color-text);

}


/* =========================================================
   FLOATING ICON POSITIONS
========================================================= */

.wel_abo_float_icon.icon_1{

    top:18px;

    right:55px;

    animation-delay:0s;

}


.wel_abo_float_icon.icon_2{

    top:30px;

    left:45px;

    width:48px;

    height:48px;

    border-radius:var(--radius-round);

    animation-delay:.8s;

}


.wel_abo_float_icon.icon_3{

    bottom:20px;

    right:30px;

    width:58px;

    height:58px;

    border-radius:var(--radius-round);

    animation-delay:1.5s;

}


.wel_abo_float_icon.icon_4{

    bottom:25px;

    left:55px;

    animation-delay:2.2s;

}


/* =========================================================
   FLOAT ANIMATION
========================================================= */

@keyframes welPamFloat{

    0%,
    100%{

        transform:
            translateY(0)
            rotate(0deg);

    }

    50%{

        transform:
            translateY(-9px)
            rotate(3deg);

    }

}


/* =========================================================
   ANIMATED SEA WAVE
========================================================= */

.wel_abo_wave{

    position:absolute;

    z-index:2;

    left:-10%;

    bottom:-55px;

    width:120%;

    height:125px;

    background:#F5F7FF;

    border-radius:
        50% 50% 0 0 /
        70% 70% 0 0;

    transform:
        rotate(-1deg)
        translateX(0);

    animation:
        welPamWaveMove
        7s
        ease-in-out
        infinite;

}


/* =========================================================
   SECOND WAVE LAYER
========================================================= */

.wel_abo_wave::before{

    content:"";

    position:absolute;

    left:-5%;

    top:-22px;

    width:110%;

    height:65px;

    background:rgba(255,255,255,.20);

    border-radius:var(--radius-round);

    transform:translateX(0);

    animation:
        welPamWaveMoveReverse
        5s
        ease-in-out
        infinite;

}


/* =========================================================
   MAIN WAVE ANIMATION
========================================================= */

@keyframes welPamWaveMove{

    0%{

        transform:
            rotate(-1deg)
            translateX(-3%);

    }

    25%{

        transform:
            rotate(-1deg)
            translateX(1%);

    }

    50%{

        transform:
            rotate(-1deg)
            translateX(3%);

    }

    75%{

        transform:
            rotate(-1deg)
            translateX(0%);

    }

    100%{

        transform:
            rotate(-1deg)
            translateX(-3%);

    }

}


/* =========================================================
   SECOND WAVE ANIMATION
========================================================= */

@keyframes welPamWaveMoveReverse{

    0%{

        transform:
            translateX(4%)
            rotate(1deg);

    }

    25%{

        transform:
            translateX(0%)
            rotate(1deg);

    }

    50%{

        transform:
            translateX(-4%)
            rotate(1deg);

    }

    75%{

        transform:
            translateX(-1%)
            rotate(1deg);

    }

    100%{

        transform:
            translateX(4%)
            rotate(1deg);

    }

}

/* =====================================================
   CONTACT PAGE
   SARZAMIN DANAYI
   ===================================================== */

.contact-page {
    padding-block: var(--space-13);
}


/* =====================================================
   CONTACT GRID
   ===================================================== */

.contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: var(--space-8);

    align-items: stretch;
}


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

.contact-form-box {
    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-2xl);
    padding: var(--space-10);

    box-shadow: var(--shadow-sm);
}


.contact-form-box h2,
.contact-info h2 {
    margin: 0 0 var(--space-7);

    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
}


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

#contactForm {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}


.form-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}


.form-group label {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--text-primary);
}


.form-group input,
.form-group textarea {
    width: 100%;

    padding: var(--space-4) var(--space-5);

    font-family: var(--font-family);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-regular);

    color: var(--color-text);
	background: var(--color-surface);

    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-md);

    outline: none;

    transition:
        border-color var(--transition-fast),
        box-shadow var(--transition-fast),
        background-color var(--transition-fast);
}


.form-group textarea {
    min-height: 150px;
    resize: vertical;
    line-height: var(--line-height-normal);
}


/* =====================================================
   INPUT FOCUS
   ===================================================== */

.form-group input:focus,
.form-group textarea:focus {
    border-color: var(--brand-purple);

    box-shadow:
        0 0 0 4px rgb(108 92 231 / 10%);
}


/* =====================================================
   SUBMIT BUTTON
   ===================================================== */

#contactForm button {
    width: 100%;

    margin-top: var(--space-2);

    padding: var(--space-4) var(--space-6);

    border: none;
    border-radius: var(--radius-md);

    background: var(--brand-purple);
    color: #fff;

    font-family: var(--font-family);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-bold);

    cursor: pointer;

    transition:
        background-color var(--transition-fast),
        transform var(--transition-fast),
        box-shadow var(--transition-fast);
}


#contactForm button:hover {
    background: var(--brand-purple-dark);

    transform: translateY(-2px);

    box-shadow: var(--shadow-primary);
}


#contactForm button:active {
    transform: translateY(0);
}


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

#formResult {
    margin-top: var(--space-5);

    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
}


/* =====================================================
   CONTACT INFO
   ===================================================== */

.contact-info {
    display: flex;
    flex-direction: column;

    background: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-2xl);

    padding: var(--space-10);

    box-shadow: var(--shadow-sm);
}


.contact-info h2:not(:first-child) {
    margin-top: var(--space-10);
}


/* =====================================================
   INFO ITEMS
   ===================================================== */

.info-item {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);

    padding: var(--space-5) 0;

    border-bottom: var(--border-width) solid var(--color-border-light);
}


.info-item:first-of-type {
    padding-top: 0;
}


.info-item:last-of-type {
    border-bottom: none;
}


.info-item strong {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);

    color: var(--brand-purple);
}


.info-item span {
    font-size: var(--font-size-md);
    line-height: var(--line-height-normal);

    color: var(--color-text-secondary);
}


/* =====================================================
   SOCIAL LINKS
   ===================================================== */

.social-links {
    display: grid;
    grid-template-columns: 1fr;

    gap: var(--space-3);
}


.social-links a {
    display: flex;
    align-items: center;
    gap: var(--space-4);

    min-height: 64px;

    padding: var(--space-3) var(--space-4);

    color: var(--color-text);
	background: var(--color-surface-soft);

    border: var(--border-width) solid var(--color-border-light);
    border-radius: var(--radius-lg);

    text-decoration: none;

    transition:
        transform var(--transition-fast),
        border-color var(--transition-fast),
        box-shadow var(--transition-fast),
        background-color var(--transition-fast);
}


.social-links a:hover {
    transform: translateY(-2px);

    border-color: var(--brand-purple);

    box-shadow: var(--shadow-sm);
}


.social-links img {
    width: 40px;
    height: 40px;

    flex-shrink: 0;

    object-fit: contain;

    border-radius: var(--radius-sm);
}


.social-links span {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-medium);

    color: var(--color-text);
}


/* =====================================================
   RESPONSIVE — 1100px
   ===================================================== */

@media (max-width: 1100px) {

    .contact-grid {
        grid-template-columns: 1fr 0.85fr;
        gap: var(--space-6);
    }

    .contact-form-box,
    .contact-info {
        padding: var(--space-8);
    }
}


/* =====================================================
   RESPONSIVE — 900px
   ===================================================== */

@media (max-width: 900px) {

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .contact-info {
        order: 2;
    }

    .contact-form-box {
        order: 1;
    }
}


/* =====================================================
   RESPONSIVE — 600px
   ===================================================== */

@media (max-width: 600px) {

    .contact-page {
        padding-block: var(--space-10);
    }

    .contact-form-box,
    .contact-info {
        padding: var(--space-6);
        border-radius: var(--radius-xl);
    }

    .contact-form-box h2,
    .contact-info h2 {
        font-size: var(--font-size-xl);
        margin-bottom: var(--space-6);
    }

    #contactForm {
        gap: var(--space-4);
    }
}


/* =====================================================
   RESPONSIVE — 480px
   ===================================================== */

@media (max-width: 480px) {

    .contact-page {
        padding-block: var(--space-8);
    }

    .contact-form-box,
    .contact-info {
        padding: var(--space-5);
        border-radius: var(--radius-lg);
    }

    .form-group input,
    .form-group textarea {
        padding: var(--space-3) var(--space-4);
    }

    .form-group textarea {
        min-height: 130px;
    }

    .social-links a {
        min-height: 58px;
    }

    .social-links img {
        width: 36px;
        height: 36px;
    }
}


/* =====================================================
   RESPONSIVE — 360px
   ===================================================== */

@media (max-width: 360px) {

    .contact-form-box,
    .contact-info {
        padding: var(--space-4);
    }

    .contact-form-box h2,
    .contact-info h2 {
        font-size: var(--font-size-lg);
    }

    .social-links a {
        gap: var(--space-3);
        padding-inline: var(--space-3);
    }
}