/* ============================================
   ZIQI TECHNOLOGY - Website Styles (EN v5)
   Brand Colors: #0080FF (Primary Blue) + #13D3CE (Teal)
   ============================================ */

:root {
    --primary: #0080FF;
    --primary-dark: #0066CC;
    --primary-light: #3399FF;
    --accent: #13D3CE;
    --accent-light: #4DE0DC;
    --text: #1a1a2e;
    --text-light: #4a4a6a;
    --text-muted: #8a8aaa;
    --bg: #ffffff;
    --bg-alt: #f0f7ff;
    --bg-dark: #0a1628;
    --border: #e0e8f0;
    --shadow: 0 2px 12px rgba(0,128,255,0.08);
    --shadow-hover: 0 8px 30px rgba(0,128,255,0.15);
    --shadow-dropdown: 0 8px 32px rgba(0,128,255,0.18);
    --shadow-modal: 0 20px 60px rgba(0,128,255,0.2);
    --radius: 10px;
    --radius-lg: 14px;
    --transition: all 0.3s ease;
    --container: 1200px;
    --font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
    font-family: var(--font);
    color: var(--text);
    line-height: 1.6;
    background: var(--bg);
    -webkit-font-smoothing: antialiased;
}
a { color: var(--primary); text-decoration: none; transition: var(--transition); }
a:hover { color: var(--primary-dark); }
img { max-width: 100%; height: auto; display: block; }

.container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }

/* ============================================
   TOP BAR - Gradient Background
   ============================================ */
.top-bar {
    background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
    color: rgba(255,255,255,0.9);
    font-size: 13px;
    padding: 10px 0;
    position: relative;
    z-index: 1001;
}
.top-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.top-bar-left {
    display: flex;
    align-items: center;
    gap: 16px;
}
.top-bar-item {
    display: flex;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,0.9);
}
.top-bar-item svg {
    flex-shrink: 0;
}
.top-bar-separator {
    color: rgba(255,255,255,0.4);
}
.top-bar-right {
    display: flex;
    align-items: center;
    gap: 12px;
}
.top-bar-social {
    color: rgba(255,255,255,0.8);
    transition: var(--transition);
    display: flex;
    align-items: center;
}
.top-bar-social:hover {
    color: white;
    transform: translateY(-2px);
}

/* ============================================
   HEADER & NAVIGATION
   ============================================ */
.header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
    transition: var(--transition);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 72px; }

/* Logo with Image */
.logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}
.logo-img {
    height: 44px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
}
.logo-fallback {
    display: flex;
    align-items: center;
    gap: 12px;
}
.logo-icon { width: 40px; height: 40px; flex-shrink: 0; }
.logo-icon svg { width: 100%; height: 100%; }
.logo-text { display: flex; flex-direction: column; line-height: 1.2; }
.logo-brand { font-size: 18px; font-weight: 700; color: var(--primary); letter-spacing: 1px; }
.logo-sub { font-size: 12px; color: var(--accent); font-weight: 500; }

/* Main Navigation */
.main-nav { display: flex; align-items: center; gap: 0; }

/* Nav Item with Dropdown */
.nav-item { position: relative; }
.nav-item > .nav-link {
    font-size: 15px; font-weight: 500; color: var(--text);
    position: relative; padding: 24px 20px; display: block;
    transition: var(--transition);
}
.nav-item > .nav-link::after {
    content: ''; position: absolute; bottom: 18px; left: 20px; right: 20px;
    width: 0; height: 2px; background: linear-gradient(90deg, var(--primary), var(--accent)); transition: var(--transition);
}
.nav-item:hover > .nav-link::after,
.nav-item > .nav-link.active::after { width: calc(100% - 40px); }
.nav-item > .nav-link.active { color: var(--primary); font-weight: 600; }
.nav-item:hover > .nav-link { color: var(--primary); }

/* Dropdown Arrow */
.nav-item.has-dropdown > .nav-link {
    padding-right: 36px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234a4a6a' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    transition: var(--transition);
}
.nav-item.has-dropdown:hover > .nav-link {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230080FF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}

