/* =========================================================
ROOT
========================================================= */

:root {

    --primary:#793A85;
    --primary-dark:#5e2d68;

    --secondary:#FFC107;

    --dark:#1a1a2e;

    --gray:#6c757d;

    --light:#f5f6fa;

    --white:#fff;

    --green:#16a34a;

    --red:#dc2626;

    --border:#eeeeee;

    --shadow:
        0 8px 30px rgba(0,0,0,.08);

}


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

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {

    margin:0;

    font-family:
        'Inter',
        sans-serif;

    background:var(--light);

    color:var(--dark);

    line-height:1.6;

}

a {
    text-decoration:none;
}


/* =========================================================
TOP BAR
========================================================= */

.topnav {

    background:
        linear-gradient(
            135deg,
            #6a11cb,
            #2575fc
        );

    color:#fff;

    font-size:13px;

    padding:8px 0;

}

.topnav a {
    color:#fff;
}


/* =========================================================
NAVBAR
========================================================= */

.navbar {

    background:#fff;

    box-shadow:
        0 2px 12px rgba(0,0,0,.06);

    padding:12px 0;

}

.navbar-brand img {

    height:48px;

    width:auto;

}

.nav-link {

    color:var(--dark) !important;

    font-weight:600;

    margin:0 4px;

}

.nav-link:hover {

    color:var(--primary) !important;

}

.login-btn {

    display:inline-flex !important;

    align-items:center;

    gap:8px;

    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-dark)
        );

    color:#fff !important;

    border-radius:30px;

    padding:9px 17px !important;

}

.login-btn i {

    width:25px;

    height:25px;

    display:flex;

    align-items:center;

    justify-content:center;

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

    border-radius:50%;

}


/* =========================================================
BREADCRUMB
========================================================= */

.breadcrumb-section {

    background:#fff;

    border-bottom:
        1px solid #eee;

    padding:15px 0;

}

.breadcrumb {

    margin:0;

    font-size:13px;

}

.breadcrumb a {

    color:var(--primary);

}


/* =========================================================
CONTACT SECTION
========================================================= */

.contact-section {

    padding:40px 0 70px;

}


/* =========================================================
PAGE HEADER
========================================================= */

.page-header {

    text-align:center;

    max-width:700px;

    margin:
        0 auto 35px;

}

.page-header .badge {

    display:inline-flex;

    align-items:center;

    gap:7px;

    background:#f4eaf6;

    color:var(--primary);

    padding:7px 14px;

    border-radius:30px;

    font-size:11px;

    font-weight:800;

    text-transform:uppercase;

    margin-bottom:12px;

}

.page-header h1 {

    font-size:
        clamp(
            30px,
            5vw,
            44px
        );

    font-weight:800;

    margin:0 0 10px;

}

.page-header p {

    color:#777;

    margin:0;

}


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

.contact-card {

    background:#fff;

    border:1px solid var(--border);

    border-radius:20px;

    padding:30px;

    box-shadow:var(--shadow);

    height:100%;

}


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

.card-title {

    font-size:22px;

    font-weight:800;

    margin-bottom:7px;

}

.card-subtitle {

    color:#777;

    font-size:13px;

    margin-bottom:25px;

}


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

.form-label {

    font-size:13px;

    font-weight:700;

    margin-bottom:7px;

}

.required {

    color:var(--red);

}


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

.form-control {

    border:
        1px solid #ddd;

    border-radius:10px;

    min-height:48px;

    padding:
        11px 14px;

    font-size:14px;

    transition:.2s;

}

.form-control:focus {

    border-color:var(--primary);

    box-shadow:
        0 0 0 3px
        rgba(121,58,133,.10);

}

textarea.form-control {

    min-height:140px;

    resize:vertical;

}


/* =========================================================
INPUT ICON
========================================================= */

.input-group-custom {

    position:relative;

}

.input-group-custom i {

    position:absolute;

    left:14px;

    top:16px;

    color:var(--primary);

    z-index:2;

}

.input-group-custom .form-control {

    padding-left:42px;

}


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

