/* css/woo.css - настоящая разметка магазина WooCommerce в оформлении макета (css/shop.css, раздел 5 «Кассовая книга»).
   Подключается после shop.css на страницах магазина (корзина, оформление, кабинет, магазин, билет). Только вид: шаблоны, хуки и
   скрипты магазина не тронуты. Тема оборачивает служебные страницы так: .sec-cart|.sec-checkout|.sec-acc > .wrap.narrow >
   ol.steps + div.paper.woo > div.woocommerce > …штатная разметка…; сообщения на страницах магазина и билета - div.wrap.narrow.shop-msgs.
   Всё на листе стоит на сетке строк (--row из shop.css): подпись поля - строка, поле - строка с чернильной чертой на линовке,
   строка таблицы - две строки, кнопка - 52px в трёх строках. Штатные стили WooCommerce (woocommerce.css, -layout, -smallscreen,
   select2) остаются подключёнными - здесь они перекрываются селекторами внутри .paper.woo и .shop-msgs. !important - только там,
   где он стоит у самого WooCommerce (цвет крестика удаления).
   1. Общее на листе   2. Кнопки   3. Поля, галочки, кружки   4. Корзина   5. Оформление заказа   6. Заказ принят
   7. Кабинет   8. Сообщения магазина   9. Список стран (select2)   10. Узкий экран */