/* Dropdown Menu - Gradient accent */
.dropdown-menu {
    position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(-10px);
    background: white; border-radius: var(--radius-lg); box-shadow: var(--shadow-dropdown);
    min-width: 260px; padding: 8px 0; opacity: 0; visibility: hidden;
    transition: all 0.25s ease; z-index: 1001;
    border: 1px solid var(--border);
}
.dropdown-menu::before {
    content: ''; position: absolute; top: -6px; left: 50%; transform: translateX(-50%) rotate(45deg);
    width: 12px; height: 12px; background: white; border-left: 1px solid var(--border);
    border-top: 1px solid var(--border); z-index: -1;
}
.nav-item:hover .dropdown-menu {
    opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);
}
.dropdown-menu a {
    display: block; padding: 10px 24px; font-size: 14px; font-weight: 500;
    color: var(--text); transition: var(--transition); white-space: nowrap;
}
.dropdown-menu a:hover {
    background: linear-gradient(135deg, var(--bg-alt) 0%, rgba(19,211,206,0.08) 100%);
    color: var(--primary); padding-left: 28px;
}

.header-actions { display: flex; align-items: center; gap: 16px; }
.search-btn { background: none; border: none; cursor: pointer; color: var(--text); padding: 8px; border-radius: 50%; transition: var(--transition); }
.search-btn:hover { background: var(--bg-alt); color: var(--primary); }
.mobile-menu-btn { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; }
.mobile-menu-btn span { display: block; width: 24px; height: 2px; background: var(--text); transition: var(--transition); border-radius: 1px; }
.mobile-menu { display: none; position: fixed; top: 72px; left: 0; right: 0; bottom: 0; background: var(--bg); border-bottom: 1px solid var(--border); z-index: 999; padding: 20px 24px; box-shadow: var(--shadow); overflow-y: auto; max-height: calc(100vh - 72px); }
.mobile-menu.active { display: block; }
.mobile-menu-content { display: flex; flex-direction: column; gap: 0; }
.mobile-menu-content > a { font-size: 16px; font-weight: 500; color: var(--text); padding: 12px 0; border-bottom: 1px solid var(--border); }
.mobile-submenu { padding-left: 16px; border-left: 2px solid var(--border); margin: 4px 0 8px; }
.mobile-submenu a { font-size: 14px; color: var(--text-light); padding: 8px 0; display: block; }
.mobile-submenu a:hover { color: var(--primary); }

/* ============================================
   HERO - Blue Gradient Background
   ============================================ */