.submit-btn {

    width:100%;

    border:none;

    min-height:52px;

    border-radius:10px;

    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-dark)
        );

    color:#fff;

    font-size:14px;

    font-weight:800;

    transition:.2s;

}

.submit-btn:hover {

    transform:
        translateY(-2px);

    box-shadow:
        0 8px 20px
        rgba(121,58,133,.25);

}


/* =========================================================
ALERT
========================================================= */

.custom-alert {

    border-radius:12px;

    padding:14px 16px;

    font-size:13px;

    margin-bottom:20px;

}

.success-alert {

    background:#ecfdf3;

    color:#166534;

    border:
        1px solid #bbf7d0;

}

.error-alert {

    background:#fef2f2;

    color:#991b1b;

    border:
        1px solid #fecaca;

}


/* =========================================================
CONTACT INFORMATION
========================================================= */

.contact-info-title {

    font-size:21px;

    font-weight:800;

    margin-bottom:20px;

}

.contact-info {

    display:flex;

    gap:14px;

    padding:16px 0;

    border-bottom:
        1px solid #f1f1f1;

}

.contact-info:last-child {

    border-bottom:none;

}

.contact-icon {

    width:45px;

    height:45px;

    min-width:45px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:12px;

    background:#f4eaf6;

    color:var(--primary);

    font-size:17px;

}

.contact-info h6 {

    font-size:12px;

    color:#888;

    margin:0 0 3px;

    font-weight:600;

}

.contact-info p {

    margin:0;

    font-size:14px;

    font-weight:700;

    word-break:break-word;

}

.contact-info a {

    color:var(--primary);

}


/* =========================================================
QUICK CONTACT BUTTONS
========================================================= */

.quick-buttons {

    display:grid;

    grid-template-columns:
        repeat(2,1fr);

    gap:10px;

    margin-top:20px;

}

.quick-btn {

    display:flex;

    align-items:center;

    justify-content:center;

    gap:7px;

    min-height:46px;

    border-radius:10px;

    font-size:13px;

    font-weight:700;

}

.call-btn {

    background:var(--primary);

    color:#fff;

}

.call-btn:hover {

    background:var(--primary-dark);

    color:#fff;

}

.whatsapp-btn {

    background:#22c55e;

    color:#fff;

}

.whatsapp-btn:hover {

    background:#16a34a;

    color:#fff;

}


/* =========================================================
MAP
========================================================= */

.map-card {

    margin-top:25px;

    background:#fff;

    border:
        1px solid var(--border);

    border-radius:20px;

    padding:25px;

    box-shadow:var(--shadow);

}

.map-title {

    font-size:21px;

    font-weight:800;

    margin-bottom:5px;

}

.map-description {

    color:#777;

    font-size:13px;

    margin-bottom:18px;

}

.map-box {

    width:100%;

    height:390px;

    border-radius:15px;

    overflow:hidden;

    background:#eee;

}

.map-box iframe {

    width:100%;

    height:100%;

    border:0;

}

.direction-btn {

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    background:var(--primary);

    color:#fff;

    padding:12px;

    border-radius:10px;

    margin-top:12px;

    font-size:13px;

    font-weight:700;

}

.direction-btn:hover {

    background:var(--primary-dark);

    color:#fff;

}


/* =========================================================
FOOTER
========================================================= */

.footer {

    background:#171426;

    color:#fff;

    padding:40px 0 20px;

    text-align:center;

}

.footer-links {

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:25px;

    margin-bottom:20px;

}

.footer-links a {

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

    font-size:13px;

}

.footer-links a:hover {

    color:var(--secondary);

}

.copyright {

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

    padding-top:20px;

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

    font-size:12px;

}


/* =========================================================
MOBILE
========================================================= */

@media(max-width:768px) {

    .topnav {
        display:none;
    }

    .navbar-brand img {
        height:42px;
    }

    .contact-section {
        padding:25px 0 45px;
    }

    .contact-card {
        padding:22px;
    }

    .map-card {
        padding:18px;
    }

    .map-box {
        height:280px;
    }

}

@media(max-width:480px) {

    .quick-buttons {
        grid-template-columns:1fr;
    }

}
