/* ==========================================================================
   SAIKO SUSHI — общий файл стилей
   Путь на сервере: wp-content/themes/<тема>/css/saiko.css
   Подключается автоматически из functions.php (папку css создать вручную).
   Содержит всё, что раньше лежало в «Дополнительном CSS», плюс стили
   корзины/чекаута на блоках WooCommerce, мини-корзины и мобильной версии.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. ПЕРЕМЕННЫЕ
   -------------------------------------------------------------------------- */
:root {
    --saiko-bg: #0a0a0c;
    --saiko-surface: #121214;
    --saiko-card: rgba(18, 18, 20, 0.88);
    --saiko-field: rgba(20, 20, 20, 0.95);
    --saiko-gold: #ffd700;
    --saiko-gold-dark: #d4af37;
    --saiko-gold-grad: linear-gradient(135deg, #ffd700, #d4af37);
    --saiko-gold-grad-hover: linear-gradient(135deg, #ffe44d, #ffd700);
    --saiko-text: #ffffff;
    --saiko-muted: #a5a5a5;
    --saiko-line: rgba(255, 255, 255, 0.12);
    --saiko-line-gold: rgba(255, 215, 0, 0.2);
    /* Фото-фон корзины и оформления заказа (потом лучше скачать и положить в /img/) */
    --saiko-photo: url('https://images.unsplash.com/photo-1617196034796-73dfa7b1fd56?q=80&w=1920&auto=format&fit=crop');

    /* Переменные, которые ждёт page.php (раньше нигде не были объявлены) */
    --bg-main: transparent;
    --accent-gold: #ffd700;
    --text-gray: #d0d0d0;
}

/* --------------------------------------------------------------------------
   1. БАЗА
   -------------------------------------------------------------------------- */
body {
    background-color: var(--saiko-bg);
    color: var(--saiko-text);
    font-family: 'Montserrat', sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* Ссылки вместо розового цвета Hello Elementor (низкая специфичность: классы компонентов её перебивают) */
a { color: var(--saiko-gold); }
a:hover { color: #ffe44d; }

/* Шапка не должна уезжать под админ-панель WordPress (видно только админам) */
body.admin-bar header.main-header { top: 32px !important; }
@media (max-width: 782px) {
    body.admin-bar header.main-header { top: 46px !important; }
}

/* На WooCommerce-страницах весь текст белый */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
    --text-gray: #ffffff;
    color: #ffffff;
}

/* --------------------------------------------------------------------------
   2. ФОНЫ СТРАНИЦ
   -------------------------------------------------------------------------- */
/* Личный кабинет: строгий тёмный фон */
body.woocommerce-account {
    background-color: #080808 !important;
    background-image: none !important;
}

/* Корзина и оформление заказа: фото суши под тёмным слоем */
body.woocommerce-cart,
body.woocommerce-checkout {
    background: linear-gradient(rgba(10, 10, 10, 0.86), rgba(10, 10, 10, 0.93)),
                var(--saiko-photo) center center / cover no-repeat fixed !important;
}

/* --------------------------------------------------------------------------
   3. ЗАГОЛОВКИ СТРАНИЦ
   -------------------------------------------------------------------------- */
h1.entry-title,
.woocommerce-account h1,
.woocommerce-cart h1,
.woocommerce-checkout h1 {
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 25px !important;
}

/* --------------------------------------------------------------------------
   4. КАРТОЧКИ (стеклянный эффект)
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
    background: var(--saiko-card) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid var(--saiko-line-gold) !important;
    border-radius: 20px !important;
    padding: 28px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.8) !important;
    color: #ffffff !important;
}

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
    margin-bottom: 20px !important;
}

.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
    color: var(--saiko-gold) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

/* --------------------------------------------------------------------------
   5. МЕНЮ ЛИЧНОГО КАБИНЕТА
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 14px 20px !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: all 0.3s ease !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: var(--saiko-gold-grad) !important;
    color: #000000 !important;
    font-weight: 700 !important;
    border-color: var(--saiko-gold) !important;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.35) !important;
}

/* Таблица заказов и прочие таблицы WooCommerce */
.woocommerce table.shop_table,
.woocommerce-account table.woocommerce-orders-table {
    background: transparent !important;
    color: #ffffff !important;
    border-color: var(--saiko-line) !important;
    border-radius: 12px !important;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border-color: var(--saiko-line) !important;
    color: #ffffff !important;
}

/* Лишние подписи и поля */
.woocommerce form .form-row .optional,
.woocommerce-address-fields .optional { display: none !important; }

#shipping_country_field,
#billing_country_field,
#shipping_address_2_field,
#billing_address_2_field,
.woocommerce-address-fields p#shipping_first_name_field,
.woocommerce-address-fields p#shipping_last_name_field {
    display: none !important;
}

.woocommerce-EditAccountForm p.form-row-wide:has(#account_display_name),
.woocommerce-EditAccountForm em {
    display: none !important;
}

/* --------------------------------------------------------------------------
   6. ПОЛЯ ВВОДА (классический WooCommerce)
   -------------------------------------------------------------------------- */
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce-cart table.shop_table input.qty,
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    background-color: var(--saiko-field) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-family: 'Montserrat', sans-serif !important;
    box-sizing: border-box;
    max-width: 100%;
}

.woocommerce input.input-text:focus,
.woocommerce-checkout .form-row input.input-text:focus {
    border-color: var(--saiko-gold) !important;
    outline: none !important;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.3) !important;
}

.woocommerce form .form-row label { color: #ffffff; font-weight: 600; }
.woocommerce form .form-row .required { color: var(--saiko-gold); text-decoration: none; }

/* --------------------------------------------------------------------------
   7. ЗОЛОТЫЕ КНОПКИ
   -------------------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-cart__submit-button,
.wc-block-components-button:not(.is-link),
.wc-block-components-checkout-place-order-button,
.wp-block-button__link,
.woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order {
    background: var(--saiko-gold-grad) !important;
    color: #000000 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 14px 28px !important;
    min-height: 48px;
    border-radius: 30px !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.3) !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-button__link:hover,
.woocommerce-checkout #place_order:hover {
    background: var(--saiko-gold-grad-hover) !important;
    color: #000000 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 25px rgba(255, 215, 0, 0.5) !important;
}

.woocommerce-checkout #place_order,
.wc-block-components-checkout-place-order-button {
    width: 100% !important;
    font-size: 15px !important;
    padding: 16px 30px !important;
}

/* Кнопки-ссылки (например, «+ Dodaj nr mieszkania») */
.wc-block-components-button.is-link,
.wc-block-components-address-form__address_2-toggle {
    color: var(--saiko-gold) !important;
    background: transparent !important;
    text-decoration: underline !important;
}

/* --------------------------------------------------------------------------
   8. УВЕДОМЛЕНИЯ
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
    border-color: var(--saiko-gold) !important;
    border-radius: 12px !important;
}
.woocommerce-error { border-color: #ff5a5a !important; }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: var(--saiko-gold); }

/* --------------------------------------------------------------------------
   9. КЛАССИЧЕСКОЕ ОФОРМЛЕНИЕ ЗАКАЗА (шорткод [woocommerce_checkout])
   -------------------------------------------------------------------------- */
.woocommerce-checkout #payment,
.woocommerce-checkout #payment ul.payment_methods {
    background: transparent !important;
    border-color: var(--saiko-line) !important;
    color: #ffffff !important;
}
.woocommerce-checkout #payment div.payment_box {
    background: #1b1b1d !important;
    color: #dddddd !important;
    border-radius: 10px !important;
}
.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #1b1b1d !important;
}

