/* Base Styles */
.custom-affiliate-slider-container, .custom-affiliate-slider-container-mobile {
    width: 100%; /* Ensure the container takes up full width */
    overflow: hidden; /* Hide any overflow to ensure only one slide is visible */
    position: relative;
    box-sizing: border-box;
    background-color: rgba(210, 220, 214, 0.6); /* Lighter, muted greenish-gray */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: transform 0.4s ease-in-out; /* Smooth transition for slide movement */
     /* existing styles */
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100%); /* Adjust this value as needed */

}


/* note: All container width properties set in javascript sliderClasses.js */
/* Slider Styles */
.custom-affiliate-slider, .custom-affiliate-slider-mobile {
    display: flex;
    flex-direction: row; /* Ensure slides are arranged horizontally */
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    position: relative; /* Relative positioning to handle absolute positioned slides */
    overflow: hidden; /* Hide any overflow beyond the container */
}

/* Slide Styles */
/* note: All container width properties set in javascript */
.custom-affiliate-ad, .custom-affiliate-ad-mobile {
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    box-sizing: border-box;
}

/* Ensure consistent box-sizing for image and overlay */
.image-container, .image-container-mobile,
.overlay, .overlay-content, .overlay-content-mobile {
    box-sizing: border-box;
}

.overlay.active, .overlay-mobile.active {
    opacity: 1; /* The active state that triggers the transition */
}

/* note: All container width properties set in javascript */
.image-container, .image-container-mobile {
    background-size: cover; /* Ensures the image covers the entire container */
    background-position: center;
    position: relative;
    height: 360px;              /* Fixed height for image container */
    overflow: hidden;           /* Hides the overflow */
}

.image-container img, .image-container-mobile img{
    object-fit: cover;          /* Scale the image to cover the container, cropping if necessary */
    object-position: center;    /* Center the image within the container */
    overflow: hidden;           /* Ensure no overflow */
    max-height: 100%;           /* Prevents the image from being taller than the container */
}

/* note: All container width properties set in javascript except this one */
.overlay-content, .overlay-content-mobile {
    
    z-index: 2;         /* Ensure it's above the image */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    height: 100%;       /* Updated to cover the full height */
    position: absolute; /* Position absolutely within its parent */
    top: 0;             /* Align to the top of the parent */
    left: 0;            /* Align to the left of the parent */
    width:100%;         /* note: this is the only width property not set in javascript */
}

.overlay-content{
    background-color: rgba(44, 62, 44, 0.6); /* #2C3E2C */
}
.overlay-content-mobile{
    background-color: rgba(44, 62, 44, 0.4); /* #2C3E2C */
}


/* Aggressive reset */
h2, p, a {
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
}

/* note: All container width properties set in javascript */
/* Each item takes up 1/3 of the height */
.overlay-item, .overlay-item-mobile {
    flex: 1 1 33%;              /* Each item takes up 1/3 of the height */
    display: flex;
    justify-content: center;    /* Horizontally center */
    align-items: center;        /* Vertically center */
    text-align: center;         /* Ensure the text is centered */
    opacity: 1;
}

.overlay-item-buy-now-mobile{
    flex: 1 1 33%;              /* Each item takes up 1/3 of the height */
    display: flex;
    justify-content: center;    /* Horizontally center */
    align-items: center;        /* Vertically center */
    text-align: center;         /* Ensure the text is centered */
    opacity: 1;
}

.overlay-item-buy-now-mobile {
    box-sizing: border-box;
    color: #FFFFFF !important;
    font-family: 'Verdana', serif !important;
    font-size: calc(14px + (18 - 14) * ((100vw - 300px) / (1600 - 300))) !important;
    font-weight: 400 !important;
    background: transparent;
    border: 2px solid #FFFFFF;
    border-radius: 5px !important;
    margin: 1em !important;
    padding: 2em !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
    -webkit-tap-highlight-color: transparent !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
    display: inline-block;
    text-align: center;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    z-index:4;
}

.overlay-item-buy-now-mobile:hover {
    background-color: #FFCC33;
}

.overlay-item-buy-now-mobile:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.5);
}




/* Heading Styles */
.overlay-item h2, .overlay-item-mobile h2 {
    color: #FFFFFF !important;
    font-weight: 600 !important;
    font-family: 'Averia Serif Libre', serif !important;
    font-size:calc(18px + (24 - 18) * ((100vw - 300px) / (1600 - 300))) !important;
    white-space: normal;
    padding: 0em;

}

