/************************/
/* Composite Pagination */
/************************/
form.composite_form .composite_pagination {
    overflow: initial;
}

form.composite_form .composite_pagination ul.pagination_elements {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding: 0;
}

form.composite_form .composite_pagination ul.pagination_elements::before {
    content: "";
    position: absolute;
    top: 25%;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #ADB8BA;
    z-index: -1;
}

form.composite_form .composite_pagination ul.pagination_elements li.pagination_element {
    background-color: transparent;
    padding: 0;
    margin: 0;
}

.composite_pagination ul.pagination_elements li.pagination_element:not(:first-child) span.element_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.composite_pagination ul.pagination_elements li.pagination_element:not(:first-child):not(:last-child) span.element_inner span.tg_woo_composite_element_circle {
    align-self: center;
}

.composite_pagination ul.pagination_elements li.pagination_element:last-child span.element_inner span.tg_woo_composite_element_circle {
    align-self: flex-end;
}

form.composite_form .composite_pagination ul.pagination_elements li.pagination_element .tg_woo_composite_element_circle {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: white;
    border: 1px solid #ADB8BA;
    display: block;
    z-index: 1;
}

form.composite_form .composite_pagination ul.pagination_elements li.pagination_element_current .tg_woo_composite_element_circle {
    background: #28717D;
}

form.composite_form .composite_pagination ul.pagination_elements li.pagination_element .element_link {
    font-size: 16px;
    color: #0F172A;
    font-family: "Ciutadella Rounded", sans-serif;
    line-height: 22px;
    font-weight: normal;
}

form.composite_form .composite_pagination ul.pagination_elements li.pagination_element::before,
form.composite_form .composite_pagination ul.pagination_elements li.pagination_element::after {
    display: none;
}

@media (max-width: 516px) {
    form.composite_form .composite_navigation.top.paged {
        display: none;
    }
}

/***********************/
/* Composite Component */
/***********************/

form.composite_form .composite_component .component_title_wrapper .component_title_text {
    line-height: 50px;
}

form.composite_form .composite_component .component_title_wrapper {
    margin-bottom: 5px;
    margin-top: 30px;
}

form.composite_form .composite_component .component_inner .component_description_wrapper .component_description {
    font-family: "Lyon Text", sans-serif;
    font-size: 16px;
    line-height: 26px;
    display: inline-block;
    padding: 10px;
    border-radius: 5px;
    background: #E2E9EA;
    margin-bottom: 50px;
}

form.composite_form .composite_component .component_inner .component_description_wrapper .component_description > p {
    margin: 0;
}

form.composite_form .composite_component .component_inner .component_description_wrapper .component_description > p {
    padding-left: 30px;
    position: relative;
}

form.composite_form .composite_component .component_inner .component_description_wrapper .component_description > p::before {
    content: "ⓘ";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    color: #027A89;
    margin-right: 10px;
}

form.composite_form .composite_component .component_options, .component.options-style-radios .component_options {
    overflow: visible;
}

