/* Explain: Layout utilities and atmospheric background elements. - */
/* Section Zones */
.zone-hero {
    background: var(--zone-hero-bg);
}
.zone-destinations {
    background: var(--zone-destinations-bg);
}
.zone-services {
    background: var(--zone-services-bg);
}
.zone-ai {
    background: var(--zone-ai-bg);
}
.zone-b2b {
    background: var(--zone-b2b-bg);
}
.zone-contact {
    background: var(--zone-contact-bg);
}
.zone-search-panel {
    background: linear-gradient(135deg, rgba(19, 27, 44, 0.65) 0%, rgba(11, 17, 32, 0.75) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-left: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 16px 40px -10px rgba(0, 0, 0, 0.5), inset 0 1px 0 0 rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(24px) saturate(120%);
    -webkit-backdrop-filter: blur(24px) saturate(120%);
}

html[data-theme="light"] .zone-search-panel {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.7) 0%, rgba(248, 250, 252, 0.45) 100%);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.9);
    border-left: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 16px 40px -10px rgba(15, 23, 42, 0.15), inset 0 1px 0 0 rgba(255, 255, 255, 0.6);
}
.divider-line {
    height: 1px;
    width: 100%;
    background: linear-gradient(90deg, transparent, var(--border-color), transparent);
    margin: 0;
}

/* Atmospheric Background Layers */
.glow-bg-container {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.glow-blue {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.08) 0%, transparent 70%);
    filter: blur(60px);
}

.glow-red {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(190, 18, 60, 0.07) 0%, transparent 70%);
    filter: blur(60px);
}

html[data-theme="light"] .glow-blue {
    background: radial-gradient(circle, rgba(0, 120, 255, 0.12) 0%, transparent 70%);
}

html[data-theme="light"] .glow-red {
    background: radial-gradient(circle, rgba(178, 30, 39, 0.09) 0%, transparent 70%);
}

.bg-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.bg-flight-routes {
    background-image: url("data:image/svg+xml,%3Csvg width='400' height='400' viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50,350 Q150,150 350,50' fill='none' stroke='rgba(255,255,255,0.02)' stroke-width='1.5' stroke-dasharray='4 8'/%3E%3Ccircle cx='50' cy='350' r='3.5' fill='rgba(255,255,255,0.03)'/%3E%3Ccircle cx='350' cy='50' r='3.5' fill='rgba(255,255,255,0.03)'/%3E%3Cpath d='M100,300 Q200,200 300,100' fill='none' stroke='rgba(255,255,255,0.015)' stroke-width='1'/%3E%3Cpath d='M80,280 Q250,50 380,180' fill='none' stroke='rgba(255,255,255,0.01)' stroke-width='1' stroke-dasharray='2 6'/%3E%3C/svg%3E");
}

html[data-theme="light"] .bg-flight-routes {
    background-image: url("data:image/svg+xml,%3Csvg width='400' height='400' viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50,350 Q150,150 350,50' fill='none' stroke='rgba(0,120,255,0.045)' stroke-width='1.5' stroke-dasharray='4 8'/%3E%3Ccircle cx='50' cy='350' r='3.5' fill='rgba(178,30,39,0.055)'/%3E%3Ccircle cx='350' cy='50' r='3.5' fill='rgba(0,120,255,0.055)'/%3E%3Cpath d='M100,300 Q200,200 300,100' fill='none' stroke='rgba(15,23,42,0.035)' stroke-width='1'/%3E%3Cpath d='M80,280 Q250,50 380,180' fill='none' stroke='rgba(178,30,39,0.035)' stroke-width='1' stroke-dasharray='2 6'/%3E%3C/svg%3E");
}

