/* ============================================================
   events-woo.css — корзина / чек-аут под дизайн events.
   Грузится ТОЛЬКО на Woo-страницах (is_cart || is_checkout).
   Токены (:root) глобальны → используем var(--*) прямо на Woo-классах.
   ============================================================ */

/* Контейнер: chrome-reset обнулил .l-section/.l-section-h (full-bleed для
   ивент-страниц) → на Woo возвращаем нормальные поля и max-width. */
body.ev-chrome.woocommerce-checkout .l-main,
body.ev-chrome.woocommerce-cart .l-main { background: var(--bg); }
body.ev-chrome.woocommerce-checkout .l-section-h,
body.ev-chrome.woocommerce-cart .l-section-h {
  max-width: 1140px !important; padding: 44px 28px 72px !important; margin: 0 auto !important;
}
@media (max-width: 640px) {
  body.ev-chrome.woocommerce-checkout .l-section-h,
  body.ev-chrome.woocommerce-cart .l-section-h { padding: 22px 16px 56px !important; }
}

/* База */
.woocommerce-checkout, .woocommerce-cart { font-family: var(--font-ui); color: var(--ink); line-height: 1.5; }

/* Заголовки — Fraunces */
.woocommerce-checkout h1, .woocommerce-cart h1,
#order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
  font-family: var(--font-display); font-weight: 600; color: var(--ink); letter-spacing: -0.01em;
}
#order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3 { font-size: 24px; margin: 0 0 18px; }

/* Поля ввода */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout #customer_details select,
.woocommerce-checkout .select2-container .select2-selection--single {
  border: 1px solid var(--line) !important; border-radius: var(--r-md) !important;
  padding: 11px 14px !important; font-size: 14px !important; height: auto !important;
  min-height: 46px !important; background: var(--surface) !important; box-shadow: none !important;
  color: var(--ink) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout #customer_details select:focus {
  border-color: var(--forest) !important; box-shadow: 0 0 0 3px var(--forest-soft) !important; outline: none !important;
}
.woocommerce form .form-row label { font-size: 13px; font-weight: 600; color: var(--ink-2); margin-bottom: 5px; display: block; }
.woocommerce form .form-row { margin-bottom: 16px; }

/* Колонки чек-аута */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { float: none; width: 100%; }

/* Сводка заказа — карточка */
.woocommerce-checkout #order_review {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-xl);
  padding: 24px 26px; box-shadow: var(--shadow-sm);
}
.woocommerce-checkout #order_review .shop_table { border: 0; margin: 0; }
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td { border-top: 1px solid var(--line); padding: 12px 0; }
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td { border-top: 2px solid var(--line-strong); padding-top: 16px; }
.woocommerce-checkout .order-total .amount {
  color: var(--forest-ink); font-family: var(--font-display); font-weight: 600; font-size: 22px;
}

/* Способы оплаты */
.woocommerce-checkout #payment { background: var(--bg-sunk); border-radius: var(--r-lg); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--line); }
.woocommerce-checkout #payment ul.payment_methods li { padding: 6px 0; }

/* Купон */
.woocommerce-info, .woocommerce-form-coupon-toggle .woocommerce-info {
  border-top-color: var(--ochre) !important; background: var(--ochre-soft); color: var(--ochre-deep); border-radius: var(--r-md);
}
.woocommerce-info::before { color: var(--ochre-deep); }

/* Кнопки */
.woocommerce #place_order,
.woocommerce-checkout button.button.alt,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  background: var(--forest) !important; color: #fafaf6 !important; border: 0 !important;
  border-radius: var(--r-md) !important; font-family: var(--font-ui) !important; font-weight: 600 !important;
  padding: 14px 26px !important; font-size: 16px !important; box-shadow: var(--shadow-sm); transition: background .15s;
}
.woocommerce #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background: var(--forest-ink) !important; }
.woocommerce a.button, .woocommerce button.button:not(.alt) {
  background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: var(--r-md); font-weight: 600;
}

/* Корзина */
.woocommerce-cart table.cart { border-radius: var(--r-lg); overflow: hidden; }
.woocommerce-cart .cart_totals h2 { font-family: var(--font-display); }

/* ============================================================
   Регистрация участников ET+ (/attendee-registration/) — компактно.
   ============================================================ */
body.page-tribe-attendee-registration .l-main { background: var(--bg); }
body.page-tribe-attendee-registration .l-section-h {
  max-width: 760px !important; padding: 40px 24px 64px !important; margin: 0 auto !important;
}
@media (max-width: 640px) {
  body.page-tribe-attendee-registration .l-section-h { padding: 20px 14px 48px !important; }
}

.tribe-tickets__registration { font-family: var(--font-ui); color: var(--ink); }
.tribe-tickets__registration-page-title {
  font-family: var(--font-display) !important; font-weight: 600 !important;
  color: var(--ink) !important; letter-spacing: -0.01em; font-size: clamp(26px, 3.6vw, 36px) !important;
}
.tribe-tickets__registration-back-link { color: var(--forest-ink) !important; font-weight: 600; }

