/* ==========================================================================
   Graylio Global Professional UK Redesign Theme CSS
   Cohesive Navy/Slate/Royal Blue/Cyan design variables and overrides.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
    --uk-navy: #090f24;
    --uk-navy-light: #121b3a;
    --uk-slate: #475569;
    --uk-royal-blue: #0066cc;
    --uk-cyan: #00d2ff;
    --uk-gold: #f59e0b;
    --border-corporate: #e2e8f0;
    --bg-light-neutral: #f8fafc;
    --font-head: 'Inter', sans-serif;
    --font-body: 'Plus Jakarta Sans', sans-serif;
    --transition-smooth: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Global resets for subpages */
body.uk-theme,
.uk-theme-body {
    background-color: #ffffff !important;
    color: #1e293b !important;
    font-family: var(--font-body);
}

.uk-theme-body h1,
.uk-theme-body h2,
.uk-theme-body h3,
.uk-theme-body h4,
.uk-theme-body h5,
.uk-theme-body h6,
.uk-theme-body .display-3,
.uk-theme-body .display-4,
.uk-theme-body .display-5 {
    color: var(--uk-navy) !important;
    font-family: var(--font-head);
    font-weight: 800;
}

.uk-theme-body p,
.uk-theme-body li,
.uk-theme-body span,
.uk-theme-body .lead {
    color: var(--uk-slate) !important;
}

/* Cohesive section layout */
.uk-section {
    padding: 100px 0;
    position: relative;
    background-color: #ffffff;
}
.uk-section-alt {
    background-color: var(--bg-light-neutral);
    border-top: 1px solid var(--border-corporate);
    border-bottom: 1px solid var(--border-corporate);
}

/* Cohesive buttons */
.btn-uk-primary {
    background: linear-gradient(135deg, var(--uk-royal-blue) 0%, #0052a3 100%) !important;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 14px;
    padding: 14px 30px;
    border-radius: 8px;
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition-smooth);
    box-shadow: 0 4px 14px rgba(0, 102, 204, 0.2);
    text-decoration: none;
}
.btn-uk-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px -3px rgba(0, 102, 204, 0.35);
    background: linear-gradient(135deg, #007aff 0%, #004494 100%) !important;
    color: #ffffff !important;
}

.btn-uk-secondary {
    background: #ffffff !important;
    color: var(--uk-navy) !important;
    font-weight: 600;
    font-size: 14px;
    padding: 13px 29px;
    border-radius: 8px;
    border: 1px solid var(--border-corporate) !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition-smooth);
    text-decoration: none;
}
.btn-uk-secondary:hover {
    border-color: #cbd5e1 !important;
    background: #f8fafc !important;
    color: var(--uk-navy) !important;
    transform: translateY(-2px);
}

/* Cohesive badges */
.uk-badge {
    background: rgba(0, 102, 204, 0.06) !important;
    border: 1px solid rgba(0, 102, 204, 0.15) !important;
    color: var(--uk-royal-blue) !important;
    padding: 6px 14px !important;
    border-radius: 100px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* Cohesive Premium Cards */
.uk-card {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--border-corporate) !important;
    border-radius: 12px !important;
    padding: 30px !important;
    transition: var(--transition-smooth);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.03) !important;
}
.uk-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05) !important;
    border-color: #cbd5e1 !important;
    background: #ffffff !important;
}

/* Fix for contact form inputs contrast */
.uk-contact-input {
    background: #ffffff !important;
    border: 1px solid var(--border-corporate) !important;
    color: var(--uk-navy) !important;
    padding: 14px 20px !important;
    border-radius: 8px !important;
    width: 100% !important;
    transition: var(--transition-smooth) !important;
    font-size: 15px !important;
}
.uk-contact-input:focus {
    border-color: var(--uk-royal-blue) !important;
    box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.1) !important;
    outline: none !important;
    background: #ffffff !important;
}

/* General style corrections for region/industry subpages */
.subpage-hero {
    background: linear-gradient(135deg, var(--uk-navy) 0%, var(--uk-navy-light) 100%) !important;
    color: white !important;
    padding: 140px 0 100px !important;
    position: relative;
    overflow: hidden;
}
.subpage-hero::before {
    content: '';
    position: absolute;
    top: -30%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(0, 210, 255, 0.15) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.subpage-hero::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(0, 102, 204, 0.15) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.subpage-hero h1,
.subpage-hero .gradient-text {
    color: #ffffff !important;
    background: none !important;
    -webkit-text-fill-color: initial !important;
    -webkit-background-clip: initial !important;
}
.subpage-hero p,
.subpage-hero .lead,
.subpage-hero .text-white-50 {
    color: rgba(255, 255, 255, 0.75) !important;
}

.uk-theme-body .region-chip {
    background: rgba(0, 102, 204, 0.05) !important;
    border: 1px solid rgba(0, 102, 204, 0.15) !important;
    color: var(--uk-navy) !important;
    border-radius: 8px !important;
    padding: 12px 18px !important;
    text-align: center !important;
    transition: var(--transition-smooth) !important;
    cursor: pointer !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 600 !important;
}
.uk-theme-body .region-chip:hover {
    background: linear-gradient(135deg, var(--uk-royal-blue) 0%, #0052a3 100%) !important;
    color: white !important;
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.2) !important;
    border-color: transparent !important;
}

.uk-theme-body .feature-card,
.uk-theme-body .feature-card-light {
    background: #ffffff !important;
    border: 1px solid var(--border-corporate) !important;
    border-radius: 12px !important;
    padding: 30px !important;
    transition: var(--transition-smooth) !important;
    height: 100% !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.03) !important;
}
.uk-theme-body .feature-card:hover,
.uk-theme-body .feature-card-light:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05) !important;
    border-color: #cbd5e1 !important;
}
.uk-theme-body .feature-card h5,
.uk-theme-body .feature-card-light h5,
.uk-theme-body .feature-card h4,
.uk-theme-body .feature-card-light h4 {
    color: var(--uk-navy) !important;
    font-weight: 800 !important;
}
.uk-theme-body .feature-card p,
.uk-theme-body .feature-card-light p {
    color: var(--uk-slate) !important;
}

.uk-theme-body .icon-box {
    width: 50px !important;
    height: 50px !important;
    background: rgba(0, 102, 204, 0.08) !important;
    color: var(--uk-royal-blue) !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 20px !important;
    font-size: 20px !important;
}

/* FAQ Styling Overrides */
.uk-theme-body .custom-accordion .accordion-item,
.uk-theme-body .faq-accordion .accordion-item {
    background: #ffffff !important;
    border: 1px solid var(--border-corporate) !important;
    border-radius: 8px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02) !important;
}
.uk-theme-body .custom-accordion .accordion-button,
.uk-theme-body .faq-accordion .accordion-button {
    background: #ffffff !important;
    color: var(--uk-navy) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    padding: 18px 24px !important;
    border: none !important;
    box-shadow: none !important;
}
.uk-theme-body .custom-accordion .accordion-button:not(.collapsed),
.uk-theme-body .faq-accordion .accordion-button:not(.collapsed) {
    background: rgba(0, 102, 204, 0.03) !important;
    color: var(--uk-royal-blue) !important;
}
.uk-theme-body .custom-accordion .accordion-body,
.uk-theme-body .faq-accordion .accordion-body {
    background: #ffffff !important;
    color: var(--uk-slate) !important;
    padding: 20px 24px !important;
    border-top: 1px solid var(--border-corporate) !important;
}
.uk-theme-body .custom-accordion .accordion-button::after,
.uk-theme-body .faq-accordion .accordion-button::after {
    filter: none !important;
}