/* ================= 1. ОБЩЕЕ НА ЛИСТЕ ================= */
.paper.woo{color:var(--ink)}
.paper.woo a{color:#5b1d0e}
.paper.woo a:hover{color:#160d04}
.paper.woo p{margin:0;line-height:var(--row)}
.paper.woo .woocommerce-notices-wrapper:empty,.paper.woo wc-order-attribution-inputs{display:none}
/* ожидание ответа магазина (обновление корзины, подтверждение заказа): штатная белая плашка поверх листа убрана - лист просто бледнеет, нажатия на это время не проходят */
.paper.woo .blockUI.blockOverlay{background:none!important;opacity:1!important;cursor:progress!important}
.paper.woo .blockUI.blockMsg{display:none!important}
.paper.woo .processing{opacity:.5;transition:opacity .25s}
.paper.woo .processing .processing{opacity:1}
/* страница с QR-кодом СБП (разметка плагина Робокассы): рамки не отнимают ширину у кода, код всегда виден целиком (размер подгоняет скрипт в inc/magazin.php) */
.paper.woo .robokassa-sbp-wrapper{max-width:540px;margin:var(--row) auto 0;padding:0}
.paper.woo .robokassa-sbp-notice{box-sizing:border-box;margin:0 auto var(--row);padding:14px 12px;border:1px solid rgba(90,58,30,.45);border-radius:0;background:rgba(255,250,235,.6);box-shadow:none}
.paper.woo .robokassa-sbp-title{margin:0;font-family:var(--serif);font-weight:600;font-size:1.3rem;line-height:var(--row);color:#160d04}
.paper.woo .robokassa-sbp-message{font-size:1rem;line-height:1.5;color:var(--ink2)}
.paper.woo .robokassa-sbp-card{box-sizing:border-box;max-width:440px;padding:14px 0 20px;border:1px solid rgba(90,58,30,.45);border-radius:0;background:#fff;box-shadow:none}
.paper.woo .robokassa-sbp-card-label{line-height:1.4;color:#2a1a08}
.paper.woo .robokassa-sbp-card-caption{box-sizing:border-box;padding:0 12px;line-height:1.5;color:#4a2f14}
.paper.woo .robokassa-sbp-qr-shell{display:block;width:100%;padding:0;border:0;border-radius:0;background:none;box-shadow:none;aspect-ratio:auto;overflow:visible}
.paper.woo .robokassa-sbp-qr{display:block;width:280px;height:280px;max-width:100%;margin:0 auto;overflow:hidden}
.paper.woo .robokassa-sbp-qr iframe{display:block;width:280px!important;height:280px!important;max-width:none!important;max-height:none!important;margin:0;transform-origin:0 0}
.paper.woo .sbp-tel{display:none;margin:var(--row) 0 0;text-align:center}
.paper.woo .sbp-tel .button{width:100%;max-width:440px}
.paper.woo .sbp-tel-n{display:none;max-width:440px;margin:6px auto 0;font-size:.95rem;line-height:1.45;text-align:center;color:var(--ink2)}
@media (max-width:899px),(pointer:coarse){.paper.woo .sbp-tel:not([hidden]),.paper.woo .sbp-tel-n:not([hidden]){display:block}}
.paper.woo .clear{clear:both}
/* заголовки частей: «Платёжные реквизиты», «Ваш заказ», «Сумма корзины», «Детали заказа» - строка листа */
.paper.woo h2,.paper.woo h3,.paper.woo legend{margin:var(--row) 0 0;padding:0;font-family:var(--serif);font-weight:600;font-size:1.56rem;line-height:var(--row);color:#160d04}
/* заголовок страницы кабинета («Вход», «Регистрация») - крупнее, со строкой под ним */
.sec-acc .paper.woo .woocommerce>h2,.paper.woo #customer_login h2{margin:0;padding-bottom:var(--row);font-size:clamp(1.7rem,6vw,2.1rem)}
/* текст у ссылок на листе: как .frm-note и .frm-link макета */
.paper.woo .lost_password,.paper.woo .woocommerce-privacy-policy-text p,.paper.woo .woocommerce-password-hint,.paper.woo .woocommerce-terms-and-conditions-wrapper p{margin:0;font-size:1rem;line-height:var(--row);color:#33240f}
.paper.woo .lost_password a,.paper.woo .woocommerce-privacy-policy-text a,.paper.woo .woocommerce-terms-and-conditions-wrapper a,.paper.woo .showcoupon,.paper.woo .woocommerce-Address-title a,.paper.woo .woocommerce-MyAccount-content>p a{color:#5b1d0e;border-bottom:1px solid currentColor}
.paper.woo .lost_password a:hover,.paper.woo .woocommerce-privacy-policy-text a:hover,.paper.woo .woocommerce-terms-and-conditions-wrapper a:hover,.paper.woo .showcoupon:hover,.paper.woo .woocommerce-Address-title a:hover,.paper.woo .woocommerce-MyAccount-content>p a:hover{color:#160d04}
/* фокус клавиатуры на бумаге - тёмная обводка (ссылки и кнопки листа в shop.css уже так) */
.paper.woo input.button:focus-visible,.paper.woo a.remove:focus-visible,.paper.woo label:focus-visible{outline:2px solid #3d2409;outline-offset:3px}

/* ================= 2. КНОПКИ ================= */
/* штатная .button магазина = .btn.ink макета; главные кнопки шага (оформить, подтвердить, войти, сброс) - сплошные .btn.ink.solid */
.paper.woo .button,.wrap.shop-msgs .button{position:static;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:52px;max-width:100%;margin:0;padding:0 28px;border:1px solid #5a3a1e;border-radius:0;font-family:var(--text);font-weight:400;font-size:.86rem;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;text-align:center;text-decoration:none;white-space:normal;color:#2a1a08;background:none;background-image:none;box-shadow:none;text-shadow:none;cursor:pointer;transition:background .3s,color .3s,border-color .3s,opacity .3s}
.paper.woo .button:hover,.wrap.shop-msgs .button:hover{background:#2a1a08;color:#f1e8d2;border-color:#2a1a08}
.paper.woo .button.alt,.paper.woo .checkout-button,.paper.woo .woocommerce-form-login__submit,.paper.woo .woocommerce-form-register__submit,.paper.woo .lost_reset_password .button,.paper.woo .woocommerce-EditAccountForm .button,.paper.woo .woocommerce-address-fields .button,.paper.woo .woocommerce-ResetPassword .button{background:#2a1a08;color:#f1e8d2;border-color:#2a1a08}
.paper.woo .button.alt:hover,.paper.woo .checkout-button:hover,.paper.woo .woocommerce-form-login__submit:hover,.paper.woo .woocommerce-form-register__submit:hover,.paper.woo .lost_reset_password .button:hover,.paper.woo .woocommerce-EditAccountForm .button:hover,.paper.woo .woocommerce-address-fields .button:hover,.paper.woo .woocommerce-ResetPassword .button:hover{background:#4a2f14;border-color:#4a2f14;color:#f1e8d2}
/* отключённая («Обновить корзину», пока количество не менялось; кнопка во время отправки) */
.paper.woo .woocommerce .button:disabled,.paper.woo .woocommerce .button.disabled,.paper.woo .woocommerce .button:disabled:hover,.paper.woo .woocommerce .button.disabled:hover{opacity:.45;padding:0 28px;color:#2a1a08;background:none;border-color:#5a3a1e;cursor:not-allowed}
.paper.woo .woocommerce .button.alt:disabled,.paper.woo .woocommerce .button.alt.disabled,.paper.woo .woocommerce .button.alt:disabled:hover,.paper.woo .woocommerce .button.alt.disabled:hover{color:#f1e8d2;background:#2a1a08;border-color:#2a1a08}
.paper.woo .woocommerce .button.loading{opacity:.6;padding-right:28px}
.paper.woo .woocommerce .button.loading::after,.paper.woo .woocommerce .button.added::after{display:none}
/* кнопки, стоящие в строке формы (войти, регистрация, сброс пароля, сохранить): три строки листа, кнопка 52px посередине */
.paper.woo form .form-row .button,.paper.woo form.lost_reset_password .button,.paper.woo .woocommerce-EditAccountForm>p>.button{display:flex;float:none;width:max-content;max-width:100%;height:auto;min-height:52px;margin:calc(var(--row) + 8px) 0 8px}

/* ================= 3. ПОЛЯ, ГАЛОЧКИ, КРУЖКИ ================= */
/* строка формы = подпись (строка листа, курсив) + поле (строка листа: светлый тон, чернильная черта на линовке) */
.paper.woo form .form-row{position:relative;float:none;width:100%;margin:0;padding:0;overflow:visible}
.paper.woo form .form-row label{display:block;margin:0;font-size:.98rem;font-style:italic;font-weight:400;line-height:var(--row);color:var(--ink2)}
.paper.woo form .form-row label .required{visibility:visible;color:inherit;font-weight:400;border:0}
.paper.woo form .form-row label .optional{visibility:visible;color:inherit}
.paper.woo form .form-row .woocommerce-input-wrapper,.paper.woo form .form-row .password-input{display:block;position:relative}
.paper.woo form .form-row .input-text,.paper.woo form .form-row select,.paper.woo form .form-row textarea{display:block;width:100%;height:var(--row);margin:0;padding:0 8px;border:0;border-radius:0;font:inherit;font-size:1.08rem;line-height:var(--row);letter-spacing:normal;color:#160d04;box-shadow:none;-webkit-appearance:none;appearance:none;
  background:linear-gradient(#3d2409,#3d2409) 0 calc(var(--row) + var(--ry) - 1px) / 100% 1.5px no-repeat,linear-gradient(180deg,rgba(255,248,226,0) 0,rgba(255,248,226,.5) 100%) 0 0 / 100% calc(var(--row) + var(--ry)) no-repeat}
.paper.woo form .form-row .input-text:focus,.paper.woo form .form-row select:focus,.paper.woo form .form-row textarea:focus{outline:2px solid #5a3a1e;outline-offset:0;border:0;
  background:linear-gradient(#3d2409,#3d2409) 0 calc(var(--row) + var(--ry) - 1px) / 100% 2px no-repeat,rgba(255,248,226,.6)}
.paper.woo form .form-row ::placeholder{color:#6b5632;opacity:1;line-height:inherit}
/* многострочное поле (примечание к заказу): три строки листа, черта на каждой - как записи от руки */
.paper.woo form .form-row textarea,.paper.woo form .form-row textarea:focus{height:calc(var(--row) * 3);min-height:calc(var(--row) * 2);line-height:var(--row);padding:0 8px;resize:vertical;
  background:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0 calc(var(--row) + var(--ry) - 1px),#3d2409 calc(var(--row) + var(--ry) - 1px) calc(var(--row) + var(--ry) + .5px),rgba(0,0,0,0) calc(var(--row) + var(--ry) + .5px) var(--row)),rgba(255,248,226,.4)}
.paper.woo form .form-row textarea:focus{background-color:rgba(255,248,226,.6)}
/* выпадающий список: стрелка макета вместо штатной */
.paper.woo form .form-row select{padding-right:38px;cursor:pointer;
  background:linear-gradient(45deg,rgba(0,0,0,0) 50%,#5a3a1e 50%) calc(100% - 20px) 50% / 6px 6px no-repeat,linear-gradient(135deg,#5a3a1e 50%,rgba(0,0,0,0) 50%) calc(100% - 14px) 50% / 6px 6px no-repeat,
    linear-gradient(#3d2409,#3d2409) 0 calc(var(--row) + var(--ry) - 1px) / 100% 1.5px no-repeat,linear-gradient(180deg,rgba(255,248,226,0) 0,rgba(255,248,226,.5) 100%) 0 0 / 100% calc(var(--row) + var(--ry)) no-repeat}
.paper.woo form .form-row select:focus{background:linear-gradient(45deg,rgba(0,0,0,0) 50%,#5a3a1e 50%) calc(100% - 20px) 50% / 6px 6px no-repeat,linear-gradient(135deg,#5a3a1e 50%,rgba(0,0,0,0) 50%) calc(100% - 14px) 50% / 6px 6px no-repeat,
    linear-gradient(#3d2409,#3d2409) 0 calc(var(--row) + var(--ry) - 1px) / 100% 2px no-repeat,rgba(255,248,226,.6)}
/* ошибка проверки поля (магазин ставит классу строки woocommerce-invalid): подпись и черта - красные чернила */
.paper.woo form .form-row.woocommerce-invalid label{color:#8a1f16}
.paper.woo form .form-row.woocommerce-invalid .input-text,.paper.woo form .form-row.woocommerce-invalid select,.paper.woo form .form-row.woocommerce-invalid .select2-container .select2-selection--single{border:0;
  background:linear-gradient(#8a1f16,#8a1f16) 0 calc(var(--row) + var(--ry) - 1px) / 100% 2px no-repeat,rgba(138,31,22,.08)}
.paper.woo form .form-row.woocommerce-validated .input-text,.paper.woo form .form-row.woocommerce-validated select{border:0}
.paper.woo form .form-row .woocommerce-input-wrapper .description{display:none}
/* показать пароль (кнопка-глаз магазина у поля пароля) */
.paper.woo form .form-row .show-password-input{position:absolute;right:6px;top:50%;width:28px;height:28px;margin:0;padding:0;transform:translateY(-50%);border:0;background:none;color:#4a2f14;cursor:pointer;line-height:1}
.paper.woo form .form-row .show-password-input::after{position:static;color:inherit}
/* галочка (запомнить меня, условия, регистрация) и кружок (способ оплаты) - как в формах макета */
.paper.woo form input[type=checkbox],.paper.woo form input[type=radio]{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;margin:0;padding:0;border:1px solid #5a3a1e;border-radius:0;background:rgba(255,248,226,.6);vertical-align:middle;cursor:pointer;-webkit-appearance:none;appearance:none}
.paper.woo form input[type=checkbox]::after{content:"";width:12px;height:7px;border-left:2px solid #2a1a08;border-bottom:2px solid #2a1a08;transform:translateY(-2px) rotate(-45deg) scale(0);transition:transform .15s}
.paper.woo form input[type=checkbox]:checked::after{transform:translateY(-2px) rotate(-45deg) scale(1)}
.paper.woo form input[type=radio]{width:22px;height:22px;border-radius:50%}
.paper.woo form input[type=radio]::after{content:"";width:10px;height:10px;border-radius:50%;background:#5b1d0e;transform:scale(0);transition:transform .15s}
.paper.woo form input[type=radio]:checked::after{transform:scale(1)}
.paper.woo form input[type=checkbox]:focus-visible,.paper.woo form input[type=radio]:focus-visible{outline:2px solid #5a3a1e;outline-offset:2px}
.paper.woo form .form-row .woocommerce-form__label-for-checkbox,.paper.woo form .form-row label.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:.96rem;font-style:normal;line-height:var(--row);color:#33240f;cursor:pointer}
.paper.woo form .form-row .woocommerce-form__label-for-checkbox input,.paper.woo form .form-row label.checkbox input{margin-top:5px}
.paper.woo form .form-row .woocommerce-form__label-for-checkbox span,.paper.woo form .form-row label.checkbox span{display:inline}
.paper.woo .woocommerce-invalid #terms{outline:2px solid #8a1f16;outline-offset:3px}
@media not all{
  .paper.woo form input[type=checkbox]::after,.paper.woo form input[type=radio]::after,.paper.woo .button{transition:none}
}

/* ================= 4. КОРЗИНА ================= */
/* таблица на листе: без рамок магазина - строки держит линовка. Товар | Цена | Количество | Подытог | × (крестик - справа, как в макете) */
.paper.woo .woocommerce-cart-form{margin:0}
.paper.woo table.shop_table{width:100%;margin:0;border:0;border-radius:0;border-collapse:collapse;border-spacing:0;font-size:1.04rem;line-height:var(--row);text-align:left}
.paper.woo table.shop_table th,.paper.woo table.shop_table td,.paper.woo table.shop_table tbody th,.paper.woo table.shop_table tfoot th,.paper.woo table.shop_table tfoot td{padding:0 10px 0 0;border:0;background:none;vertical-align:middle;font-weight:400;line-height:var(--row)}
.paper.woo table.shop_table th{height:var(--row);font-style:italic;font-size:.98rem;color:var(--ink2);white-space:nowrap}
.paper.woo table.shop_table td{height:calc(var(--row) * 2)}
.paper.woo table.shop_table_responsive tr td,.paper.woo table.shop_table_responsive tr:nth-child(2n) td{background:none}
.paper.woo table.shop_table_responsive tr td::before{display:none}
/* строки корзины - сетка: столбцы одной ширины во всех строках, крестик уходит в последний столбец */
.paper.woo table.cart,.paper.woo table.cart thead,.paper.woo table.cart tbody{display:block}
.paper.woo table.cart tr{display:grid;grid-template-columns:76px minmax(0,1fr) 72px 104px 88px 44px;grid-auto-flow:dense;column-gap:10px;align-items:center}
.paper.woo table.cart th,.paper.woo table.cart td{display:block;min-width:0;height:auto;padding:0}
.paper.woo table.cart thead th{line-height:var(--row)}
.paper.woo table.cart tbody td{min-height:calc(var(--row) * 2);display:flex;align-items:center}
.paper.woo table.cart thead .product-remove,.paper.woo table.cart thead .product-thumbnail{display:none}
.paper.woo table.cart thead .product-name{grid-column:1/3}
.paper.woo table.cart .product-thumbnail{grid-column:1}
.paper.woo table.cart .product-name{grid-column:2}
.paper.woo table.cart .product-price{grid-column:3}
.paper.woo table.cart .product-quantity{grid-column:4;min-width:0}
.paper.woo table.cart .product-subtotal{grid-column:5;white-space:nowrap}
.paper.woo table.cart tbody .product-subtotal{font-weight:600}
.paper.woo table.cart .product-remove{grid-column:6;justify-content:flex-end}
.paper.woo table.cart td.actions{grid-column:1/-1}
/* миниатюра билета и название */
.paper.woo table.cart td.product-thumbnail a{display:block;border:0}
.paper.woo table.cart td.product-thumbnail img{display:block;width:76px;height:auto;max-height:calc(var(--row) * 2 - 8px);object-fit:contain;object-position:left center;mix-blend-mode:multiply}
.paper.woo table.cart td.product-name a{font-family:var(--serif);font-weight:600;font-size:1.22rem;line-height:1.15;color:#160d04;border:0}
.paper.woo table.cart td.product-name a:hover{color:#5b1d0e}
.paper.woo table.cart td.product-name .wc-item-meta,.paper.woo table.cart td.product-name dl.variation{margin:0;font-size:.92rem;line-height:1.3}
/* крестик удаления - как в макете: кружок с чертой; цвет магазин ставит с !important, потому и здесь */
.paper.woo a.remove{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(90,58,30,.5);border-radius:50%;background:none;font-family:var(--text);font-size:1.3rem;font-weight:400;line-height:1;color:#5a1a0c!important;text-decoration:none;transition:background .2s}
.paper.woo a.remove:hover{background:rgba(138,31,22,.12);color:#5a1a0c!important}
/* количество: рамка макета (.qty), поле без стрелок */
.paper.woo .quantity{display:inline-flex;align-items:stretch;height:42px;border:1px solid #5a3a1e;background:rgba(255,248,226,.45);vertical-align:middle}
.paper.woo .quantity .qty{width:64px;height:100%;margin:0;padding:0 4px;border:0;border-radius:0;background:none;text-align:center;font:inherit;font-size:1.06rem;color:var(--ink);-moz-appearance:textfield;appearance:textfield}
.paper.woo .quantity .qty::-webkit-outer-spin-button,.paper.woo .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.paper.woo .quantity .qty:focus{outline:2px solid #5a3a1e;outline-offset:-1px}
/* строка под билетами: купон слева, «Обновить корзину» справа; поля и кнопки этой строки - в рамке, как количество */
.paper.woo table.cart td.actions{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px 20px;min-height:calc(var(--row) * 2);padding:0;text-align:left}
.paper.woo table.cart td.actions .coupon{float:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:0;margin:0;flex:1 1 auto;min-width:0;max-width:420px}
.paper.woo table.cart td.actions .coupon::before,.paper.woo table.cart td.actions .coupon::after{display:none}
.paper.woo table.cart td.actions .coupon .input-text{float:none;flex:1 1 140px;width:auto;min-width:0;height:46px;margin:0;padding:0 12px;border:1px solid #5a3a1e;border-radius:0;outline:0;font:inherit;font-size:1rem;color:var(--ink);background:rgba(255,248,226,.45);box-sizing:border-box}
.paper.woo table.cart td.actions .coupon .input-text:focus{outline:2px solid #5a3a1e;outline-offset:-1px}
.paper.woo table.cart td.actions .coupon .input-text.has-error,.paper.woo table.cart td.actions .coupon .input-text.has-error:focus,.paper.woo form.checkout_coupon .input-text.has-error,.paper.woo form.checkout_coupon .input-text.has-error:focus{border-color:#8a1f16;background:rgba(138,31,22,.07)}
.paper.woo table.cart td.actions .coupon .input-text::placeholder{color:#6b5632;opacity:1}
.paper.woo table.cart td.actions .coupon .coupon-error-notice{flex-basis:100%;float:none;width:auto;margin:0;font-size:.9rem;line-height:1.35;color:#8a1f16}
.paper.woo table.cart td.actions .button,.paper.woo table.cart td.actions .coupon .button{display:inline-flex;flex:none;float:none;width:auto;min-height:46px;margin:0;padding:0 18px;font-size:.8rem}
/* итоги: справа, как «Сумма корзины» макета */
.paper.woo .cart-collaterals{display:block;width:100%;margin-top:var(--row)}
.paper.woo .cart-collaterals::after{content:"";display:table;clear:both}
.paper.woo .cart-collaterals .cart_totals{float:none;width:min(100%,380px);margin:0 0 0 auto;text-align:left}
.paper.woo .cart_totals h2{margin:0;font-size:1.5rem}
.paper.woo .cart-collaterals .cart_totals table{display:table;width:100%;margin:0;padding:0;border:0;border-collapse:collapse}
.paper.woo .cart-collaterals .cart_totals table tbody{display:table-row-group}
.paper.woo .cart-collaterals .cart_totals table tr{display:table-row}
.paper.woo .cart-collaterals .cart_totals table tr th,.paper.woo .cart-collaterals .cart_totals table tr td,.paper.woo .cart-collaterals .cart_totals table tbody th{display:table-cell;width:auto;height:var(--row);padding:0;border:0;vertical-align:middle;line-height:var(--row);font-style:normal;font-size:1.04rem;color:var(--ink);text-align:left}
.paper.woo .cart-collaterals .cart_totals table tr td{padding-left:12px;text-align:right;white-space:nowrap;font-weight:600}
.paper.woo .cart-collaterals .cart_totals table tr td::before{display:none}
.paper.woo .cart-collaterals .cart_totals .order-total td{font-weight:400}
.paper.woo .cart-collaterals .cart_totals .order-total td strong{font-family:var(--serif);font-weight:600;font-size:1.5rem;font-variant-numeric:lining-nums}
.paper.woo .cart-collaterals .cart_totals .woocommerce-shipping-totals td,.paper.woo .cart-collaterals .cart_totals .woocommerce-shipping-totals th{height:auto;white-space:normal;vertical-align:top}
.paper.woo .wc-proceed-to-checkout{display:flex;align-items:center;justify-content:center;min-height:calc(var(--row) * 2);margin-top:var(--row);padding:0}
.paper.woo .wc-proceed-to-checkout::before,.paper.woo .wc-proceed-to-checkout::after{display:none}
.paper.woo .wc-proceed-to-checkout a.checkout-button{display:flex;width:100%;height:52px;margin:0;padding:0 20px;font-size:.86rem}
/* пустая корзина: слова по центру листа, «Вернуться в магазин» - кнопка-контур в двух строках */
.paper.woo .wc-empty-cart-message{text-align:center}
.paper.woo .wc-empty-cart-message .cart-empty{display:block;margin:0;padding:0;border:0;outline:0;background:none;box-shadow:none;font-family:var(--serif);font-weight:600;font-size:clamp(1.42rem,5vw,1.8rem);line-height:var(--row);color:#160d04;text-align:center}
.paper.woo .wc-empty-cart-message .cart-empty::before,.paper.woo .wc-empty-cart-message .cart-empty::after{display:none}
.paper.woo .return-to-shop{display:flex;align-items:center;justify-content:center;min-height:calc(var(--row) * 2);margin:var(--row) 0 0}

/* ================= 5. ОФОРМЛЕНИЕ ЗАКАЗА ================= */
/* слева «Платёжные реквизиты» и «Детали» (в одну колонку, каждое поле на своих строках), справа «Ваш заказ», способ оплаты, условия, кнопка */
.paper.woo form.checkout{display:block}
.paper.woo .col2-set{width:100%}
.paper.woo .col2-set::before,.paper.woo .col2-set::after{display:none}
.paper.woo .col2-set .col-1,.paper.woo .col2-set .col-2{float:none;width:100%}
.paper.woo .woocommerce-billing-fields>h3{margin-top:0}
.paper.woo .woocommerce-shipping-fields>h3 label.checkbox{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}
.paper.woo .woocommerce-billing-fields__field-wrapper,.paper.woo .woocommerce-shipping-fields__field-wrapper,.paper.woo .woocommerce-additional-fields__field-wrapper{display:block}
.paper.woo .woocommerce-billing-fields__field-wrapper::after,.paper.woo .woocommerce-shipping-fields__field-wrapper::after,.paper.woo .woocommerce-additional-fields__field-wrapper::after{content:"";display:table;clear:both}
/* купон: строка-сообщение «Есть купон?» и скрытая форма (магазин раскрывает её скриптом) */
.paper.woo .woocommerce-form-coupon-toggle .woocommerce-info{margin-bottom:var(--row)}
.paper.woo form.checkout_coupon{min-height:calc(var(--row) * 2);margin:0 0 var(--row);padding:11px 0;border:0;border-radius:0;text-align:left}
.paper.woo form.checkout_coupon .form-row-first{float:left;width:calc(100% - 240px);margin:0}
.paper.woo form.checkout_coupon .form-row-last{float:right;width:220px;margin:0}
.paper.woo form.checkout_coupon .input-text,.paper.woo form.checkout_coupon .input-text:focus{height:46px;padding:0 12px;border:1px solid #5a3a1e;font-size:1rem;background:rgba(255,248,226,.45)}
.paper.woo form.checkout_coupon .input-text:focus{outline:2px solid #5a3a1e;outline-offset:-1px}
.paper.woo form.checkout_coupon .button{display:flex;width:100%;min-height:46px;margin:0;padding:0 14px;font-size:.8rem}
.paper.woo form.checkout_coupon .coupon-error-notice{display:block;margin:4px 0 0;font-size:.9rem;line-height:1.35;color:#8a1f16}
/* состав заказа: как таблица .co-order макета */
.paper.woo table.woocommerce-checkout-review-order-table{display:table;table-layout:auto}
.paper.woo table.woocommerce-checkout-review-order-table thead,.paper.woo table.woocommerce-checkout-review-order-table tbody,.paper.woo table.woocommerce-checkout-review-order-table tfoot{display:table-row-group}
.paper.woo table.woocommerce-checkout-review-order-table tr{display:table-row}
.paper.woo table.woocommerce-checkout-review-order-table th,.paper.woo table.woocommerce-checkout-review-order-table td{display:table-cell;height:var(--row);padding:0;vertical-align:top;font-weight:400;font-style:normal;color:var(--ink);text-align:left;white-space:normal}
.paper.woo table.woocommerce-checkout-review-order-table thead th{font-style:italic;font-size:.98rem;color:var(--ink2)}
.paper.woo table.woocommerce-checkout-review-order-table .product-total,.paper.woo table.woocommerce-checkout-review-order-table tfoot td{padding-left:12px;text-align:right;white-space:nowrap}
.paper.woo table.woocommerce-checkout-review-order-table .product-quantity{font-weight:400}
.paper.woo table.woocommerce-checkout-review-order-table tfoot th{font-style:italic;color:var(--ink2)}
.paper.woo table.woocommerce-checkout-review-order-table .order-total td{font-family:var(--serif);font-weight:600;font-size:1.4rem;font-variant-numeric:lining-nums}
.paper.woo table.woocommerce-checkout-review-order-table .order-total td strong{font-weight:inherit}
.paper.woo table.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td,.paper.woo table.woocommerce-checkout-review-order-table .woocommerce-shipping-totals th{height:auto;white-space:normal}
/* способ оплаты: список без серой подложки магазина; описание способа - под его названием, с отступом */
.paper.woo #payment{background:none;border:0;border-radius:0}
.paper.woo #payment ul.payment_methods{margin:var(--row) 0 0;padding:0;border:0;list-style:none;text-align:left}
.paper.woo #payment ul.payment_methods::before,.paper.woo #payment ul.payment_methods::after,.paper.woo #payment ul.payment_methods li:not(.woocommerce-notice)::before,.paper.woo #payment ul.payment_methods li:not(.woocommerce-notice)::after{display:none}
.paper.woo #payment ul.payment_methods li{margin:0;padding:0;font-size:1.04rem;font-weight:400;line-height:var(--row);text-align:left}
.paper.woo #payment ul.payment_methods li label{display:inline;margin:0;padding:0;font:inherit;line-height:var(--row);color:var(--ink);cursor:pointer}
.paper.woo #payment ul.payment_methods li input.input-radio{margin:0 10px 0 0;vertical-align:-5px}
.paper.woo #payment ul.payment_methods li img{display:inline;vertical-align:middle;margin:-2px 0 0 8px;max-height:24px;width:auto;float:none}
.paper.woo #payment div.payment_box{width:auto;margin:0;padding:0 0 0 32px;border:0;border-radius:0;background:none;font-size:.98rem;line-height:var(--row);color:#33240f}
.paper.woo #payment div.payment_box::before{display:none}
.paper.woo #payment ul.payment_methods li:has(>input.input-radio[style*="none"]) div.payment_box{padding-left:0}   /* единственный способ: магазин прячет кружок, описание без отступа */
.paper.woo #payment div.payment_box p{margin:0;line-height:var(--row)}
.paper.woo #payment div.payment_box .form-row{margin:0}
.paper.woo #payment div.form-row{padding:0}
.paper.woo #payment .place-order{margin:var(--row) 0 0;padding:0}
.paper.woo .woocommerce-terms-and-conditions-wrapper{margin:0}
.paper.woo .woocommerce-terms-and-conditions{max-height:calc(var(--row) * 6);margin:0 0 var(--row);padding:0 10px;border:0;outline:1px solid var(--pline);outline-offset:-1px;background:rgba(255,248,226,.4);box-shadow:none;line-height:var(--row);overflow:auto}
.paper.woo #payment #place_order{display:flex;float:none;width:100%;height:52px;margin:calc(var(--row) + 8px) 0 8px;box-sizing:border-box}
.paper.woo form.checkout .woocommerce-NoticeGroup{display:block;margin:0}
/* вход при оформлении (если включён у магазина): форма входа без рамки магазина */
.paper.woo .woocommerce-form-login-toggle .woocommerce-info{margin-bottom:var(--row)}
.paper.woo form.checkout_coupon .form-row::before,.paper.woo form.checkout_coupon .form-row::after{display:none}

/* ================= 6. ЗАКАЗ ПРИНЯТ ================= */
/* «Спасибо! Ваш заказ был получен.» крупно, под ним сведения о заказе строками листа, затем состав заказа и адрес */
.paper.woo .woocommerce-order>p.woocommerce-notice,.paper.woo .woocommerce-order>p.woocommerce-thankyou-order-received{margin:0 0 var(--row);font-family:var(--serif);font-weight:600;font-size:clamp(1.42rem,5vw,1.8rem);line-height:var(--row);color:#160d04}
.paper.woo .woocommerce-order>p.woocommerce-thankyou-order-failed{color:#8a1f16}
.paper.woo ul.order_details{margin:0 0 var(--row);padding:0;list-style:none}
.paper.woo ul.order_details::before,.paper.woo ul.order_details::after{display:none}
.paper.woo ul.order_details li{float:none;display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0;padding:0;border:0;font-size:1.04rem;font-style:italic;line-height:var(--row);text-transform:none;color:var(--ink2);list-style:none}
.paper.woo ul.order_details li strong{display:block;margin:0;font-size:1.04rem;font-style:normal;font-weight:600;line-height:var(--row);text-transform:none;text-align:right;color:#160d04}
.paper.woo .woocommerce-order-details,.paper.woo .woocommerce-customer-details,.paper.woo .woocommerce-order-downloads{margin:var(--row) 0 0}
.paper.woo .woocommerce-order-details h2,.paper.woo .woocommerce-customer-details h2,.paper.woo .woocommerce-order-downloads h2{margin:0}
.paper.woo .woocommerce-order-details .woocommerce-column__title,.paper.woo .woocommerce-customer-details .woocommerce-column__title{margin:0}
.paper.woo table.order_details,.paper.woo table.woocommerce-table--order-details{display:table}
.paper.woo table.order_details th,.paper.woo table.order_details td{height:var(--row);padding:0;vertical-align:top;line-height:var(--row);font-weight:400;font-style:normal;color:var(--ink);text-align:left;white-space:normal}
.paper.woo table.order_details thead th{font-style:italic;font-size:.98rem;color:var(--ink2)}
.paper.woo table.order_details .product-total,.paper.woo table.order_details tfoot td{padding-left:12px;text-align:right;white-space:nowrap}
.paper.woo table.order_details tfoot th{font-style:italic;color:var(--ink2)}
.paper.woo table.order_details tfoot td{font-weight:600}
.paper.woo table.order_details .product-quantity{font-weight:400}
.paper.woo table.order_details .wc-item-meta{margin:0;font-size:.92rem;line-height:1.3}
.paper.woo .woocommerce-customer-details address{margin:0;padding:0;border:0;border-radius:0;font-style:normal;line-height:var(--row);color:var(--ink)}
.paper.woo .woocommerce-customer-details .woocommerce-customer-details--email,.paper.woo .woocommerce-customer-details .woocommerce-customer-details--phone{padding-left:0;margin:0}
.paper.woo .woocommerce-customer-details .woocommerce-customer-details--email::before,.paper.woo .woocommerce-customer-details .woocommerce-customer-details--phone::before{display:none}
.paper.woo .woocommerce-customer-details .addresses,.paper.woo .woocommerce-customer-details .additional-fields{margin:0}
.paper.woo .woocommerce-order .order-actions-button{margin:0 10px 0 0}

/* ================= 7. КАБИНЕТ ================= */
/* вход, регистрация, сброс пароля - формы макета (.frm) на листе: без рамки и серого поля магазина */
.paper.woo form.login,.paper.woo form.register,.paper.woo form.lost_reset_password,.paper.woo form.edit-account,.paper.woo form.woocommerce-EditAccountForm{margin:0;padding:0;border:0;border-radius:0;text-align:left}
.paper.woo .lost_reset_password .form-row-first,.paper.woo .lost_reset_password .form-row-last,.paper.woo form .form-row-first,.paper.woo form .form-row-last{float:none;width:100%;margin-right:0}
.paper.woo .woocommerce-form-login .woocommerce-form-login__rememberme{display:flex}
.paper.woo .woocommerce-form-login .woocommerce-form-login__submit{float:none;margin-right:0}
.paper.woo .woocommerce-form-register .woocommerce-privacy-policy-text{margin:0}
.paper.woo .lost_reset_password>p:first-child{line-height:var(--row)}
/* вход и регистрация рядом (если регистрация включена): две страницы разворота, как в макете */
.paper.woo #customer_login{display:block}
.paper.woo #customer_login .col-1,.paper.woo #customer_login .col-2{float:none;width:100%}
.paper.woo #customer_login .col-2{margin-top:calc(var(--row) * 2)}
/* меню кабинета: указатель книги - строка ссылок, открытый раздел подчёркнут красными чернилами полей */
.paper.woo .woocommerce-MyAccount-navigation{float:none;width:100%;margin:0 0 var(--row)}
.paper.woo .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:0 24px;margin:0;padding:0;list-style:none}
.paper.woo .woocommerce-MyAccount-navigation li{margin:0;padding:0;list-style:none}
.paper.woo .woocommerce-MyAccount-navigation a{display:block;border:0;font-family:var(--serif);font-weight:600;font-size:1.2rem;line-height:var(--row);color:#4a1a0c;text-decoration:none;transition:color .25s}
.paper.woo .woocommerce-MyAccount-navigation a:hover{color:#160d04;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.paper.woo .woocommerce-MyAccount-navigation .is-active a{color:#160d04;text-decoration:underline;text-decoration-color:#9a3322;text-underline-offset:5px;text-decoration-thickness:1.5px}
.paper.woo .woocommerce-MyAccount-content{float:none;width:100%}
.paper.woo .woocommerce-MyAccount-content>p,.paper.woo .woocommerce-MyAccount-content .woocommerce-message{margin:0 0 var(--row)}
.paper.woo .woocommerce-MyAccount-content>h2,.paper.woo .woocommerce-MyAccount-content>h3{margin-top:0}
/* заказы, загрузки: таблица листа; кнопки в строках - короткие контурные */
.paper.woo table.my_account_orders td,.paper.woo table.woocommerce-MyAccount-downloads td{height:calc(var(--row) * 2)}
.paper.woo table.my_account_orders .button,.paper.woo table.woocommerce-MyAccount-downloads .button{display:inline-flex;min-height:40px;margin:0 8px 0 0;padding:0 14px;font-size:.76rem;white-space:nowrap}
.paper.woo table.woocommerce-MyAccount-downloads td,.paper.woo table.woocommerce-MyAccount-downloads th{text-align:left}
.paper.woo .woocommerce-pagination{display:flex;justify-content:space-between;gap:12px;margin:var(--row) 0 0}
/* адреса: две колонки, заголовок с ссылкой «Изменить» в одной строке */
.paper.woo .woocommerce-Addresses{display:grid;gap:var(--row) 30px;width:100%}
.paper.woo .woocommerce-Addresses::before,.paper.woo .woocommerce-Addresses::after{display:none}
.paper.woo .woocommerce-Addresses .woocommerce-Address{float:none;width:100%}
.paper.woo .woocommerce-Address-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 12px}
.paper.woo .woocommerce-Address-title::before,.paper.woo .woocommerce-Address-title::after{display:none}
.paper.woo .woocommerce-Address-title h2,.paper.woo .woocommerce-Address-title h3{margin:0}
.paper.woo .woocommerce-Address-title a{font-size:1rem;line-height:var(--row)}
.paper.woo .woocommerce-Address address{margin:0;padding:0;border:0;font-style:normal;line-height:var(--row)}
.paper.woo .woocommerce-address-fields__field-wrapper::after{content:"";display:table;clear:both}
/* данные учётной записи: группа «Изменение пароля» - заголовок строкой, без рамки; сила пароля - строка-пометка */
.paper.woo form fieldset{min-width:0;margin:var(--row) 0 0;padding:0;border:0}
.paper.woo .woocommerce-EditAccountForm .form-row>span:not(.woocommerce-input-wrapper),.paper.woo .woocommerce-EditAccountForm .form-row>span>em{display:block;font-size:.9rem;font-style:italic;line-height:var(--row);color:#4a3a22}
.paper.woo form fieldset legend{display:block;width:100%;float:none}
.paper.woo .woocommerce-password-strength{margin:4px 0 0;padding:0 10px;border:0;outline:1px solid var(--pline);outline-offset:-1px;background:rgba(255,248,226,.5);font-size:.9rem;font-weight:400;line-height:calc(var(--row) - 4px);text-align:left;color:#33240f}
.paper.woo .woocommerce-password-strength.short,.paper.woo .woocommerce-password-strength.bad{outline-color:#8a1f16;color:#6e160f}
.paper.woo .woocommerce-password-strength.good{outline-color:#8a4b12}
.paper.woo .woocommerce-password-strength.strong{outline-color:#2a5a45}
.paper.woo .woocommerce-password-hint{margin:0;font-size:.9rem}
/* «Заказов пока нет» и подобные пометки с кнопкой «Перейти в магазин» */
.paper.woo .woocommerce-message .button,.paper.woo .woocommerce-info .button,.paper.woo .woocommerce-error .button{min-height:40px;padding:0 16px;font-size:.78rem}

/* ================= 8. СООБЩЕНИЯ МАГАЗИНА ================= */
/* на листе - строка-пометка макета (.frm-msg): тонкая рамка на строке, ошибка - красные чернила */
.paper.woo .woocommerce-message,.paper.woo .woocommerce-error,.paper.woo .woocommerce-info{position:static;display:block;width:auto;margin:0 0 var(--row);padding:0 10px;border:0;outline:1px solid var(--pline);outline-offset:-1px;background:rgba(255,248,226,.55);color:#2a1a08;font-size:1rem;line-height:var(--row);list-style:none;word-wrap:break-word}
.paper.woo .woocommerce-message{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 18px}
.paper.woo .woocommerce-message::before,.paper.woo .woocommerce-error::before,.paper.woo .woocommerce-info::before,.paper.woo .woocommerce-message::after,.paper.woo .woocommerce-error::after,.paper.woo .woocommerce-info::after{display:none}
.paper.woo .woocommerce-error{outline-color:#8a1f16;color:#6e160f}
.paper.woo .woocommerce-message li,.paper.woo .woocommerce-error li,.paper.woo .woocommerce-info li{margin:0;padding:0;list-style:none;line-height:var(--row)}
.paper.woo .woocommerce-error li strong{font-weight:600}
.paper.woo .woocommerce-message a:not(.button),.paper.woo .woocommerce-info a:not(.button){color:#5b1d0e;border-bottom:1px solid currentColor}
.paper.woo .woocommerce-error a{color:#6e160f;border:0;text-decoration:underline;text-decoration-color:rgba(138,31,22,.45);text-decoration-thickness:1px;text-underline-offset:3px}
.paper.woo .woocommerce-error a:hover{color:#8a1f16;text-decoration-color:currentColor}
/* подсказка под полем при проверке заказа (checkout-inline-error-message магазина) - строка листа красными чернилами */
.paper.woo .checkout .checkout-inline-error-message{display:block;margin:0;font-size:.9rem;line-height:var(--row);color:#8a1f16}
.paper.woo .woocommerce-message .button{order:2;float:none;margin:0 0 0 auto}
.paper.woo .woocommerce-info .button,.paper.woo .woocommerce-error .button{float:none;margin:0 12px 0 0;vertical-align:middle}
.paper.woo .woocommerce-info:has(.button),.paper.woo .woocommerce-message:has(.button),.paper.woo .woocommerce-error:has(.button){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 18px;min-height:calc(var(--row) * 2)}
.paper.woo .woocommerce-info:has(.button) .button,.paper.woo .woocommerce-error:has(.button) .button{order:2;margin:0 0 0 auto}
/* на тёмном фоне страниц магазина и билета (после таблички): полоска бумаги с чернильной каймой слева */
.shop-msgs{margin-bottom:clamp(18px,3vw,30px)}
.shop-msgs:first-child{padding-top:clamp(18px,3vw,34px)}   /* на странице билета сообщение - первое под шапкой */
.shop-msgs .woocommerce-message,.shop-msgs .woocommerce-error,.shop-msgs .woocommerce-info{position:relative;display:block;width:auto;margin:0 0 12px;padding:14px 20px 14px 22px;border:0;border-left:4px solid #2a1a08;background:var(--paper-bg);color:var(--ink);font-size:1.02rem;line-height:1.45;box-shadow:0 12px 24px rgba(0,0,0,.45);list-style:none;word-wrap:break-word}
.shop-msgs .woocommerce-message{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 22px}
.shop-msgs .woocommerce-message::before,.shop-msgs .woocommerce-error::before,.shop-msgs .woocommerce-info::before,.shop-msgs .woocommerce-message::after,.shop-msgs .woocommerce-error::after,.shop-msgs .woocommerce-info::after{display:none}
.shop-msgs .woocommerce-error{border-left-color:#8a1f16}
.shop-msgs .woocommerce-info{border-left-color:#8a4b12}
.shop-msgs .woocommerce-message li,.shop-msgs .woocommerce-error li,.shop-msgs .woocommerce-info li{margin:0;padding:0;list-style:none}
.shop-msgs .woocommerce-error li+li{margin-top:6px}
.shop-msgs a:not(.button){color:#5b1d0e;border-bottom:1px solid currentColor}
.shop-msgs a:not(.button):hover{color:#160d04}
.wrap.shop-msgs .button{order:2;float:none;margin:0 0 0 auto;min-height:44px;padding:0 18px;font-size:.8rem}
.wrap.shop-msgs .button:focus-visible{outline:2px solid #3d2409;outline-offset:3px}

/* ================= 9. СПИСОК СТРАН (select2) ================= */
/* магазин подменяет список стран своим виджетом; сам список он вешает в конец страницы - вне листа, потому последние правила без .paper.woo */
.paper.woo .select2-container{display:block;max-width:100%;font-size:1.08rem}
.paper.woo .select2-container .select2-selection--single{height:var(--row);border:0;border-radius:0;outline:0;
  background:linear-gradient(#3d2409,#3d2409) 0 calc(var(--row) + var(--ry) - 1px) / 100% 1.5px no-repeat,linear-gradient(180deg,rgba(255,248,226,0) 0,rgba(255,248,226,.5) 100%) 0 0 / 100% calc(var(--row) + var(--ry)) no-repeat}
.paper.woo .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0 34px 0 8px;line-height:var(--row);color:#160d04}
.paper.woo .select2-container--default .select2-selection--single .select2-selection__placeholder{color:#6b5632}
.paper.woo .select2-container--default .select2-selection--single .select2-selection__arrow{top:0;right:8px;width:24px;height:var(--row)}
.paper.woo .select2-container--default .select2-selection--single .select2-selection__arrow b{top:50%;left:50%;width:8px;height:8px;margin:-7px 0 0 -4px;border:0;border-right:1.5px solid #5a3a1e;border-bottom:1.5px solid #5a3a1e;transform:rotate(45deg)}
.paper.woo .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{margin-top:-2px;transform:rotate(-135deg)}
.paper.woo .select2-container--default.select2-container--focus .select2-selection--single,.paper.woo .select2-container--default.select2-container--open .select2-selection--single,.paper.woo .select2-container .select2-selection--single:focus{outline:2px solid #5a3a1e;outline-offset:0;background:linear-gradient(#3d2409,#3d2409) 0 calc(var(--row) + var(--ry) - 1px) / 100% 2px no-repeat,rgba(255,248,226,.6)}
.paper.woo .select2-container--default .select2-selection--single .select2-selection__clear{margin-right:28px;color:#4a2f14}
.select2-container--default .select2-dropdown{border:1px solid #5a3a1e;border-radius:0;background:var(--paper-bg);color:var(--ink);box-shadow:0 14px 28px rgba(0,0,0,.45)}
.select2-container--default .select2-search--dropdown{padding:6px}
.select2-container--default .select2-search--dropdown .select2-search__field{padding:6px 8px;border:1px solid var(--pline);border-radius:0;background:rgba(255,248,226,.6);font:inherit;font-size:1rem;color:var(--ink);outline:0}
.select2-container--default .select2-search--dropdown .select2-search__field:focus{outline:2px solid #5a3a1e;outline-offset:-1px}
.select2-container--default .select2-results>.select2-results__options{max-height:260px}
.select2-container--default .select2-results__option{padding:6px 12px;font-size:1rem;line-height:1.3}
.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option--selected{background:rgba(90,58,30,.16);color:var(--ink)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background:#2a1a08;color:#f1e8d2}

/* ================= 10. ШИРИНЫ ================= */
@media (max-width:899px){
  /* корзина 700-899: лист уже - без миниатюры, столбцы теснее */
  .paper.woo table.cart tr{grid-template-columns:minmax(0,1fr) 60px 98px 80px 40px}
  .paper.woo table.cart .product-thumbnail{display:none}
  .paper.woo table.cart td.actions{flex-wrap:wrap;flex-direction:column;align-items:stretch;gap:12px}
  .paper.woo table.cart td.actions .coupon{max-width:none}
  .paper.woo table.cart td.actions>.button{align-self:flex-start}
  .paper.woo table.cart thead .product-name,.paper.woo table.cart .product-name{grid-column:1}
  .paper.woo table.cart .product-price{grid-column:2}
  .paper.woo table.cart .product-quantity{grid-column:3}
  .paper.woo table.cart .product-subtotal{grid-column:4}
  .paper.woo table.cart .product-remove{grid-column:5}
  .paper.woo .quantity .qty{width:58px}
}
@media (max-width:699px){
  /* корзина: записи друг под другом - подпись слева, значение справа; крестик в правом верхнем углу записи (как в макете) */
  .paper.woo table.cart thead{display:none}
  .paper.woo table.cart tr{position:relative;grid-template-columns:76px minmax(0,1fr);column-gap:12px;padding-bottom:var(--row)}
  .paper.woo table.cart tbody td{justify-content:space-between;gap:12px}
  .paper.woo table.shop_table_responsive tr td::before{display:block;content:attr(data-title);float:none;font-weight:400;font-style:italic;font-size:.98rem;color:var(--ink2)}
  .paper.woo table.cart .product-thumbnail{display:flex;grid-column:1;grid-row:1}
  .paper.woo table.cart .product-name{grid-column:2;grid-row:1;justify-content:flex-start;padding-right:48px}
  /* у билета без своей фотографии (заглушка магазина) миниатюры нет - название во всю ширину */
  .paper.woo table.cart td.product-thumbnail:has(img.woocommerce-placeholder){display:none}
  .paper.woo table.cart tr:has(td.product-thumbnail img.woocommerce-placeholder) .product-name{grid-column:1/-1}
  .paper.woo table.cart .product-thumbnail::before,.paper.woo table.cart .product-name::before,.paper.woo table.cart .product-remove::before,.paper.woo table.cart td.actions::before{display:none}
  .paper.woo table.cart .product-price,.paper.woo table.cart .product-quantity,.paper.woo table.cart .product-subtotal{grid-column:1/-1}
  .paper.woo table.cart .product-remove{position:absolute;right:0;top:0;grid-column:auto;min-height:0;height:calc(var(--row) * 2)}
  .paper.woo table.cart td.actions{grid-column:1/-1;flex-wrap:wrap;flex-direction:column;align-items:stretch;gap:12px;padding-bottom:0}
  .paper.woo table.cart td.actions .coupon{flex:none;flex-direction:column;align-items:stretch;max-width:none;width:100%}
  .paper.woo table.cart td.actions .coupon .input-text{flex:none;width:100%}
  .paper.woo table.cart td.actions .coupon .button{display:flex;flex:none;width:100%}
  .paper.woo table.cart td.actions>.button{display:flex;width:100%}
  .paper.woo .cart-collaterals .cart_totals{width:100%}
  /* оформление: форма купона в столбик */
  .paper.woo form.checkout_coupon .form-row-first,.paper.woo form.checkout_coupon .form-row-last{float:none;width:100%}
  .paper.woo form.checkout_coupon .form-row-last{margin-top:10px}
  .paper.woo form.checkout_coupon{min-height:0;padding:0}
  /* заказ принят: таблица состава (без shop_table_responsive у магазина) - во всю ширину листа, длинные значения переносятся */
  .paper.woo table.order_details{table-layout:fixed}
  .paper.woo table.order_details .product-total,.paper.woo table.order_details tfoot td{width:50%;white-space:normal}
  .paper.woo table.order_details tfoot th,.paper.woo table.order_details thead th{white-space:normal}
  /* заказ принят, адреса и таблицы кабинета на узком экране: подпись слева, значение справа - без жирных двоеточий магазина */
  .paper.woo table.shop_table_responsive:not(.cart) tr td{display:flex;justify-content:space-between;align-items:center;gap:12px;height:auto;min-height:var(--row);text-align:right}
  .paper.woo table.shop_table_responsive:not(.cart) tr td.order-actions{justify-content:flex-start;min-height:calc(var(--row) * 2)}
  .paper.woo table.shop_table_responsive:not(.cart) tr td.order-actions::before{display:none}
  .paper.woo table.my_account_orders tr{display:block;padding-bottom:var(--row)}
  .paper.woo table.my_account_orders td{height:auto}
}
@media (min-width:700px){
  .paper.woo .woocommerce-Addresses,.paper.woo .woocommerce-customer-details .col2-set{grid-template-columns:repeat(2,minmax(0,1fr))}
  .paper.woo .woocommerce-customer-details .col2-set{display:grid;gap:var(--row) 30px}
  .paper.woo .woocommerce-customer-details .col2-set .col-1,.paper.woo .woocommerce-customer-details .col2-set .col-2{float:none;width:100%}
}
@media (min-width:900px){
  /* оформление - разворот книги (фон листа рисует shop.css): слева реквизиты и детали, справа заказ и оплата; ошибки проверки - над обеими страницами */
  .sec-checkout .paper.woo form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:calc(34px + var(--ml) + 20px);align-items:start}
  .sec-checkout .paper.woo form.checkout>.woocommerce-NoticeGroup{grid-column:1/-1;grid-row:1}
  .sec-checkout .paper.woo form.checkout>.col2-set{grid-column:1;grid-row:2/4}
  .sec-checkout .paper.woo form.checkout>#order_review_heading{grid-column:2;grid-row:2;margin-top:0}
  .sec-checkout .paper.woo form.checkout>#order_review{grid-column:2;grid-row:3}
  /* «Заказ принят» - без формы, потому не разворот, а одиночный лист той же ширины, что корзина */
  .woocommerce-order-received .sec-checkout .narrow{max-width:calc(820px + 2 * var(--pad))}
  .woocommerce-order-received .sec-checkout .paper.woo{padding-right:34px;
    background:
      linear-gradient(90deg,rgba(0,0,0,0) calc(var(--ml) - 4px),var(--red) calc(var(--ml) - 4px) calc(var(--ml) - 3px),rgba(0,0,0,0) calc(var(--ml) - 3px) calc(var(--ml) - 1px),var(--red) calc(var(--ml) - 1px) var(--ml),rgba(0,0,0,0) var(--ml)),
      repeating-linear-gradient(180deg,rgba(0,0,0,0) 0 calc(var(--row) - 1px),var(--rule) calc(var(--row) - 1px) var(--row)) 0 var(--ry),
      var(--paper-bg)}
  /* вход и регистрация рядом - тот же разворот (лист шире, две страницы со своими красными полями) */
  .sec-acc .wrap.narrow:has(#customer_login){max-width:calc(1060px + 2 * var(--pad))}
  .sec-acc .paper.woo:has(#customer_login){padding-right:34px;
    background:
      linear-gradient(90deg,rgba(40,26,8,0) calc(50% - 30px),rgba(40,26,8,.26) calc(50% - 1px),rgba(40,26,8,.5) 50%,rgba(40,26,8,.26) calc(50% + 1px),rgba(40,26,8,0) calc(50% + 30px)),
      linear-gradient(90deg,rgba(0,0,0,0) calc(var(--ml) - 4px),var(--red) calc(var(--ml) - 4px) calc(var(--ml) - 3px),rgba(0,0,0,0) calc(var(--ml) - 3px) calc(var(--ml) - 1px),var(--red) calc(var(--ml) - 1px) var(--ml),rgba(0,0,0,0) var(--ml)),
      linear-gradient(90deg,rgba(0,0,0,0) calc(50% + var(--ml) - 4px),var(--red) calc(50% + var(--ml) - 4px) calc(50% + var(--ml) - 3px),rgba(0,0,0,0) calc(50% + var(--ml) - 3px) calc(50% + var(--ml) - 1px),var(--red) calc(50% + var(--ml) - 1px) calc(50% + var(--ml)),rgba(0,0,0,0) calc(50% + var(--ml))),
      repeating-linear-gradient(180deg,rgba(0,0,0,0) 0 calc(var(--row) - 1px),var(--rule) calc(var(--row) - 1px) var(--row)) 0 var(--ry),
      var(--paper-bg)}
  .paper.woo #customer_login{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:calc(34px + var(--ml) + 20px);align-items:start}
  .paper.woo #customer_login .col-2{margin-top:0}
}

/* ================= ДОПОЛНЕНИЯ: строки макета в штатной разметке магазина (их выводит inc/magazin.php) ================= */
/* пустая корзина: вторая строка */
.paper.woo .cart-empty-note{margin:0;text-align:center;line-height:var(--row)}
/* количество в корзине: кнопки «меньше» и «больше» по краям рамки */
.paper.woo .quantity .qty-b{flex:none;width:38px;height:100%;margin:0;padding:0;border:0;border-radius:0;background:none;font:inherit;font-size:1.3rem;line-height:1;color:var(--ink);cursor:pointer}
.paper.woo .quantity .qty-b:hover{background:rgba(90,58,30,.12)}
.paper.woo .quantity .qty-b:focus-visible{outline:2px solid #5a3a1e;outline-offset:-2px}
.paper.woo .quantity .qty-b~.qty,.paper.woo .quantity .qty-b+label+.qty{width:48px}
/* оформление заказа: подсказка у почты, ссылка «Оплата и возврат», строка об оферте над кнопкой */
.paper.woo .f-hint{display:block;margin:0;font-size:.9rem;line-height:var(--row);color:#4a3a22}
.paper.woo .frm-link,.paper.woo .frm-note{margin:0;font-size:1rem;line-height:var(--row);color:#33240f}
.paper.woo .frm-link a,.paper.woo .frm-note a{color:#5b1d0e;border-bottom:1px solid currentColor}
.paper.woo .frm-link a:hover,.paper.woo .frm-note a:hover{color:#160d04}
.paper.woo .pay-note{margin:0 0 var(--row)}
/* регистрация в кабинете: отметка согласия и строка о политике */
.paper.woo .agree{margin:0;font-size:.96rem;line-height:var(--row)}
.paper.woo .agree input{margin-top:5px}
.paper.woo .agree-note{margin:0 0 var(--row);padding-left:34px;line-height:var(--row)}
/* кнопки количества укладываются в столбец «Количество» таблицы корзины (104 и 98 px): узкие кнопки, поле сжимается */
.paper.woo .quantity{max-width:100%}
.paper.woo .quantity .qty-b{flex:0 0 28px;width:28px}
.paper.woo .quantity .qty-b~.qty{flex:1 1 44px;width:44px;min-width:0;padding:0}
/* пустая корзина: между «корзина пуста» и второй строкой - пустая строка листа, как в макете */
.paper.woo .cart-empty-note{margin-top:var(--row)}

/* ================= 11. ПУТЬ ПОКУПКИ: СУММА И «ОФОРМИТЬ ЗАКАЗ» НА ПЕРВОМ ЭКРАНЕ КОРЗИНЫ (18.10.2026) =================
   На телефоне и планшете (где есть нижняя панель) сумма и «Оформить заказ» закреплены полосой над нижней панелью; сумму выводит
   inc/magazin.php внутри итогов корзины - магазин обновляет её вместе с ними. «Обновить корзину» не показывается, пока работают скрипты:
   количество корзина применяет сама (inc/magazin.php); без скриптов кнопка на месте. Кнопки звонка и «наверх» на корзине встают над полосой. */
.paper.woo .cart-bar-sum{display:none}
html.js .paper.woo table.cart td.actions>button[name="update_cart"]{display:none}
html.js .paper.woo table.cart tr:has(>td.actions):not(:has(.coupon)){display:none}      /* строка только с «Обновить корзину» (купонов у музея нет) */
@media (max-width:899px){
  :root{--cbar:70px}
  .paper.woo .cart_totals .wc-proceed-to-checkout{position:fixed;left:0;right:0;bottom:calc(var(--bbar) + env(safe-area-inset-bottom));z-index:47;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:var(--cbar);margin:0;padding:9px 16px;background:var(--paper-bg);border-top:1px solid #c59a4a;box-shadow:0 -10px 24px rgba(0,0,0,.4)}
  .paper.woo .cart_totals .wc-proceed-to-checkout .cart-bar-sum{display:flex;flex-direction:column;flex:none;margin:0;line-height:1.15;color:var(--ink2)}
  .paper.woo .cart-bar-sum span{font-size:.86rem}
  .paper.woo .cart-bar-sum b,.paper.woo .cart-bar-sum b *{font-family:var(--serif);font-weight:600;font-size:1.5rem;line-height:1.2;font-variant-numeric:lining-nums;color:#160d04;white-space:nowrap}
  .paper.woo .cart_totals .wc-proceed-to-checkout a.checkout-button{flex:0 1 250px;width:auto;height:50px;margin:0}
  body.woocommerce-cart{padding-bottom:calc(var(--bbar) + env(safe-area-inset-bottom) + var(--ck,0px) + var(--cbar))}
  body.woocommerce-cart .totop{bottom:calc(var(--bbar) + env(safe-area-inset-bottom) + var(--cbar) + 78px)}
  html body.woocommerce-cart a.callbackkiller.cbk-phone,html body.woocommerce-cart a.callbackkiller.cbk-phone:hover{bottom:calc(var(--bbar) + env(safe-area-inset-bottom) + var(--cbar) + 14px)!important}
}
