/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* =========================================================
 * MY ACCOUNT
 * =======================================================*/
body.woocommerce-account:not(.logged-in) #ff-my-account{
    /*background-image: url("https://focusfitness.ddns.net/wp-content/uploads/2025/09/ff-bg-form-default.jpg") !important;*/
}

body.woocommerce-account #ff-my-account #customer_login{
    max-width: 100%;
    margin: 0 auto;
}

body.woocommerce-account #ff-my-account #customer_login h2{
    text-align: center;
}

body.woocommerce-account #ff-my-account #customer_login .woocommerce-form-row--flex{
    display: flex;
    gap: 30px;
    margin-top: 20px;
    margin-bottom: 30px;
    align-items: center;
}

body.woocommerce-account #ff-my-account #customer_login .woocommerce-form-row--flex .lost_password a{
    font-family: "Saira Extra Condensed", Sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    line-height: 1.2em;
    cursor: pointer;
}

body.woocommerce-account #ff-my-account #customer_login .woocommerce-form-row--flex .lost_password a:hover{
    text-decoration: underline;
}

body.woocommerce-account #ff-my-account form.lost_reset_password{
    margin: 0 auto;
    width: 100%;
}

body.woocommerce-account #ff-my-account form .show-password-input::before{
    background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23ffffff"/></svg>');
}

body.woocommerce-account #ff-my-account form .show-password-input.display-password::before{
    background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z" fill="%23ffffff"/></svg>');
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce ::placeholder{
    text-transform: uppercase;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-EditAccountForm .button{
    margin-top: 50px !important;
}

#ff-my-account .woocommerce-EditAccountForm .terms-checkbox{
    margin-top: 40px;
}

#ff-my-account .woocommerce-EditAccountForm label.checkbox,
#ff-my-account .woocommerce-form-login label.woocommerce-form-login__rememberme {
    font-family: "Saira Extra Condensed", Sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    line-height: 1.2em;
    position: relative;
    padding-left: 28px;
    cursor: pointer;
    display: inline-block;
}

#ff-my-account .woocommerce-form-login label.woocommerce-form-login__rememberme span{
    color: #fff;
}

#ff-my-account .e-my-account-tab .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{
    background-color: #fff;
    color: #000;
}

#ff-my-account .e-my-account-tab .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{
    color: #ba0320;
}

/* Current Plan card on My Account*/
.custom-order-review.woocommerce-account-current-plan {
    background: linear-gradient(
        180deg,
        rgba(115, 115, 115, 0.41) 0%,
        rgba(217, 217, 217, 0.41) 100%
    );
    border-radius: 25px;
    padding: 35px 40px;
    margin-bottom: 60px !important;
}

.custom-order-review.woocommerce-account-current-plan h4{
    color: #fff;
    font-family: "Saira Extra Condensed", Sans-serif;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2em;
    margin: 0;
}

.custom-order-review.woocommerce-account-current-plan .order-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    gap: 20px;
}

.custom-order-review.woocommerce-account-current-plan .order-item-left .product-name {
    display: block;
    color: #fff;
    font-family: "Saira Extra Condensed", Sans-serif;
    font-size: 70px;
    font-weight: 700;
    letter-spacing: -1.02px;
    line-height: 1.2em;
    text-transform: uppercase;
}

.custom-order-review.woocommerce-account-current-plan .order-item-right {
    text-align: right;
}

.custom-order-review.woocommerce-account-current-plan .order-item-right .product-price{
    display: block;
    color: #fff;
    font-family: "Saira Extra Condensed", Sans-serif;
    font-size: 80px;
    font-weight: 700;
    letter-spacing: -1.02px;
    line-height: 75px;
    text-transform: uppercase;
}

.custom-order-review.woocommerce-account-current-plan .order-item-right .product-extra {
    color: #fff;
    font-family: "Saira Extra Condensed", Sans-serif;
    font-size: 24px;
    line-height: 1.2em;
    display: block;
}

body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details tr th:last-child,
body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details tr td:last-child{
    text-align: right;
}

