/* ============================================================
   WooCommerce — нуар-оформление корзины и оформления заказа
   ============================================================ */

/* Подсказка под кнопкой оплаты */
.checkout-hint {
    text-align: center;
    font-size: 0.82rem;
    color: #888;
    margin-top: 12px;
}

/* Уведомление о коммерческой лицензии над формой */
.iqevents-commercial-notice {
    background: rgba(195, 155, 98, 0.12);
    border-left: 3px solid var(--noir-gold);
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 0.88rem;
    color: var(--noir-muted);
    margin-bottom: 20px;
    line-height: 1.5;
}

/* Фон страницы */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
    background: var(--noir-bg-main);
    color: var(--noir-text);
}

/* Основная область контента */
.woo-main {
    padding: 60px 0 80px;
}

/* ============================================================
   Уведомления WooCommerce
   ============================================================ */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: var(--noir-bg-card);
    border-top: 3px solid var(--noir-gold);
    border-radius: 0 0 var(--radius-card) var(--radius-card);
    color: var(--noir-text);
    padding: 16px 20px;
    margin-bottom: 28px;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.woocommerce-message li,
.woocommerce-info li,
.woocommerce-error li {
    display: block;
}

.woocommerce-error {
    border-top-color: var(--noir-accent);
}

/* Иконка ::before залезает на текст — скрываем */
.woocommerce-info::before,
.woocommerce-error::before {
    display: none !important;
}

/* Ссылки внутри уведомлений и форм WooCommerce (не в шапке/подвале) */
.woocommerce-message a,
.woocommerce-info a,
.woo-main a:not(.button):not(.woocommerce-remove-coupon),
.woo-main .description a {
    color: var(--noir-gold);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woo-main a:not(.button):hover {
    color: var(--noir-text);
}

/* ============================================================
   Таблица корзины
   ============================================================ */

.shop_table {
    width: 100%;
    border-collapse: collapse;
    background: var(--noir-bg-card);
    border: 1px solid var(--noir-border);
    border-radius: var(--radius-card);
    overflow: hidden;
    margin-bottom: 40px;
}

.shop_table thead tr {
    background: var(--noir-bg-section);
}

.shop_table th {
    padding: 14px 20px;
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--noir-muted);
    border-bottom: 1px solid var(--noir-border);
    text-align: left;
}

.shop_table td {
    padding: 20px;
    border-bottom: 1px solid var(--noir-border);
    color: var(--noir-text);
    vertical-align: middle;
}

.shop_table tbody tr:last-child td {
    border-bottom: none;
}

.shop_table tbody tr:hover {
    background: rgba(255, 255, 255, 0.02);
}

/* Миниатюра товара */
.shop_table .product-thumbnail img {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--noir-border);
}

/* Название товара */
.shop_table .product-name a {
    color: var(--noir-text);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.4;
}

.shop_table .product-name a:hover {
    color: var(--noir-gold);
}

/* Цены */
.shop_table .product-price,
.shop_table .product-subtotal {
    color: var(--noir-gold);
    font-weight: 700;
    font-size: 1.05rem;
}

.shop_table .amount {
    color: inherit;
}

/* Кнопка удаления */
.shop_table .product-remove .remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid var(--noir-border);
    color: var(--noir-muted);
    font-size: 1rem;
    line-height: 1;
    text-decoration: none;
    transition: all var(--transition);
}

.shop_table .product-remove .remove:hover {
    background: var(--noir-accent);
    border-color: var(--noir-accent);
    color: #fff;
}

/* Поле количества */
.shop_table .quantity input[type="number"],
.quantity input.qty {
    width: 70px;
    padding: 8px 10px;
    background: var(--noir-bg-section);
    border: 1px solid var(--noir-border);
    border-radius: 6px;
    color: var(--noir-text);
    font-size: 0.95rem;
    text-align: center;
}

.shop_table .quantity input[type="number"]:focus,
.quantity input.qty:focus {
    outline: none;
    border-color: var(--noir-gold);
}

