:root {
    --lef-pp-border-radius: 4px;
    --lef-pp-summary-font-size: 14px;
    --lef-pp-h3-font-size: 20px;
    --lef-pp-h3-font-weight: bold;
    --lef-pp-global-padding: 30px;
    --lef-pp-primary: #003B73;
    --lef-pp-primary-content: #293849;
    --lef-pp-secondary: #D4E6F4;
    --lef-pp-secondary-hover: #b4d3eb;

    --lef-pp-succes-light: #f4fff0;
    --lef-pp-succes: #7ED957;
    --lef-pp-succes-hover: #76C455;
    
    --lef-pp-error-light: #fbece6;
    --lef-pp-error: #D97F57;
    --lef-pp-error-hover: #d95b57;
}
.btn:hover {
    cursor: pointer;
}

/* grid */
.lef-pp-container {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 15px;
}
.lef-pp-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}
.lef-pp-col, [class^="lef-pp-col-"] {
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    flex: 0 0 100%;
    max-width: 100%;
}
.lef-pp-col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}
@media (min-width: 768px) {
    .lef-pp-col-1  { flex: 0 0 8.3333%;  max-width: 8.3333%;  }
    .lef-pp-col-2  { flex: 0 0 16.6667%; max-width: 16.6667%; }
    .lef-pp-col-3  { flex: 0 0 25%;      max-width: 25%;      }
    .lef-pp-col-4  { flex: 0 0 33.3333%; max-width: 33.3333%; }
    .lef-pp-col-5  { flex: 0 0 41.6667%; max-width: 41.6667%; }
    .lef-pp-col-6  { flex: 0 0 50%;      max-width: 50%;      }
    .lef-pp-col-7  { flex: 0 0 58.3333%; max-width: 58.3333%; }
    .lef-pp-col-8  { flex: 0 0 66.6667%; max-width: 66.6667%; }
    .lef-pp-col-9  { flex: 0 0 75%;      max-width: 75%;      }
    .lef-pp-col-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
    .lef-pp-col-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
    .lef-pp-col-12 { flex: 0 0 100%;     max-width: 100%;     }
}
.lef-pp-sticky-col {
    position: relative;
}
.lef-pp-sticky {
    top: 30px;
    position: sticky;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

/* styles */
@media (min-width: 768px) {
    /* .lef-pp-single-product-summary, */
    /* .lef-pp-single-product-sidebar, */
    .lef-pp-product {
        margin-top: -120px;
    }
}

.lef-pp-product dl.tm-extra-product-options-totals.tm-custom-price-totals {
    display: none;
}

.lef-pp-product-outer main#main {
    max-width: 100%;
}

body.woocommerce .col2-set .col-1, 
body.woocommerce-page .col2-set .col-1,
body.woocommerce .col2-set .col-2, 
body.woocommerce-page .col2-set .col-2,
body.woocommerce #payment #place_order, 
body.woocommerce-page #payment #place_order,
body.woocommerce .cart-collaterals .cart_totals, 
body.woocommerce-page .cart-collaterals .cart_totals,
.woocommerce.woocommerce-page .lef-pp-product div.summary,
.woocommerce.woocommerce-page .lef-pp-product div.summary,
.woocommerce.woocommerce-page .lef-pp-product div.images  {
    float: none;
    width: auto;
    clear: both;
}
.lef-pp-cart {
    padding: var(--lef-pp-global-padding) 0;
}
.lef-pp-hero {
    padding: 170px 0;
    background-image: url('../img/hero-bg.webp');
    position: relative;
    color: #FFFFFF;
}
@media only screen and (max-width: 768px) {
    .lef-pp-hero { 
        padding: 140px 0 50px 0;
    }
}
.lef-pp-hero ul, .lef-pp-hero-style ul {
    list-style: none;
    padding: 0;
}
.lef-pp-hero ul li, .lef-pp-hero-style ul li {
    padding-left: 23px;
    position: relative;
}
.lef-pp-hero ul li:before, .lef-pp-hero-style ul li:before {
    content: '';
    padding-left: 23px;
    background-image: url('../img/checkmark.svg');
    background-size: 16px 12px;
    background-position: top left;
    background-repeat: no-repeat;
    position: absolute;
    pointer-events: none;
    top: 7px;
    left: 0;
    width: 16px;
    height: 12px;
}
.lef-pp-smaller-hero {
    padding: 170px 0 50px 0;
}
.lef-pp-hero:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-color: #010913;
    opacity: 0.8;
}
.lef-pp-hero > * {
    position: relative;
    z-index: 1;
}