/* Hide native checkbox but keep it accessible */
#ff-my-account .woocommerce-EditAccountForm label.checkbox .input-checkbox,
#ff-my-account .woocommerce-form-login label.woocommerce-form-login__rememberme .woocommerce-form__input-checkbox {
    position: absolute;
    opacity: 0;
    inset: 0;
    width: 0;
    height: 0;
}

/* Custom checkbox visuals */
#ff-my-account .woocommerce-EditAccountForm label.checkbox::before,
#ff-my-account .woocommerce-form-login label.woocommerce-form-login__rememberme::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 20px;
    height: 20px;
    border-radius: 15px;
    background: #fff;
    transition: 0.2s;
}

/* Checked */
#ff-my-account .woocommerce-EditAccountForm label.checkbox:has(.input-checkbox:checked)::before,
#ff-my-account .woocommerce-form-login label.woocommerce-form-login__rememberme:has(.woocommerce-form__input-checkbox:checked)::before{
    background: #ba0320;
    border-color: #ba0320;
}

#ff-my-account .woocommerce-EditAccountForm label.checkbox:has(.input-checkbox:checked)::after,
#ff-my-account .woocommerce-form-login label.woocommerce-form-login__rememberme:has(.woocommerce-form__input-checkbox:checked)::after{
    content: "";
    position: absolute;
    left: 7px;
    top: 6px;
    width: 6px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Focus ring */
#ff-my-account .woocommerce-EditAccountForm label.checkbox:has(.input-checkbox:focus)::before,
#ff-my-account .woocommerce-form-login label.woocommerce-form-login__rememberme:has(.woocommerce-form__input-checkbox:focus)::before{
    outline: 2px solid #0000;
    box-shadow: 0 0 0 3px rgba(186, 3, 32, 0.25);
}

body.woocommerce-account .woocommerce-password-hint{
    font-family: "Saira Extra Condensed", Sans-serif;
    color: #fff;
    font-size: 14px;
}

body.woocommerce-account .woocommerce-password-strength{
    font-family: "Saira Extra Condensed", Sans-serif;
    color: #fff;
    font-size: 16px;
    margin-top: 2px;
    border-radius: 4px;
    text-transform: uppercase;
}

body.woocommerce-account .woocommerce-password-strength.short{
    background-color: #9d0303;
    border-color: #9d0303;
}

body.woocommerce-account .woocommerce-password-strength.bad{
    background-color: #fb712a;
    border-color: #fb712a;
}

body.woocommerce-account .woocommerce-password-strength.good{
    background-color: #72844b;
    border-color: #72844b;
}

body.woocommerce-account .woocommerce-password-strength.strong{
    background-color: #406e34;
    border-color: #406e34;
}

body.woocommerce-account button.ff-login,
body.woocommerce-account button.ff-reset-password{
    color: #fff;
    font-family: "Saira Extra Condensed", Sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1em;
    text-transform: uppercase;
    float: right;
    border: none;
    background: transparent !important;
    padding: 0;
    display: flex;
    gap: 30px;
    align-items: center;
}

body.woocommerce-account button.ff-reset-password{
    margin-top: 40px;
}

/* =========================================================
 * WOO ALERTS / STEP ACTIONS
 * =======================================================*/
body.woocommerce-account .woocommerce-error,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message {
    font-family: "Saira Extra Condensed", Sans-serif;
    background-color: #030a0f;
    color: #fff;
    font-size: 18px !important;
}

body.woocommerce-account .woocommerce-error:focus-visible, 
body.woocommerce-account .woocommerce-info:focus-visible, 
body.woocommerce-account .woocommerce-message:focus-visible {
    outline: none !important;
}

body.woocommerce-account .woocommerce-error li,
body.woocommerce-account .woocommerce-info li,
body.woocommerce-account .woocommerce-message li {
    padding-bottom: 7px;
    line-height: 1.2em;
}

body.woocommerce-account .woocommerce-error li a,
body.woocommerce-account .woocommerce-info li a,
body.woocommerce-account .woocommerce-message li a {
    color: #fff;
    text-decoration: underline !important;
}

