/* Shared UI components used across multiple pages */

/* ─── Primary / Secondary buttons (global) ──────────────────────────── */
.btn-primary-custom { background: var(--accent); color: white; padding: 16px 32px; border-radius: 12px; font-weight: 600; font-size: 16px; border: none; transition: all .3s; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.btn-primary-custom:hover { background: #00C090; color: white; }
.btn-secondary-custom { background: var(--dark); color: white; padding: 16px 32px; border-radius: 12px; font-weight: 600; font-size: 16px; border: none; transition: all .3s; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.btn-secondary-custom:hover { background: #2A2A3E; color: white; }

/* ─── Alert / Message icon vertical centering ────────────────────────── */
/* Bootstrap .alert with an <i> icon as first child */
.alert > i:first-child,
.alert > .bi:first-child {
    align-self: center;
    flex-shrink: 0;
    line-height: 1;
    margin-top: 0 !important;
}
/* Ensure all Bootstrap alerts are flex so icon centering works */
.alert { display: flex !important; align-items: flex-start !important; gap: 8px !important; }
/* info-note used on recover / contact pages */
.info-note i, .info-note .bi { align-self: center !important; }

.product-footer {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.product-footer .btn-outline-custom {
    flex: 1;
    padding: 12px 24px;
    border: 2px solid #1A1A2E;
    border-radius: 8px;
    font-weight: 600;
    text-align: center;
    transition: all .3s;
    background: #1a1a2e;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
}

.product-footer .btn-outline-custom:hover {
    background: #222;
    border-color: #222;
    color: #fff;
}

.product-footer .btn-demo {
    flex: 1;
    padding: 12px 24px;
    background: var(--accent);
    color: #fff;
    border-radius: 8px;
    font-weight: 600;
    text-align: center;
    transition: background .3s;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
}

.product-footer .btn-demo:hover {
    background: #00C090;
    color: #fff;
}

.btn-primary-custom i,
.btn-secondary-custom i,
.btn-outline-custom i,
.btn-demo i {
    line-height: 1;
    vertical-align: middle;
}

/* ─── Pagination ─────────────────────────────────────────────────────── */

.pagination {
    --bs-pagination-padding-x: 0px;
    --bs-pagination-padding-y: 0px;
    --bs-pagination-margin-bottom: 0;
    --bs-pagination-bg: transparent;
    --bs-pagination-border-color: #f0f0f0;
    --bs-pagination-border-radius: 8px;
    --bs-pagination-color: #333;
    --bs-pagination-hover-color: #666;
    --bs-pagination-hover-bg: #fafafa;
    --bs-pagination-hover-border-color: #f0f0f0;
    --bs-pagination-active-color: white;
    --bs-pagination-active-bg: #00d9a3;
    --bs-pagination-active-border-color: #00d9a3;
    --bs-pagination-disabled-color: #b0b0b0;
    --bs-pagination-disabled-bg: #fafafa;
    --bs-pagination-disabled-border-color: #f0f0f0;

    display: flex;
    gap: 8px;
    justify-content: center;
    flex-wrap: wrap;
    padding-left: 0;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination .page-item {
    display: inline-block;
}

.pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 8px;
    margin-left: 0;
    font-weight: 500;
    font-size: 14px;
    outline: none !important;
    box-shadow: none !important;
}

.pagination .page-link:focus {
    outline: none !important;
    box-shadow: none !important;
}

nav p {
    margin: 0;
    font-size: 14px;
}

.d-flex.justify-content-center {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 6px;
}

@media (max-width: 768px) {
    .product-footer {
        justify-content: space-between;
    }

    .product-footer .btn-outline-custom,
    .product-footer .btn-demo {
        flex: 1 1 0;
        padding: 15px 16px;
        font-size: 15px;
        min-height: 52px;
    }
}
