@font-face {
    font-family: 'DalaFloda-Roman';
    src: url('../fonts/DalaFloda-Roman.eot');
    src: url('../fonts/DalaFloda-Roman.eot?#iefix') format('embedded-opentype'), url('../fonts/DalaFloda-Roman.svg#DalaFloda-Roman') format('svg'), url('../fonts/DalaFloda-Roman.ttf') format('truetype'), url('../fonts/DalaFloda-Roman.woff') format('woff'), url('../fonts/DalaFloda-Roman.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'LuloCleanOne-Bold';
    src: url('../fonts/LuloCleanOne-Bold.eot');
    src: url('../fonts/LuloCleanOne-Bold.eot?#iefix') format('embedded-opentype'), url('../fonts/LuloCleanOne-Bold.svg#LuloCleanOne-Bold') format('svg'), url('../fonts/LuloCleanOne-Bold.ttf') format('truetype'), url('../fonts/LuloCleanOne-Bold.woff') format('woff'), url('../fonts/LuloCleanOne-Bold.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'LuloCleanOne';
    src: url('../fonts/LuloCleanOne.eot');
    src: url('../fonts/LuloCleanOne.eot?#iefix') format('embedded-opentype'), url('../fonts/LuloCleanOne.svg#LuloCleanOne') format('svg'), url('../fonts/LuloCleanOne.ttf') format('truetype'), url('../fonts/LuloCleanOne.woff') format('woff'), url('../fonts/LuloCleanOne.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'AvenirNext-Medium';
    src: url('../fonts/AvenirNext-Medium.eot');
    src: url('../fonts/AvenirNext-Medium.eot?#iefix') format('embedded-opentype'), url('../fonts/AvenirNext-Medium.svg#AvenirNext-Medium') format('svg'), url('../fonts/AvenirNext-Medium.ttf') format('truetype'), url('../fonts/AvenirNext-Medium.woff') format('woff'), url('../fonts/AvenirNext-Medium.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'AvenirNext-DemiBold';
    src: url('../fonts/AvenirNext-DemiBold.eot');
    src: url('../fonts/AvenirNext-DemiBold.eot?#iefix') format('embedded-opentype'), url('../fonts/AvenirNext-DemiBold.svg#AvenirNext-DemiBold') format('svg'), url('../fonts/AvenirNext-DemiBold.ttf') format('truetype'), url('../fonts/AvenirNext-DemiBold.woff') format('woff'), url('../fonts/AvenirNext-DemiBold.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'AvenirNext-Regular';
    src: url('../fonts/avenirnext-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Lora-Regular';
    src: url('../fonts/Lora-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
.custom-form-class-product-page {
    max-width: 520px;
    display: contents;
}
.single_product_details h1
{
    font-family: AvenirNext-Regular;
    text-transform: none;
}
/* Rent/Buy options container */
.product_detail_page.rentPur {
    display: flex;
    width: 100%;
    gap: 37px;
    margin-top: 17px;
    margin-bottom: 8px;
    background: none;
    padding: 0;
    padding-bottom: 24px;
}

.availability {
    align-items:center;
}
.pro_details h6 {
    font-family: LuloCleanOne-Bold;
    font-weight: 400;
    line-height: 17px;
    font-size: 12px;
    color: #05061A;
}

.line-break {
    border-bottom: 1px solid #DBDDEB;
    margin: 8px 0px;
}

.product_detail_page.num_container {
    display: flex;
    flex-direction: row;
    gap: 12px;
    padding: 6px;
    margin-left: 14px;
    border: 1px solid #DBDDEB;
    margin-bottom: 16px;
    height: 36px;
}
.product_detail_page.num_container .minus {
        padding: 0 12px;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }
.product_detail_page.num_container .plus {
        padding: 0 12px;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

.pt_Quantity strong {
    float: left;
    font-size: 16px;
    line-height: 22.4px;
    font-family: AvenirNext-Regular;
    color: #05061A !important;
    padding: 7px 0;
    font-weight: 600;
    display: flex;
    flex-direction: row;
}

.qty_section{
    display: flex;
    flex-direction: row;
    gap: 19px;

}

.btn.Rent.product_page{
    color: #707070;
    border: none;
    font-family: none;
}

 .btn.Rent.product_page::before {
     background: none;

 }

 .product_detail_page.rentPur{
     padding: 0;
     flex-direction: row;
     background: none;
 }

input.product_page_wedding {
    display: block;
    text-align: center;
    margin: 0 auto;
    height: 25px;
    font-size: 18px;
    line-height: 25px;
    font-family: AvenirNext-Medium;
    margin-bottom: 15px;
    width: 150px;
    padding: 6px 8px;
    border: 1px solid #e0e0e0;
    color: #333;
    background: white;
}

input.product_page_wedding:focus {
    outline: none;
    border-color: #e0e0e0;
}

/* Radio button label container */
.options_selection {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 12px;
    width: 100%;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    text-transform: none;
    font-family: "AvenirNext-Regular";
    font-size: 16px;
    color: #05061A;
}
.options_selection.active {
    border-color: #05061A;
}
/* Custom radio button */
.options_selection input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #DBDDEB;
    border-radius: 50%;
    margin: 0;
    cursor: pointer;
    position: relative;
    transition: border-color 0.2s ease-in-out;
}

.options_selection input[type="radio"]:hover {
        border-color: #95B5E4;
        border-width: 7px;
}

.options_selection input[type="radio"]:checked {
    border-color: #95B5E4;
    border-width: 7px;
}

.options_selection input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
}
.price-text {
    color: #05061A;
    font-weight: 500;
}

.options_selection {
    cursor: pointer;
    transition: all 0.3s ease;
}

.options_selection.selected {
    border-color: #95B5E4;
    border-width: 6px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .product_detail_page.rentPur {
        flex-direction: column;
        gap: 16px;
    }

    .options_selection {
        font-size: 14px;
    }

    .single_product_details h1 {
        font-size: 28px;
    }
}
a.btn.product_detail_page.add_Cart {
    width: 100%;
    font-size: 12px;
    line-height: 18px;
    background-color: #05061A;
    color: #FFFFFF;
    border: none;
    padding: 19px 0;
}
a.btn.product_detail_page.add_Cart:hover {
    background-color: #05061ACC;
}
a.btn.product_detail_page.add_Cart:disabled {
    background-color: #CDCDD1;
    cursor:not-allowed;
}
.event_and_ship_to_container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}
.date-wrapper {
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    position: relative;
    display: flex;
    padding-top: 16px;
}

.date-label {
    display: block;
    font-size: 14px;
    color: #05061A;
    margin-bottom: 8px;
    font-family: AvenirNext-Regular;
    font-size: 16px;
    font-weight: 400;
    line-height: 22.4px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    padding-right: 12px;
    padding-top: 8px;
    padding-bottom: 8px;
}
.booking_section .pt_Quantity span {
    align-items: center;
}
.bookingcost_price{
    align-items:center;
    gap: 6px;
}
.bookingcost_price {
    color: #EDEDD7;
}
.date-input-container {
    position: relative;
    display: inline-block;
}

.ship_to_section label {
    font-family: AvenirNext-Regular;
    font-size: 16px;
    font-weight: 400;
    line-height: 22.4px;
    letter-spacing: 0.02em;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    color: #05061A;
}
.ship_to_section {
    padding-left: 26px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
}
.ship_to_section .ship_to_state {
    min-width: 65px;
    height: 36px;
    border: 1px solid #DBDDEB;
    font-family: AvenirNext-Regular;
    font-size: 16px;
    font-weight: 600;
    line-height: 21.86px;
    letter-spacing: 0.1em;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    border-radius: 0;
    background-color: white;
    color: #000;
}
.ship_to_section .ship_to_country {
    min-width: 65px;
    height: 36px;
    border: 1px solid #DBDDEB;
    font-family: AvenirNext-Regular;
    font-size: 16px;
    font-weight: 600;
    line-height: 21.86px;
    letter-spacing: 0.1em;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    border-radius: 0;
    background-color: white;
    color: #000;
}    
.ship_to_container{
    display: flex;
}
@media(max-width: 1050px){
    .ship_to_section {
        padding-left: 40px;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 36px;
    }
}


@media(max-width: 550px){
    .ship_to_section {
        padding-left: 32px;
        gap: 32px;
    }
}

/* Style for the actual input field */
.form-control.product_page_wedding {
    padding: 18px 12px;
    font-family: Lora-Regular;
    font-size: 16px;
    border: 1px solid #d0d0d0;
    color: #05061A;
    background: white;
    font-weight: 600;
}

.form-control.product_page_wedding:focus {
    outline: none;
    border-color: #e0e0e0;
}

/* Create the visual segments overlay */
.date-segments-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    display: flex;
    align-items: center;
    padding: 0 8px;
}

.segment {
    width: 32px;
    text-align: center;
    color: transparent;
}

.separator {
    color: #999;
    padding: 0 2px;
}

.year-segment {
    width: 48px;
}


.form-control.product_page_wedding:not(:placeholder-shown) + .date-segments-overlay + .date-input-container::after {
    display: none;
}

.bookingcost_section {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}
.product_detail_page.checkbox_text {
    font-family: AvenirNext-Regular;
    font-weight: 400;
    font-size: 16px;
    line-height: 18px;
}

.product_detail_page.checkBox {
    border: 1px solid #DBDDEB;
    padding: 8px;
}
/* Unchecked styles */
.product_detail_page.checkBox [type="checkbox"]:not(:checked) + label:before {
    top: 0px;
    width: 19px;
    height: 19px;
    border: 1px solid #DBDDEB;
    color: #05061A;
}

.product_detail_page.checkBox [type="checkbox"]:not(:checked) + label:after {
    top: 0px;
    width: 19px;
    height: 19px;
    border: 1px solid #DBDDEB;
    z-index: 0;
}
/* Checked styles */
.product_detail_page.checkBox [type="checkbox"]:checked + label:before {
    top: 2px;
    left: 2px;
    width: 7px;
    height: 13px;
    border-top: 1px solid transparent;
    border-left: 1px solid transparent;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotateZ(37deg);
    transform: rotateZ(37deg);
    -webkit-transform-origin: 20% 40%;
    transform-origin: 100% 100%;
}

.product_detail_page.checkBox [type="checkbox"]:checked + label:after {
    top: 0px;
    width: 20px;
    height: 20px;
    color: #ffffff;
    border: 2px solid #000000;
    z-index: 0;
    background: #000000;
}

.product_detail_page.checkBox [type="checkbox"]:not(:checked) + label, .product_detail_page.checkBox [type="checkbox"]:checked + label {
    position: relative;
    overflow: hidden;
    padding-left: 30px;
    cursor: pointer;
    display: inline-block;
    height: 20px;
    line-height: 18px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -ms-user-select: none;
    font-size: 16px;
    margin: 0;
    color: #05061A;
}

.redirect_section {
    align-items: center;
    justify-content: space-around;
    margin-top:28px;
}
.redirect_section.custom {
    max-width:500px;
    margin-left:0;
    gap:28px;
    margin-right:0;
}
.redirect_section.custom-login {
    max-width: 500px;
    margin-left: 0;
    gap: 28px;
    margin-right: 0;
}

.redirect_section .btn_login_redirect {
    font-family: AvenirNext-Regular;
    color: white;
    background-color: #000;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.1em;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    background-color: #05061A;
    padding: 20px 124.5px;
    text-transform: capitalize;
}
.redirect_section .btn_login_modal_close {
    font-family: AvenirNext-Regular;
    font-size: 20px;
    font-weight: 400;
    line-height: 27.32px;
    text-align: center;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    color: #05061A !important;
    background-color: transparent;
    text-decoration: underline !important;
    margin-top: 40px;
    text-align: center;
    width: 100%;
    margin-top: 28px;
    margin-bottom: 20px;
    cursor: pointer;
}

.modal_heading_login {
    font-family: Lora;
    font-size: 40px;
    font-weight: 400;
    line-height: 40px;
    letter-spacing: -0.01em;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    width:100%;

}
.redirect_section .modal_paragraph_login {
    font-size: 20px;
    margin-bottom: 0px;
    color: #05061A;
    font-family:AvenirNext-Regular;
}
.custom .product_page_close {
    right: 10px;
    top: 0px;
    opacity: 1;
}
.custom-modal-body.modal-body {
    padding:0
}
.modal-content.custom-modal-content {
    max-width: 580px;
    padding: 40px 40px 80px 40px;
    top:-40px
}
.custom .btn_login_redirect {
    width:100%
}
.custom-login .btn_login_redirect {
    padding: 0;
    color: #2F3137;
    background-color: #EFEDE9;
    text-transform: none;
    letter-spacing:0.05em;
}
.custom .close:hover::before {
    width: 10.61px;
    height: 10.61px;
    top: 9.5px;
}

.custom .product_page_close img {
    width: 10.61px;
    height: 10.61px
}
.modal-content modal_paragraph_login {
    margin-top: 30px;
    font-family: AvenirNext-Regular;
    font-weight: 400;
    line-height: 27.32px !important;
    letter-spacing: 0px;
    text-align: center;
    color: #05061A;
    font-size: 20px;
}
.log_in_heading {
    font-family: Lora-Regular;
    font-size: 40px;
    font-weight: 400;
    line-height: 40px;
    letter-spacing: -0.01em;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    color: #2F3137;
}

.loader {
    display: none;
    width: 20px;
    height: 20px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-left: 10px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.description_section h6 {
    font-family: AvenirNext-DemiBold;
    font-size: 16px;
    font-weight: 500;
    line-height: 17px;
    letter-spacing: 0.1em;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    color: #05061A;
}
.description_section p {
    font-family: AvenirNext-Regular;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    color: #05061A;
}
.description_section a {
    font-family: AvenirNext-Regular;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    color: #95B5E4 !important;
}
.num-in.warning {
    border: 1px solid #EF7C78;
}

.quantity-warning {
    display: none;
    align-items: center;
    padding: 8px;
    margin-top: 10px;
    color: #EF7C78;
}

.quantity-warning-section {
    display: none;
    align-items: baseline;
    height: 40px;
    margin-top: 10px;
    margin-left: 24px;
    gap: 5px;
}
@media(max-width: 840px){

    .qty_section {
        flex-direction: column;
        gap: 0;
    }
}
@media(max-width: 425px){

    .ship_to_section{
        padding-left: 15px;
    }


    .quantity-warning-section{
        margin: 0;
    }

    .redirect_section .btn_login_redirect {
        padding: 20px;
        width: 322px;   
    }
    .modal-content.custom-modal-content {
        top: -10px
    }
}

button.product_page_close {
    position: absolute;
    display: block;
    right: -3px;
    top: -20px;
    z-index: 9;
}

.options_selection .price {
    font-family: AvenirNext-Regular;
    font-size: 16px;
    font-weight: 600;
    line-height: 22.4px;
    letter-spacing: 0.1em;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
}

@media(max-width: 820px) {
    .ship_to_section {
        padding-left: 16px;
    }

    .bookingcost_section {
        flex-direction: column;
        align-items: flex-start;
    }

    .product_detail_page.checkBox {
        width: 100%;
        margin-top: 16px;
    }

    button.product_page_close {
        right: 0px;
        top: 0px;
    }

    .product_detail_page.rentPur {
        gap:17px;
    }
    .product_detail_page.num_container {
        margin-left: 14px;
    }
}