/* Hide ProductData */
/* form.composite_form .component_inner .component_selections > .component_content {
    display: none;
}*/
/*.tg_component_has_addons .composited_product_details_wrapper .component_wrap {
    display: none !important;
}*/

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-shrink: 0;
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container > .component_option_radio_button_container {
    margin-bottom: 55px;
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container > .component_option_radio_button_container.open_addon {
    margin-bottom: 0;
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container > .component_option_radio_button_container.open_addon > .component_option_radio_button {
    border-bottom: none !important;
    border-bottom-left-radius: initial;
    border-bottom-right-radius: initial;
    box-shadow: none;
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container .component_option_radio_button_container .component_option_radio_button {
    display: flex;
    padding: 24px;
    flex-direction: column;
    align-items: flex-start;
    /*gap: 24px;*/
    flex-shrink: 0;
    border-radius: 8px;
    background: #FFF;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.10);
    /*margin-left: 20px;
    margin-right: 20px;*/
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container .component_option_radio_button_container .component_option_radio_button.selected {
    border: 3px solid #28717D;
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container .component_option_radio_button_container .component_option_radio_button .radio_button_input {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 15px;
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container .component_option_radio_button_container .component_option_radio_button input[type="radio"] {
    width: 36px;
    height: 36px;
    padding: 4px;
    border-radius: 4px;
    border: 1px solid #ADB8BA;
    background: #FFF;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container .component_option_radio_button_container .component_option_radio_button input[type="radio"]:checked {
    background: rgba(41, 113, 125, 0.26);
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container .component_option_radio_button_container .component_option_radio_button input[type="radio"]:checked::after {
    content: '✔';
    color: white;
    font-size: 23px;
    vertical-align: middle;
    text-align: center;
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container .component_option_radio_button_container .component_option_radio_button .radio_button_title {
    font-size: 34px;
    font-weight: 400;
    line-height: 42px;
    text-transform: uppercase;
    display: inline-block;
}
@media (max-width: 516px) {
    form.composite_form .component_inner .component_selections .component_option_radio_buttons_container .component_option_radio_button_container .component_option_radio_button .radio_button_title {
        font-size: 20px;
        line-height: 26px;
    }
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container .component_option_radio_button_container .component_option_radio_button .radio_button_description .radio_button_price {
    color: #7E8687;
    font-family: "Ciutadella Rounded", sans-serif;
    font-size: 13px !important;
    font-weight: 400;
    line-height: 20px;
    display: block;
    margin-top: 15px;
    margin-bottom: 15px;
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container .component_option_radio_button_container .component_option_radio_button .radio_button_description .composited_product_title_wrapper {
    padding: 0;
}

form.composite_form .component_inner .component_selections .component_option_radio_buttons_container .component_option_radio_button_container .component_option_radio_button .radio_button_description .component_data > p {
    font-size: 16px;
    line-height: 26px;
    margin: 0;
}

.component label.component_option_radio_button_select {
    z-index: auto !important;
}

form.composite_form .component_inner .component_selections > .component_content .summary_content .composited_product_details_wrapper .details > p,
form.composite_form .component_inner .component_selections > .component_content .summary_content .composited_product_title_wrapper {
    display: none;
}

form.composite_form .component_inner .component_selections > .component_content .summary_content .wc-pao-addon-container .wc-pao-addon-name {
    font-family: "Ciutadella Rounded", sans-serif;
    font-size: 18px;
    line-height: 20px;
}

/************************/
/* Composite Navigation */
/************************/
div.composite_navigation.bottom.paged .composite_navigation_inner {
    display: flex;
    justify-content: end;
    padding: 0;
}

div.composite_navigation.bottom.paged .composite_navigation_inner a {
    font-size: 20px;
    font-weight: 500;
}

form.composite_form div.composite_navigation.bottom.paged .next {
    float: initial;
    text-align: initial;
    margin-right: initial;
    margin-left: 20px;
}

form.composite_form div.composite_navigation.bottom.paged div.composite_navigation_inner .page_button.prev {
    background-color: #FFFFFF;
    color: #28717D;
    border: 1px solid #28717D;
}

form.composite_form div.composite_navigation.bottom.paged div.composite_navigation_inner .page_button.prev::before,
form.composite_form div.composite_navigation.bottom.paged div.composite_navigation_inner .page_button.next::after {
    content: "";
}

form.composite_form div.composite_navigation.bottom.paged div.composite_navigation .page_button {
    max-width: none;
    font-size: initial;
    position: initial;
    font-weight: initial;
}

div.composite_navigation div.composite_navigation.bottom.paged .page_button.inactive {
    color: inherit;
    cursor: default;
}

/**************************/
/* Summary Element Widget */
/**************************/
.woocommerce.widget_composite_summary > h5 {
    font-size: 34px;
    font-weight: 400;
    line-height: 42px;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.woocommerce.widget_composite_summary .summary_elements {
    margin: 0;
}

.woocommerce.widget_composite_summary .summary_element {
    margin-bottom: 24px;
}

.woocommerce.widget_composite_summary .summary_element .summary_element_title .title {
    font-family: "Ciutadella Rounded", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 26px;
    margin: 0;
}

.woocommerce.widget_composite_summary .summary_element .summary_element_wrapper_inner.cp_clearfix {
    display: flex;
    flex-direction: column;
    padding: 0;
}

.woocommerce.widget_composite_summary .summary_element .summary_element_wrapper_outer {
    padding: 0;
}

.woocommerce.widget_composite_summary .summary_element .summary_element_header,
.woocommerce.widget_composite_summary .summary_element .summary_element_footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.woocommerce.widget_composite_summary .summary_element .summary_element_title {
    flex: 1;
    min-width: 0; /* Ensure flex-shrink works */
}

.woocommerce.widget_composite_summary .summary_element .summary_element_tap {
    margin-left: 10px;
}

.woocommerce.widget_composite_summary .summary_element .summary_element_selection {
    flex-grow: 1;
    margin-top: 10px; /* Ensure elements below are properly spaced */
    min-width: 0; /* Ensure flex-shrink works */
    display: flex;
    align-items: center;
    justify-content: space-between; /* Ensure title and price are spaced properly */
    width: 70%;
}

.woocommerce.widget_composite_summary .summary_element .summary_element_price {
    white-space: nowrap; /* Ensure the price does not wrap */
    text-align: right;
    margin-left: auto;
    width: 30%;
}

.woocommerce.widget_composite_summary .summary_element .summary_element_wrapper_inner .summary_element_select_wrapper,
.woocommerce.widget_composite_summary .summary_element .summary_element_wrapper_inner .summary_element_selection,
.woocommerce.widget_composite_summary .summary_element .summary_element_wrapper_inner .summary_element_content,
.woocommerce.widget_composite_summary .summary_element .summary_element_wrapper_inner .summary_element_price,
.woocommerce.widget_composite_summary .summary_element .summary_element_wrapper_inner .summary_element_content,
.woocommerce.widget_composite_summary .widget_composite_summary_price .price {
    margin: 0;
}

.woocommerce.widget_composite_summary .summary_element .summary_element_wrapper_inner .summary_element_selection .content_product_title {
    font-family: "Ciutadella Rounded", sans-serif;
    font-size: 18px;
    line-height: 20px;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 1;
}

.woocommerce.widget_composite_summary .summary_element .summary_element_wrapper_inner .summary_element_price .woocommerce-Price-amount {
    white-space: nowrap;
    text-align: right;
    font-family: "Ciutadella Rounded", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 20px;
    color: black;
}

.woocommerce.widget_composite_summary .widget_composite_summary_price {
    margin-bottom: 24px;
    border-top: 2px solid #D9D9D9;
    padding-top: 8px;
    padding-bottom: 8px;
}

.woocommerce.widget_composite_summary .widget_composite_summary_price .woocommerce-Price-amount {
    font-family: "Ciutadella Rounded", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: black;
}

.woocommerce.widget_composite_summary .widget_composite_summary_button .single_add_to_cart_button {
    padding: 12px 18px;
    background: #28717D;
    color: white;
    font-family: "Ciutadella Rounded", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 25px;
    width: 100%;
    border-radius: 50px;
}

.woocommerce.widget_composite_summary .widget_composite_summary_button .single_add_to_cart_button:hover {
    background-color: var( --e-global-color-94d3b45 );
    color: var( --e-global-color-primary );
}

.woocommerce.widget_composite_summary .widget_composite_summary_button .single_add_to_cart_button.disabled {
    background: rgba(40, 113, 125, 0.50);
}

.woocommerce.widget_composite_summary .widget_composite_summary_button .composite_button {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
}

/***********/
/* Addons */
/**********/
form.composite_form .component_selections > .component_content .wc-pao-addons-container {
    padding-right: 24px;
    padding-bottom: 24px;
    padding-left: 24px;
    margin: 0;
    border-bottom: 3px solid #28717D;
    border-left: 3px solid #28717D;
    border-right: 3px solid #28717D;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

form.composite_form .component_inner .component_selections > .component_content .summary_content .wc-pao-addon-container .form-row {
    margin: 0;
    padding: 24px 0 0;
    border-top: 3px solid #E7E7E7;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 20px;
}

@media (max-width: 516px) {
    form.composite_form .component_inner .component_selections > .component_content .summary_content .wc-pao-addon-container .form-row {
    }
}

form.composite_form .component_inner .component_selections > .component_content .summary_content .wc-pao-addon-container .form-row:before,
form.composite_form .component_inner .component_selections > .component_content .summary_content .wc-pao-addon-container .form-row:after {
    display: none;
}

form.composite_form .component_inner .component_selections > .component_content .summary_content .wc-pao-addon-container .form-row > div {
    display: flex;
    width: 140px;
    align-items: flex-start;
    gap: 16px;
    flex-shrink: 0;
}

form.composite_form .component_inner .component_selections > .component_content .summary_content .wc-pao-addon-container .form-row > div > input {
    display: flex;
    width: 16px;
    height: 16px;
    padding: 4px;
    align-items: flex-start;
    flex-shrink: 0;
    border-radius: 4px;
    border: 1px solid #ADB8BA;
    background: rgba(41, 113, 125, 0.26)
}

form.composite_form .component_inner .component_selections > .component_content .summary_content .wc-pao-addon-container .form-row > div > label {
    display: flex;
    width: 115px;
    flex-direction: column;
    align-items: flex-start;
    flex-shrink: 0;
    font-family: "Ciutadella Rounded", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 26px; /* 130% */
    text-transform: uppercase;
}

form.composite_form .component_inner .component_selections > .component_content .summary_content .wc-pao-addon-container .form-row > div > label .wc-pao-addon-price {
    color: #7E8687;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
}

form.composite_form .component_inner .component_selections > .component_content .summary_content .wc-pao-addons-container #product-addons-total,
form.composite_form .component_inner .component_selections > .component_content .summary_content .wc-pao-addon-container .form-row small {
    display: none !important;
}