/* --------------------------------------------------------------------------
   10. КОРЗИНА И ОФОРМЛЕНИЕ НА БЛОКАХ WOOCOMMERCE (wc-block-*)
   -------------------------------------------------------------------------- */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
    font-size: 16px;
}

/* Выравнивание блока по контейнеру: на телефоне карточка уезжала влево за край экрана */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

/* Заголовки шагов */
.wc-block-components-checkout-step__title,
.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title-text {
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important;
}
.wc-block-components-checkout-step__description,
.wc-block-components-product-metadata,
.wc-block-components-totals-item__description {
    color: var(--saiko-muted) !important;
}

/* Поля ввода (padding не трогаем: там живёт «плавающая» подпись) */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-textarea,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-country-input select,
.wc-block-components-state-input select,
.wc-block-components-combobox .components-combobox-control input {
    background-color: var(--saiko-field) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    font-family: 'Montserrat', sans-serif !important;
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-block-components-textarea:focus {
    border-color: var(--saiko-gold) !important;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.3) !important;
    outline: none !important;
}
.wc-block-components-text-input label,
.wc-blocks-components-select .wc-blocks-components-select__label {
    color: rgba(255, 255, 255, 0.6) !important;
}
.wc-blocks-components-select .wc-blocks-components-select__expand { fill: #ffffff !important; }

/* Автозаполнение браузера не должно красить поля в белый */
.wc-block-components-text-input input:-webkit-autofill,
.woocommerce input.input-text:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #141414 inset !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Чекбоксы */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
    background-color: var(--saiko-field) !important;
    border: 2px solid rgba(255, 255, 255, 0.45) !important;
    border-radius: 4px !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
    background-color: var(--saiko-gold) !important;
    border-color: var(--saiko-gold) !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #000000 !important; }
.wc-block-components-checkbox__label { color: #ffffff !important; }

/* Радио-кнопки: доставка и способы оплаты */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
    border-radius: 10px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    box-shadow: inset 0 0 0 1.5px var(--saiko-gold) !important;
}
.wc-block-components-radio-control__input {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.55) !important;
}
.wc-block-components-radio-control__input:checked { border-color: var(--saiko-gold) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--saiko-gold) !important; }
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__description,
.wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control-accordion-content { color: #ffffff !important; }

/* Товары в корзине и в сводке заказа */
.wc-block-components-product-name,
.wc-block-cart-item__product a {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-transform: none !important;
}
.wc-block-components-product-name:hover { color: var(--saiko-gold) !important; }

.wc-block-components-order-summary-item__quantity {
    background: var(--saiko-gold) !important;
    color: #000000 !important;
    border: none !important;
    font-weight: 800;
    box-shadow: none !important;
}
.wc-block-components-product-price,
.wc-block-components-formatted-money-amount { color: #ffffff; }

/* Суммы */
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-cart-items__header span { font-size: 15px !important; color: #ffffff !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-weight: 800; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item-tax-value {
    color: var(--saiko-gold) !important;
    font-weight: 900 !important;
}
.wc-block-components-totals-wrapper,
.wc-block-cart-items,
.wc-block-cart-items__row,
.wc-block-components-order-summary-item,
.wc-block-components-panel {
    border-color: var(--saiko-line) !important;
}
.wc-block-components-panel__button { color: #ffffff !important; font-size: 15px !important; }
.wc-block-components-panel__button-icon { fill: #ffffff !important; }

/* Количество в корзине */
.wc-block-components-quantity-selector {
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 10px !important;
    background: var(--saiko-field) !important;
    color: #ffffff !important;
}
.wc-block-components-quantity-selector::after { border: none !important; }
.wc-block-components-quantity-selector__input {
    color: #ffffff !important;
    font-size: 16px !important;
    background: transparent !important;
}
.wc-block-components-quantity-selector__button {
    color: #ffffff !important;
    font-size: 18px !important;
    min-width: 40px;
    min-height: 40px;
    opacity: 1 !important;
}
.wc-block-cart-item__remove-link { color: var(--saiko-muted) !important; }
.wc-block-cart-item__remove-link:hover { color: #ff6b6b !important; }

/* Пустая корзина и блок «Nowe w sklepie» */
.wp-block-woocommerce-empty-cart-block { text-align: center; }
.wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 20px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
.wc-block-grid__product {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: 14px !important;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--saiko-line);
    border-radius: 16px;
    text-align: center;
}
.wc-block-grid__product-image img { border-radius: 12px; width: 100%; height: auto; }
.wc-block-grid__product-title,
.wc-block-grid__product-title a {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-decoration: none !important;
}
.wc-block-grid__product-price { color: var(--saiko-gold) !important; font-weight: 800; }
.wc-block-grid__product-add-to-cart .wp-block-button__link { padding: 10px 18px !important; font-size: 12px !important; }

/* --------------------------------------------------------------------------
   11. МИНИ-КОРЗИНА НА СТРАНИЦЕ МЕНЮ (правая колонка)
   Селекторы длиннее, чем в page-menu.php, поэтому перебивают его инлайн-стили.
   -------------------------------------------------------------------------- */
body .cart-sidebar-box ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 56px 1fr !important;
    column-gap: 12px !important;
    row-gap: 2px !important;
    align-items: center !important;
    padding: 14px 30px 14px 0 !important;
    list-style: none !important;
}
body .cart-sidebar-box ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > a:not(.remove) {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: 56px 1fr;
    column-gap: 12px;
    align-items: center;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    line-height: 1.3;
}
body .cart-sidebar-box ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > a:not(.remove) img {
    width: 56px !important;
    height: 56px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
    margin: 0 !important;
}
body .cart-sidebar-box ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > .quantity {
    grid-column: 2;
    font-size: 14px !important;
    color: var(--saiko-gold) !important;
}
body .cart-sidebar-box ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > a.remove {
    position: absolute !important;
    top: 12px;
    right: 0;
    width: 26px !important;
    height: 26px !important;
    line-height: 24px !important;
    text-align: center;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    text-decoration: none !important;
}
body .cart-sidebar-box ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > a.remove:hover {
    background: #ff4d4d !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   12. МОБИЛЬНАЯ ВЕРСИЯ
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
    /* fixed-фон на телефонах дёргается и тормозит */
    body.woocommerce-cart,
    body.woocommerce-checkout { background-attachment: scroll !important; }
}

@media (max-width: 768px) {
    /* Шаблоны с инлайн-отступами 140px / 40px (page.php, index.php) */
    main[style*="padding-top: 140px"] {
        padding-top: 100px !important;
        padding-bottom: 50px !important;
    }
    main[style*="padding-top: 140px"] > div[style*="max-width"] {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    h1.entry-title,
    .woocommerce-account h1,
    .woocommerce-cart h1,
    .woocommerce-checkout h1 {
        font-size: 24px !important;
        margin-bottom: 18px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content,
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals,
    .wp-block-woocommerce-cart,
    .wp-block-woocommerce-checkout,
    .woocommerce form.login,
    .woocommerce form.register,
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout #order_review {
        padding: 16px !important;
        border-radius: 16px !important;
    }

    /* Меню кабинета: горизонтальная лента вместо длинного столбца */
    .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 16px; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-direction: row !important;
        overflow-x: auto;
        gap: 8px !important;
        padding-bottom: 4px !important;
        -webkit-overflow-scrolling: touch;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li { flex: 0 0 auto; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 10px 16px !important;
        white-space: nowrap;
        font-size: 14px;
    }

    /* Поля не меньше 16px — иначе iPhone приближает страницу при фокусе */
    .woocommerce input.input-text,
    .woocommerce textarea,
    .woocommerce select,
    .wc-block-components-text-input input,
    .wc-blocks-components-select .wc-blocks-components-select__select,
    .wc-block-components-textarea {
        font-size: 16px !important;
    }

    .woocommerce-checkout #place_order,
    .wc-block-components-checkout-place-order-button,
    .wc-block-cart__submit-button { min-height: 52px; }

    .wc-block-grid__products { grid-template-columns: repeat(2, 1fr); gap: 12px; }

    /* Корзина и оформление: колонки на всю ширину карточки, без боковых смещений */
    body.woocommerce-cart,
    body.woocommerce-checkout { overflow-x: hidden; }

    .wc-block-components-sidebar-layout,
    .wc-block-cart,
    .wc-block-checkout {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
    }
    .wc-block-components-sidebar-layout .wc-block-components-main,
    .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
    }
}

/* =========================================================
   [2026-10-25] Корзина (WooCommerce Blocks) — мобильная сетка позиции
   Проблема: фиксированная колонка 132px выталкивала сумму за край карточки.
   ========================================================= */
@media (max-width: 767px) {
    table.wc-block-cart-items {
        width: 100% !important;
        table-layout: fixed;
    }
    table.wc-block-cart-items .wc-block-cart-items__row {
        grid-template-columns: 64px minmax(0, 1fr) auto !important;
        column-gap: 12px !important;
    }
    table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
        grid-column: 1 / 2 !important;
        padding-right: 0 !important;
    }
    table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
        width: 64px;
        height: auto;
        border-radius: 8px;
    }
    table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
        grid-column: 2 / 3 !important;
        min-width: 0;
    }
    table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
        grid-column: 3 / 4 !important;
        white-space: nowrap;
        text-align: right;
    }
    table.wc-block-cart-items .wc-block-components-product-name {
        overflow-wrap: anywhere;
    }
    /* Кнопки +/- и удаление — удобные для пальца */
    .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
        min-width: 40px;
        min-height: 40px;
    }
    .wc-block-cart-item__remove-link {
        min-width: 40px;
        min-height: 40px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }
}