.bg-passport-stamps {
    background-image: url("data:image/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='rotate(-20 150 150)'%3E%3Ccircle cx='150' cy='150' r='70' fill='none' stroke='rgba(255,255,255,0.015)' stroke-width='2' stroke-dasharray='5 5'/%3E%3Ccircle cx='150' cy='150' r='55' fill='none' stroke='rgba(255,255,255,0.01)' stroke-width='1'/%3E%3Ctext x='150' y='145' font-family='sans-serif' font-size='14' fill='rgba(255,255,255,0.02)' text-anchor='middle' font-weight='bold' letter-spacing='3'%3EVISA ISSUED%3C/text%3E%3Ctext x='150' y='165' font-family='sans-serif' font-size='9' fill='rgba(255,255,255,0.015)' text-anchor='middle' letter-spacing='1'%3EMULTIPLE ENTRY%3C/text%3E%3C/g%3E%3Cg transform='translate(50, 50) rotate(15 50 50)' opacity='0.5'%3E%3Crect x='20' y='30' width='60' height='40' fill='none' stroke='rgba(255,255,255,0.015)' stroke-width='1.5'/%3E%3Ctext x='50' y='55' font-family='sans-serif' font-size='8' fill='rgba(255,255,255,0.015)' text-anchor='middle'%3EDEPARTED%3C/text%3E%3C/g%3E%3C/svg%3E");
}

html[data-theme="light"] .bg-passport-stamps {
    background-image: url("data:image/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='rotate(-20 150 150)'%3E%3Ccircle cx='150' cy='150' r='70' fill='none' stroke='rgba(178,30,39,0.045)' stroke-width='2' stroke-dasharray='5 5'/%3E%3Ccircle cx='150' cy='150' r='55' fill='none' stroke='rgba(0,120,255,0.035)' stroke-width='1'/%3E%3Ctext x='150' y='145' font-family='sans-serif' font-size='14' fill='rgba(15,23,42,0.055)' text-anchor='middle' font-weight='bold' letter-spacing='3'%3EVISA ISSUED%3C/text%3E%3Ctext x='150' y='165' font-family='sans-serif' font-size='9' fill='rgba(15,23,42,0.045)' text-anchor='middle' letter-spacing='1'%3EMULTIPLE ENTRY%3C/text%3E%3C/g%3E%3Cg transform='translate(50, 50) rotate(15 50 50)' opacity='0.5'%3E%3Crect x='20' y='30' width='60' height='40' fill='none' stroke='rgba(15,23,42,0.045)' stroke-width='1.5'/%3E%3Ctext x='50' y='55' font-family='sans-serif' font-size='8' fill='rgba(15,23,42,0.045)' text-anchor='middle'%3EDEPARTED%3C/text%3E%3C/g%3E%3C/svg%3E");
}

.bg-boarding-pass {
    background-image: url("data:image/svg+xml,%3Csvg width='250' height='250' viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.03' fill='%23ffffff'%3E%3Crect x='30' y='30' width='2' height='80'/%3E%3Crect x='36' y='30' width='5' height='80'/%3E%3Crect x='44' y='30' width='1' height='80'/%3E%3Crect x='48' y='30' width='4' height='80'/%3E%3Crect x='56' y='30' width='2' height='80'/%3E%3Crect x='61' y='30' width='6' height='80'/%3E%3Crect x='70' y='30' width='1' height='80'/%3E%3Crect x='74' y='30' width='3' height='80'/%3E%3Crect x='80' y='30' width='4' height='80'/%3E%3Crect x='87' y='30' width='2' height='80'/%3E%3C/g%3E%3Ctext x='30' y='125' font-family='monospace' font-size='10' fill='rgba(255,255,255,0.02)' letter-spacing='5'%3EFLIGHT%3C/text%3E%3Cpath d='M130,50 L200,50 M130,70 L180,70' stroke='rgba(255,255,255,0.015)' stroke-width='1' stroke-dasharray='2 2'/%3E%3C/svg%3E");
}

