/* ==============================
   Global Typography Control
   ============================== */
:root {
    --fw-font-primary: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --fw-font-brand: 'Lily Script One', cursive;
    /* Override Bootstrap font */
    --bs-font-sans-serif: var(--fw-font-primary);
}

html, body {
    font-family: var(--fw-font-primary);
    font-weight: 400;
    line-height: 1.65;
    color: #2c2c2c;
}

/* ========================================
NAVBAR
===========================================*/
@media(max-width: 575.98px) {
    .navbar-brand img.img-fluid {
        height: 40px !important
    }
}

@media (min-width: 768px) {
    .navbar-brand img.img-fluid {
        height: auto
    }
}

/* Neutralize theme-specific font overrides */
.heading-font,
.link-text,
.watch-now-btn,
.read-more-link {
    font-family: var(--fw-font-primary) !important;
}

/* ========================================
REGISTER FORM STYLES
===========================================*/
.price-feature-col {
    width: 65%
}

.register-form input.form-control,
.register-form select.form-control {
    width: 100%;
}

.group-input {
    width: initial !important
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
    border-radius: inherit;
}

@media (min-width: 320px) and (max-width: 767px) {
    .price-feature-col {
        width: 100%
    }
}

/* ========================================
FORM VALIDATION STYLES
===========================================*/
.required-label::after {
    content: " *";
    color: #dc3545;
}

.field-validation-error,
.field-validation-error span {
    color: red !important;
    font-size: smaller;
}

.input-validation-error {
    border-color: red !important;
}

input.form-check-input.is-invalid {
    border: 1px solid #dc3545 !important;
    box-shadow: 0 0 0 0.1rem rgba(220, 53, 69, .25);
}

.form-check-input:checked {
    background-color: #168323 !important;
    border-color: #168323 !important;
}

/* ==============================
   Privacy / Policy Page Styling
   ============================== */
.blog-details-wrap > p {
    margin-bottom: 0.5rem;
}

/* Section container */
.blog-details-info {
    margin-top: 2rem;
}

    /* Main section headings (1,2,3...) */
    .blog-details-info h3.h5 {
        margin-top: 2.2rem;
        margin-bottom: 0.75rem;
        font-weight: 600;
        color: #1f3c88;
        position: relative;
    }

    /* Sub-section headings (a,b,c) */
    .blog-details-info h4.h6 {
        margin-top: 1.5rem;
        margin-bottom: 0.5rem;
        font-weight: 600;
        color: #333;
    }

    /* Paragraph spacing */
    .blog-details-info p {
        margin-bottom: 0.75rem;
    }

    /* Lists */
    .blog-details-info ul.content-list {
        margin-top: 0.5rem;
        margin-bottom: 1rem;
    }

        .blog-details-info ul.content-list li {
            position: relative;
            padding-left: 1.25rem;
            margin-bottom: 0;
        }

    /* Contact block emphasis */
    .blog-details-info p:last-of-type {
        background: #f8f9fc;
        padding: 1rem;
        border-radius: 8px;
        font-size: 0.9rem;
    }

.text-collapsed {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-expanded {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
}
