/*
 * Styles for NB Products List Widget
 */

/* Main container for the whole widget */
.elementor-widget-nb-products .nb-products-list-section {
    width: 100%;
    max-width: 1200px; /* Standard container width */
    margin-left: auto;
    margin-right: auto;
    padding: 20px 15px;
    box-sizing: border-box;
}

/* Container for a single product item (image + content) */
.elementor-widget-nb-products .nb-product-item {
    display: grid;
    /* This creates the two-column layout */
    grid-template-columns: 200px 1fr; /* 200px for image, rest for content */
    gap: 30px; /* Space between image and text */
    align-items: flex-start; /* Aligns text to the top of the image */
}

/* The image itself */
.elementor-widget-nb-products .nb-product-item-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* The product title */
.elementor-widget-nb-products .nb-product-item-title {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: #1A124C; /* This was already correct */
    margin-top: 0;
    margin-bottom: 15px;
}

/* The WYSIWYG description area */
.elementor-widget-nb-products .nb-product-item-description {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 1.4rem; /* --- INCREASED from 1rem --- */
    line-height: 1.6;
    color: #1A124C; /* --- UPDATED from #333 --- */
}

/* Default styles for text inside the WYSIWYG */
.elementor-widget-nb-products .nb-product-item-description p {
    margin-top: 0;
    margin-bottom: 1em;
}

.elementor-widget-nb-products .nb-product-item-description ul {
    margin-bottom: 1em;
    padding-left: 20px; /* Indent lists */
}
.elementor-widget-nb-products .nb-product-item-description ul li {
    margin-bottom: 0.5em;
}


/* The <hr> separator */
.elementor-widget-nb-products .nb-product-separator {
    border: 0;
    border-top: 2px solid #1A124C; /* UPDATED: 2px thick and new color */
    margin: 40px 0; /* Space above and below the line */
}

/* --- Product Button Styles --- */

/* This wrapper centers the button */
.elementor-widget-nb-products .nb-product-item-button-wrap {
    text-align: center;
    margin-top: 30px; /* Space above the button */
}

.elementor-widget-nb-products .nb-product-item-button {
    display: inline-block;
    padding: 12px 24px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    
    /* Colors to match your site */
    background: #1A124C;
    color: #ffffff;
    border: 2px solid #1A124C;
}

.elementor-widget-nb-products .nb-product-item-button:hover {
    background: #0d1b3f; /* Darker blue from cta */
    border-color: #0d1b3f;
    color: #ffffff;
    text-decoration: none;
}

/* --- Responsive --- */

@media (max-width: 767px) {
    /* Stack the columns on mobile */
    .elementor-widget-nb-products .nb-product-item {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .elementor-widget-nb-products .nb-product-item-image img {
        /* Optional: limit image width on mobile */
        max-width: 300px;
    }

    .elementor-widget-nb-products .nb-products-list-section {
        padding: 20px 15px; /* Reduce section padding */
    }

    .elementor-widget-nb-products .nb-product-separator {
        margin: 30px 0; /* Reduce separator margin */
    }
}