html[data-theme="light"] .bg-boarding-pass {
    background-image: url("data:image/svg+xml,%3Csvg width='250' height='250' viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.045' fill='%230078ff'%3E%3Crect x='30' y='30' width='2' height='80'/%3E%3Crect x='36' y='30' width='5' height='80'/%3E%3Crect x='44' y='30' width='1' height='80'/%3E%3Crect x='48' y='30' width='4' height='80'/%3E%3Crect x='56' y='30' width='2' height='80'/%3E%3Crect x='61' y='30' width='6' height='80'/%3E%3Crect x='70' y='30' width='1' height='80'/%3E%3Crect x='74' y='30' width='3' height='80'/%3E%3Crect x='80' y='30' width='4' height='80'/%3E%3Crect x='87' y='30' width='2' height='80'/%3E%3C/g%3E%3Ctext x='30' y='125' font-family='monospace' font-size='10' fill='rgba(15,23,42,0.045)' letter-spacing='5'%3EFLIGHT%3C/text%3E%3Cpath d='M130,50 L200,50 M130,70 L180,70' stroke='rgba(178,30,39,0.04)' stroke-width='1' stroke-dasharray='2 2'/%3E%3C/svg%3E");
}

.bg-radar {
    background-image: url("data:image/svg+xml,%3Csvg width='400' height='400' viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='200' cy='200' r='180' fill='none' stroke='rgba(255,255,255,0.01)' stroke-width='1'/%3E%3Ccircle cx='200' cy='200' r='120' fill='none' stroke='rgba(255,255,255,0.015)' stroke-width='1' stroke-dasharray='3 5'/%3E%3Ccircle cx='200' cy='200' r='60' fill='none' stroke='rgba(255,255,255,0.01)' stroke-width='1'/%3E%3Cline x1='200' y1='10' x2='200' y2='390' stroke='rgba(255,255,255,0.01)' stroke-width='1'/%3E%3Cline x1='10' y1='200' x2='390' y2='200' stroke='rgba(255,255,255,0.01)' stroke-width='1'/%3E%3Ctext x='215' y='75' font-family='monospace' font-size='12' fill='rgba(255,255,255,0.02)'%3E25.2048° N, 55.2708° E%3C/text%3E%3Ccircle cx='290' cy='120' r='2' fill='rgba(255,255,255,0.03)'/%3E%3Ccircle cx='120' cy='270' r='2' fill='rgba(255,255,255,0.02)'/%3E%3C/svg%3E");
}

html[data-theme="light"] .bg-radar {
    background-image: url("data:image/svg+xml,%3Csvg width='400' height='400' viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='200' cy='200' r='180' fill='none' stroke='rgba(0,120,255,0.035)' stroke-width='1'/%3E%3Ccircle cx='200' cy='200' r='120' fill='none' stroke='rgba(178,30,39,0.035)' stroke-width='1' stroke-dasharray='3 5'/%3E%3Ccircle cx='200' cy='200' r='60' fill='none' stroke='rgba(15,23,42,0.03)' stroke-width='1'/%3E%3Cline x1='200' y1='10' x2='200' y2='390' stroke='rgba(15,23,42,0.025)' stroke-width='1'/%3E%3Cline x1='10' y1='200' x2='390' y2='200' stroke='rgba(15,23,42,0.025)' stroke-width='1'/%3E%3Ctext x='215' y='75' font-family='monospace' font-size='12' fill='rgba(15,23,42,0.05)'%3E25.2048° N, 55.2708° E%3C/text%3E%3Ccircle cx='290' cy='120' r='2' fill='rgba(0,120,255,0.055)'/%3E%3Ccircle cx='120' cy='270' r='2' fill='rgba(178,30,39,0.05)'/%3E%3C/svg%3E");
}

/* Technical Patterns & Separators */
.bg-grid-pattern {
    background-image: linear-gradient(to right, rgba(255,255,255,0.02) 1px, transparent 1px),
                      linear-gradient(to bottom, rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size: 40px 40px;
}

html[data-theme="light"] .bg-grid-pattern {
    background-image: linear-gradient(to right, rgba(15,23,42,0.03) 1px, transparent 1px),
                      linear-gradient(to bottom, rgba(15,23,42,0.03) 1px, transparent 1px);
}

.section-top-glow {
    border-top: 1px solid var(--border-color);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

html[data-theme="light"] .section-top-glow {
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}