/* === BAGON UNIFIED STYLES (LOGIN & CHECKOUT) v3.5 (Font Update) === */

/*
==========================================================================
                      1. СТИЛИ ДЛЯ КАСТОМНОГО ЛОГИНА
                      (плагин bagon-custom-login)
==========================================================================
*/
/* === ИЗМЕНЕНИЕ: Добавляем CSS-переменную для шрифта === */
:root {
    --main-font-family: 'Rubik', sans-serif;
}

/* --- Блок-приглашение для гостя --- */
#bcl-form-container {
    display: none;
}

.bcl-static-wrapper {
    margin-bottom: 30px;
    font-family: var(--main-font-family); /* ИЗМЕНЕНИЕ */
}

.bcl-prompt-block {
    display: flex;
    align-items: flex-start;
    background-color: #2d2d2d;
    border: none;
    border-left: 5px solid #8896ff;
    border-radius: 12px;
    padding: 15px;
    margin-bottom: 30px;
}

.bcl-prompt-icon {
    flex-shrink: 0;
    margin-right: 25px;
    color: #fbd38d;
    margin-top: 5px;
}

.bcl-prompt-icon svg {
    width: 32px;
    height: 32px;
}

.bcl-prompt-text {
    width: 100%;
    text-align: left;
}

.bcl-prompt-text h4 {
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 600;
}

.bcl-prompt-text p {
    margin: 0 0 20px 0;
    color: #b0b0b0;
    font-size: 0.95rem;
    line-height: 1.5;
}

.bcl-prompt-text .bcl-login-button {
    background: linear-gradient(145deg, #fbd38d, #f9c972);
    color: #1a1a1a;
    border: none;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: var(--main-font-family); /* ИЗМЕНЕНИЕ */
}

.bcl-prompt-text .bcl-login-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 15px rgba(251, 211, 141, 0.2);
}

.bcl-prompt-text .bcl-guest-option p {
    margin-bottom: 0;
}

/* --- Приветствие залогиненного пользователя --- */
.bcl-welcome-message {
    display: flex;
    align-items: center;
    background-color: #2d2d2d;
    border: none;
    border-left: 10px solid #27ae60;
    border-radius: 12px;
    padding: 20px 25px;
    margin-bottom: 50px;
    font-family: var(--main-font-family); /* ИЗМЕНЕНИЕ */
}

.bcl-welcome-icon {
    flex-shrink: 0;
    margin-right: 20px;
    color: #fbd38d;
}

.bcl-welcome-icon svg {
    width: 32px;
    height: 32px;
}

.bcl-welcome-text h3 {
    color: #ffffff;
    margin: 0 0 5px 0;
    font-size: 1.25rem;
}

.bcl-welcome-text p {
    margin: 0;
    color: #b0b0b0;
    font-size: 0.95rem;
}