/* Paragraph Styles */
.overlay-item p, .overlay-item-mobile p  {
    color: #FFFFFF !important;
    font-weight: 400 !important;
    font-family: 'Verdana', serif !important;
    font-size:calc(12px + (18 - 12) * ((100vw - 300px) / (1600 - 300))) !important;
    margin: 0em;
    padding: 0em;
    white-space: normal;
    line-height: 1.2 !important;
}

/* Link Styles */
.overlay-item a, .overlay-item-mobile a {
    box-sizing: border-box;
    color: #FFFFFF !important;
    font-family: 'Verdana', serif!important;
    font-size:calc(12px + (18 - 12) * ((100vw - 300px) / (1600 - 300))) !important;
    font-weight: 400 !important;
    border: 2px solid #FFFFFF;
    padding: 10px 20px !important;
    text-decoration: none!important;
    border-radius: 5px !important;
    margin: 1em !important;
    padding: 1em !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
}


.attention-grabber-note:not(:empty) {
    display: block;
    justify-content: center;    /* Horizontally center */
    align-items: center;        /* Vertically center */
    text-align: center;         /* Ensure the text is centered */
    opacity: 1;
    margin: 1em;
    height: 120px;
    width: 120px;
    border-radius: 50%;
    box-shadow: 0 0 10px 5px rgba(255, 255, 255, 0.5);
}


.attention-grabber-note-mobile:not(:empty) {
    display: block;
    justify-content: center;    /* Horizontally center */
    align-items: center;        /* Vertically center */
    text-align: center;         /* Ensure the text is centered */
    opacity: 1;
    margin: 1em;
    height: 60px;
    width: 60px;
    border-radius: 50%;
    box-shadow: 0 0 10px 5px rgba(255, 255, 255, 0.5);
}

.attention-grabber-note img{
    height: 120px;
    width: 120px;
}

.attention-grabber-note-mobile img{
    height: 60px;
    width: 60px;
}



.currency-note:not(:empty) {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    opacity: 1;
    width: 40px;
    height: 40px;
    background-color: white;
    border-radius: 50%;
    color: #000;
    font-weight: bold;
    font-size: 16px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 10px;
    z-index:3;
}






/* Affiliate Note */
.affiliate-note, .affiliate-note-mobile {
    visibility:none; /* this will be overridden in .js when required */
    text-align: center;
    padding-left: 1em;
    padding-right: 1em;
    background: none;
    border-radius: 0;
    box-shadow: none;
    color: #446344;
    font-weight: 600;
    font-size:calc(9px + (12 - 9) * ((100vw - 300px) / (1600 - 300))) !important;
    line-height: 1.2;
    margin-bottom: 2em;
 
}

.affiliate-note-mobile a {
    color: inherit;
    text-decoration: underline;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}


/* Slider Controls */
.slider-controls,.slider-controls-mobile{
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: center; /* Center the text inside the overlay content */
}

.slider-prev, .slider-next, .slider-prev-mobile, .slider-next-mobile {
    background-color: transparent !important;
    border: groove;
    border-width: 1px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    width: 4em;
    height: 2em;
}

.slider-prev:hover, .slider-next:hover, .slider-prev-mobile:hover, .slider-next-mobile:hover {
    background-color: #FFAE42;
}

.slider-prev:active, .slider-next:active, .slider-prev-mobile:active, .slider-next-mobile:active {
    background-color: transparent !important;
}

/* Pagination */
.slider-pagination, .slider-pagination-mobile {
    display: flex;
    justify-content: center;
    margin-top: 1em;
    margin-bottom: 1em;
}

.pagination-dot{
    width: 10px;
    height: 10px;
    margin: 0 5px;
    background-color: #446344;
    border: 2px solid #446344;
    border-radius: 50%;
    cursor: pointer;
}

.pagination-dot-mobile{
    width: 7px !important;
    height: 7px !important;
    margin: 0 5px;
    background-color: #446344;
    border: 2px solid #446344;
    border-radius: 50%;
    cursor: pointer;
}

.pagination-dot.active, .pagination-dot-mobile.active {
    background-color: #A3C586;
    border: 2px solid #A3C586;
}
