:root {
    --cs3703a367-primary: #2d1b64; /* Default Dark Purple fallback */
    --cs3703a367-bg: #f5fcf5; /* Default fallback */
}

.cs3703a367-container {
    font-family: sans-serif;
    color: #333;
    padding: 20px;
    background: var(--cs3703a367-bg);
    border-radius: 12px;
}

.cs3703a367-header { margin-bottom: 40px; }
.cs3703a367-badge {
    background: #c3b8e0;
    color: #fff;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: bold;
    display: inline-block;
}
.cs3703a367-title { color: var(--cs3703a367-primary); font-size: 2.5em; margin: 15px 0; }
.cs3703a367-subtitle { max-width: 600px; line-height: 1.6; color: #666; }

.cs3703a367-grid { display: flex; gap: 30px; flex-wrap: wrap; }
.cs3703a367-left { flex: 1; min-width: 100%; display: flex; flex-direction: column; gap: 20px; }
.cs3703a367-right { flex: 1.5; min-width: 100%; }

@media (min-width: 768px) {
    .cs3703a367-left { min-width: 300px; }
    .cs3703a367-right { min-width: 300px; }
}

/* Info Card */
.cs3703a367-info-card {
    background: var(--cs3703a367-primary);
    color: #fff;
    padding: 30px;
    border-radius: 20px;
    box-sizing: border-box;
    width: 100%;
}
.cs3703a367-hq { display: flex; gap: 15px; align-items: center; margin-bottom: 25px; flex-wrap: wrap; }
.cs3703a367-hq-icon { background: #bcfb46; color: #000; width: 40px; height: 40px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
.cs3703a367-hq-label { font-size: 10px; font-weight: bold; color: #a49bc7; }
.cs3703a367-hq-title { margin: 5px 0; font-size: 1.5em; word-wrap: break-word;}
.cs3703a367-hq-sub { font-size: 12px; color: #d0c9eb; margin:0; }

.cs3703a367-email-box {
    background: rgba(0,0,0,0.2);
    padding: 15px;
    border-radius: 10px;
    display: flex; 
    gap: 15px;
    align-items: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
    word-break: break-word;
}
.cs3703a367-email-icon { font-size: 24px; flex-shrink: 0; }
.cs3703a367-email-label { font-size: 10px; font-weight: bold; color: #a49bc7; }
.cs3703a367-email-link { color: #ffb800; text-decoration: none; font-weight: bold; word-break: break-all; display: block;}

.cs3703a367-hubs-header { display: flex; justify-content: space-between; font-size: 10px; font-weight: bold; color: #bcfb46; margin-bottom: 15px; flex-wrap: wrap; gap: 10px; }
.cs3703a367-hubs-grid { display: grid; grid-template-columns: 1fr; gap: 15px; }

@media (min-width: 480px) {
   .cs3703a367-hubs-grid { grid-template-columns: repeat(2, 1fr); }
}

.cs3703a367-hub { background: rgba(0,0,0,0.15); padding: 15px; border-radius: 10px; }
.cs3703a367-hub-city { font-weight: bold; margin-bottom: 5px; }
.cs3703a367-hub-region { font-size: 11px; color: #d0c9eb; }

/* Form Card */
.cs3703a367-form-card {
    background: #fdfaf6;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    box-sizing: border-box;
    width: 100%;
}
@media (min-width: 768px) {
    .cs3703a367-form-card { padding: 40px; }
}

.cs3703a367-form-title { color: var(--cs3703a367-primary); font-size: 1.8em; margin: 0 0 10px 0; }
.cs3703a367-form-desc { color: #666; margin-bottom: 30px; font-size: 14px; }

.cs3703a367-form-row { display: flex; gap: 20px; margin-bottom: 0; flex-wrap: wrap; }
.cs3703a367-form-group { flex: 1; min-width: 100%; display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
@media (min-width: 600px) {
    .cs3703a367-form-group { min-width: calc(50% - 10px); }
}

.cs3703a367-form-group label { font-size: 12px; font-weight: bold; color: var(--cs3703a367-primary); }
.cs3703a367-contact-form input[type="text"],
.cs3703a367-contact-form input[type="email"],
.cs3703a367-contact-form select,
.cs3703a367-contact-form textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.3s, box-shadow 0.3s;
    max-width: 100%;
}
.cs3703a367-contact-form input:focus,
.cs3703a367-contact-form select:focus,
.cs3703a367-contact-form textarea:focus {
    outline: none;
    border-color: var(--cs3703a367-primary);
    box-shadow: 0 0 0 2px rgba(45, 27, 100, 0.1);
}

.cs3703a367-form-checkbox { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 25px; }
.cs3703a367-form-checkbox input { margin-top: 4px; flex-shrink: 0; }
.cs3703a367-form-checkbox label { font-size: 12px; color: #666; line-height: 1.5; cursor: pointer; }

.cs3703a367-submit-btn {
    background: var(--cs3703a367-primary);
    color: #fff;
    border: none;
    padding: 15px 30px;
    border-radius: 25px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-block;
    width: 100%;
}
@media (min-width: 480px) {
    .cs3703a367-submit-btn { width: auto; }
}

.cs3703a367-submit-btn:disabled { opacity: 0.7; cursor: not-allowed; }
.cs3703a367-form-msg { margin-top: 15px; font-size: 14px; font-weight: 500; }
.cs3703a367-msg-success { color: #2e7d32; }
.cs3703a367-msg-error { color: #d32f2f; }