/* Строка действий (купоны + кнопка обновления) */
.woocommerce-cart-form .actions {
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.woocommerce-cart-form .actions .coupon {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.woocommerce-cart-form .actions .coupon input[type="text"] {
    flex: 1;
    max-width: 240px;
    padding: 10px 14px;
    background: var(--noir-bg-section);
    border: 1px solid var(--noir-border);
    border-radius: var(--radius-btn);
    color: var(--noir-text);
    font-family: var(--font-body);
    font-size: 0.9rem;
}

.woocommerce-cart-form .actions .coupon input[type="text"]:focus {
    outline: none;
    border-color: var(--noir-gold);
}

.woocommerce-cart-form .actions .coupon input[type="text"]::placeholder {
    color: var(--noir-muted);
}

/* ============================================================
   Итоги корзины (cart totals)
   ============================================================ */

.cart-collaterals {
    display: flex;
    justify-content: flex-end;
}

.cart_totals {
    width: 100%;
    max-width: 440px;
    background: var(--noir-bg-card);
    border: 1px solid var(--noir-border);
    border-radius: var(--radius-card);
    padding: 28px;
}

.cart_totals h2 {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    color: var(--noir-text);
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--noir-border);
}

.cart_totals .shop_table {
    border: none;
    background: transparent;
    border-radius: 0;
    margin-bottom: 20px;
}

.cart_totals .shop_table th {
    background: transparent;
    color: var(--noir-muted);
    font-size: 0.85rem;
    padding: 10px 0;
    border-bottom: 1px solid var(--noir-border);
}

.cart_totals .shop_table td {
    padding: 10px 0;
    border-bottom: 1px solid var(--noir-border);
    text-align: right;
}

.cart_totals .shop_table tr:last-child th,
.cart_totals .shop_table tr:last-child td {
    border-bottom: none;
    color: var(--noir-gold);
    font-size: 1.1rem;
    font-weight: 700;
    padding-top: 14px;
}

.cart_totals .wc-proceed-to-checkout {
    margin-top: 0;
}

/* ============================================================
   Кнопки WooCommerce — единый нуар-стиль
   ============================================================ */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: var(--radius-btn);
    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    border: 2px solid var(--noir-border);
    background: var(--noir-bg-section);
    color: var(--noir-muted);
    transition: all var(--transition);
    text-decoration: none;
    width: auto;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background: var(--noir-bg-card);
    border-color: var(--noir-muted);
    color: var(--noir-text);
}

/* Главная CTA-кнопка (alt / primary) */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: var(--noir-accent);
    border-color: var(--noir-accent);
    color: var(--noir-text);
    padding: 14px 28px;
    font-size: 1rem;
    width: 100%;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #a02424;
    border-color: #a02424;
    color: var(--noir-text);
}

/* Скрываем все метки налога */
.tax_label,
.woocommerce-Price-taxLabel {
    display: none !important;
}

/* Скрываем строку «Подытог» в таблице заказа */
.woocommerce-checkout-review-order-table .cart-subtotal {
    display: none;
}

/* ============================================================
   Checkout: 1-колоночный макет
   ============================================================ */

form.woocommerce-checkout {
    display: flex;
    flex-direction: column;
    max-width: 580px;
}

/* Уведомления — полная ширина */
form.woocommerce-checkout > .woocommerce-NoticeGroup {
    margin-bottom: 24px;
}

/* Визуальный порядок: контакты → купон → итого → оплата */
form.woocommerce-checkout > #customer_details                  { order: 1; }
form.woocommerce-checkout > .woocommerce-form-coupon-toggle    { order: 2; margin-top: 8px; }
form.woocommerce-checkout > .woocommerce-form-coupon           { order: 3; }
form.woocommerce-checkout > #order_review_heading              { order: 4; }
form.woocommerce-checkout > #order_review                      { order: 5; }
form.woocommerce-checkout > #payment                           { order: 6; }

/* Внутри col2-set билинг занимает всю ширину */
.woocommerce-checkout .col2-set {
    display: block;
    margin-bottom: 0;
}

/* WC по умолчанию делает col-1/col-2 шириной 48% float — сбрасываем */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
}

.woocommerce-checkout .col2-set .col-2:empty {
    display: none;
}

/* Купон — WC JS скрывает форму сам; мы не переопределяем display */

/* ============================================================
   Форма оформления заказа
   ============================================================ */

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    color: var(--noir-text);
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--noir-border);
}

#order_review_heading {
    margin-top: 0;
}

/* Поля формы */
.woocommerce-checkout p.form-row,
.woocommerce form .form-row {
    margin-bottom: 18px;
}

.woocommerce-checkout label,
.woocommerce form .form-row label {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--noir-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 7px;
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce form .input-text,
.woocommerce form select {
    width: 100%;
    padding: 12px 16px;
    background: var(--noir-bg-card) !important;
    border: 1px solid var(--noir-border) !important;
    border-radius: 8px;
    color: var(--noir-text) !important;
    font-family: var(--font-body);
    font-size: 0.95rem;
    transition: border-color var(--transition);
    appearance: none;
    box-sizing: border-box;
}

.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout input[type="tel"]:focus,
.woocommerce-checkout input[type="number"]:focus,
.woocommerce-checkout input[type="password"]:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.woocommerce form .input-text:focus,
.woocommerce form select:focus {
    outline: none;
    border-color: var(--noir-gold) !important;
    box-shadow: 0 0 0 3px rgba(195, 155, 98, 0.12);
}

.woocommerce-checkout input::placeholder,
.woocommerce form .input-text::placeholder {
    color: var(--noir-muted);
    opacity: 0.7;
}

/* Autofill — тёмный фон */
.woocommerce-checkout input:-webkit-autofill,
.woocommerce-checkout input:-webkit-autofill:hover,
.woocommerce-checkout input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px var(--noir-bg-card) inset !important;
    -webkit-text-fill-color: var(--noir-text) !important;
    border-color: var(--noir-border) !important;
}