.hero { padding: 80px 0; position: relative; overflow: hidden; background: linear-gradient(135deg, #f0f7ff 0%, #e0f2fe 50%, rgba(19,211,206,0.1) 100%); }
.hero-bg-pattern { position: absolute; top: 0; right: 0; width: 50%; height: 100%; background: radial-gradient(circle at 80% 20%, rgba(0,128,255,0.06) 0%, transparent 50%), radial-gradient(circle at 60% 80%, rgba(19,211,206,0.04) 0%, transparent 40%); pointer-events: none; }
.hero-content { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; position: relative; z-index: 1; }
.hero-title { font-size: 48px; font-weight: 700; line-height: 1.2; color: var(--text); margin-bottom: 24px; letter-spacing: -0.5px; }
.hero-title span { background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.hero-desc { font-size: 17px; color: var(--text-light); line-height: 1.8; margin-bottom: 32px; max-width: 540px; }
.hero-cta { display: flex; gap: 16px; }
.hero-image-wrapper { position: relative; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-hover); background: white; }
.hero-image-wrapper img { width: 100%; height: 400px; object-fit: cover; }
.hero-image-badge { position: absolute; bottom: 20px; left: 20px; background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; padding: 12px 20px; border-radius: var(--radius); display: flex; flex-direction: column; align-items: center; backdrop-filter: blur(4px); box-shadow: 0 4px 15px rgba(0,128,255,0.3); }
.badge-year { font-size: 28px; font-weight: 700; line-height: 1; }
.badge-text { font-size: 12px; opacity: 0.9; margin-top: 2px; }

/* ============================================
   BUTTONS - Gradient Style
   ============================================ */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 28px; font-size: 15px; font-weight: 600; border-radius: var(--radius); cursor: pointer; transition: var(--transition); border: 2px solid transparent; font-family: var(--font); }
.btn-primary { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: white; border-color: transparent; box-shadow: 0 4px 15px rgba(0,128,255,0.3); }
.btn-primary:hover { background: linear-gradient(135deg, var(--primary-dark) 0%, #0052a3 100%); color: white; transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0,128,255,0.4); }
.btn-outline { background: transparent; color: var(--primary); border-color: var(--primary); }
.btn-outline:hover { background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%); color: white; border-color: transparent; transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0,128,255,0.3); }
.btn-large { padding: 14px 36px; font-size: 16px; }
.btn-submit { width: 100%; margin-top: 8px; }

/* ============================================
   SECTIONS
   ============================================ */
.section { padding: 80px 0; }
.section-alt { background: linear-gradient(180deg, var(--bg-alt) 0%, #f8fbff 100%); }
.section-dark { background: linear-gradient(135deg, var(--bg-dark) 0%, #0d1f3c 100%); color: white; }
.section-dark .section-title, .section-dark .section-desc { color: white; }
.section-header { margin-bottom: 56px; }
.section-header.centered { text-align: center; max-width: 800px; margin-left: auto; margin-right: auto; }
.section-title { font-size: 36px; font-weight: 700; color: var(--text); margin-bottom: 16px; line-height: 1.3; }
.section-title span { background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.section-desc { font-size: 17px; color: var(--text-light); line-height: 1.7; }
.section-dark .section-desc { color: rgba(255,255,255,0.7); }

/* ============================================
   FEATURE BLOCKS
   ============================================ */
.feature-block { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.feature-block.reverse { direction: rtl; }
.feature-block.reverse > * { direction: ltr; }
.feature-image { display: flex; justify-content: center; }
.image-card { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); background: white; transition: var(--transition); border: 1px solid var(--border); }
.image-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-4px); border-color: var(--primary-light); }
.image-card img { width: 100%; height: 350px; object-fit: cover; }
.feature-title { font-size: 32px; font-weight: 700; color: var(--text); margin-bottom: 20px; line-height: 1.3; }
.feature-title span { background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.feature-desc { font-size: 16px; color: var(--text-light); line-height: 1.8; margin-bottom: 20px; }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--primary); font-size: 15px; }
.link-arrow span { transition: var(--transition); }
.link-arrow:hover span { transform: translateX(4px); }

/* ============================================
   SOLUTIONS GRID
   ============================================ */
.solutions-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.solution-card { background: white; border-radius: var(--radius-lg); padding: 40px 32px; box-shadow: var(--shadow); transition: var(--transition); border: 1px solid var(--border); position: relative; overflow: hidden; }
.solution-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--primary), var(--accent)); transform: scaleX(0); transition: var(--transition);
}
.solution-card:hover::before { transform: scaleX(1); }
.solution-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-6px); border-color: var(--primary-light); }
.solution-icon { width: 64px; height: 64px; margin-bottom: 24px; }
.solution-icon svg { width: 100%; height: 100%; }
.solution-title { font-size: 20px; font-weight: 700; color: var(--text); margin-bottom: 12px; }
.solution-desc { font-size: 15px; color: var(--text-light); line-height: 1.7; margin-bottom: 20px; }
.solution-link { font-weight: 600; font-size: 14px; display: inline-flex; align-items: center; gap: 4px; }

/* ============================================
   PARTNERS
   ============================================ */
.partners-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.partner-card { background: rgba(255,255,255,0.06); border-radius: var(--radius-lg); padding: 32px; border: 1px solid rgba(255,255,255,0.1); transition: var(--transition); }
.partner-card:hover { background: rgba(255,255,255,0.1); transform: translateY(-4px); border-color: rgba(0,128,255,0.3); }
.partner-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.partner-letter { width: 48px; height: 48px; background: linear-gradient(135deg, var(--primary), var(--accent)); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; color: white; box-shadow: 0 4px 12px rgba(0,128,255,0.3); }
.partner-name { font-size: 18px; font-weight: 700; color: white; }
.partner-tag { display: inline-block; background: linear-gradient(135deg, rgba(0,128,255,0.2), rgba(19,211,206,0.2)); color: var(--accent-light); font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 20px; margin-bottom: 12px; border: 1px solid rgba(0,128,255,0.2); }
.partner-desc { font-size: 14px; color: rgba(255,255,255,0.7); line-height: 1.6; margin-bottom: 16px; }
.partner-link { color: var(--accent-light); font-weight: 600; font-size: 14px; }
.partner-link:hover { color: white; }

