:root {
    --eu-primary: #254587;
    --eu-primary-deep: #1a3161;
    --eu-surface: #ffffff;
    --eu-bg: #f4f7fb;
    --eu-text: #2d3553;
    --eu-muted: #5d6785;
    --eu-border: #dbe3f1;
    --eu-shadow: 0 10px 28px rgba(25, 42, 84, 0.12);
    --eu-shadow-soft: 0 6px 16px rgba(20, 36, 72, 0.08);
    --eu-radius: 12px;
}

body,
body#homepage {
    background: linear-gradient(180deg, #f6f9ff 0%, var(--eu-bg) 100%) !important;
    color: var(--eu-text);
}

#wrapper {
    min-height: 100vh;
}

#subheader,
section[class$='-section'],
.about-section,
.committee-section,
.tracks-page,
.brochure-page,
.abstract-page,
.contact-section,
.venue-section,
.terms-section,
.sponsorship-section,
.faqs-section,
.registration-section,
.schedule-section {
    margin-top: 0 !important;
    padding-top: 120px !important;
    padding-bottom: 72px !important;
    background: transparent !important;
}

.about-container,
.committee-wrap,
.tracks-wrap,
.brochure-wrap,
.abstract-wrap,
.contact-wrap,
.venue-wrap,
.terms-wrap,
.sponsorship-wrap {
    max-width: 1180px;
    margin: 0 auto;
}

.about-hero,
.committee-hero,
.tracks-hero,
.brochure-hero,
.abstract-hero,
.contact-header,
.venue-header,
.terms-header,
.sponsorship-header,
.faqs-hero,
.schedule-hero,
.registration-hero,
.about-hero-section,
.speakers-hero-section,
.committee-hero-section,
.faqs-hero-section,
.faq-hero-section,
.venue-hero-section,
.contact-hero-section,
.schedule-hero-section,
.tracks-hero-section,
.abstract-hero-section {
    margin-top: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(45deg, rgba(136,73,227,0.9) 0%, rgba(73,145,227,0.9) 100%) !important;
    box-shadow: var(--eu-shadow) !important;
}

.about-card,
.highlight-item,
.tracks-card,
.member-card,
.brochure-card,
.abstract-card,
.contact-card,
.venue-info,
.terms-content,
.package-card,
.benefits-section,
.amenities-section,
.hotels-section,
.faq-item,
.schedule-card,
.registration-card,
.table-wrap,
.form-panel {
    border: 1px solid rgba(37, 69, 135, 0.08) !important;
    border-radius: var(--eu-radius) !important;
    box-shadow: var(--eu-shadow-soft) !important;
    background: var(--eu-surface) !important;
}

.about-card:hover,
.highlight-item:hover,
.member-card:hover,
.contact-card:hover,
.package-card:hover,
.amenity-item:hover,
.faq-item:hover,
.schedule-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 28px rgba(22, 39, 78, 0.14) !important;
}

h1,
h2,
h3,
h4,
.section-title,
.de_tab h3,
.table-title {
    color: #1f2d5a !important;
}

p,
li,
label,
small,
.text-muted {
    color: var(--eu-muted);
}

a,
.member-link,
.tracks-cta a,
.package-btn,
.submit-btn,
.btn-submit,
.brochure-btn-submit,
.btn-main,
.btn-line,
button[type='submit'] {
    transition: all 0.2s ease;
}

.btn-main,
.btn-submit,
.package-btn,
button[type='submit'] {
    border-radius: 8px !important;
    border: 0 !important;
    background: var(--eu-primary) !important;
    color: #fff !important;
    font-weight: 700;
}

.btn-main:hover,
.btn-submit:hover,
.package-btn:hover,
button[type='submit']:hover {
    background: var(--eu-primary-deep) !important;
}

input,
select,
textarea,
.form-control {
    border: 1px solid var(--eu-border) !important;
    border-radius: 8px !important;
    color: var(--eu-text) !important;
    background: #fff !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus {
    border-color: var(--eu-primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 69, 135, 0.15) !important;
    outline: 0;
}

table,
.table {
    background: #fff;
    border: 1px solid var(--eu-border);
}

table th,
.table th {
    background: #edf2fc;
    color: #24366a;
}

table td,
.table td {
    color: var(--eu-text);
    border-color: var(--eu-border);
}

header {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(37, 69, 135, 0.09);
}

header.clone,
header.smaller {
    background: rgba(255, 255, 255, 0.98);
}

#mainmenu > li > a {
    color: #1f2d5a !important;
    font-weight: 600;
}

#mainmenu > li > a:hover,
#mainmenu > li > a.active {
    color: var(--eu-primary) !important;
}

footer {
    background: #111a35;
    color: #e8ecf6;
}

footer a,
footer .social-icons a {
    color: #e8ecf6;
}

@media (max-width: 991px) {
    #subheader,
    section[class$='-section'],
    .about-section,
    .committee-section,
    .tracks-page,
    .brochure-page,
    .abstract-page,
    .contact-section,
    .venue-section,
    .terms-section,
    .sponsorship-section,
    .faqs-section,
    .registration-section,
    .schedule-section {
        padding-top: 104px !important;
        padding-bottom: 56px !important;
    }
}