#ff-clubs-carousel-home #ff-club-title .elementor-heading-title {
    writing-mode: sideways-lr;
    text-orientation: mixed;
    float: right;
}

#ff-clubs-carousel-home .ff-distance {
    display: none;
}

#ff-clubs-carousel-home.has-distance .ff-distance {
    display: inline-flex;
    align-items: baseline;
    gap: 0.25rem;
    font-weight: 600;
}

#ff-clubs-carousel-home .ff-distance.is-empty{
    opacity: 0.7;
    font-weight: 400;
}

#ff-clubs-carousel-home.ff-has-overlay{
    position: relative;
}

#ff-clubs-carousel-home .ff-reorder-overlay{
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(1px);
    z-index: 5;
}

#ff-clubs-carousel-home.ff-has-overlay .ff-reorder-overlay{
    display: flex;
}

#ff-clubs-carousel-home.ff-has-overlay .swiper-wrapper{
    filter: blur(1px);
    opacity: 0.65;
    transition: opacity 0.2s ease, filter 0.2s ease;
}

#ff-clubs-carousel-home .ff-spinner{
    width: 28px;
    height: 28px;
    border: 3px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ffspin 0.8s linear infinite;
}

#ff-clubs-carousel-home .ff-reorder-text{
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.2px;
}

#ff-search-club-home
    form.elementor-form
    .elementor-form-fields-wrapper
    .elementor-field-type-text {
    width: auto;
    flex-grow: 1;
}

#ff-search-club-home
    form.elementor-form
    .elementor-form-fields-wrapper
    .elementor-field-type-text
    input[type="text"] {
    padding-left: 25px;
    min-height: 66px;
}

#ff-search-club-home
    form.elementor-form
    .elementor-form-fields-wrapper
    .elementor-field-type-text
    input[type="text"]::placeholder {
    opacity: .3;
}

#ff-search-club-home
    form.elementor-form
    .elementor-form-fields-wrapper
    .elementor-field-type-submit {
    width: auto;
    margin-left: -71px;
}

#ff-search-club-home
    form.elementor-form
    .elementor-form-fields-wrapper
    .elementor-field-type-submit
    .elementor-button-icon
    svg {
    width: 20px;
}

#ff-search-club-home .elementor-message {
    display: none !important;
}

#ff-search-club-home .ff-inline-error{
    padding: 5px 0px 0px 25px;
    font-family: "Saira Extra Condensed", Sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.ff-btn-80 svg{
    width: 80px;
}

.ff-btn-65 svg{
    width: 65px;
}

.ff-btn-52 svg{
    width: 52px;
}

.ff-btn-80 span,
.ff-btn-65 span,
.ff-btn-52 span{
    align-items: center;
}

@keyframes ffspin {
    to {
        transform: rotate(360deg);
    }
}