/* ============================================
   CTA SECTION
   ============================================ */
.cta-section { background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%); }
.cta-block { display: flex; align-items: center; justify-content: space-between; gap: 40px; background: rgba(255,255,255,0.1); border-radius: var(--radius-lg); padding: 48px 60px; border: 1px solid rgba(255,255,255,0.15); backdrop-filter: blur(10px); }
.cta-text h2 { font-size: 28px; font-weight: 700; color: white; margin-bottom: 8px; }
.cta-text p { font-size: 16px; color: rgba(255,255,255,0.85); }
.cta-section .btn-primary { background: white; color: var(--primary); border-color: white; flex-shrink: 0; box-shadow: 0 4px 15px rgba(0,0,0,0.2); }
.cta-section .btn-primary:hover { background: rgba(255,255,255,0.95); transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0,0,0,0.3); }

/* ============================================
   CONTACT FORM SECTION
   ============================================ */
.contact-form-section { background: linear-gradient(135deg, #f0f7ff 0%, #e0f8f7 100%); }
.contact-form-wrapper { display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; align-items: start; }
.contact-form-info { padding-top: 20px; }
.contact-form-info .section-title { font-size: 32px; margin-bottom: 16px; }
.contact-form-info .section-desc { font-size: 16px; color: var(--text-light); line-height: 1.7; margin-bottom: 32px; }
.contact-form-features { display: flex; flex-direction: column; gap: 16px; }
.form-feature { display: flex; align-items: center; gap: 12px; font-size: 15px; color: var(--text); }
.form-feature-icon { width: 28px; height: 28px; background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; flex-shrink: 0; box-shadow: 0 2px 8px rgba(0,128,255,0.3); }
.contact-form-box { background: white; border-radius: var(--radius-lg); padding: 40px; box-shadow: var(--shadow-hover); border: 1px solid var(--border); }

/* ============================================
   FORMS
   ============================================ */
.inquiry-form { display: flex; flex-direction: column; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-group label { font-size: 14px; font-weight: 600; color: var(--text); }
.required { color: #e74c3c; }
.form-group input, .form-group select, .form-group textarea {
    padding: 12px 16px; border: 1.5px solid var(--border); border-radius: var(--radius);
    font-size: 15px; font-family: var(--font); color: var(--text);
    background: var(--bg); transition: var(--transition); outline: none;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    border-color: var(--primary); box-shadow: 0 0 0 3px rgba(0,128,255,0.1);
}
.form-group input::placeholder, .form-group textarea::placeholder { color: var(--text-muted); }
.form-group select { cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8aaa' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }
.form-group textarea { resize: vertical; min-height: 120px; }
.form-success { background: linear-gradient(135deg, #e8f5e9 0%, #d4edda 100%); border: 1px solid #4caf50; border-radius: var(--radius); padding: 16px 20px; display: flex; align-items: center; gap: 12px; margin-top: 16px; }
.form-success .success-icon { width: 28px; height: 28px; background: linear-gradient(135deg, #4caf50, #66bb6a); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; flex-shrink: 0; }
.form-success p { font-size: 14px; color: #2e7d32; margin: 0; line-height: 1.5; }
.btn-loader { font-size: 15px; }

/* ============================================
   MODAL
   ============================================ */
.modal-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(10,22,40,0.6); z-index: 10000; align-items: center; justify-content: center; padding: 20px; backdrop-filter: blur(4px); }
.modal-overlay.active { display: flex; }
.modal-content { background: white; border-radius: var(--radius-lg); width: 100%; max-width: 600px; max-height: 90vh; overflow-y: auto; box-shadow: var(--shadow-modal); animation: modalSlideIn 0.3s ease; }
.modal-header { display: flex; align-items: center; justify-content: space-between; padding: 24px 32px; border-bottom: 1px solid var(--border); }
.modal-header h3 { font-size: 20px; font-weight: 700; color: var(--text); }
.modal-close { background: none; border: none; font-size: 28px; color: var(--text-muted); cursor: pointer; line-height: 1; padding: 0; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: var(--transition); }
.modal-close:hover { background: var(--bg-alt); color: var(--text); }
.modal-body { padding: 32px; }
.modal-body .inquiry-form { gap: 16px; }
.modal-body .form-row { gap: 16px; }

@keyframes modalSlideIn {
    from { opacity: 0; transform: translateY(-30px) scale(0.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ============================================
   PRODUCT DETAIL PAGE
   ============================================ */
.product-detail-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.product-detail-img-card img { height: 450px; }
.product-detail-title { font-size: 32px; font-weight: 700; color: var(--text); margin-bottom: 16px; }
.product-detail-title span { background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.product-detail-desc { font-size: 16px; color: var(--text-light); line-height: 1.8; margin-bottom: 28px; }
.product-detail-features { margin-bottom: 32px; }
.product-detail-features h4 { font-size: 16px; font-weight: 700; color: var(--text); margin-bottom: 16px; }
.product-detail-features ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.product-detail-features li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--text); }
.product-detail-features .check-icon { color: var(--primary); font-weight: 700; font-size: 16px; }
.product-detail-cta { display: flex; gap: 16px; flex-wrap: wrap; }
.custom-solution-cta { text-align: center; margin-top: 32px; }

/* ============================================
   FOOTER
   ============================================ */
.footer { background: linear-gradient(135deg, var(--bg-dark) 0%, #0d1f3c 100%); color: white; padding: 64px 0 0; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1.5fr; gap: 40px; margin-bottom: 48px; }
.footer-logo { display: flex; flex-direction: column; gap: 4px; margin-bottom: 16px; }
.footer-logo-brand { font-size: 22px; font-weight: 700; color: white; letter-spacing: 1px; }
.footer-logo-sub { font-size: 14px; color: var(--accent); font-weight: 500; }
.footer-desc { font-size: 14px; color: rgba(255,255,255,0.6); line-height: 1.7; }
.footer-nav h4, .footer-contact h4 { font-size: 14px; font-weight: 700; color: white; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; }
.footer-nav ul, .footer-contact ul { list-style: none; }
.footer-nav li, .footer-contact li { margin-bottom: 12px; }
.footer-nav a { color: rgba(255,255,255,0.6); font-size: 14px; transition: var(--transition); }
.footer-nav a:hover { color: var(--accent-light); }
.footer-contact li { color: rgba(255,255,255,0.6); font-size: 14px; display: flex; gap: 8px; }
.contact-label { color: rgba(255,255,255,0.4); min-width: 50px; flex-shrink: 0; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding: 24px 0; display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: rgba(255,255,255,0.4); }
.footer-links { display: flex; gap: 24px; }
.footer-links a { color: rgba(255,255,255,0.4); font-size: 13px; }
.footer-links a:hover { color: var(--accent-light); }

/* Footer Social Icons */
.footer-social { display: flex; gap: 12px; margin-top: 16px;}
.social-link {display: flex;align-items: center;justify-content: center;width: 36px;height: 36px;border-radius: 50%;background: rgba(255, 255, 255, 0.1);color: #fff;transition: all 0.3s ease;}
.social-link:hover {background: rgba(255, 255, 255, 0.1);transform: translateY(-2px);}
.social-icon {width: 18px;height: 18px;}

/* ============================================
   COOKIE BANNER
   ============================================ */
.cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; background: linear-gradient(135deg, var(--bg-dark) 0%, #0d1f3c 100%); color: white; z-index: 9999; padding: 16px 0; transform: translateY(100%); transition: transform 0.4s ease; }
.cookie-banner.active { transform: translateY(0); }
.cookie-content { max-width: var(--container); margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.cookie-content p { font-size: 14px; color: rgba(255,255,255,0.8); line-height: 1.5; }
.cookie-btn { background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; border: none; padding: 10px 24px; border-radius: var(--radius); font-weight: 600; font-size: 14px; cursor: pointer; transition: var(--transition); flex-shrink: 0; font-family: var(--font); box-shadow: 0 4px 12px rgba(0,128,255,0.3); }
.cookie-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,128,255,0.4); }
@media (max-width: 768px) {.cookie-content {flex-direction: column;text-align: center;gap: 16px;}}

/* ============================================
   PAGE HEADER
   ============================================ */
.page-header { padding: 60px 0 60px; background: linear-gradient(135deg, var(--bg-alt) 0%, #e0f8f7 100%); border-bottom: 1px solid var(--border); }
.page-header h1 { font-size: 40px; font-weight: 700; color: var(--text); margin-bottom: 16px; }
.page-header h1 span { background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.page-desc { font-size: 17px; color: var(--text-light); line-height: 1.7; max-width: 800px; }

/* ============================================
   PRODUCTS PAGE
   ============================================ */
.products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.product-card { background: white; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); transition: var(--transition); border: 1px solid var(--border); position: relative; }
.product-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--primary), var(--accent)); transform: scaleX(0); transition: var(--transition);
}
.product-card:hover::before { transform: scaleX(1); }
.product-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-6px); border-color: var(--primary-light); }
.product-image { overflow: hidden; background: var(--bg-alt); }
.product-image img { width: 100%; height: auto; object-fit: cover; transition: var(--transition); }
.product-card:hover .product-image img { transform: scale(1.05); }
.product-info { padding: 28px; }
.product-title { font-size: 18px; font-weight: 700; color: var(--text); margin-bottom: 12px; }
.product-desc { font-size: 14px; color: var(--text-light); line-height: 1.7; margin-bottom: 20px; }
.product-link { font-weight: 600; font-size: 14px; display: inline-flex; align-items: center; gap: 4px; }

/* ============================================
   PRODUCTS CATEGORY
   ============================================ */
.categories-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.category-card {
    background: white;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: var(--transition);
    border: 1px solid var(--border);
    text-decoration: none;
    display: flex;
    flex-direction: column;
}

.category-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-6px);
    border-color: var(--primary-light);
}

.category-image {
    width: 100%;
    height: auto;
    overflow: hidden;
    background: linear-gradient(135deg, #f0f7ff, #e0f8f7);
}

.category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.category-card:hover .category-image img {
    transform: scale(1.05);
}

.category-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
}

.category-content {
    padding: 28px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.category-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 12px;
}

.category-desc {
    font-size: 14px;
    color: var(--text-light);
    line-height: 1.6;
    margin-bottom: 20px;
    flex: 1;
}

.category-link {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: gap 0.2s ease;
}

.category-card:hover .category-link {
    gap: 8px;
}

.no-categories {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: var(--text-muted);
    font-size: 18px;
}

@media (max-width: 1024px) {
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .categories-grid {
        grid-template-columns: 1fr;
    }
    
    .category-image {
        height: auto;
    }
}

/* ============================================
   ABOUT PAGE
   ============================================ */
.about-intro { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: center; }
.about-text h2 { font-size: 32px; font-weight: 700; color: var(--text); margin-bottom: 20px; }
.about-text h2 span { background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.about-text p { font-size: 16px; color: var(--text-light); line-height: 1.8; margin-bottom: 16px; }
.specialty-list { list-style: none; margin: 24px 0; }
.specialty-list li { display: flex; align-items: center; gap: 12px; font-size: 16px; color: var(--text); margin-bottom: 12px; padding: 8px 0; }
.check-icon { color: var(--primary); font-weight: 700; font-size: 18px; }
.about-image .image-card img { height: 380px; }
.clients-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.client-card { display: flex; gap: 20px; background: white; padding: 28px; border-radius: var(--radius-lg); box-shadow: var(--shadow); border: 1px solid var(--border); transition: var(--transition); }
.client-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-4px); border-color: var(--primary-light); }
.client-logo { width: 56px; height: 56px; background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; border-radius: var(--radius); display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; flex-shrink: 0; box-shadow: 0 4px 12px rgba(0,128,255,0.3); }
.client-info h4 { font-size: 18px; font-weight: 700; color: var(--text); margin-bottom: 8px; }
.client-info p { font-size: 14px; color: var(--text-light); line-height: 1.6; }
.certs-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.cert-card { text-align: center; padding: 32px 24px; background: white; border-radius: var(--radius-lg); box-shadow: var(--shadow); border: 1px solid var(--border); transition: var(--transition); }
.cert-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-4px); border-color: var(--primary-light); }
.cert-icon { font-size: 32px; background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 16px; }
.cert-card h4 { font-size: 16px; font-weight: 700; color: var(--text); margin-bottom: 8px; }
.cert-card p { font-size: 14px; color: var(--text-light); line-height: 1.6; }

/* ============================================
   CONTACT PAGE
   ============================================ */
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.contact-info-block { background: white; border-radius: var(--radius-lg); padding: 40px 32px; box-shadow: var(--shadow); border: 1px solid var(--border); transition: var(--transition); }
.contact-info-block:hover { box-shadow: var(--shadow-hover); transform: translateY(-4px); border-color: var(--primary-light); }
.contact-info-block h3 { font-size: 20px; font-weight: 700; color: var(--text); margin-bottom: 20px; }
.contact-detail { display: flex; gap: 16px; align-items: flex-start; }
.contact-icon { font-size: 24px; flex-shrink: 0; }
.contact-detail p { font-size: 15px; color: var(--text-light); line-height: 1.7; }
.faq-cta { text-align: center; max-width: 600px; margin: 0 auto; padding: 40px; background: white; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.faq-cta h3 { font-size: 24px; font-weight: 700; color: var(--text); margin-bottom: 12px; }
.faq-cta h3 span { background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.faq-cta p { font-size: 16px; color: var(--text-light); margin-bottom: 24px; }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
    .hero-content { grid-template-columns: 1fr; gap: 40px; }
    .hero-title { font-size: 36px; }
    .feature-block { grid-template-columns: 1fr; gap: 40px; }
    .feature-block.reverse { direction: ltr; }
    .solutions-grid, .products-grid, .partners-grid { grid-template-columns: repeat(2, 1fr); }
    .about-intro { grid-template-columns: 1fr; }
    .contact-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-form-wrapper { grid-template-columns: 1fr; }
    .certs-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .cta-block { flex-direction: column; text-align: center; padding: 40px 32px; }
    .product-detail-layout { grid-template-columns: 1fr; }
    .product-detail-cta { justify-content: center; }
    .main-nav { display: none; }
    .mobile-menu-btn { display: flex; }
    .top-bar-left { font-size: 12px; }
}

@media (max-width: 768px) {
    .top-bar { display: none; }
    .hero { padding: 60px 0; }
    .hero-title { font-size: 28px; }
    .hero-desc { font-size: 15px; }
    .hero-cta { flex-direction: column; }
    .section { padding: 60px 0; }
    .section-title { font-size: 28px; }
    .feature-title { font-size: 24px; }
    .solutions-grid, .products-grid, .partners-grid, .contact-grid, .certs-grid, .clients-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; gap: 32px; }
    .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
    .cookie-content { flex-direction: column; text-align: center; }
    .page-header h1 { font-size: 28px; }
    .cta-block { padding: 32px 24px; }
    .cta-text h2 { font-size: 22px; }
    .form-row { grid-template-columns: 1fr; }
    .contact-form-box { padding: 28px 20px; }
    .modal-content { max-height: 95vh; }
    .modal-header, .modal-body { padding: 20px 24px; }
    .product-detail-title { font-size: 24px; }
    .product-detail-cta { flex-direction: column; }
    .product-detail-cta .btn { width: 100%; }
    .logo-img { height: 36px; }
}

@media (max-width: 480px) {
    .container { padding: 0 16px; }
    .hero-title { font-size: 24px; }
    .section-title { font-size: 24px; }
    .btn { padding: 10px 20px; font-size: 14px; }
    .btn-large { padding: 12px 28px; }
    .solution-card, .product-card, .contact-info-block { padding: 28px 20px; }
}

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
.section > .container > * { animation: fadeInUp 0.6s ease-out forwards; }
html { scroll-padding-top: 120px; }