/* --- Сообщение об успехе при регистрации --- */
.bcl-success-message { text-align: center; color: #ffffff; padding: 40px 20px; background: #2d2d2d; border-radius: 16px; margin-bottom: 30px; font-family: var(--main-font-family); }
.bcl-success-message h3 { color: #fbd38d; font-size: 22px; margin: 15px 0; }
.bcl-success-message p { font-size: 15px; color: #ccc; margin-bottom: 30px; }

/* --- ОСНОВНЫЕ СТИЛИ ДЛЯ ФОРМЫ ЛОГИНА --- */
.bcl-container.bcl-v2 {
    background: linear-gradient(145deg, #232323, #1a1a1a);
    padding: 15px 0px;
    border-radius: 25px;
    border: none;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.75);
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    max-width: 100%;
    font-family: var(--main-font-family); /* ИЗМЕНЕНИЕ */
}

/* --- СТИЛИ ДЛЯ ПК (ЭКРАНЫ ШИРЕ 768px) --- */
@media (min-width: 1200px) {
    .bcl-container.bcl-v2 {
        max-width: 55%;
    }
}

#bcl-particles-js { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.bcl-content { position: relative; z-index: 2; }
.bcl-content > h2 { display: none; }
.bcl-v2 #customer_login { display: flex; gap: 0px; }
.bcl-v2 #customer_login .u-column1, .bcl-v2 #customer_login .u-column2 { flex: 1; padding: 0 !important; margin: 0 !important; }
.bcl-v2 #customer_login h2 { display: block !important; color: #fbd38d; text-align: center; font-size: 22px; margin-bottom: 30px; font-weight: 600; }

.woocommerce-ResetPassword p:first-child {
    margin-bottom: 25px !important;
}

.bcl-v2 .form-row { position: relative; margin-bottom: 20px !important; }
.bcl-v2 .form-row label { position: static; display: block; color: #ccc; font-size: 14px; font-weight: 400; margin-bottom: 8px; }

.bcl-v2 .form-row label .required {
    display: inline-block;
    color: #e2401c;
    font-weight: bold;
    margin-left: 4px;
}

.bcl-v2 .form-row input.input-text { width: 100%; background-color: #1f1f1f; border: none; border-radius: 8px; padding: 16px; color: #ffffff; font-size: 15px; transition: border-color 0.3s ease, box-shadow 0.3s ease; font-family: var(--main-font-family); }
.bcl-v2 .form-row input.input-text:focus { outline: none; border-color: #fbd38d; box-shadow: 0 0 15px rgba(251, 211, 141, 0.25); }
.bcl-v2 .bagon-captcha-question-wrapper { display: flex; align-items: center; justify-content: space-between; color: #ccc; margin-bottom: 8px; font-size: 14px; }
.bcl-v2 .bcl-captcha-refresh { cursor: pointer; color: #888; transition: color 0.2s, transform 0.2s; }
.bcl-v2 .bcl-captcha-refresh:hover { color: #fbd38d; transform: scale(1.1); }
.bcl-v2 .bcl-captcha-refresh.is-loading svg { animation: bcl-spinner-animation 1s linear infinite; }
.bcl-v2 .bagon-captcha-field label { font-size: 0; }
.bcl-v2 .bagon-captcha-field label::after { content: 'Введіть відповідь'; font-size: 14px; font-weight: 500; color: #ccc; }
.bcl-v2 .button { background: linear-gradient(145deg, #fbd38d, #f9c972) !important; color: #1a1a1a !important; width: 100%; border: none; border-radius: 8px; padding: 15px !important; font-size: 15px !important; font-weight: bold !important; text-transform: none !important; cursor: pointer; transition: all 0.3s ease; margin-top: 10px !important; position: relative; font-family: var(--main-font-family) !important; }
.bcl-v2 .button:hover { transform: translateY(-4px); box-shadow: 0 12px 20px rgba(251, 211, 141, 0.25); }
.bcl-v2 .button:active { transform: translateY(-2px); box-shadow: 0 6px 10px rgba(251, 211, 141, 0.2); }
.bcl-v2 .woocommerce-form-login .form-row-username label, .bcl-v2 .woocommerce-form-login .form-row-password label, .bcl-v2 .woocommerce-form-register .form-row-username label, .bcl-v2 .woocommerce-form-register .form-row-email label, .bcl-v2 .woocommerce-form-register .password-field label { font-size: 0; }
.bcl-v2 .woocommerce-form-login .form-row-username label::after { content: 'Логін чи e-mail адреса'; font-size: 14px; font-weight: 500; }
.bcl-v2 .woocommerce-form-login .form-row-password label::after, .bcl-v2 .woocommerce-form-register .password-field label::after { content: 'Пароль'; font-size: 14px; font-weight: 500; }
.bcl-v2 .woocommerce-form-register .form-row-username label::after { content: 'Логін'; font-size: 14px; font-weight: 500; }
.bcl-v2 .woocommerce-form-register .form-row-email label::after { content: 'e-mail адреса'; font-size: 14px; font-weight: 500; }
.bcl-v2 .password-input-wrapper { position: relative; }
.bcl-v2 .toggle-password { position: absolute; top: 50%; right: 15px; transform: translateY(-50%); cursor: pointer; color: #888; transition: color 0.2s ease; }
.bcl-v2 .toggle-password:hover { color: #fbd38d; }
.bcl-v2 .toggle-password svg { width: 20px; height: 20px; }
.bcl-v2 .button.bcl-button--loading { color: transparent !important; pointer-events: none; }
.bcl-v2 .button.bcl-button--loading::after { content: '' !important; position: absolute; width: 20px; height: 20px; top: 0; left: 0; right: 0; bottom: 0; margin: auto; border: 3px solid transparent; border-top-color: #1a1a1a; border-radius: 50%; animation: bcl-spinner-animation .8s ease infinite; }

.bcl-v2 .woocommerce-form-login .button.woocommerce-form-login__submit, 
.bcl-v2 .woocommerce-form-register .button { 
    font-size: 0 !important; 
}
.bcl-v2 .woocommerce-form-login .button.woocommerce-form-login__submit::after { 
    content: 'Вхід'; 
    font-size: 15px !important; 
}

.bcl-v2 .woocommerce-form-register .button::after { content: 'Зареєструватися'; font-size: 15px !important; }
.bcl-v2 .woocommerce-form-login__rememberme, .bcl-v2 .woocommerce-LostPassword, .bcl-v2 .woocommerce-privacy-policy-text { display: none !important; }
.bcl-divider { display: flex; align-items: center; text-align: center; color: #cfcfcf; margin: 25px 0; }
.bcl-divider::before, .bcl-divider::after { content: ''; flex: 1; border-bottom: 1px solid #444; }
.bcl-divider span { padding: 0 30px; }
.bcl-social-login--login-form { display: flex; flex-direction: column; gap: 15px; }
.bcl-social-login--login-form .bagon-google-button { margin: 0 !important; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-radius: 8px !important; background-color: #2d2d2d !important; color: #eee !important; border-top-color: transparent !important; box-shadow: 0 4px 10px rgba(0,0,0,0.3); margin-bottom: 20px !important; }
.woocommerce-error { border-left: 5px solid #e2401c !important; }
.woocommerce-info { border-left: 5px solid #3498db !important; }
.woocommerce-message { border-left: 5px solid #27ae60 !important; }
.woocommerce-error a, .woocommerce-info a, .woocommerce-message a { color: #fbd38d !important; }

/*
==========================================================================
                 2. СТИЛИ ДЛЯ СТРАНИЦЫ ОФОРМЛЕНИЯ ЗАКАЗА
                   (плагин bagon-order-custom)
==========================================================================
*/

/* --- 2.1 ГЛОБАЛЬНЫЕ СТИЛИ СТРАНИЦЫ --- */
body.woocommerce-checkout {
    background-color: #191919;
    color: #c0c0c0;
    font-family: var(--main-font-family); /* ИЗМЕНЕНИЕ */
    line-height: 1.6;
    font-size: 15px;
}



/* --- 2.2 ОБЩИЕ СТИЛИ ЭЛЕМЕНТОВ CHECKOUT --- */
.wc-block-checkout__main h2,
.wc-block-components-checkout-step__title,
.wc-block-checkout__sidebar .wc-block-components-totals-item__label {
    color: #ffffff;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}


a {
    color: #fbd38d;
    text-decoration: none;
    transition: all 0.25s ease-in-out;
}
a:hover {
    filter: brightness(1);
    
}

button.wc-block-components-checkout-place-order-button {
    background-image: linear-gradient(45deg, #fbd38d 0%, #f5b349 100%);
    color: #1f1f1f;
    font-size: 1.1em;
    font-weight: bold;
    text-transform: uppercase;
    padding: 20px 30px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    margin-top: 1.5rem;
    font-family: var(--main-font-family); /* ИЗМЕНЕНИЕ */
}
button.wc-block-components-checkout-place-order-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 7px 25px rgba(251, 211, 141, 0.4);
}

.wc-block-checkout__sidebar {
    background-color: #252525;
    border: none;
    border-top: 4px solid #fbd38d;
    border-radius: 8px;
    padding: clamp(1.5em, 3vw, 2.5em);
    margin-bottom: 30px;
}

.wc-block-components-text-input input,
.wc-blocks-components-select__select,
.wc-block-components-textarea textarea {
    background-color: #1f1f1f;
    color: #e0e0e0;
    border: none;
    font-size: 1em;
    padding: 16px;
    border-radius: 6px;
    transition: all 0.3s ease;
    width: 100%;
    font-family: var(--main-font-family); /* ИЗМЕНЕНИЕ */
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus,
.wc-block-components-textarea textarea:focus {
    border-color: #fbd38d;
    box-shadow: inset 0 0 10px 0 rgba(251, 211, 141, 0.1), 0 0 15px rgba(251, 211, 141, 0.1);
    outline: none;
}
label,
.wc-block-components-checkbox__label,
.wc-block-components-radio__label {
    
    font-size: 0.9em;
    letter-spacing: 0.08em;
    color: #cbc6c6;
    font-weight: 200;
    margin-bottom: 8px;
}
.wc-block-components-checkbox__input[type="checkbox"] {
    accent-color: #fbd38d;
}
.wc-block-components-totals-footer-item { border-top: 2px solid #555; padding-top: 1em; font-size: 1.3em; font-weight: 700; color: #ffffff; }
.wc-block-components-totals-footer-item span { color: #fbd38d; }

/*
==========================================================================
               2.3 КАСТОМИЗАЦИЯ ОТДЕЛЬНЫХ БЛОКОВ CHECKOUT
==========================================================================
*/

fieldset#contact-fields,
fieldset#shipping-method,
fieldset#shipping-fields,
fieldset#pickup-options,
fieldset#payment-method,
fieldset#shipping-option {
    background-color: #2d2d2d;
    border: none;
    border-radius: 8px;
    padding: clamp(0.1em, 1vw, 1em);
    margin-bottom: 50px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

fieldset#contact-fields {
    border-left: 5px solid #fbd38d;
}
fieldset#shipping-option {
    border-left: 5px solid #9b59b6;
}
fieldset#shipping-method {
    border-left: 5px solid #9b59b6;
}
fieldset#shipping-fields {
    border-left: 5px solid #9b59b6;
}
fieldset#pickup-options {
    border-left: 5px solid #9b59b6;
}
fieldset#payment-method {
    border-left: 5px solid #2ecc71;
}

fieldset.wc-block-components-checkout-step > .wc-block-components-checkout-step__heading > .wc-block-components-checkout-step__title {
    position: relative;
    padding-left: 40px;
}

#contact-fields .wc-block-components-text-input input[type="email"] {
    background-color: #1a1a1a; font-size: 1.1em; color: #f0f0f0;
}
#contact-fields .wc-block-components-text-input input[type="email"]:focus {
    border-color: #fbd38d; box-shadow: inset 0 0 10px 0 rgba(251, 211, 141, 0.1), 0 0 20px rgba(251, 211, 141, 0.2);
}
.wc-block-components-address-form__address_2-toggle {
    display: inline-block; color: #fbd38d; cursor: pointer; font-size: 0.9em; margin: -10px 0 15px 0; transition: all 0.2s ease;
}
.wc-block-components-address-form__address_2-toggle:hover {
    filter: brightness(1.2); text-decoration: underline;
}
.wc-block-components-address-card {
    display: flex; justify-content: space-between; align-items: center; border: none; border-radius: 8px; padding: 20px; margin-bottom: 20px;
}
.wc-block-components-address-card address { font-style: normal; color: #c0c0c0; line-height: 1.5; }
.wc-block-components-address-card__edit { font-size: 0.9em; font-weight: bold; text-transform: uppercase; color: #fbd38d; cursor: pointer; }

#shipping-method .wc-block-components-radio-control__option,
#pickup-options .wc-block-components-radio-control__option,
#payment-method .wc-block-components-radio-control__option {
    border: none !important;
    border-radius: 6px !important;
    margin-bottom: 10px !important;
    cursor: pointer;
    transition: all 0.3s ease;
}
#shipping-method .wc-block-components-radio-control__option:last-child,
#pickup-options .wc-block-components-radio-control__option:last-child,
#payment-method .wc-block-components-radio-control__option:last-child {
    margin-bottom: 0 !important;
}
#shipping-method .wc-block-components-radio-control__option:hover,
#pickup-options .wc-block-components-radio-control__option:hover,
#payment-method .wc-block-components-radio-control__option:hover {
    border-color: #888 !important;
}
#shipping-method .wc-block-components-radio-control__option-checked,
#pickup-options .wc-block-components-radio-control__option-checked,
#payment-method .wc-block-components-radio-control__option-checked {
    border-color: #fbd38d !important; box-shadow: inset 0 0 10px 0 rgba(251, 211, 141, 0.1), 0 0 15px rgba(251, 211, 141, 0.1) !important;
}
.wc-block-components-radio-control__input { display: none; }
.wc-block-components-radio-control__label { font-size: 1.1em; font-weight: 200; color: #e0e0e0; }
.wc-block-components-radio-control__option-checked .wc-block-components-radio-control__label {
    color: #fbd38d;
    padding-left: 40px;
}
#shipping-method .wc-block-components-radio-control__option-layout,
#pickup-options .wc-block-components-radio-control__option-layout,
#payment-method .wc-block-components-radio-control__option-layout {
    display: flex;
    align-items: center;
    gap: 15px;
}
#pickup-options .wc-block-components-radio-control__label-group,
#payment-method .wc-block-components-radio-control__label-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
#pickup-options .wc-block-components-radio-control__description,
#payment-method .wc-block-components-radio-control__description {
    font-size: 0.9em;
    color: #a0a0a0;
    margin-top: 8px;
}
#pickup-options .wc-block-components-radio-control__secondary-label {
    font-size: 0.9em;
    font-weight: bold;
    color: #27ae60;
}
#payment-method .wc-block-components-payment-method-icons { margin-left: auto; }

/*
==========================================================================
                      3. АДАПТИВНОСТЬ
==========================================================================
*/
@media (max-width: 800px) {
    .bcl-v2 #customer_login {
        flex-direction: column;
        gap: 0;
    }
    .bcl-v2 #customer_login .u-column2 {
        margin-top: 30px !important;
    }
}
@media (max-width: 480px) {
    .bcl-prompt-block, .bcl-welcome-message {
        padding: 20px 15px;
        flex-direction: column;
        align-items: flex-start;
    }
    .bcl-prompt-icon, .bcl-welcome-icon {
        margin-right: 0;
        margin-bottom: 15px;
    }
    .bcl-welcome-message h3, .bcl-prompt-block h4 {
        font-size: 1.1rem;
    }
    .bcl-welcome-message p, .bcl-prompt-block p {
        font-size: 0.9rem;
    }
}

/*
==========================================================================
                       Скрыть display: none !important;
==========================================================================
*/
.wc-block-checkout__create-account,
.wc-block-checkout__use-address-for-billing,
#wc-guest-checkout-notice,
a.wc-block-checkout__login-prompt,
#contact-fields .wc-block-components-checkout-step__description,
#contact-fields label[for="email"],
#shipping > div.wc-block-components-address-form__country.wc-block-components-country-input,
#shipping-method .wc-block-components-checkout-step__description,
#billing-fields,
#shipping-fields .wc-block-components-checkout-step__description {
    display: none !important;
}

/* === BAGON СТИЛИ ДЛЯ ПЕРЕКЛЮЧАТЕЛЯ СПОСОБА ДОСТАВКИ === */
#shipping-method.components-button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    width: 100%;
}
.wc-block-checkout__shipping-method-option {
    flex-grow: 1;
    min-width: 200px;
    padding: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: #1f1f1f;
    border: 0px solid #505050;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 15px;
}
.wc-block-checkout__shipping-method-option:hover {
    border-color: #888;
    background-color: #252525;
}
.wc-block-checkout__shipping-method-option--selected {
    border-color: #42403c !important;
    background-color: rgba(251, 211, 141, 0.05);
    box-shadow: 0 0 15px rgba(251, 211, 141, 0.15);
}
.wc-block-checkout__shipping-method-option-icon,
.wc-block-checkout__shipping-method-option-title {
    transition: color 0.3s ease;
}
.wc-block-checkout__shipping-method-option-icon {
    color: #c0c0c0;
}
.wc-block-checkout__shipping-method-option-title {
    color: #e0e0e0;
    font-weight: 600;
    font-size: 1.1em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.wc-block-checkout__shipping-method-option--selected .wc-block-checkout__shipping-method-option-icon,
.wc-block-checkout__shipping-method-option--selected .wc-block-checkout__shipping-method-option-title {
    color: #42403c;
}

.wc-block-checkout__pickup-options .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__description-group,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__description-group {
    margin-left: 2.5em !important;
    padding: 10px .75em;
}


/* --- ИСПРАВЛЕНИЕ: Скрываем дублирующую ссылку "Вхід в кабінет" в сайдбаре --- */
.mobile-menu-container .mobile-account-link {
    display: none !important;
}


/* Скрыть стандартный блок контактной информации на checkout */
.wc-block-checkout__contact-fields {
    display: none !important;
}