:root {
  --primary: #1a3a6e;
  --primary-dark: #0f2548;
  --primary-light: #2c5aa0;
  --accent: #c9a962;
  --accent-light: #e0c98c;
  --dark: #0a1628;
  --light: #f8f9fa;
  --gray: #6c757d;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-heading: 'Playfair Display', Georgia, serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: var(--font-body); color:#333; line-height:1.7; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-heading); color:var(--primary); }
a { color:var(--primary); text-decoration:none; transition:all 0.3s ease; }
a:hover { color:var(--accent); }
.text-primary { color:var(--primary)!important; }
.bg-primary { background-color:var(--primary)!important; }
.text-accent { color:var(--accent)!important; }
.bg-accent { background-color:var(--accent)!important; }
.top-bar { background-color:var(--primary-dark)!important; font-size:0.85rem; color:#fff!important; }
.top-bar a, .top-bar i, .top-bar .small, .top-bar span { color:#fff!important; }
.navbar { padding:0.5rem 0; }
.logo-img { width:70px; height:70px; object-fit:contain; display:block; }
.navbar-brand { display:flex; align-items:center; padding:0; margin:0; }
.navbar-brand .logo-img { max-height:70px; }
.navbar-nav .nav-link { font-weight:500; color:var(--primary)!important; padding:0.75rem 0.9rem!important; font-size:0.9rem; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color:var(--accent)!important; }
.btn-primary { background-color:var(--primary); border-color:var(--primary); color:white; transition:all 0.3s ease; }
.btn-primary:hover { background-color:var(--accent); border-color:var(--accent); color:var(--primary); transform:translateY(-2px); box-shadow:0 8px 25px rgba(26,58,110,0.2); }
.btn-outline-primary { color:var(--primary); border-color:var(--primary); }
.btn-outline-primary:hover { background-color:var(--primary); border-color:var(--primary); color:white; }
.btn-outline-light { color:white; border-color:white; }
.btn-outline-light:hover { background-color:white; color:var(--primary); }
.py-6 { padding-top:5rem; padding-bottom:5rem; }
.section-title { position:relative; display:inline-block; }
.section-title::after { content:''; display:block; width:60px; height:3px; background-color:var(--accent); margin:1rem auto 0; }
.text-center .section-title::after { margin-left:auto; margin-right:auto; }
.page-header { background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); padding:6rem 0 4rem; color:white; position:relative; }
.breadcrumb-item + .breadcrumb-item::before { color:rgba(255,255,255,0.7); }
.breadcrumb-item.active { color:white; }
.page-header h1 { color:white; }
.breadcrumb-item a { color:var(--accent); }
.breadcrumb-item.active { color:white; opacity:0.8; }
.hero-section { position:relative; min-height:85vh; background:linear-gradient(135deg, rgba(10,22,40,0.88) 0%, rgba(26,58,110,0.78) 100%), url('../images/hero-bg.jpg') center/cover no-repeat; display:flex; align-items:center; }
.hero-content { padding-top:4rem; }
.hero-content h1 { color:white; font-family:var(--font-heading); }
.stats-bar { background-color:var(--primary)!important; }
.stat-number { color:var(--accent); font-family:var(--font-heading); }
.product-card { transition:all 0.4s ease; border:1px solid rgba(0,0,0,0.05); }
.product-card:hover { transform:translateY(-10px); box-shadow:0 20px 40px rgba(26,58,110,0.15)!important; }
.product-icon { width:70px; height:70px; background:rgba(26,58,110,0.08); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.industry-card { background:white; border:1px solid rgba(0,0,0,0.05); transition:all 0.3s ease; }
.industry-card:hover { background:var(--primary); color:white; transform:translateY(-5px); }
.industry-card:hover i, .industry-card:hover h6, .industry-card:hover p { color:white!important; }
.industry-card h6 { color:var(--primary); }
.why-section { background-color:var(--dark)!important; }
.why-card { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); transition:all 0.3s ease; }
.why-card:hover { background:rgba(255,255,255,0.1); border-color:var(--accent); }
.cta-box { background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); position:relative; overflow:hidden; }
.cta-box::before { content:''; position:absolute; top:-50%; right:-10%; width:400px; height:400px; background:rgba(255,255,255,0.05); border-radius:50%; }
.cta-box h2, .cta-box p { position:relative; z-index:1; color:#ffffff!important; text-shadow:0 2px 6px rgba(0,0,0,0.4); }
.cta-box h2 { font-weight:700!important; }
.cta-box p { opacity:0.95!important; }
.footer { background-color:var(--dark)!important; }
.footer-logo { height:45px; }
.footer a:hover { color:var(--accent)!important; opacity:1!important; }
.feature-card { background:white; border-radius:16px; padding:2rem; transition:all 0.3s ease; border:1px solid rgba(0,0,0,0.05); }
.feature-card:hover { box-shadow:0 15px 35px rgba(26,58,110,0.1); transform:translateY(-5px); }
.form-control { border-radius:8px; padding:0.75rem 1rem; border:1px solid rgba(0,0,0,0.1); }
.form-control:focus { border-color:var(--primary); box-shadow:0 0 0 0.2rem rgba(26,58,110,0.15); }
.table th { white-space:nowrap; font-size:0.82rem; }
.table td { font-size:0.82rem; }
.table-responsive { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.model-table { min-width:0; }
.model-table table { min-width:1000px; }
.model-table a { font-weight:500; }
.model-table th { background-color:var(--primary); color:white; }
.pagination .page-link { color:var(--primary); }
.pagination .page-item.active .page-link { background-color:var(--primary); border-color:var(--primary); }
.image-box { background:#fff; min-height:160px; }
.cat-card { transition:all 0.3s ease; border-left:4px solid var(--accent); }
.cat-card:hover { box-shadow:0 10px 30px rgba(26,58,110,0.1); }
.carousel-control-prev-icon, .carousel-control-next-icon { filter: invert(0.5); }
.carousel-indicators [data-bs-target] { background-color:var(--primary); }
.app-card { position:relative; overflow:hidden; border-radius:12px; height:280px; }
.app-card img { object-fit:cover; height:100%; width:100%; transition:transform 0.5s ease; }
.app-card:hover img { transform:scale(1.05); }
.news-img { aspect-ratio:4/3; object-fit:cover; width:100%; }
.news-card { transition:all 0.3s ease; border:1px solid rgba(0,0,0,0.05); }
.news-card:hover { transform:translateY(-5px); box-shadow:0 15px 35px rgba(26,58,110,0.1); }
.app-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(10,22,40,0.9) 0%, rgba(10,22,40,0.3) 60%, transparent 100%); display:flex; flex-direction:column; justify-content:flex-end; padding:1.5rem; color:white; }
.app-overlay h4 { color:white; }
.nav-item.dropdown .dropdown-menu { border:0; box-shadow:0 10px 30px rgba(0,0,0,0.1); }
.dropdown-item:hover { background-color:rgba(26,58,110,0.05); color:var(--accent); }
.icon-circle { width:60px; height:60px; border-radius:50%; background:rgba(26,58,110,0.08); display:flex; align-items:center; justify-content:center; margin:0 auto; }
.feature-card { position:relative; }
.product-grid .card { height:100%; }
.wp-block-post-title a { color:var(--primary); }
.wp-block-post-title a:hover { color:var(--accent); }
.woocommerce .products .product .woocommerce-loop-product__title { color:var(--primary); font-family:var(--font-heading); }
.woocommerce .products .product .price { display:none; }
.woocommerce .products .product .add_to_cart_button { display:none; }
.single-product .woocommerce-product-gallery__trigger { display:none; }
.single-product .woocommerce-product-gallery .flex-viewport { margin-bottom:10px; }
@media (max-width:991.98px) { .hero-section { min-height:70vh; } .hero-content h1 { font-size:2.5rem; } .py-6 { padding-top:3rem; padding-bottom:3rem; } .logo-img { width:50px; height:50px; } .navbar-nav .nav-link { padding:0.5rem 0!important; } .model-table table { font-size:0.75rem; } .model-table th, .model-table td { padding:0.3rem 0.5rem; } }
@media (max-width:767.98px) { .hero-content h1 { font-size:2rem; } .stats-bar .display-5 { font-size:2rem; } }

@media (max-width:575.98px) {
    .top-bar .container { padding-top:0.5rem; padding-bottom:0.5rem; }
    .top-bar .contact-info a { font-size:0.75rem; }
    .top-bar .social-icons { display:none; }
}

.footer-links li a { display:inline-block; transition:all 0.3s ease; }
.footer-links li a:hover { padding-left:5px; opacity:1; }
.footer .text-accent { color:var(--accent); }
.footer a:hover { color:var(--accent); }
@media (max-width:767.98px) {
    .footer { text-align:center; }
    .footer img { margin-left:auto; margin-right:auto; }
    .footer-links li a { justify-content:center; display:inline-flex; align-items:center; }
}

/* Contact Form 7 custom styling to match FIJ theme */
.wpcf7-form {
    width: 100%;
}
.wpcf7-form p {
    margin-bottom: 0 !important;
}
.wpcf7-form label {
    display: block;
    font-size: 0.95rem;
    font-weight: 500;
    color: #333;
    margin-bottom: 0.35rem;
}
.wpcf7-form-control-wrap {
    display: block;
}
.wpcf7-form .wpcf7-form-control {
    display: block;
    width: 100%;
    padding: 0.6rem 0.9rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.wpcf7-form .wpcf7-form-control:focus {
    color: #212529;
    background-color: #fff;
    border-color: var(--accent, #c9a962);
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(201,169,98,0.25);
}
.wpcf7-form textarea.wpcf7-form-control {
    min-height: calc(1.5em + 0.75rem + 2px);
    resize: vertical;
}
.wpcf7-form input[type="submit"],
.wpcf7-form .wpcf7-submit {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: 1px solid transparent;
    padding: 0.6rem 2rem;
    font-size: 1rem;
    border-radius: 50rem !important;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    color: #fff !important;
    background-color: var(--primary, #1a3a6e) !important;
    border-color: var(--primary, #1a3a6e) !important;
    margin-top: 1.5rem;
}
.wpcf7-form input[type="submit"]:hover,
.wpcf7-form .wpcf7-submit:hover {
    background-color: var(--accent, #c9a962) !important;
    border-color: var(--accent, #c9a962) !important;
}
.wpcf7-not-valid-tip {
    color: #dc3545;
    font-size: 0.85rem;
    margin-top: 0.25rem;
}
.wpcf7-response-output {
    margin: 1.5rem 0 0 0 !important;
    padding: 0.75rem 1rem !important;
    border: 1px solid transparent;
    border-radius: 0.375rem;
    font-size: 0.95rem;
}
.wpcf7-form.sent .wpcf7-response-output {
    color: #0f5132;
    background-color: #d1e7dd;
    border-color: #badbcc;
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.payment-required .wpcf7-response-output {
    color: #842029;
    background-color: #f8d7da;
    border-color: #f5c2c7;
}