.lef-pp-single-product-summary,
.lef-pp-sticky-col {
    margin-bottom: 30px;
}

.lef-pp-single-product-summary,
/* .lef-pp-single-product-sidebar, */
.lef-pp-widget {
    width: 100%;
    padding: var(--lef-pp-global-padding) 25px;
    background: white;
    border: 1px solid #E5E7EB; 
    border-radius: var(--lef-pp-border-radius);
}
.lef-pp-widget h3 {
    font-size: var(--lef-pp-h3-font-size);
    font-weight: var(--lef-pp-h3-font-weight);
}
.lef-pp-widget-alt {
    background: var(--lef-pp-secondary);
    color:  var(--lef-pp-primary);
    font-size: var(--lef-pp-summary-font-size);
}
.lef-pp-widget-alt a{
    color:  var(--lef-pp-primary);
    text-decoration: underline;
}
.lef-pp-extra-content > *:first-child {
    margin-top: 0;
}
.lef-pp-extra-content > *:last-child {
    margin-bottom: 0;
}
ul.lef-pp-summary-list {
    list-style: none;
    padding: 0;
}
ul.lef-pp-summary-list li {
    color: var(--lef-pp-primary-content);
    font-size: var(--lef-pp-summary-font-size);
    padding: 5px 10px;
    display: flex;
    justify-content: space-between;
}
ul.lef-pp-summary-list li:nth-child(even) {
    background-color: var(--lef-pp-secondary);
}
ul.lef-pp-summary-list li:last-child {
    margin-bottom: 20px;
}
ul.lef-pp-summary-list .price {
    font-size: var(--lef-pp-summary-font-size)!important;
    font-weight: bold;
    color: var(--lef-pp-primary)!important;
}
.lef-pp-summary .price-summary {
    color: var(--lef-pp-primary)!important;
    font-size:  var(--lef-pp-h3-font-size);
    display: flex;
    justify-content: space-between;
}
.lef-pp-summary {
    margin-bottom: 20px;
}
.lef-pp-after-summary {
    text-align: right;
    color: var(--lef-pp-primary);
}
.lef-pp-summary .price-summary .price {
    color: var(--lef-pp-primary)!important;
    font-size: var(--lef-pp-h3-font-size)  !important;
}
.lef-pp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* fields global */
.tm-epo-required {
    color: #d4e6f4!important;
}
.tc-epo-label, .lef-pp-product-outer h3 {
    font-size: var(--lef-pp-h3-font-size);
    font-weight: var(--lef-pp-h3-font-weight);
    color: var(--lef-pp-primary);
}
.tc-element-container {
    margin-top: 10px;
}
.tm-element-description {
    font-size: 12px;
}
.tc-price-wrap {
    gap: 20px;
}
.tc-extra-product-options .tmcp-field-wrap .price.tc-price .amount {
    font-size: var(--lef-pp-summary-font-size)!important;
}
span.price.tc-price {
    font-weight: bold;
    color: var(--lef-pp-primary)!important;
}
.tm-description {
    color: var(--lef-pp-primary-content);
}
@media (max-width: 768px) {
    .tm-responsive .tm-extra-product-options .cpf-type-select ul.tmcp-ul-wrap.fullwidth-ul li.tmcp-field-wrap .tc-field-label-wrap {
        grid-template-columns: 1fr auto;
    }
}

/* inputs */
select.tmcp-select, input[type=text].tmcp-textfield, .tmcp-textareaa, input[type=text].tmcp-date {
    padding: 20px 18px;
    border: 0;
    border-radius: var(--lef-pp-border-radius);
}
input[type=text].tmcp-textfield:focus, input[type=text].tmcp-textfield:focus-visible, .tmcp-textarea:focus, .tmcp-textarea:focus-visible, select.tmcp-select:focus, select.tmcp-select:focus-visible, input[type=text].tmcp-date:focus, input[type=text].tmcp-date:focus-visible  {
    outline: 0;
}
.tmcp-select, .tm-extra-product-options-textfield, .tmcp-textarea, .tm-extra-product-options-select, .tm-extra-product-options-date {
    border: 1px solid var(--lef-pp-secondary);
    border-radius: var(--lef-pp-border-radius);
}
.tm-extra-product-options-date button.ui-tm-datepicker-trigger {
    display: none!important;
}
input::placeholder {
    color: var(--lef-pp-secondary);
}

