@charset "UTF-8";

/* === fawtra-contact.css === */
.fw-contact {
    direction: rtl;
    text-align: right;

    --c-ink: #141a2e;
    --c-ink-2: #5a6480;
    --c-line: #e7eaf3;
    --c-tint: #f6f8fd;
    --c-brand: #5b4bd6;
    --c-brand-2: #7c6ef0;
    --c-brand-soft: #efedfd;
    --c-green: #16a34a;
    --c-red: #dc2626;

    font-family: 'Cairo', 'IBM Plex Sans Arabic', system-ui, sans-serif;
    color: var(--c-ink);
    line-height: 1.85;
    max-width: 1180px;
    margin: 0 auto;
    padding: 44px 20px 72px;
}

.fw-contact h1, .fw-contact h2, .fw-contact h3 { margin: 0; color: var(--c-ink); }
.fw-contact p { margin: 0; color: var(--c-ink-2); }

.fw-contact__hero { text-align: center; max-width: 640px; margin: 0 auto 34px; }

.fw-contact .fw-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 16px;
    border-radius: 999px;
    background: var(--c-brand-soft);
    color: var(--c-brand);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 16px;
}

.fw-contact__hero h1 {
    font-size: clamp(26px, 3.4vw, 38px);
    font-weight: 800;
    letter-spacing: -0.5px;
}

.fw-contact__hero p { margin-top: 12px; font-size: 15.5px; }
.fw-contact__hero strong { color: var(--c-ink); }

.fw-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px 18px;
    border-radius: 12px;
    margin-bottom: 22px;
    font-size: 14.5px;
    border: 1px solid;
}
.fw-note i { font-size: 18px; margin-top: 2px; flex: none; }
.fw-note ul { margin: 6px 0 0; padding-inline-start: 20px; }
.fw-note li { margin-bottom: 3px; }

.fw-note--ok { background: #f0fdf4; border-color: #bbf7d0; color: #14532d; }
.fw-note--ok i { color: var(--c-green); }
.fw-note--bad { background: #fef2f2; border-color: #fecaca; color: #7f1d1d; }
.fw-note--bad i { color: var(--c-red); }

.fw-contact__grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 24px;
    align-items: start;
}

.fw-contact__form {
    background: #fff;
    border: 1px solid var(--c-line);
    border-radius: 18px;
    padding: 30px 28px;
    box-shadow: 0 14px 40px rgba(20, 26, 46, .06);
}

.fw-contact__head { margin-bottom: 22px; }
.fw-contact__head h2 { font-size: 21px; font-weight: 800; }
.fw-contact__head p { margin-top: 5px; font-size: 13.5px; }

.fw-req { color: var(--c-red); }

.fw-contact__fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 16px;
}

.fw-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.fw-contact__fields .fw-field { margin-bottom: 0; }
.fw-field--full { grid-column: 1 / -1; margin-top: 18px; }

.fw-field label { font-size: 13.5px; font-weight: 700; color: var(--c-ink); }

.fw-field input,
.fw-field textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--c-line);
    border-radius: 11px;
    font-family: inherit;
    font-size: 14.5px;
    color: var(--c-ink);
    background: #fff;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.fw-field input::placeholder,
.fw-field textarea::placeholder { color: #a8b0c4; }

.fw-field input:focus,
.fw-field textarea:focus {
    outline: none;
    border-color: var(--c-brand);
    box-shadow: 0 0 0 3px rgba(91, 75, 214, .13);
}

.fw-field input.is-bad,
.fw-field textarea.is-bad { border-color: var(--c-red); }

.fw-field textarea { resize: vertical; min-height: 132px; line-height: 1.9; }

.fw-hint { font-size: 11.5px; color: var(--c-ink-2); }
.fw-err { font-size: 12px; color: var(--c-red); font-weight: 600; }

.fw-field__foot { display: flex; justify-content: space-between; gap: 10px; }
.fw-count { font-size: 11.5px; color: var(--c-ink-2); font-variant-numeric: tabular-nums; }

.fw-subjects {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.fw-subject { margin: 0; cursor: pointer; }

.fw-subject input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.fw-subject__box {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 13px;
    border: 1px solid var(--c-line);
    border-radius: 11px;
    background: var(--c-tint);
    font-size: 13.5px;
    font-weight: 600;
    transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.fw-subject__box i { color: var(--c-ink-2); font-size: 15px; transition: color .16s ease; }

.fw-subject:hover .fw-subject__box { border-color: #c9cee0; transform: translateY(-1px); }

.fw-subject input:checked + .fw-subject__box {
    background: var(--c-brand-soft);
    border-color: var(--c-brand);
    color: var(--c-brand);
}
.fw-subject input:checked + .fw-subject__box i { color: var(--c-brand); }

.fw-subject input:focus-visible + .fw-subject__box {
    box-shadow: 0 0 0 3px rgba(91, 75, 214, .2);
}

.fw-send {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 24px;
    padding: 13px 30px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--c-brand), var(--c-brand-2));
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 10px 26px rgba(91, 75, 214, .28);
    transition: transform .16s ease, box-shadow .16s ease;
}
.fw-send:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(91, 75, 214, .36); }

.fw-contact__side { display: flex; flex-direction: column; gap: 16px; }

.fw-panel {
    background: #fff;
    border: 1px solid var(--c-line);
    border-radius: 16px;
    padding: 22px 20px;
}

.fw-panel h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 15.5px;
    font-weight: 800;
    margin-bottom: 15px;
}
.fw-panel h3 i { color: var(--c-brand); font-size: 15px; }

