/**
 * Finnic Glass - Custom Premium Industrial Styling
 * Modern buttons, CTAs, and refined spacing
 */

/* ========== Premium CTA Buttons ========== */
.btn-finnic,
.btn-finnic-primary,
.btn-finnic-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    border-radius: 4px;
    border: none;
    transition: all 0.25s ease;
    text-decoration: none;
    cursor: pointer;
}

.btn-finnic-primary {
    background: #1a1a1a;
    color: #fff;
}

.btn-finnic-primary:hover {
    background: #333;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.btn-finnic-secondary {
    background: transparent;
    color: #1a1a1a;
    border: 2px solid #1a1a1a;
}

.btn-finnic-secondary:hover {
    background: #1a1a1a;
    color: #fff;
}

/* Product card buttons */
.product-card-actions {
    display: flex;
    gap: 10px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.product-card-actions .btn-finnic {
    padding: 10px 18px;
    font-size: 13px;
}

/* Override template buttons where used */
.products .figure-block .text .btn-finnic,
.product .btn-finnic {
    margin-right: 8px;
}

/* Banner CTA */
.banner .btn-finnic {
    margin: 0 4px 8px;
}

/* About/Services section buttons */
.about-cta .btn-finnic,
.services-cta .btn-finnic {
    margin: 0 8px 8px 0;
}

/* Contact form submit */
.contact-form .btn-finnic-primary[type="submit"] {
    padding: 14px 32px;
    font-size: 15px;
}

/* Contact page layout */
.contact-info-block { padding: 40px 30px; background: #f8f9fa; border-radius: 6px; margin-bottom: 30px; }
.contact-info-block h3 { margin-top: 0; margin-bottom: 15px; font-weight: 600; }
.contact-detail { display: flex; gap: 15px; margin-bottom: 20px; }
.contact-detail .icon { font-size: 24px; color: #666; flex-shrink: 0; }
.contact-form-block { padding: 30px 0; }
.contact-form-block .form-group label { font-weight: 500; margin-bottom: 6px; display: block; }

/* About page */
.about-section { padding: 60px 0; }
.about-section-alt { background: #f8f9fa; }
.about-intro .about-title { margin-bottom: 20px; font-weight: 600; }
.about-intro .lead { font-size: 18px; line-height: 1.7; }
.about-section h3 { margin-top: 0; margin-bottom: 15px; font-weight: 600; }
.about-section p { line-height: 1.7; margin-bottom: 15px; }
.about-leadership { align-items: center; }
.about-leadership-image { overflow: hidden; border-radius: 6px; }
.about-leadership-image img { width: 100%; height: auto; display: block; }
.about-leadership-content { padding-left: 40px; }
@media (max-width: 991px) { .about-leadership-content { padding-left: 0; padding-top: 30px; } }
.about-capabilities-intro { margin-bottom: 40px; max-width: 600px; margin-left: auto; margin-right: auto; }
.about-capabilities-grid { }
.about-capabilities-grid > [class*="col-"] { margin-bottom: 0; }
.about-capability-item { padding: 25px 20px; margin-bottom: 20px; background: #fff; border: 1px solid #e8e8e8; border-radius: 6px; transition: box-shadow 0.25s; flex: 1; display: flex; flex-direction: column; min-height: 100%; }
.about-capability-item:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
.about-capability-item .icon { font-size: 28px; color: #666; display: block; margin-bottom: 12px; }
.about-capability-item h4 { margin: 0 0 8px; font-size: 16px; font-weight: 600; }
.about-capability-item p { margin: 0; font-size: 14px; line-height: 1.5; color: #555; flex: 1; }
.about-capabilities-cta { margin-top: 30px; }
.about-capabilities-cta .btn-finnic { padding: 14px 28px; }
@media (max-width: 767px) {
    .about-capabilities-grid > [class*="col-"] { margin-bottom: 0; }
    .about-capability-item { margin-bottom: 15px; }
}

/* Services page */
.services-intro { padding: 40px 0 20px; }
.services-lead { font-size: 17px; line-height: 1.7; color: #444; }
.services-group { padding: 40px 0; }
.services-group:nth-child(even) { background: #f8f9fa; }
.services-group-title { margin-bottom: 25px; font-weight: 600; font-size: 18px; color: #333; padding-bottom: 10px; border-bottom: 2px solid #1a1a1a; }
.service-card { padding: 30px 25px; background: #fff; border: 1px solid #e8e8e8; border-radius: 6px; height: 100%; transition: box-shadow 0.25s, border-color 0.25s; }
.service-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.08); border-color: #ccc; }
.service-card-icon { font-size: 32px; color: #1a1a1a; margin-bottom: 15px; }
.service-card h5 { margin: 0 0 12px; font-size: 16px; font-weight: 600; }
.service-card p { margin: 0; font-size: 14px; line-height: 1.6; color: #555; }
.services-process { padding: 60px 0; background: #1a1a1a; color: #fff; }
.services-process h3 { color: #fff; margin-bottom: 40px; }
.process-step { text-align: center; padding: 20px 15px; }
.process-num { display: inline-block; width: 50px; height: 50px; line-height: 50px; background: rgba(255,255,255,0.15); border-radius: 50%; font-size: 22px; font-weight: 600; margin-bottom: 15px; }
.process-step h5 { color: #fff; margin: 0 0 10px; font-size: 16px; }
.process-step p { margin: 0; font-size: 14px; color: rgba(255,255,255,0.85); line-height: 1.5; }

/* Language switcher - nav-settings with lang-current (template pattern) */
.nav-settings .lang-current { cursor: pointer; }
.nav-settings .nav-settings-list a.active { font-weight: 600; }

/* nav-settings dropdown in navigation-top (desktop header) */
nav .navigation-top .nav-settings { position: relative; }
nav .navigation-top .nav-settings .navbar-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    background: #fff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    z-index: 1100;
    min-width: 80px;
}
nav .navigation-top .nav-settings .navbar-dropdown .navbar-box .box { padding: 15px 20px; }
nav .navigation-top .nav-settings .navbar-dropdown .nav-settings-list { margin: 0; padding: 0; list-style: none; }
nav .navigation-top .nav-settings .navbar-dropdown .nav-settings-list li { margin: 0; }
nav .navigation-top .nav-settings .navbar-dropdown .nav-settings-list a {
    display: block;
    padding: 8px 16px;
    color: #333;
    text-decoration: none;
}
nav .navigation-top .nav-settings .navbar-dropdown .nav-settings-list a:hover,
nav .navigation-top .nav-settings .navbar-dropdown .nav-settings-list a.active { background: #f5f5f5; }

/* Logo size constraints (override for larger uploaded images) */
nav .logo img {
    max-height: 55px;
    width: auto;
    height: auto;
    object-fit: contain;
}
@media (min-width: 992px) {
    nav .logo img {
        max-height: 70px;
    }
}
nav .navigation-top .logo-icon {
    display: flex;
    align-items: center;
    /* padding: 0 20px !important; */
}
nav .navigation-top .logo-icon img {
    height: 75px;
    width: auto;
    object-fit: contain;
    vertical-align: middle;
}

/* Hide search wrapper (search button removed) */
nav .search-wrapper { display: none !important; }

/* Category page View all */
.wrapper-more .btn-finnic-primary {
    padding: 14px 28px;
}

/* Equal height row utility */
.row-eq-height { display: flex; flex-wrap: wrap; }
.row-eq-height > [class*="col-"] { display: flex; }

/* Homepage services preview - equal height grid */
.services-preview-grid { }
.services-preview-grid > [class*="col-"] { margin-bottom: 0; }
.services-preview-card { padding: 24px 20px; margin-bottom: 20px; flex: 1; display: flex; flex-direction: column; min-height: 100%; }
.services-preview-card h4 { margin: 0 0 10px; font-size: 16px; font-weight: 600; }
.services-preview-card p { margin: 0; flex: 1; line-height: 1.5; font-size: 14px; }
@media (max-width: 767px) {
    .services-preview-grid > [class*="col-"] { margin-bottom: 0; }
    .services-preview-card { margin-bottom: 15px; }
}