/* radios */

.tm-extra-product-options-radio .tm-epo-field-label .tc-label-wrap{
    padding: 20px 18px;
    display: inline-flex;
    border: 1px solid var(--lef-pp-secondary);
    border-radius: var(--lef-pp-border-radius);
}
.tm-extra-product-options-radio .tc-price-wrap {
    gap: 0;
}
input[type="radio"].tmcp-field {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px!important;
    height: 20px;
    border: 1px solid var(--lef-pp-secondary);
    border-radius: 50%;
    position: relative;
    cursor: pointer;
    transition: border-color 0.2s;
    background-color: #fff;
}
input[type="radio"].tmcp-field::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    background-color: transparent;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: background-color 0.2s;
}
input[type="radio"].tmcp-field:checked {
    border-color: var(--lef-pp-succes); /* green border */
}
input[type="radio"].tmcp-field:checked::after {
    background-color: var(--lef-pp-succes); /* green dot */
}
.tc-label-wrap:has(input[type="radio"].tmcp-field:checked) {
    border-color: var(--lef-pp-succes);
}

/* woocommerce */
body .woocommerce-error, body .woocommerce-info, body .woocommerce-message {
    background: var(--lef-pp-secondary);
    border-radius: var(--lef-pp-border-radius);
    color: var(--lef-pp-primary);
    padding: 20px 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
}
body .woocommerce-error {
    background: var(--lef-pp-error-light);
}
body .woocommerce-error > li {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
}
body .woocommerce-NoticeGroup-checkout .woocommerce-error {
    display: block;
}
body .woocommerce-message {
    background: var(--lef-pp-succes-light);
}
body .woocommerce-error:before, body .woocommerce-info:before, body .woocommerce-message:before {
    display: none;
}
.summary p.price {
    margin: 0;
}
.woocommerce-product-gallery--without-images {
    display: none;
}
span.lef-pp-pre-title {
    margin-bottom: -10px;
    display: block;
    font-weight: 500;
}
.lef-pp-product-outer .custom-intro h1 {
    font-size: 36px;
    font-weight: 900;
}
.woocommerce div.product div.images {
    margin: 0;
}
body .lef-pp-breadcrumbs-pos .woocommerce-breadcrumb, body .lef-pp-breadcrumbs-pos .woocommerce-breadcrumb a {
    color: white;
}
span.woocommerce-Price-amount.amount, .woocommerce div.product .product_title, span.lef-pp-base-price-name {
    color: var(--lef-pp-primary);
}
.woocommerce div.product form.cart .button,
button#lef-order-now-button, 
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) 
button.button.alt {
    white-space: normal;
    word-break: break-word;
}
button#lef-order-now-button, body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt  {
    padding: 20px;
    background: var(--lef-pp-succes);
    width: 100%;
}
body a.button.alt.error  {
    width: 100%;
    background: var(--lef-pp-error)!important;
}
body a.button.alt.error:hover  {
    background: var(--lef-pp-error-hover)!important;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt,
body.woocommerce-page .woocommerce-message .button,
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button {
    color: white;
    background: var(--lef-pp-succes)!important;
    padding: 20px!important;
    font-size: 16px!important;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt:hover,
button#lef-order-now-button:hover, 
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover,
body.woocommerce-page .woocommerce-message .button:hover,
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover  {
    color: white;
    background: var(--lef-pp-succes-hover)!important;
}
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt  {
    width: calc(100% - 65px);
}
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .sold-individually  button.button.alt  {
    width: 100%;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.lef-pp-simple-button {
    padding: 0 !important;
    text-align: center;
    background: transparent !important;
    color: var(--lef-pp-primary);
    text-decoration: underline;
    font-weight: normal;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.lef-pp-simple-button.error {
    padding: 0 !important;
    text-align: center;
    background: transparent !important;
    color: var(--lef-pp-error);
    text-decoration: underline;
    font-weight: normal;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.lef-pp-simple-button.error:hover {
    color: var(--lef-pp-error-hover);
}
.woocommerce .quantity input.qty {
    padding: 15px 8px;
    min-width: 60px;
    display: inline-flex;
    border: 1px solid var(--lef-pp-secondary);
    border-radius: var(--lef-pp-border-radius);
}

/* product page extras */
.posted_in {
    display: none;
}
span.tooltip-hover {
    font-size: 16px;
    width: 21px;
    height: 21px;
    display: inline-flex;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background-color: var(--lef-pp-secondary);
}
.tooltip-bubble {
    font-size: 14px;
    position: absolute;
    background: #fff;
    border: 1px solid #ccc;
    padding: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    display: none;
    z-index: 9999;
    max-width: 300px;
}

/* table */

.woocommerce-cart .woocommerce ul.products li.product a{
    padding: var(--lef-pp-global-padding) 25px;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: var(--lef-pp-border-radius);
    background: var(--lef-pp-secondary);
    border-radius: var(--lef-pp-border-radius);
    color: var(--lef-pp-primary);
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.woocommerce-cart .woocommerce ul.products li.product a:hover {
    background: var(--lef-pp-secondary-hover);
}
.woocommerce-cart .woocommerce ul.products li:before {
    background-image: url(../img/checkmark-blue.svg);
}
.woocommerce-cart .woocommerce ul.products li.product:before {
    display: none;
}
.woocommerce-cart .woocommerce ul.products li.product a {
    color: var(--lef-pp-primary);
}
.woocommerce-cart .woocommerce ul.products li.product .button,
.woocommerce-cart .woocommerce ul.products li.product .price{
    display: none;
}
.woocommerce table caption+thead tr:first-child td, 
.woocommerce table caption+thead tr:first-child th, 
.woocommerce table colgroup+thead tr:first-child td, 
.woocommerce table colgroup+thead tr:first-child th, 
.woocommerce table thead:first-child tr:first-child td, 
.woocommerce table thead:first-child tr:first-child th {
    border: 0;
}
.woocommerce table.shop_table,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border: 0;
}
td.product-subtotal,th.product-subtotal {
    display: none;
}
td.product-remove {
    width: 32px;
}
td.product-name > a:first-child {
    font-size: var(--lef-pp-h3-font-size);
    color: var(--lef-pp-primary);
}
body .woocommerce a.remove {
    color: var(--lef-pp-error) !important;
    font-size: 1.5em;
    height: 1.5em;
    width: 1.5em;
    line-height: 1.3em;
}
body .woocommerce a.remove:hover {
    color: #fff !important;
    background: var(--lef-pp-error);
}
.cart_item {
    padding: 20px 18px;
    border-radius: var(--lef-pp-border-radius);
    border: 1px solid var(--lef-pp-secondary);
    margin-bottom: 10px;
}
.product-name > a:first-child {
    font-size: var(--lef-pp-h3-font-size);
    font-weight: var(--lef-pp-h3-font-weight);
    color: var(--lef-pp-primary);
}
.update-cart {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 10px;
    gap: 10px 20px;
} 
input#coupon_code {
    max-width: 180px;
}
.coupon, .checkout_coupon {
    display: flex;
    gap: 10px;
}
.checkout_coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;   
}
.checkout_coupon .form-row {
    width: auto!important;
    margin: 0!important;
}
.checkout_coupon input#coupon_code {
    max-width: 100%;
}
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
}
.woocommerce-billing-fields__field-wrapper > *,
.woocommerce-shipping-fields__field-wrapper > *{
    flex-basis: 100%;
}
.lef-pp-cart input[type=text] {
    border: 1px solid var(--lef-pp-secondary);
    border-radius: var(--lef-pp-border-radius);
} 
body .woocommerce form .form-row .input-text, body .woocommerce form .form-row select {
    border: 1px solid var(--lef-pp-secondary);
    border-radius: var(--lef-pp-border-radius);
    line-height: 1.6em;
}
body .woocommerce form .form-row .input-text:focus, body .woocommerce form .form-row select:focus {
    border-color: var(--lef-pp-secondary);
}
.lef-pp-cart input[type=text]::placeholder, .checkout_coupon input[type=text]::placeholder {
    color: var(--lef-pp-secondary);
}
.lef-pp-cart input[type=text]::placeholder, .checkout_coupon input[type=text]:focus {
    outline: 0;
}
.lef-pp-cart .button[type=submit], body .checkout_coupon .button[type=submit] {
    background: var(--lef-pp-succes)!important;
    font-weight: normal;
    color: white;
    padding: 8px 16px!important;
    font-size: 16px!important;
    line-height: 1.6em;
}
.lef-pp-cart .button[type=submit]:hover {
    color: white;
    background: var(--lef-pp-succes-hover)!important;
}
dt.tc-name {
    color: var(--lef-pp-primary);
    font-weight: 600;
}
dd.tc-value, .lef-pp-base-price {
    margin: 0;
    font-size: 14px;
    color: var(--lef-pp-primary-content);
}
.lef-pp-base-price span.woocommerce-Price-amount.amount {
    color: var(--lef-pp-primary-content);
}
.tc-price-in-cart {
    font-size: 14px;  
    color: var(--lef-pp-primary-content);
}
.tc-price-in-cart span.woocommerce-Price-amount.amount {
    color: var(--lef-pp-primary-content);
}
.cart_totals {
    padding: var(--lef-pp-global-padding) 25px;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: var(--lef-pp-border-radius);
}
.cart_totals h2 {
    font-weight: var(--lef-pp-h3-font-weight);
    font-size: var(--lef-pp-h3-font-size);
    color: var(--lef-pp-primary);
}
body .woocommerce table.shop_table {
    border: 0;
}
body .woocommerce table.shop_table th, 
body .woocommerce table.shop_table tr, 
body .woocommerce table.shop_table td {
    padding: 0;
}
.cart-collaterals .cart_totals table tr, 
.cart-collaterals .cart_totals table th, 
.cart-collaterals .cart_totals table td {
    padding: 0;
    background: transparent;
    border: 0;
}
body.woocommerce-page .woocommerce table.shop_table tr th {
    color: var(--lef-pp-primary);
    font-weight: 500;
    border: 0;
}
body.woocommerce-page .woocommerce table.shop_table tr td {
    border: 0;
}
body .woocommerce table.shop_table tr {
    font-size: var(--lef-pp-summary-font-size);
    display: flex;
    justify-content: space-between;
    padding: 5px 10px;
}
body .woocommerce table.shop_table tr:nth-child(even) {
    background-color: var(--lef-pp-secondary);
}
body.woocommerce-cart .wc-proceed-to-checkout {
    padding-bottom: 0;
}
.woocommerce-cart .wc-proceed-to-checkout > *:last-child {
    margin-bottom: 0 !important;
}
.woocommerce-checkout .product-remove {
    display: none;
}
.woocommerce-checkout h2, .woocommerce-checkout h3 {
    font-size: var(--lef-pp-h3-font-size);
    font-weight: var(--lef-pp-h3-font-weight);
    color: var(--lef-pp-primary); 
}
.woocommerce-checkout-review-order-table .product-name-price {
    flex-basis: 100% !important;
}
.woocommerce-checkout-review-order-table .product-remove {
    margin: 0 10px!important;
    margin-left: auto!important;
}
.woocommerce-checkout-review-order-table .flex-table .flex-table-width-1 {
    flex: 0;
}
.woocommerce-checkout .select2-container .select2-dropdown, .woocommerce-checkout .select2-container .select2-selection {
    border-color: var( --lef-pp-secondary);
}
body .woocommerce form .form-row .woocommerce-input-wrapper .description {
    display: block !important;
    font-size: 14px;
    padding: 3px;
    background: var(--lef-pp-secondary);
    color: var(--lef-pp-primary-content);
    margin: 0;
    border-radius: 0;
}
body .woocommerce form .form-row .woocommerce-input-wrapper .description::before {
    display: none !important;
}
p#billing_address_1_field, 
p#billing_address_2_field, 
p#billing_postcode_field, 
p#billing_city_field,
p#billing_first_name_field, 
p#billing_last_name_field {
    width: 50%;
    overflow: visible;
    float: left;
    clear: none;
    flex-basis: 50%;
}
@media (max-width: 991px) {
    p#billing_address_1_field, 
    p#billing_address_2_field, 
    p#billing_postcode_field, 
    p#billing_city_field,
    p#billing_first_name_field, 
    p#billing_last_name_field {
        width: 100%;
        overflow: visible;
        float: left;
        clear: none;
        flex-basis: 100%;
    }
}
p#billing_address_2_field {
    align-self: flex-end;
}
.woocommerce form .form-row label, .woocommerce-page form .form-row label {
    color: var( --lef-pp-primary);
    font-weight: 600;
}
#customer_details input,
#customer_details textarea {
    padding: 15px 20px;
    border: 1px solid var( --lef-pp-secondary);
    border-radius: var(--lef-pp-border-radius);
}
body #add_payment_method #payment, body .woocommerce-cart #payment, body .woocommerce-checkout #payment {
    background: var( --lef-pp-secondary);
}
body #add_payment_method #payment div.payment_box, body .woocommerce-cart #payment div.payment_box, body .woocommerce-checkout #payment div.payment_box {
    background: var( --lef-pp-succes-light);
}
body  #add_payment_method #payment div.payment_box::before, body  .woocommerce-cart #payment div.payment_box::before, body  .woocommerce-checkout #payment div.payment_box::before {
    border-color: var( --lef-pp-succes-light);
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
}
.woocommerce ul.order_details {
    padding: 0;
}
.woocommerce-order-details.woocommerce-info {
    width: 100%;
}
body .woocommerce table.shop_table tr.order_item {
    padding: 10px;
}
body table tbody>tr:nth-child(odd), table tbody>tr:nth-child(odd) {
    background: hsla(0,0%,50%,.071);
}
body table tbody>tr:nth-child(odd)>td, body table tbody>tr:nth-child(odd)>th {
    background: transparent;
}
ul.wc-item-meta {
    padding: 0;
}
body .woocommerce ul.order_details li {
    padding: 15px;
    /* border: 1px solid var(--lef-pp-secondary); */
    border: 0;
    background: var(--lef-pp-secondary);
    margin: 5px 5px 5px 0;
}
@media only screen and (max-width: 768px) {
    body .woocommerce ul.order_details li {
        width: 100%;
    }
}
section.woocommerce-order-details, 
section.woocommerce-customer-details {
    padding: var(--lef-pp-global-padding) 25px;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: var(--lef-pp-border-radius);
    width: calc(50% - 30px);
    float: left;
    margin: 0 15px;
}
@media (max-width: 991px) {
    section.woocommerce-order-details, 
    section.woocommerce-customer-details {
        width: 100%;
        margin: 0 1em;
    }
}
/* flex table */