/* =========================================================
   [2026-10-25] Чекаут (классический) — скрытые служебные поля и мобильная вёрстка
   ========================================================= */
.woocommerce-checkout .saiko-hidden-field,
.woocommerce-checkout #ship-to-different-address {
    display: none !important;
}
.woocommerce-checkout .saiko-checkout-heading {
    margin: 0 0 16px;
}
/* 16px в полях — iPhone не зумит страницу при вводе */
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    font-size: 16px !important;
}
@media (max-width: 767px) {
    .woocommerce-checkout h3,
    .woocommerce-checkout .saiko-checkout-heading,
    .woocommerce-checkout #order_review_heading {
        font-size: 20px !important;
        line-height: 1.25;
        letter-spacing: 0.5px;
    }
    .woocommerce-checkout .form-row {
        margin-bottom: 14px;
    }
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: calc(50% - 6px) !important;
    }
    .woocommerce-checkout #payment ul.payment_methods li {
        padding: 12px 0;
    }
    .woocommerce-checkout #payment ul.payment_methods li label {
        font-size: 15px;
    }
    .woocommerce-checkout #place_order {
        width: 100%;
        min-height: 54px;
        font-size: 16px;
    }
}

/* =========================================================
   [2026-10-25] Переключатель Dostawa / Odbiór osobisty
   ========================================================= */