.ff-line-gradient-left .elementor-divider-separator{
	border-image: linear-gradient(to right, #FEFEFE 0%, rgba(152, 152, 152, 0.00) 65%) 1;
}

.ff-line-gradient-right .elementor-divider-separator{
	border-image: linear-gradient(to left, #FEFEFE 0%, rgba(152, 152, 152, 0.00) 65%) 1;
}

/* ≤1199px */
@media (max-width: 1199px) {
    .custom-order-review.woocommerce-account-current-plan{
        padding: 30px 30px;
    }

    .custom-order-review.woocommerce-account-current-plan h4{
        font-size: 28px;
    }

    .custom-order-review.woocommerce-account-current-plan .order-item-left .product-name{
        font-size: 60px;
    }

    .custom-order-review.woocommerce-account-current-plan .order-item-right .product-price{
        font-size: 70px;
        line-height: 70px;
    }

    .custom-order-review.woocommerce-account-current-plan .order-item-right .product-extra{
        font-size: 22px;
    }

    #ff-my-account .woocommerce-EditAccountForm label.checkbox,
    #ff-my-account .woocommerce-form-login label.woocommerce-form-login__rememberme {
        font-size: 17px;
        line-height: 1.4em;
    }

    .ff-btn-80 svg{
        width: 70px;
    }
    
    .ff-btn-65 svg{
        width: 60px;
    }
}

/* ≤1024px */
@media (max-width: 1024px) {
    .custom-order-review.woocommerce-account-current-plan{
        padding: 30px 25px;
        margin-bottom: 50px !important;
    }

    .custom-order-review.woocommerce-account-current-plan h4{
        font-size: 26px;
    }

    .custom-order-review.woocommerce-account-current-plan .order-item-left .product-name{
        font-size: 50px;
    }

    .custom-order-review.woocommerce-account-current-plan .order-item-right .product-price{
        font-size: 60px;
        line-height: 60px;
    }

    .custom-order-review.woocommerce-account-current-plan .order-item-right .product-extra{
        font-size: 20px;
    }

    #ff-my-account .woocommerce-EditAccountForm label.checkbox,
    #ff-my-account .woocommerce-form-login label.woocommerce-form-login__rememberme {
        font-size: 16px;
        line-height: 1.4em;
    }

    body.woocommerce-account button.ff-login, 
    body.woocommerce-account button.ff-reset-password{
        font-size: 25px;
    }

    body.woocommerce-account button.ff-login svg,
    body.woocommerce-account button.ff-reset-password svg{
        width: 60px;
    }

    body.woocommerce-account #ff-my-account #customer_login .woocommerce-form-row--flex .lost_password a{
        font-size: 17px;
    }

    .ff-btn-80 svg{
        width: 60px;
    }
    
    .ff-btn-65 svg{
        width: 60px;
    }

    #ff-search-club-home form.elementor-form .elementor-form-fields-wrapper .elementor-field-type-text input[type="text"]{
        min-height: 56px;
    }

    #ff-search-club-home form.elementor-form .elementor-form-fields-wrapper button{
        padding: 14px 20px 14px 20px;
    }

    #ff-search-club-home form.elementor-form .elementor-form-fields-wrapper .elementor-field-type-submit{
        margin-left: -62px;
    }
}

/* ≤767px */
@media (max-width: 767px) {
    .custom-order-review.woocommerce-account-current-plan{
        padding: 25px 20px;
        margin-bottom: 40px !important;
    }

    .custom-order-review.woocommerce-account-current-plan h4{
        font-size: 22px;
    }

    .custom-order-review.woocommerce-account-current-plan .order-item-left .product-name{
        font-size: 40px;
    }

    .custom-order-review.woocommerce-account-current-plan .order-item-right .product-price{
        font-size: 50px;
        line-height: 50px;
    }

    .custom-order-review.woocommerce-account-current-plan .order-item-right .product-extra{
        font-size: 17px;
    }

    #ff-my-account .woocommerce-EditAccountForm label.checkbox,
    #ff-my-account .woocommerce-form-login label.woocommerce-form-login__rememberme {
        font-size: 14px;
        line-height: 1.4em;
    }

    body.woocommerce-account button.ff-login, 
    body.woocommerce-account button.ff-reset-password{
        font-size: 20px;
        gap: 20px;
    }

    body.woocommerce-account button.ff-reset-password {
        margin-top: 20px;
    }

    body.woocommerce-account button.ff-login svg,
    body.woocommerce-account button.ff-reset-password svg{
        width: 50px;
    }

    body.woocommerce-account #ff-my-account #customer_login .woocommerce-form-row--flex .lost_password a{
        font-size: 16px;
    }

    .ff-btn-80 svg{
        width: 52px;
    }
    
    .ff-btn-65 svg{
        width: 52px;
    }

    #ff-search-club-home form.elementor-form .elementor-form-fields-wrapper .elementor-field-type-text input[type="text"]{
        min-height: 50px;
    }

    #ff-search-club-home form.elementor-form .elementor-form-fields-wrapper button{
        padding: 12px 16px 12px 16px;
    }

    #ff-search-club-home form.elementor-form .elementor-form-fields-wrapper .elementor-field-type-submit{
        margin-left: -62px;
    }
}