.flex-table {
    display: block;
    background: var(--gray);
}
.flex-table.is-heading {
    display: none;
}
@media (min-width: 991px) {
    .flex-table.is-heading {
        display: flex;
   }
}
.flex-table .flex-table-item:not(:last-child) {
    margin-bottom: 10px;
}
@media (min-width: 991px) {
    .flex-table .flex-table-item:not(:last-child) {
        margin-bottom: unset;
   }
}
.flex-table .flex-table-item .mobile-only {
    display: block;
}
@media (min-width: 991px) {
    .flex-table .flex-table-item .mobile-only {
        display: none;
   }
}
.flex-table .flex-table-item .desktop-only {
    display: none;
}
@media (min-width: 991px) {
    .flex-table .flex-table-item .desktop-only {
        display: block;
   }
}
.flex-table .flex-table-item.flex-table-buttons button:not(:last-child), .flex-table .flex-table-item.flex-table-buttons .btn:not(:last-child), .flex-table .flex-table-item.flex-table-buttons .button:not(:last-child) {
    margin-right: 10px;
}
@media (min-width: 991px) {
    .flex-table {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        /* margin: 0 -10px; */
        background: unset;
   }
    .flex-table.align-center {
        align-items: center;
   }
    .flex-table.align-top {
        align-items: flex-start;
   }
    .flex-table.align-bottom {
        align-items: flex-end;
   }
    .flex-table .flex-table-width {
        flex: 0;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-0 {
        flex: 0;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-0-9 {
        flex: 0.9;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-0-8 {
        flex: 0.8;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-0-7 {
        flex: 0.7;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-0-6 {
        flex: 0.6;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-0-5 {
        flex: 0.5;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-0-4 {
        flex: 0.4;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-0-3 {
        flex: 0.3;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-0-2 {
        flex: 0.2;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-0-1 {
        flex: 0.1;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-1 {
        flex: 1;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-1-9 {
        flex: 1.9;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-1-8 {
        flex: 1.8;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-1-7 {
        flex: 1.7;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-1-6 {
        flex: 1.6;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-1-5 {
        flex: 1.5;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-1-4 {
        flex: 1.4;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-1-3 {
        flex: 1.3;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-1-2 {
        flex: 1.2;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-1-1 {
        flex: 1.1;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-2 {
        flex: 2;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-2-9 {
        flex: 2.9;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-2-8 {
        flex: 2.8;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-2-7 {
        flex: 2.7;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-2-6 {
        flex: 2.6;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-2-5 {
        flex: 2.5;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-2-4 {
        flex: 2.4;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-2-3 {
        flex: 2.3;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-2-2 {
        flex: 2.2;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-2-1 {
        flex: 2.1;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-3 {
        flex: 3;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-3-9 {
        flex: 3.9;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-3-8 {
        flex: 3.8;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-3-7 {
        flex: 3.7;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-3-6 {
        flex: 3.6;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-3-5 {
        flex: 3.5;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-3-4 {
        flex: 3.4;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-3-3 {
        flex: 3.3;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-3-2 {
        flex: 3.2;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-3-1 {
        flex: 3.1;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-4 {
        flex: 4;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-4-9 {
        flex: 4.9;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-4-8 {
        flex: 4.8;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-4-7 {
        flex: 4.7;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-4-6 {
        flex: 4.6;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-4-5 {
        flex: 4.5;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-4-4 {
        flex: 4.4;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-4-3 {
        flex: 4.3;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-4-2 {
        flex: 4.2;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-4-1 {
        flex: 4.1;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-5 {
        flex: 5;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-5-9 {
        flex: 5.9;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-5-8 {
        flex: 5.8;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-5-7 {
        flex: 5.7;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-5-6 {
        flex: 5.6;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-5-5 {
        flex: 5.5;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-5-4 {
        flex: 5.4;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-5-3 {
        flex: 5.3;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-5-2 {
        flex: 5.2;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-5-1 {
        flex: 5.1;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-6 {
        flex: 6;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-6-9 {
        flex: 6.9;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-6-8 {
        flex: 6.8;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-6-7 {
        flex: 6.7;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-6-6 {
        flex: 6.6;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-6-5 {
        flex: 6.5;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-6-4 {
        flex: 6.4;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-6-3 {
        flex: 6.3;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-6-2 {
        flex: 6.2;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-6-1 {
        flex: 6.1;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-7 {
        flex: 7;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-7-9 {
        flex: 7.9;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-7-8 {
        flex: 7.8;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-7-7 {
        flex: 7.7;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-7-6 {
        flex: 7.6;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-7-5 {
        flex: 7.5;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-7-4 {
        flex: 7.4;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-7-3 {
        flex: 7.3;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-7-2 {
        flex: 7.2;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-7-1 {
        flex: 7.1;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-8 {
        flex: 8;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-8-9 {
        flex: 8.9;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-8-8 {
        flex: 8.8;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-8-7 {
        flex: 8.7;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-8-6 {
        flex: 8.6;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-8-5 {
        flex: 8.5;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-8-4 {
        flex: 8.4;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-8-3 {
        flex: 8.3;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-8-2 {
        flex: 8.2;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-8-1 {
        flex: 8.1;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-9 {
        flex: 9;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-9-9 {
        flex: 9.9;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-9-8 {
        flex: 9.8;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-9-7 {
        flex: 9.7;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-9-6 {
        flex: 9.6;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-9-5 {
        flex: 9.5;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-9-4 {
        flex: 9.4;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-9-3 {
        flex: 9.3;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-9-2 {
        flex: 9.2;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-9-1 {
        flex: 9.1;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
    .flex-table .flex-table-width-10 {
        flex: 10;
        flex-basis: 0;
        margin: 0px 10px 10px 10px;
        width: calc(100% + 10px);
   }
}


.order-totals .flex-table,
.cart_totals .flex-table {
    background: unset;
    padding: 0px;
}

body .tm-range-picker .noui-handle,
body .tm-range-picker .noui-connect,
body .tm-range-picker .noui-tooltip {
    background: var(--lef-pp-succes);
}

.tm-range-picker .noui-handle:hover .noui-touch-area::before {
    transform: scale(0.9) translate(-25%, -25%);
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

.tm-range-picker .noui-handle:hover .noui-touch-area::before {
    transform: scale(0.9) translate(-25%, -25%);
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}
.tm-range-picker .noui-active.noui-handle:hover .noui-touch-area::before {
    transform: scale(1) translate(-25%, -25%);
}
.woocommerce-thankyou-order-received {
    font-weight: 900;
    font-size: 24px;
}