/* Выделение поля ввода Email на странице оформления заказа */
.woocommerce-checkout #billing_email_field {
    margin-bottom: 20px;
}

.woocommerce-checkout #billing_email {
    font-size: 1.05rem !important;
    padding: 14px 18px !important;
    background: #181210 !important;
    border: 1.5px solid rgba(195, 155, 98, 0.45) !important;
    border-radius: 8px !important;
    color: var(--noir-text) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
    transition: border-color var(--transition), box-shadow var(--transition), background-color var(--transition) !important;
}

.woocommerce-checkout #billing_email:hover {
    border-color: rgba(195, 155, 98, 0.75) !important;
}

.woocommerce-checkout #billing_email:focus {
    border-color: var(--noir-gold) !important;
    background: #1c1513 !important;
    box-shadow: 0 0 0 3px rgba(195, 155, 98, 0.22), 0 2px 10px rgba(0, 0, 0, 0.5) !important;
}

.woocommerce-checkout #billing_email::placeholder {
    color: var(--noir-muted) !important;
    opacity: 0.85 !important;
}

.woocommerce-checkout #billing_email_field .description {
    font-size: 0.84rem !important;
    line-height: 1.45 !important;
    color: var(--noir-muted) !important;
    margin-top: 8px !important;
}

/* Чекбокс подписки */
.iqevents-subscribe-field {
    margin-top: 4px;
    margin-bottom: 20px;
}

.iqevents-subscribe-field label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
    font-size: 0.9rem !important;
    color: var(--noir-muted) !important;
}

.iqevents-subscribe-field input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0;
}

/* Обязательные поля */
.woocommerce form .form-row .required {
    color: var(--noir-accent);
}

/* Подсказки под полями */
.woocommerce-checkout span.description,
.woocommerce form p.form-row span.description {
    color: var(--noir-muted);
    font-size: 0.82rem;
    margin-top: 4px;
    display: block;
}

/* Чекбоксы */
.woocommerce-checkout input[type="checkbox"] {
    accent-color: var(--noir-accent);
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* ============================================================
   Блок «Ваш заказ» (order review)
   ============================================================ */

.woocommerce-checkout-review-order {
    background: var(--noir-bg-card);
    border: 1px solid var(--noir-border);
    border-radius: var(--radius-card);
    padding: 28px;
    margin-bottom: 32px;
}

table.woocommerce-checkout-review-order-table {
    display: table !important;
    width: 100% !important;
    border-collapse: collapse !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
}

.woocommerce-checkout-review-order-table th {
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--noir-muted);
    padding: 8px 0 12px;
    border-bottom: 1px solid var(--noir-border);
    text-align: left;
}

.woocommerce-checkout-review-order-table th.product-name,
.woocommerce-checkout-review-order-table td.product-name {
    text-align: left !important;
    width: auto;
}

.woocommerce-checkout-review-order-table th.product-total,
.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table th:last-child,
.woocommerce-checkout-review-order-table td:last-child,
.woocommerce-checkout-review-order-table tfoot td {
    text-align: right !important;
    white-space: nowrap;
}

.woocommerce-checkout-review-order-table td {
    padding: 14px 0;
    border-bottom: 1px solid var(--noir-border);
    color: var(--noir-text);
    vertical-align: middle;
}

.woocommerce-checkout-review-order-table td:last-child {
    color: var(--noir-gold);
    font-weight: 700;
}

.woocommerce-checkout-review-order-table td del {
    color: var(--noir-muted) !important;
    opacity: 0.65;
    font-size: 0.9em;
    margin-right: 6px;
    text-decoration: line-through;
    font-weight: 400;
}

/* "(Tax Excluded)" и любые small-пояснения в таблице заказа */
.woocommerce-checkout-review-order-table small {
    display: none !important;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    border-bottom: none;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--noir-gold);
    padding-top: 16px;
}

/* Способы оплаты */
.woocommerce-checkout #payment {
    background: var(--noir-bg-section);
    border: 1px solid var(--noir-border);
    border-radius: var(--radius-card);
    padding: 24px;
    margin-top: 24px;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 0;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--noir-border);
}

.woocommerce-checkout #payment ul.payment_methods li {
    padding: 12px 0;
    border-bottom: 1px solid var(--noir-border);
    color: var(--noir-text);
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
    border-bottom: none;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    color: var(--noir-text);
    font-size: 0.95rem;
    cursor: pointer;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600;
}