.saiko-delivery-switch {
    display: flex;
    gap: 10px;
    margin: 0 0 20px;
}
.saiko-delivery-switch .saiko-delivery-btn {
    flex: 1 1 0;
    min-height: 52px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: #151515;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
    transition: all 0.2s ease;
}
.saiko-delivery-switch .saiko-delivery-btn:hover {
    border-color: #ffd700;
}
.saiko-delivery-switch .saiko-delivery-btn.is-active {
    background: #ffd700;
    border-color: #ffd700;
    color: #000000;
}
/* В итоговой таблице показываем только выбранный способ, без дублирующих радиокнопок */
.woocommerce-checkout #order_review #shipping_method li:not(:has(input:checked)) {
    display: none;
}
.woocommerce-checkout #order_review #shipping_method li input[type="radio"] {
    display: none;
}

/* =========================================================
   [2026-10-25] Выбор способа получения в корзине + статус проверки адреса
   ========================================================= */
.saiko-cart-delivery {
    margin: 0 0 20px;
}
.saiko-cart-delivery__title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #ffffff;
    margin-bottom: 10px;
}
.saiko-cart-delivery .saiko-delivery-switch {
    margin: 0;
}
.saiko-delivery-btn:disabled {
    opacity: 0.6;
    cursor: wait;
}
.woocommerce-checkout .saiko-address-confirm {
    display: none !important;
}
.woocommerce-checkout .saiko-address-confirm.is-visible {
    display: block !important;
}
.saiko-address-status {
    display: none;
    margin: -4px 0 14px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.4;
}
.saiko-address-status.is-ok {
    color: #7ee08a;
    background: rgba(46, 160, 67, 0.12);
    border: 1px solid rgba(46, 160, 67, 0.35);
}
.saiko-address-status.is-warn {
    color: #ffd27a;
    background: rgba(255, 196, 0, 0.10);
    border: 1px solid rgba(255, 196, 0, 0.35);
}
.saiko-address-status.is-error {
    color: #ff8a8a;
    background: rgba(220, 53, 69, 0.12);
    border: 1px solid rgba(220, 53, 69, 0.40);
}
.saiko-delivery-switch .saiko-delivery-btn {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* =========================================================
   [2026-10-25] Выпадающий список улиц
   ========================================================= */
.saiko-ac-wrap {
    position: relative;
    display: block;
}
.saiko-ac-list {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 50;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: #151515;
    border: 1px solid rgba(255, 215, 0, 0.45);
    border-radius: 12px;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.6);
    max-height: 320px;
    overflow-y: auto;
}
.saiko-ac-list li {
    padding: 12px 14px;
    font-size: 15px;
    color: #ffffff;
    cursor: pointer;
}
.saiko-ac-list li:hover,
.saiko-ac-list li.is-active {
    background: rgba(255, 215, 0, 0.14);
    color: #ffd700;
}