.fw-steps-mini { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.fw-steps-mini li { display: flex; gap: 11px; align-items: flex-start; }

.fw-steps-mini__num {
    flex: none;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--c-brand-soft);
    color: var(--c-brand);
    font-size: 12.5px;
    font-weight: 800;
}

.fw-steps-mini strong { display: block; font-size: 13.5px; }
.fw-steps-mini span:not(.fw-steps-mini__num) { font-size: 12.5px; color: var(--c-ink-2); }

.fw-contacts { display: flex; flex-direction: column; gap: 8px; }

.fw-contact-row {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 11px;
    border-radius: 11px;
    background: var(--c-tint);
    border: 1px solid transparent;
    text-decoration: none;
    color: var(--c-ink);
    transition: border-color .16s ease, background .16s ease;
}
.fw-contact-row:hover { text-decoration: none; color: var(--c-ink); background: #fff; border-color: var(--c-brand); }
.fw-contact-row.is-static { cursor: default; }
.fw-contact-row.is-static:hover { background: var(--c-tint); border-color: transparent; }

.fw-contact-row__icon {
    flex: none;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--c-line);
    color: var(--c-brand);
    font-size: 14px;
}
.fw-contact-row__icon.is-wa { color: #25d366; }

.fw-contact-row__text { display: flex; flex-direction: column; font-size: 13.5px; min-width: 0; word-break: break-word; }
.fw-contact-row__label { font-size: 11px; color: var(--c-ink-2); }

.fw-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.fw-socials a {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: var(--c-tint);
    border: 1px solid var(--c-line);
    color: var(--c-ink-2);
    font-size: 14px;
    text-decoration: none;
    transition: background .16s ease, color .16s ease, transform .16s ease;
}
.fw-socials a:hover { background: var(--c-brand); border-color: var(--c-brand); color: #fff; transform: translateY(-2px); }

.fw-panel--tip { background: var(--c-tint); }
.fw-panel--tip p { font-size: 13.5px; }

.fw-tip-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
    color: var(--c-brand);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}
.fw-tip-link:hover { text-decoration: none; color: var(--c-brand-2); gap: 11px; }

.fw-map {
    margin-top: 24px;
    border: 1px solid var(--c-line);
    border-radius: 16px;
    overflow: hidden;
    line-height: 0;
}
.fw-map iframe { width: 100%; height: 320px; border: 0; }

@media (max-width: 991px) {
    .fw-contact__grid { grid-template-columns: 1fr; }
    .fw-contact { padding: 30px 16px 54px; }
    .fw-contact__form { padding: 24px 20px; }
}

@media (max-width: 575px) {
    .fw-subjects { grid-template-columns: 1fr 1fr; }
    .fw-send { width: 100%; justify-content: center; }
}

.fw-maplink {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 24px;
    padding: 18px 20px;
    background: var(--c-tint);
    border: 1px solid var(--c-line);
    border-radius: 16px;
}

.fw-maplink > i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #fff;
    border: 1px solid var(--c-line);
    color: var(--c-brand);
    font-size: 17px;
    flex: none;
}

.fw-maplink div { display: flex; flex-direction: column; min-width: 0; }
.fw-maplink strong { font-size: 14.5px; }
.fw-maplink span { font-size: 12.5px; color: var(--c-ink-2); }

.fw-maplink a {
    margin-inline-start: auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 18px;
    border-radius: 999px;
    background: var(--c-brand);
    color: #fff;
    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.fw-maplink a:hover { background: var(--c-brand-2); color: #fff; text-decoration: none; }

@media (max-width: 575px) {
    .fw-maplink { flex-wrap: wrap; }
    .fw-maplink a { margin-inline-start: 0; width: 100%; justify-content: center; }
}