/* Карточка билета-участника */
.tribe-tickets__attendee-tickets-item,
.tribe-tickets__registration__summary,
.tribe-tickets__tickets-item {
  background: var(--surface) !important; border: 1px solid var(--line) !important;
  border-radius: 16px !important; padding: 18px 18px 16px !important; margin-bottom: 14px;
  box-shadow: var(--shadow-sm);
}
.tribe-tickets__attendee-tickets-item-title,
.tribe-tickets__registration__summary-title,
.tribe-tickets__tickets-item-content-title-container {
  font-family: var(--font-display) !important; font-weight: 600 !important; color: var(--ink) !important;
}

/* Поля — компактно (40px) */
.tribe-tickets__form-field-label { font-size: 12px !important; font-weight: 600 !important; color: var(--ink-2) !important; margin-bottom: 4px !important; display: block; }
.tribe-tickets__form-field input[type="text"],
.tribe-tickets__form-field input[type="email"],
.tribe-tickets__form-field input[type="tel"],
.tribe-tickets__form-field input[type="number"],
.tribe-tickets__form-field select,
.tribe-tickets__form-field textarea,
.tribe-common-form-control-text__input {
  border: 1px solid var(--line) !important; border-radius: var(--r-md) !important;
  padding: 8px 11px !important; font-size: 14px !important; min-height: 40px !important; height: 40px !important;
  background: var(--surface) !important; color: var(--ink) !important; box-shadow: none !important;
  font-family: var(--font-ui) !important; width: 100% !important; box-sizing: border-box !important;
}
.tribe-tickets__form-field textarea { height: auto !important; min-height: 72px !important; }
.tribe-tickets__form-field select {
  appearance: none !important; -webkit-appearance: none !important;
  background-image: linear-gradient(45deg,transparent 50%,#888 50%),linear-gradient(135deg,#888 50%,transparent 50%) !important;
  background-position: calc(100% - 16px) 17px, calc(100% - 11px) 17px !important;
  background-size: 5px 5px, 5px 5px !important; background-repeat: no-repeat !important;
}
.tribe-tickets__form-field input:focus,
.tribe-tickets__form-field select:focus,
.tribe-common-form-control-text__input:focus {
  border-color: var(--forest) !important; box-shadow: 0 0 0 3px var(--forest-soft) !important; outline: none !important;
}
.tribe-tickets__form-field { margin-bottom: 11px; }
.tribe-tickets__form-field--required .tribe-tickets__form-field-label::after,
.tribe-required::after { color: var(--terracotta); }

/* ФИО в 3 колонки + контактный ряд в 2 — навешивает JS классами .ev-fio / .ev-row2 */
.ev-fio { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.ev-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ev-fio .tribe-tickets__form-field, .ev-row2 .tribe-tickets__form-field { margin-bottom: 0; }
@media (max-width: 560px) { .ev-fio, .ev-row2 { grid-template-columns: 1fr; gap: 8px; } }

/* Чекбокс-бар автозаполнения */
.ev-copybar { display:flex; align-items:center; gap:8px; background:var(--forest-soft);
  border-radius:var(--r-md); padding:8px 11px; margin:0 0 13px; font-size:13px; color:var(--forest-ink); font-weight:600; cursor:pointer; }
.ev-copybar input { width:16px; height:16px; min-height:0 !important; height:16px !important; accent-color:var(--forest); margin:0; }
/* Подсказка гостю */
.ev-guesthint { background:#faf6ee; border:1px dashed #d9cdb3; border-radius:var(--r-md);
  padding:8px 11px; margin:0 0 13px; font-size:12.5px; color:#8a6d2f; }
.ev-guesthint a { color:var(--forest-ink); font-weight:700; text-decoration:underline; cursor:pointer; }
/* Залоченные (скопированные) поля */
.ev-locked input, .ev-locked select { background:#f3f4f1 !important; color:#8a8f88 !important; }
/* Раздел «Сопровождающий» */
.ev-subhead { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-2);
  font-weight:700; margin:14px 0 8px; padding-top:12px; border-top:1px dashed var(--line); }

/* Кнопка «Сохранить и оформить» */
.tribe-tickets__registration .tribe-common-c-btn,
.tribe-tickets__registration-submit-button,
.tribe-tickets__attendee-registration-button {
  background: var(--forest) !important; color: #fafaf6 !important; border: 0 !important;
  border-radius: var(--r-md) !important; font-family: var(--font-ui) !important; font-weight: 600 !important;
  padding: 13px 26px !important; font-size: 15px !important; box-shadow: var(--shadow-sm); min-height: 48px;
}
.tribe-tickets__registration .tribe-common-c-btn:hover { background: var(--forest-ink) !important; }

/* intl-tel-input под токены */
.iti { width: 100% !important; }
.iti__selected-flag { border-radius: var(--r-md) 0 0 var(--r-md); }
.tribe-tickets__form-field .iti input[type="tel"] { padding-left: 52px !important; }