/* =========================================================
   [2026-10-25] Город в подсказках улиц + статус расстояния
   ========================================================= */
.saiko-ac-list li .saiko-ac-city {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #a5a5a5;
}
.saiko-distance-status {
    display: none;
    margin: -4px 0 14px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.4;
}
.saiko-distance-status.is-ok {
    color: #7ee08a;
    background: rgba(46, 160, 67, 0.12);
    border: 1px solid rgba(46, 160, 67, 0.35);
}
.saiko-distance-status.is-error {
    color: #ff8a8a;
    background: rgba(220, 53, 69, 0.12);
    border: 1px solid rgba(220, 53, 69, 0.40);
}
.saiko-address-status,
.saiko-distance-status {
    clear: both;
}

/* =========================================================
   [2026-10-25] Блок «Dokument» (Paragon / Faktura VAT) в чекауте
   ========================================================= */
.woocommerce-checkout .saiko-invoice {
    clear: both;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.woocommerce-checkout .saiko-invoice .saiko-doc-switch {
    margin-bottom: 16px;
}
.woocommerce-checkout .saiko-invoice-fields {
    overflow: hidden;
}
.saiko-nip-status {
    display: none;
    clear: both;
    margin: -4px 0 14px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.4;
}
.saiko-nip-status.is-ok { color: #7ee08a; background: rgba(46, 160, 67, 0.12); border: 1px solid rgba(46, 160, 67, 0.35); }
.saiko-nip-status.is-warn { color: #ffd27a; background: rgba(255, 196, 0, 0.10); border: 1px solid rgba(255, 196, 0, 0.35); }
.saiko-nip-status.is-error { color: #ff8a8a; background: rgba(220, 53, 69, 0.12); border: 1px solid rgba(220, 53, 69, 0.40); }

/* =========================================================
   [2026-10-25] Полоска до бесплатной доставки, согласие RODO, Lunch Miso, Moje konto
   ========================================================= */
.saiko-free-delivery {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #151515;
    border: 1px solid rgba(255, 215, 0, 0.35);
    color: #ffffff;
    font-size: 14px;
}
.saiko-free-delivery[hidden] { display: none !important; }
.saiko-free-delivery strong { color: #ffd700; }
.saiko-free-delivery__bar {
    height: 6px;
    margin-top: 8px;
    border-radius: 99px;
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
}
.saiko-free-delivery__bar span {
    display: block;
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, #d4af37, #ffd700);
    transition: width 0.4s ease;
}
.saiko-free-delivery.is-done { border-color: rgba(46, 160, 67, 0.6); }
.saiko-free-delivery.is-done .saiko-free-delivery__bar span { background: #2ea043; }
.saiko-consent { margin: 12px 0 !important; font-size: 13px; line-height: 1.45; color: #cfcfcf; }
.saiko-consent input, .saiko-consent-account input { margin-right: 8px; }
.saiko-consent-account { margin: 20px 0; padding: 14px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px; }
.saiko-consent-account legend { padding: 0 6px; font-weight: 700; }
.menu-addon {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0 0;
    font-size: 13px;
    color: #e0e0e0;
    cursor: pointer;
}
.menu-addon input { width: 18px; height: 18px; accent-color: #ffd700; }
/* Moje konto: вкладки без белой полосы прокрутки */
.woocommerce-MyAccount-navigation ul,
.woocommerce-MyAccount-navigation {
    scrollbar-width: none;
}
.woocommerce-MyAccount-navigation ul::-webkit-scrollbar,
.woocommerce-MyAccount-navigation::-webkit-scrollbar { display: none; }

/* [2026-11-03] Mini-koszyk: podpis promocji (np. „GRATIS do Kyoto / Tempura Set”) pod nazwą, w jednej linii */
.woocommerce-mini-cart-item dl.variation {
	grid-column: 2 / -1;
	width: auto;
	margin: 0 0 4px;
	padding: 0;
	font-size: 12px;
	line-height: 1.4;
	color: #ffd700;
}
.woocommerce-mini-cart-item dl.variation dt,
.woocommerce-mini-cart-item dl.variation dd,
.woocommerce-mini-cart-item dl.variation dd p {
	display: inline;
	width: auto;
	margin: 0;
	padding: 0;
	float: none;
	white-space: normal;
}
.woocommerce-mini-cart-item dl.variation dt { font-weight: 600; margin-right: 4px; }
.woocommerce-mini-cart-item dl.variation dd::after { content: ""; display: block; }
