.elementor-kit-12{--e-global-color-primary:#000000;--e-global-color-secondary:#000000;--e-global-color-text:#000000;--e-global-color-accent:#8C1212;--e-global-color-48e7b69:#8C1212;--e-global-color-32e3539:#000000;--e-global-color-0f7385e:#FFFFFF;--e-global-color-55a3322:#AF5959;--e-global-color-c760df2:#EAEAEA;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-f7b4a42-font-size:1.2rem;--e-global-typography-f7b4a42-font-weight:500;--e-global-typography-fe7c10e-font-size:3rem;font-family:"Open Sans", Sans-serif;font-size:1rem;}.elementor-kit-12 e-page-transition{background-color:#FFBC7D;}.elementor-kit-12 a{font-weight:700;}.elementor-kit-12 h1{font-family:"Ubuntu", Sans-serif;}.elementor-kit-12 h2{font-family:"Ubuntu", Sans-serif;}.elementor-kit-12 h3{font-family:"Ubuntu", Sans-serif;}.elementor-kit-12 h4{font-family:"Ubuntu", Sans-serif;}.elementor-kit-12 h5{font-family:"Ubuntu", Sans-serif;}.elementor-kit-12 h6{font-family:"Ubuntu", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:1rem;}.elementor-element{--widgets-spacing:1rem 1rem;--widgets-spacing-row:1rem;--widgets-spacing-column:1rem;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1025px){.elementor-kit-12{--e-global-typography-fe7c10e-font-size:2rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-12{--e-global-typography-fe7c10e-font-size:1.6rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.elementor-button-text {
    color:#fff;
}
/* --- WINE BOX POPUPS --- */

/* General Component Container */
.component-descriptions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Centers items */
    gap: 20px; /* Space between items */
    padding: 20px;
}

.component-descriptions h4, h3, h2{
        margin-top: 2rem;
        margin-bottom: .25rem;
}
/* Individual Product Box */
.component-item {
    flex: 1 1 calc(33.33% - 20px); /* 3 per row by default */
    max-width: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
    background: #fff;
    min-height: 100%; /* Ensures equal height */
    transition: box-shadow 0.3s ease-in-out
    cursor: pointer;
}
.component-item:hover {
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
}
/* Product Title */
.component-item h3 {
    font-size: 22px;
    color: #800000; /* Dark red */
    margin-bottom: 10px;
}

/* Product Description Preview */
.component-preview {
    flex-grow: 1; /* Pushes content down */
    font-size: 14px;
    color: #555;
    margin-bottom: 10px;
}

.component-description{
    max-width:700px;
}

/* Read More Button */
.open-popup {

    display: flex
;
    background: #80000000;
    color: #800000;
    border: 1px #8c1212 solid;
 
    cursor: pointer;
    border-radius: 5px;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: bold;
    transition: background 0.3s ease-in-out;
}

.open-popup:hover {
    background: #600000; /* Darker red on hover */
}

/* Popup Overlay - Initially Hidden */
.popup-overlay {
  display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;

    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1000;
    display: flex;
    align-items: center; /* Ensures vertical centering */
    justify-content: center; /* Ensures horizontal centering */
    overflow-y: auto;
    padding: 20px;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 0.3s, opacity 0.3s ease-in-out;
}

/* When Popup is Active */
.popup-overlay.active {
    display: flex;
    visibility: visible;
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}

/* Popup Content */
.popup-content {
    position: relative;

    width: 60vw;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    max-height: 80vh; /* Ensures it stays within viewport */
    overflow-y: auto; /* Enables scrolling inside */
    display: flex;
    align-items: center;
    flex-direction: column;
}

/* Close Button */
.close-popup {
      position: sticky; /* Stays visible while scrolling */
    top: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.6);
    color: white;
    border: none;
    font-size: 20px;
    cursor: pointer;
    width: 40px; /* Equal width & height ensures a perfect circle */
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%; /* Ensures it's round */
    z-index: 1101; /* Keeps it above content */
    transition: background 0.3s ease-in-out;
    padding: 0; /* Fixes extra padding issue */
    aspect-ratio: 1/1; /* Ensures a perfect 1:1 aspect ratio */
    margin-left: auto;
}

/* Prevent Background Scrolling when Popup is Open */
.popup-open {
    overflow: hidden !important;
}

/* Responsive: 2 per row on Tablets */
@media screen and (max-width: 900px) {
    .component-item {
        flex: 1 1 calc(50% - 20px);
    }
      .popup-content {
        width: 100%;
}}

/* Responsive: 1 per row on Mobile */
@media screen and (max-width: 600px) {
    .component-item {
        flex: 1 1 100%;
        max-width: 100%;
    }
    .popup-overlay {
        align-items: center; /* Aligns from the top to prevent navbar conflicts */
        top:50px;
    }

    .popup-content {
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 70vh;
        overflow-y: auto;

display: flex
;
    flex-direction: column;
    align-items: center;
    }
    .popup-image {
     width:200px;   
    }
        .close-popup {
        width: 45px;
        height: 45px;
        font-size: 24px;
        aspect-ratio: 1/1; /* Ensures it's always a perfect circle */
        margin-left: auto;
    }
}/* End custom CSS */