/* Обложка страниц WordPress, которые остаются на WordPress (оформление заказа, оплата, «спасибо за заказ»,
   восстановление пароля): к ним Cloudflare Worker добавляет шапку, подвал и стили зеркала (deploy/cloudflare-worker.js).
   Все правила — под body.fb-skin, чтобы перебить тему Nexter, Elementor и стили WooCommerce. */

body.fb-skin { background: var(--cream); color: var(--ink); font: 400 16px/1.65 var(--f); }
body.fb-skin #page, body.fb-skin .site-content, body.fb-skin .nxt-container, body.fb-skin .elementor-section, body.fb-skin .elementor-widget-wrap { background: transparent !important; }
body.fb-skin .theplus-preloader, body.fb-skin #theplus-preloader, body.fb-skin .elementor-location-popup { display: none !important; }
body.fb-skin { overflow-x: clip !important; }
body.fb-skin #main { position: relative; z-index: 1; padding: calc(var(--header-h) + 36px) 0 80px; }
/* Страницы на шаблоне Elementor «header-footer» (кабинет WordPress, восстановление пароля) — без #main */
body.fb-skin:not(:has(#main)) [data-elementor-type="wp-page"] { position: relative; z-index: 1; padding: calc(var(--header-h) + 36px) 0 80px; }
body.fb-skin .head-title, body.fb-skin .tp-myaccount-page-wrapper .woocommerce > p { color: var(--ink-2); font-weight: 400 !important; }
/* Секции Elementor растягиваются на окно скриптом (left/width) — возвращаем в поток, поля — у контейнера */
body.fb-skin :is(#main, [data-elementor-type="wp-page"]) .elementor-section { left: 0 !important; width: 100% !important; max-width: 100% !important; }
body.fb-skin :is(#main, [data-elementor-type="wp-page"]) .elementor-section > .elementor-container { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
body.fb-skin .entry-header, body.fb-skin .elementor-widget-spacer { display: none; }
body.fb-skin .elementor-widget-theme-page-title h1, body.fb-skin .entry-title { font: 300 clamp(40px, 5vw, 64px)/1.02 var(--f) !important; letter-spacing: -.05em; color: var(--ink) !important; margin: 0 0 28px !important; }
body.fb-skin .elementor-widget-html:has(script:only-child) { display: none; }
body.fb-skin :is(#main, [data-elementor-type="wp-page"]) a { color: var(--teal-ink); }

/* Уведомления и раскрывающиеся формы («Returning customer?», «Have a coupon?») */
body.fb-skin .woocommerce-info, body.fb-skin .woocommerce-message, body.fb-skin .woocommerce-error {
  margin: 0 0 14px !important; padding: 14px 18px 14px 20px !important; border: 0 !important; border-radius: 16px; list-style: none;
  background: rgba(255,255,255,.62) !important; color: var(--ink-2) !important; font-size: 14px; box-shadow: inset 0 0 0 1px var(--line);
}
body.fb-skin .woocommerce-info::before, body.fb-skin .woocommerce-message::before, body.fb-skin .woocommerce-error::before { display: none !important; }
body.fb-skin .woocommerce-error { background: rgba(226,191,192,.35) !important; color: #7a3a4a !important; }
body.fb-skin .woocommerce-message { background: rgba(158,193,164,.3) !important; color: #35603c !important; }
body.fb-skin .woocommerce-info a, body.fb-skin .woocommerce-message a { color: var(--teal-ink); text-decoration: underline; text-underline-offset: 3px; }
body.fb-skin form.login, body.fb-skin form.checkout_coupon, body.fb-skin form.lost_reset_password, body.fb-skin form.register {
  margin: 0 0 18px !important; padding: 22px !important; border: 0 !important; border-radius: 22px !important; background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1px var(--line);
}

/* Поля */
body.fb-skin .form-row { margin: 0 0 14px !important; padding: 0 !important; }
body.fb-skin .form-row label, body.fb-skin .woocommerce form .form-row label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 500; color: var(--ink-2); line-height: 1.4; }
body.fb-skin .form-row .required { color: var(--rose, #945162); text-decoration: none; }
body.fb-skin input.input-text, body.fb-skin .form-row input[type=text], body.fb-skin .form-row input[type=email], body.fb-skin .form-row input[type=tel], body.fb-skin .form-row input[type=password], body.fb-skin .form-row textarea, body.fb-skin .form-row select, body.fb-skin .select2-container .select2-selection--single {
  width: 100%; min-height: 50px; padding: 0 18px !important; border: 1px solid var(--line-2) !important; border-radius: 16px !important;
  background: rgba(255,255,255,.8) !important; color: var(--ink) !important; font: 400 15px var(--f) !important; box-shadow: none !important; transition: border-color .3s;
}
body.fb-skin .form-row textarea { padding: 14px 18px !important; min-height: 110px; }
body.fb-skin input.input-text:focus, body.fb-skin .form-row textarea:focus, body.fb-skin .form-row select:focus { outline: none; border-color: var(--teal) !important; }
body.fb-skin .select2-container .select2-selection--single .select2-selection__rendered { line-height: 48px; padding: 0; color: var(--ink); }
body.fb-skin .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; right: 12px; }
body.fb-skin .woocommerce-form__label-for-checkbox { display: inline-flex !important; align-items: center; gap: 10px; font-size: 14px !important; font-weight: 400 !important; }
body.fb-skin input[type=checkbox] { width: 18px; height: 18px; accent-color: var(--teal); }

/* Колонки: данные слева, заказ и оплата справа */
/* Виджет The Plus (tp-woo-checkout) ставит форме свою раскладку — перебиваем */
body.fb-skin .tp-checkout-page-wrapper, body.fb-skin .tp-checkout-page-wrapper .woocommerce { width: 100% !important; max-width: none !important; }
body.fb-skin form.checkout { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 0 40px; align-items: start; width: 100% !important; }
body.fb-skin form.checkout > * { grid-column: 1; float: none !important; width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body.fb-skin form.checkout #order_review_heading { display: none !important; }
body.fb-skin form.checkout #order_review { grid-column: 2 !important; grid-row: 1 / span 10; position: sticky; top: calc(var(--header-h) + 16px); }
body.fb-skin #wc-stripe-express-checkout-element { justify-content: stretch; }
body.fb-skin #wc-stripe-express-checkout-button-separator { margin: 4px 0 14px; text-align: center; font-size: 12px; color: var(--ink-3); }
body.fb-skin #customer_details, body.fb-skin #customer_details .col-1, body.fb-skin #customer_details .col-2 { width: 100% !important; float: none !important; max-width: none !important; padding: 0 !important; }
body.fb-skin #customer_details { padding: 26px !important; border-radius: 26px; background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1px var(--line); }
body.fb-skin #customer_details h3, body.fb-skin #order_review_heading, body.fb-skin .woocommerce h2 { font: 400 22px/1.2 var(--f) !important; letter-spacing: -.02em; color: var(--ink) !important; margin: 0 0 18px !important; text-transform: none !important; }
body.fb-skin #order_review_heading { margin: 0 0 14px !important; }
body.fb-skin #order_review { padding: 24px; border-radius: 26px; background: rgba(250,248,241,.82); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.6), 0 24px 50px -30px rgba(44,39,56,.35); }

/* Таблица заказа */
body.fb-skin table.shop_table { width: 100%; margin: 0 0 18px !important; border: 0 !important; border-collapse: collapse !important; border-radius: 0 !important; font-size: 14px; }
body.fb-skin table.shop_table th, body.fb-skin table.shop_table td { padding: 12px 0 !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; background: transparent !important; color: var(--ink-2); font-weight: 400; vertical-align: top; }
body.fb-skin table.shop_table td:last-child, body.fb-skin table.shop_table th:last-child { text-align: right; }
body.fb-skin table.shop_table thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); }
body.fb-skin table.shop_table .product-name { color: var(--ink); }
body.fb-skin table.shop_table .order-total th, body.fb-skin table.shop_table .order-total td { color: var(--ink); font-size: 17px; font-weight: 500; border-bottom: 0 !important; }
body.fb-skin table.shop_table .order-total strong { font-weight: 500; }

/* Оплата */
body.fb-skin #payment { background: transparent !important; border-radius: 0 !important; }
body.fb-skin #payment ul.payment_methods { padding: 0 !important; border: 0 !important; margin: 0 0 14px !important; }
body.fb-skin #payment ul.payment_methods > li { list-style: none; }
body.fb-skin #payment div.payment_box { margin: 10px 0 0 !important; padding: 16px !important; border-radius: 18px !important; background: #fff !important; color: var(--ink-2) !important; box-shadow: inset 0 0 0 1px var(--line); }
body.fb-skin #payment div.payment_box::before { display: none !important; }
body.fb-skin #payment .place-order { padding: 0 !important; margin: 0 !important; }
body.fb-skin .woocommerce-privacy-policy-text, body.fb-skin .woocommerce-terms-and-conditions-wrapper { font-size: 12px; color: var(--ink-3); line-height: 1.5; margin-bottom: 14px; }
body.fb-skin #place_order, body.fb-skin .woocommerce button.button, body.fb-skin .woocommerce a.button, body.fb-skin .woocommerce input.button, body.fb-skin button.woocommerce-button {
  display: inline-flex !important; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px !important; border: 0 !important; border-radius: 999px !important;
  background: var(--ink) !important; color: #fff !important; font: 500 15px/1 var(--f) !important; text-transform: none !important; letter-spacing: 0 !important;
  transition: background .4s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease);
}
body.fb-skin #place_order { width: 100%; min-height: 56px; font-size: 16px !important; }
body.fb-skin #place_order:hover, body.fb-skin .woocommerce button.button:hover, body.fb-skin .woocommerce a.button:hover { background: var(--teal) !important; box-shadow: 0 10px 28px -10px rgba(81,142,148,.7); transform: translateY(-1px); }
body.fb-skin #wc-stripe-express-checkout-element { margin-bottom: 16px; }

/* «Спасибо за заказ» и оплата заказа */
body.fb-skin .woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 10px; padding: 0 !important; margin: 0 0 24px !important; }
body.fb-skin .woocommerce-order-overview li { list-style: none; margin: 0 !important; padding: 12px 16px !important; border: 0 !important; border-radius: 16px; background: rgba(255,255,255,.6); font-size: 12px !important; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-3); }
body.fb-skin .woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 15px; text-transform: none; letter-spacing: 0; color: var(--ink); font-weight: 500; }
body.fb-skin .woocommerce-thankyou-order-received { font: 300 clamp(26px, 3vw, 36px)/1.2 var(--f); letter-spacing: -.03em; color: var(--ink); margin-bottom: 20px !important; }
body.fb-skin .woocommerce-order-downloads, body.fb-skin .woocommerce-order-details, body.fb-skin .woocommerce-customer-details { margin-top: 28px; padding: 24px; border-radius: 24px; background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1px var(--line); }
body.fb-skin .woocommerce-customer-details address { border: 0 !important; padding: 0 !important; font-style: normal; color: var(--ink-2); }

@media (max-width: 960px) {
  body.fb-skin form.checkout { grid-template-columns: 1fr; }
  body.fb-skin form.checkout > *, body.fb-skin form.checkout #order_review { grid-column: 1 !important; grid-row: auto; position: static; }
  body.fb-skin form.checkout #order_review { margin-top: 18px !important; }
}
@media (max-width: 600px) {
  body.fb-skin #customer_details, body.fb-skin #order_review { padding: 18px !important; border-radius: 22px; }
}

/* Шрифт и заголовки зеркала поверх шрифтов виджетов (иконочные шрифты не трогаем) */
body.fb-skin :is(#main, [data-elementor-type="wp-page"]) :where(h1, h2, h3, h4, p, label, td, th, a, li, input, select, textarea, button, strong, bdi, small, span:not([class*="icon"])) { font-family: var(--f) !important; }
body.fb-skin #order_review h3, body.fb-skin #order_review h4, body.fb-skin .tp-checkout-page-wrapper h3 { font: 400 20px/1.2 var(--f) !important; letter-spacing: -.02em; color: var(--ink) !important; margin: 0 0 14px !important; }
body.fb-skin #payment .wc_payment_method > label { font-size: 15px; font-weight: 500; color: var(--ink); }
body.fb-skin #payment ul.payment_methods > li, body.fb-skin #payment fieldset { border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
body.fb-skin #payment ul.payment_methods { padding: 0 !important; border: 0 !important; outline: 0 !important; }
body.fb-skin #payment .woocommerce-SavedPaymentMethods-saveNew { margin: 12px 0 0 !important; padding: 0 !important; }
body.fb-skin #payment .woocommerce-SavedPaymentMethods-saveNew label { font-size: 13px !important; font-weight: 400 !important; color: var(--ink-2) !important; }
body.fb-skin table.shop_table tfoot th { text-align: left !important; }
body.fb-skin form.lost_reset_password > p:first-child, body.fb-skin form.woocommerce-ResetPassword > p:first-child { font-weight: 400 !important; font-size: 15px !important; color: var(--ink-2) !important; margin-bottom: 14px !important; }

/* «Спасибо за заказ» (/thank-you/order-received/…, виджет tp-woo-thank-you): загрузки и состав заказа */
body.fb-skin .woocommerce-order-downloads, body.fb-skin .woocommerce-order-details { max-width: 980px; margin: 28px auto 0 !important; }
body.fb-skin .woocommerce-order-downloads__title, body.fb-skin .woocommerce-order-details__title, body.fb-skin .woocommerce-column__title { font: 400 22px/1.2 var(--f) !important; letter-spacing: -.02em; color: var(--ink) !important; margin: 0 0 14px !important; }
body.fb-skin table.woocommerce-table td, body.fb-skin table.woocommerce-table th { padding: 12px 10px 12px 0 !important; text-align: left !important; vertical-align: middle; }
body.fb-skin table.woocommerce-table td a:not(.button) { color: var(--ink); }
body.fb-skin .woocommerce-MyAccount-downloads-file, body.fb-skin a.woocommerce-MyAccount-downloads-file.button {
  display: inline-flex !important; align-items: center; gap: 8px; min-height: 40px !important; padding: 0 16px !important; border-radius: 999px !important;
  background: var(--ink) !important; color: #fff !important; font: 500 13px/1.2 var(--f) !important; white-space: normal; text-align: left;
}
body.fb-skin .woocommerce-MyAccount-downloads-file::before { content: "↓"; }
body.fb-skin .woocommerce-MyAccount-downloads-file.is-video { background: var(--teal) !important; }
body.fb-skin .woocommerce-MyAccount-downloads-file.is-video::before { content: "▶"; font-size: 10px; }
body.fb-skin .woocommerce-MyAccount-downloads-file:hover { background: var(--teal-ink) !important; }
@media (max-width: 760px) {
  body.fb-skin table.woocommerce-table--order-downloads thead { display: none; }
  body.fb-skin table.woocommerce-table--order-downloads { table-layout: fixed; }
  body.fb-skin table.woocommerce-table--order-downloads tr { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 12px 0; border-bottom: 1px solid var(--line); }
  body.fb-skin table.woocommerce-table--order-downloads td { display: block; min-width: 0; overflow-wrap: anywhere; padding: 0 !important; border: 0 !important; }
  body.fb-skin .woocommerce-MyAccount-downloads-file { max-width: 100%; height: auto !important; white-space: normal !important; text-align: left; line-height: 1.3 !important; }
  body.fb-skin table.woocommerce-table--order-downloads td::before { content: attr(data-title) ": "; color: var(--ink-3); font-size: 12px; }
  body.fb-skin table.woocommerce-table--order-downloads td.download-file::before { display: none; }
}
body.fb-skin [data-elementor-type="wp-page"] :is(.elementor-section, .elementor-column, .elementor-widget-wrap, .e-con) { background-color: transparent !important; }

/* Плавающая кнопка поиска Searchanise — поиск теперь в каталоге зеркала */
body.fb-skin .snize-sticky-searchbox { display: none !important; }