/* Блок описания способа оплаты (например, ЮКасса) */
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout #payment .payment_box {
    background: var(--noir-bg-card) !important;
    border: 1px solid var(--noir-border) !important;
    border-radius: 6px !important;
    padding: 14px 16px !important;
    margin-top: 10px !important;
    color: var(--noir-muted) !important;
    font-size: 0.9rem !important;
    position: relative !important;
    box-shadow: none !important;
}

.woocommerce-checkout #payment div.payment_box p,
.woocommerce-checkout #payment .payment_box p {
    color: var(--noir-muted) !important;
    font-size: 0.9rem !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

.woocommerce-checkout #payment div.payment_box::before,
.woocommerce-checkout #payment .payment_box::before {
    border: 8px solid transparent !important;
    border-bottom-color: var(--noir-bg-card) !important;
    top: -16px !important;
    left: 20px !important;
    margin: 0 !important;
    position: absolute !important;
    content: "" !important;
    display: block !important;
}

/* Согласие с условиями и оферта */
.woocommerce-checkout #payment .terms,
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 20px;
}

.woocommerce-checkout #payment .terms label,
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper label,
.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox,
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text {
    color: var(--noir-muted) !important;
    font-size: 0.85rem !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    display: inline !important;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    margin-right: 8px !important;
    vertical-align: middle !important;
    position: relative !important;
    top: -1px !important;
}

.woocommerce-checkout #payment .terms label a,
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text a {
    color: var(--noir-gold) !important;
    text-decoration: underline !important;
}

/* Все ссылки внутри форм WooCommerce на странице checkout */
.woocommerce-checkout .form-row a,
.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout p.form-row a {
    color: var(--noir-gold);
    text-decoration: underline;
}

/* ============================================================
   Страница «Заказ оформлен» (thank you page)
   ============================================================ */

.woocommerce-order {
    background: var(--noir-bg-card);
    border: 1px solid var(--noir-border);
    border-radius: var(--radius-card);
    padding: 40px;
    text-align: center;
}

.woocommerce-order .woocommerce-order-overview {
    display: flex;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
    margin: 24px 0;
    padding: 24px 0;
    border-top: 1px solid var(--noir-border);
    border-bottom: 1px solid var(--noir-border);
    list-style: none;
}

.woocommerce-order .woocommerce-order-overview li {
    font-size: 0.85rem;
    color: var(--noir-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.woocommerce-order .woocommerce-order-overview li strong {
    display: block;
    font-size: 1rem;
    color: var(--noir-text);
    text-transform: none;
    letter-spacing: 0;
    margin-top: 4px;
}

/* ============================================================
   Заголовок страницы WooCommerce
   ============================================================ */

.woocommerce .woocommerce-page-title,
.woocommerce h1.entry-title {
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    color: var(--noir-text);
    margin-bottom: 36px;
}

/* ============================================================
   Адаптив
   ============================================================ */

@media (max-width: 768px) {
    .woo-main {
        padding: 40px 0 60px;
    }

    form.woocommerce-checkout {
        grid-template-columns: 1fr;
    }

    form.woocommerce-checkout #customer_details,
    form.woocommerce-checkout #order_review_heading,
    form.woocommerce-checkout #order_review {
        grid-column: 1;
    }

    .shop_table thead {
        display: none;
    }

    .shop_table td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px;
    }

    .shop_table td::before {
        content: attr(data-title);
        font-size: 0.78rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--noir-muted);
    }

    .shop_table .product-thumbnail,
    .shop_table .product-thumbnail::before {
        display: none;
    }

    .cart_totals {
        max-width: 100%;
    }

    .woocommerce-cart-form .actions {
        flex-direction: column;
        align-items: stretch;
    }

    .woocommerce-cart-form .actions .coupon {
        flex-direction: column;
    }

    .woocommerce-cart-form .actions .coupon input[type="text"] {
        max-width: 100%;
    }

    #order_review.woocommerce-checkout-review-order {
        padding: 16px 12px;
    }

    .woocommerce-checkout #payment {
        padding: 16px 12px;
        margin-top: 16px;
    }

    .woocommerce-checkout-review-order-table td {
        display: table-cell !important;
        padding: 10px 4px !important;
    }

    .woocommerce-checkout-review-order-table th {
        padding: 8px 4px !important;
    }

    .woocommerce-checkout-review-order-table .order-total th,
    .woocommerce-checkout-review-order-table .order-total td {
        font-size: 1.25rem !important;
    }

    .woocommerce-order {
        padding: 24px 20px;
    }

    .woocommerce-order .woocommerce-order-overview {
        gap: 20px;
    }
}
