/* Public editorial support layer for storefront, account and checkout templates. */
.sr-only, .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.site-content { min-height: 50vh; }
.is-hidden { display: none !important; }
.auth-step1.is-hidden, .auth-step2.is-hidden, #resendCode.is-hidden { display: none !important; }
.breadcrumbs { min-width: 0; margin-bottom: 20px; color: rgba(64,59,53,.52); font-size: 11px; }
.breadcrumbs__list { display: flex; align-items: center; min-width: 0; padding: 0; margin: 0; overflow: hidden; list-style: none; white-space: nowrap; }
.breadcrumbs__item { display: inline-flex; align-items: center; min-width: 0; }
.breadcrumbs__item + .breadcrumbs__item::before { content: '/'; flex: 0 0 auto; margin: 0 9px; color: rgba(64,59,53,.3); }
.breadcrumbs__item:not(:last-child) { flex: 0 0 auto; }
.breadcrumbs__item:last-child, .breadcrumbs__link, .breadcrumbs__current { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.breadcrumbs__current { color: var(--ink); }
.breadcrumbs__link:hover { color: var(--ink); }
.notifications-container { position: fixed; z-index: 9999; top: 24px; right: 24px; display: flex; width: min(360px, calc(100vw - 48px)); flex-direction: column; gap: 10px; pointer-events: none; }
.notification { --notification-accent: var(--taupe-dark); position: relative; display: grid; grid-template-columns: 20px minmax(0, 1fr) 22px; align-items: start; gap: 12px; min-height: 58px; padding: 15px 16px 17px; overflow: hidden; color: var(--ink); background: rgba(250,248,242,.97); border: 1px solid var(--line); border-left: 3px solid var(--notification-accent); box-shadow: 0 14px 32px rgba(64,59,53,.14); pointer-events: auto; opacity: 0; transform: translateY(-8px); transition: opacity .22s ease, transform .22s ease; font-size: 12px; line-height: 1.45; }
.notification.show { opacity: 1; transform: translateY(0); }
.notification.is-removing { opacity: 0; transform: translateY(-6px); }
.notification.success { --notification-accent: #63794f; }
.notification.error { --notification-accent: #924b43; }
.notification.warning { --notification-accent: #a66d36; }
.notification.info { --notification-accent: var(--taupe-dark); }
.notification-icon { display: grid; width: 20px; height: 20px; place-items: center; color: var(--notification-accent); }
.notification-icon svg { width: 18px; height: 18px; }
.notification-text { min-width: 0; white-space: pre-line; }
.notification-close { display: grid; width: 22px; height: 22px; padding: 0; margin: -3px -4px 0 0; place-items: center; color: rgba(64,59,53,.5); border: 0; background: transparent; cursor: pointer; font: 400 22px/1 sans-serif; }
.notification-close:hover { color: var(--ink); }
.notification-progress { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--notification-accent); transform: scaleX(1); transform-origin: left center; }
.notification-progress:not(.is-static) { animation: notification-progress var(--notification-duration) linear forwards; }
.notification-progress.is-static { opacity: .45; }
@keyframes notification-progress { to { transform: scaleX(0); } }
@media (max-width: 640px) { .notifications-container { top: 12px; right: 12px; left: 12px; width: auto; } }
@media (prefers-reduced-motion: reduce) { .notification { transition: none; } .notification-progress:not(.is-static) { animation: none; } }
.profile-ticket-create-modal { display: none; max-width: 560px; padding: 0; }
.profile-ticket-create-modal__head { padding: 24px 26px 18px; border-bottom: 1px solid var(--line); font-size: 22px; font-weight: 500; }
.profile-ticket-create-modal__body { padding: 24px 26px; }
.profile-ticket-create-form { display: grid; gap: 16px; }
.profile-ticket-create-field { display: grid; gap: 7px; }
.profile-ticket-create-field__title { color: rgba(64,59,53,.62); font-size: 11px; }
.profile-ticket-create-field input, .profile-ticket-create-field textarea { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); font: inherit; }
.profile-ticket-create-field input { min-height: 44px; }
.profile-ticket-create-field textarea { resize: vertical; }
.profile-ticket-create-field input:focus, .profile-ticket-create-field textarea:focus { border-color: var(--taupe); outline: 0; }
.profile-ticket-create-actions { display: flex; justify-content: flex-end; padding-top: 4px; }
.profile-ticket-label { margin-top: 15px; }
.profile-ticket-input { display: block; width: 100%; box-sizing: border-box; }
.profile-ticket-action { margin-top: 20px; }
.profile-ticket-create-link { display: block; margin-top: 10px; }
.profile-dashboard .avatar_thumbnail { overflow: visible; }
.profile-dashboard .avatar_thumbnail-image { display: none; width: 100%; height: 100%; object-fit: cover; }
.profile-dashboard .avatar_thumbnail.has-avatar .avatar_thumbnail-image { display: block; }
.profile-dashboard .avatar_thumbnail[data-initial] { display: grid; place-items: center; color: #fff; font-size: 30px; font-weight: 600; }
.profile-dashboard .avatar_thumbnail[data-initial]::before { content: attr(data-initial); }
body.is-cart-open, body.is-menu-open { overflow: hidden; }
.site-header .header-icon, .site-header .menu-toggle { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; }
.site-header .header-icon svg, .site-header .menu-toggle svg { width: 22px; height: 22px; stroke-width: 1.35; }
.site-header .wishlist-link { width: 44px; }
.site-header .fav_count, .site-header .cart_count { position: absolute; top: 5px; right: 3px; min-width: 15px; height: 15px; padding: 0 3px; border-radius: 99px; color: var(--white); background: var(--terracotta); font-size: 9px; line-height: 15px; text-align: center; opacity: 0; transition: opacity .2s ease; }
.site-header .fav_count.active, .site-header .cart_count.active { opacity: 1; }
.menu-toggle { display: none !important; }
.product-image { position: relative; }
.product-info { position: relative; }
.product-meta { min-height: 0; color: var(--terracotta); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.product-meta:empty { display: none; }
.product-labels { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.product-label { display: inline-flex; min-height: 24px; align-items: center; padding: 5px 9px; color: var(--white); background: var(--taupe); font-size: 9px; font-weight: 600; letter-spacing: .08em; line-height: 1.1; white-space: nowrap; }
.product-image > .product-labels { position: absolute; z-index: 2; right: 10px; bottom: 10px; left: 10px; pointer-events: none; }
.product-name { display: block; margin: 11px 42px 4px 0; font-size: 14px; }
.product-bottom { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 14px; }
.product-bottom .price, .outfit-meta span { color: rgba(64,59,53,.65); font-size: 13px; }
.product-bottom .rating-short { color: rgba(64,59,53,.55); font-size: 11px; }
.button-dark { color: var(--white); background: var(--charcoal); }
.button-dark:hover { background: var(--ink); }
.site-footer .footer-logo { display: inline-block; margin-bottom: 20px; }
.site-footer .footer-logo img { display: block; width: min(190px, 100%); height: auto; filter: invert(1) brightness(2); }
.site-footer .footer-links { display: grid; grid-template-columns: 1fr; gap: 8px; }
.site-footer .footer-links h3, .site-footer .footer-subscribe h3 { margin-bottom: 10px; color: var(--white); font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.site-footer .footer-subscribe p { color: rgba(255,253,250,.6); }
.site-footer .footer-bottom { grid-template-columns: 1fr auto; font-size: 13px; }
.newsletter-note { min-height: 18px; margin-top: 10px; color: rgba(255,253,250,.65); font-size: 11px; }
.catalog-page { padding-top: 2em; padding-bottom: 100px; }
.catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 46px; }
.catalog-heading h1 { margin: 0; font-size: clamp(38px, 4vw, 56px); line-height: 1; letter-spacing: -.045em; }
.catalog-heading .eyebrow { margin-bottom: 18px; }
.sort-wrapper { position: relative; }
.sort-trigger { display: inline-flex; align-items: center; gap: 16px; min-height: 42px; padding: 0 14px; border: 1px solid var(--line); background: transparent; font-size: 12px; }
.sort-trigger svg { width: 15px; }
.sort-dropdown { position: absolute; z-index: 12; top: calc(100% + 8px); right: 0; display: grid; min-width: 210px; padding: 6px; border: 1px solid var(--line); background: var(--paper); box-shadow: 0 14px 30px rgba(64,59,53,.08); opacity: 0; visibility: hidden; transform: translateY(-5px); transition: opacity .2s ease, visibility .2s ease, transform .2s ease; }
.sort-wrapper.is-open .sort-dropdown, .sort-trigger.active + .sort-dropdown { opacity: 1; visibility: visible; transform: none; }
.sort-option { padding: 10px 12px; border: 0; background: transparent; text-align: left; font-size: 12px; }
.sort-option:hover, .sort-option.active { color: var(--white); background: var(--taupe); }
.catalog-content { display: grid; grid-template-columns: 190px 1fr; gap: 48px; align-items: start; }
.catalog-categories { position: sticky; top: 110px; }
.catalog-categories nav { display: grid; gap: 8px; }
.category-list { display: grid; gap: 7px; padding: 0; margin: 0; list-style: none; }
.category-list--nested { gap: 4px; margin: 5px 0 2px 10px; padding-left: 12px; border-left: 1px solid var(--line); }
.category-item { min-width: 0; }
.category-item > a { display: inline-block; padding: 4px 0; color: rgba(64,59,53,.64); font-size: 13px; }
.category-item > a:hover, .category-item.is-active > a { color: var(--ink); }
.mobile-menu-categories { margin-top: -1px; padding: 0 0 18px; border-bottom: 1px solid var(--line); }
.mobile-menu-categories .category-list { gap: 0; }
.mobile-menu-categories .category-item > a { width: 100%; padding: 12px 0; font-size: 17px; }
.mobile-menu-categories .category-list--nested { margin: 0 0 4px 16px; padding-left: 14px; }
.catalog-categories .eyebrow { margin-bottom: 14px; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 20px; }
.wishlist-page .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.catalog-main .navigation { margin-top: 54px; }
.navigation .pages { display: flex; flex-wrap: wrap; gap: 8px; }
.navigation .pages a, .navigation .pages span { display: inline-grid; place-items: center; min-width: 36px; height: 36px; padding: 0 10px; border: 1px solid var(--line); font-size: 12px; }
.navigation .pages span { color: var(--white); border-color: var(--taupe); background: var(--taupe); }
.no-items { padding: 80px 0; border-top: 1px solid var(--line); }
.no-items h2 { margin-bottom: 18px; font-size: 28px; }
.variant-selector { margin-top: 24px; }
.variant-group { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; border: 0; }
.variant-group-title { flex-basis: 100%; margin-bottom: 3px; font-size: 13px; }
.variant-group .param-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.variant-label { display: inline-grid; place-items: center; min-width: 48px; min-height: 42px; padding: 0 12px; border: 1px solid rgba(64,59,53,.17); cursor: pointer; font-size: 12px; }
.variant-label:hover, .param-input:checked + .variant-label { color: var(--white); border-color: var(--taupe); background: var(--taupe); }
.variant-status { min-height: 16px; color: #924b43; font-size: 11px; }
.main-photo-media { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.main-photo > video { background: #e8e3dc; }
.drawer-overlay { visibility: hidden; pointer-events: none; opacity: 0; transition: opacity .25s ease, visibility .25s ease; }
.drawer-overlay.is-open { visibility: visible; pointer-events: auto; opacity: 1; }
.specs-list { display: grid; gap: 8px; padding: 0 0 16px; margin: 0; list-style: none; }
.specs-item { display: flex; justify-content: space-between; gap: 18px; padding-top: 8px; border-top: 1px solid rgba(64,59,53,.1); font-size: 12px; }
.specs-name { color: rgba(64,59,53,.55); }
.sku { color: rgba(64,59,53,.52); font-size: 11px; }
.review-avatar-fallback { display: grid; place-items: center; width: 84px; height: 84px; margin-top: 10px; color: var(--taupe-dark); background: var(--sand); font-size: 25px; }
.review-photos { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 12px; }
.review-photos img { width: 64px; height: 64px; object-fit: cover; cursor: pointer; }
.product-review-empty { padding: 26px 0; color: rgba(64,59,53,.6); font-size: 13px; }
.product-review-form-wrap { max-height: 0; margin-bottom: 0; padding: 0 22px; overflow: hidden; visibility: hidden; pointer-events: none; background: #f1ece4; opacity: 0; transform: translateY(-8px); transition: max-height .45s var(--ease), margin-bottom .45s var(--ease), padding .45s var(--ease), opacity .25s ease, transform .45s var(--ease), visibility .45s; }
.product-review-form-wrap.is-open { max-height: 1000px; margin-bottom: 20px; padding: 22px; visibility: visible; pointer-events: auto; opacity: 1; transform: none; }
.product-review-form { display: grid; gap: 16px; }
.product-review-form-rating-box { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 12px; }
.product-review-form-rating { display: flex; gap: 3px; }
.star-btn { padding: 0; border: 0; color: rgba(64,59,53,.25); background: transparent; font-size: 20px; cursor: pointer; }
.star-btn.is-active { color: var(--terracotta); }
.product-review-upload-tile { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px dashed var(--line); color: rgba(64,59,53,.65); font-size: 12px; cursor: pointer; }
.product-review-upload-tile input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.product-review-preview { display: flex; flex-wrap: wrap; gap: 8px; }
.preview-item { position: relative; width: 62px; height: 62px; }
.preview-item img { width: 100%; height: 100%; object-fit: cover; }
.preview-item button { position: absolute; z-index: 1; top: -6px; right: -6px; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; color: var(--white); background: var(--charcoal); cursor: pointer; }
.product-review-form textarea { width: 100%; padding: 12px; resize: vertical; border: 1px solid var(--line); background: transparent; }
.product-review-form-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.form-status { min-height: 18px; color: rgba(64,59,53,.63); font-size: 11px; }
.form-status.error { color: #924b43; }
.form-status.success { color: #63794f; }
.product-review-submit { min-height: 42px; padding: 0 18px; color: var(--white); border: 0; background: var(--taupe); cursor: pointer; }
.product-review-submit:disabled { opacity: .55; }
.review-helpful button.is-active { color: var(--taupe-dark); }
.review-helpful button.is-active svg { stroke-width: 2; }
.cart-overlay { position: fixed; z-index: 140; inset: 0; display: block; visibility: hidden; pointer-events: none; background: rgba(35,31,28,.36); opacity: 0; backdrop-filter: blur(2px); transition: opacity .35s ease, visibility 0s linear .35s; }
.cart-overlay.active { visibility: visible; pointer-events: auto; opacity: 1; transition-delay: 0s; }
.cart-panel { position: fixed; z-index: 150; top: 0; right: 0; display: grid; grid-template-rows: auto 1fr auto; width: min(450px, 100%); height: 100%; padding: 28px; color: var(--ink); background: var(--paper); box-shadow: -18px 0 50px rgba(35,31,28,.12); visibility: hidden; pointer-events: none; transform: translateX(104%); will-change: transform; transition: transform .42s var(--ease), visibility 0s linear .42s; }
.cart-panel.active { visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
.cart-header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.cart-header h2 { margin: 0; font-size: 24px; }
.close-cart, .close-btn { width: 36px; height: 36px; padding: 0; border: 0; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; }
.cart-body { overflow-y: auto; padding: 22px 0; }
.empty-cart-message { display: grid; justify-items: center; gap: 12px; padding: 70px 0; color: rgba(64,59,53,.55); text-align: center; }
.empty-cart-message svg { width: 42px; height: 42px; }
.empty-cart-message p { margin: 0; }
.cart-items { display: grid; gap: 0; }
.cart-item + .cart-item { padding-top: 18px; border-top: 1px solid rgba(64,59,53,.12); }
.cart-footer { display: grid; gap: 16px; padding-top: 20px; border-top: 1px solid var(--line); }
.cart-total { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; font-size: 12px; }
.cart-total span { color: rgba(64,59,53,.6); letter-spacing: .06em; text-transform: uppercase; }
.cart-total .total-price { color: var(--ink); font-size: 25px; font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.checkout-btn { min-height: 50px; color: var(--white); border: 0; background: var(--taupe); cursor: pointer; }
.checkout-btn:hover { background: var(--taupe-dark); }
.cart-item { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 14px; padding-bottom: 1.25em; }
.cart-item .item-image img { width: 72px; height: 92px; object-fit: cover; background: var(--sand); }
.cart-item .item-details { display: grid; min-width: 0; gap: 5px; }
.cart-item h4 { margin: 0; font-size: 13px; font-weight: 500; }
.cart-item .item-price, .cart-item .item-params { color: rgba(64,59,53,.58); font-size: 11px; }
.cart-item .item-total { display: block; margin-top: 10px; color: var(--ink); font-size: 18px; font-weight: 500; letter-spacing: -.02em; line-height: 1.1; }
.item-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; }
.quantity-control { display: inline-flex; align-items: center; border: 1px solid var(--line); background: #f1ece4; }
.quantity-control button, .quantity-control input { width: 30px; height: 30px; padding: 0; border: 0; background: transparent; text-align: center; }
.quantity-control button { color: rgba(64,59,53,.72); font-size: 17px; line-height: 1; transition: color .2s ease, background-color .2s ease; }
.quantity-control button:hover { color: var(--ink); background: rgba(64,59,53,.08); }
.quantity-control input { width: 38px; border-right: 1px solid rgba(64,59,53,.14); border-left: 1px solid rgba(64,59,53,.14); font-size: 12px; appearance: textfield; }
.quantity-control input::-webkit-outer-spin-button, .quantity-control input::-webkit-inner-spin-button { margin: 0; appearance: none; }
.remove-item { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; padding: 0; color: rgba(64,59,53,.52); border: 1px solid rgba(64,59,53,.18); border-radius: 50%; background: transparent; line-height: 1; transition: color .2s ease, border-color .2s ease, background-color .2s ease; }
.remove-item svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.remove-item:hover { color: #924b43; border-color: #924b43; background: rgba(146,75,67,.06); }
.overlay { position: fixed; z-index: 180; inset: 0; display: none; background: rgba(35,31,28,.45); opacity: 0; transition: opacity .25s ease; }
.overlay.active { display: block; opacity: 1; }
.auth-panel { position: fixed; z-index: 190; top: 50%; left: 50%; width: min(480px, calc(100% - 32px)); max-height: calc(100vh - 32px); padding: 34px; overflow-y: auto; background: var(--paper); box-shadow: 0 30px 80px rgba(35,31,28,.2); opacity: 0; visibility: hidden; transform: translate(-50%, -46%); transition: opacity .25s ease, visibility .25s ease, transform .25s ease; }
.auth-panel.active { opacity: 1; visibility: visible; transform: translate(-50%, -50%); }
.auth-panel .close-btn { position: absolute; top: 12px; right: 12px; }
.auth-title { margin-bottom: 24px; font-size: 26px; }
.auth-step1, .auth-step2 { display: grid; gap: 14px; }
.auth-step2 { display: none; }
.auth-panel input[type="tel"], .auth-panel input[type="number"] { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--line); background: transparent; }
.auth-methods { display: grid; gap: 8px; }
.auth-method { display: grid; gap: 5px; padding: 15px; border: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }
.auth-method:hover { border-color: var(--taupe); }
.auth-method__title { font-size: 13px; }
.auth-method__description, .auth-docs { color: rgba(64,59,53,.57); font-size: 11px; }
.auth-docs { margin: 4px 0 0; line-height: 1.5; }
.auth-resend { display: flex; justify-content: space-between; color: rgba(64,59,53,.62); font-size: 12px; }
.auth-resend span:first-child { cursor: pointer; text-decoration: underline; }
.auth-btn .btn { width: 100%; min-height: 48px; color: var(--white); border: 0; background: var(--taupe); }
.blocker { position: fixed; z-index: 1000; inset: 0; overflow: auto; padding: 20px; box-sizing: border-box; background: rgba(35,31,28,.48); text-align: center; }
.blocker::before { content: ''; display: inline-block; height: 100%; margin-right: -.05em; vertical-align: middle; }
.blocker.behind { background: transparent; }
.modal { display: none; position: relative; z-index: 2; width: min(560px, 100%); max-width: calc(100vw - 40px); padding: 0; box-sizing: border-box; vertical-align: middle; color: var(--ink); background: var(--paper); border: 0; border-radius: 0; box-shadow: 0 24px 70px rgba(35,31,28,.16); text-align: left; }
.modal .head { padding: 22px 26px 18px; border-bottom: 1px solid var(--line); font-size: 21px; font-weight: 500; }
.modal .cont { padding: 22px 26px; }
.modal .foot { display: flex; align-items: center; gap: 10px; padding: 16px 26px 20px; border-top: 1px solid var(--line); background: #f1ece4; }
.modal .m_result { display: none; padding: 12px 26px; color: rgba(64,59,53,.7); background: #eee6da; font-size: 12px; }
.modal a.close-modal { position: absolute; z-index: 3; top: 12px; right: 14px; display: grid; width: 30px; height: 30px; place-items: center; color: var(--ink); background: transparent; font-size: 0; line-height: 1; text-decoration: none; opacity: .7; }
.modal a.close-modal::before { content: '×'; font-size: 24px; }
.modal a.close-modal:hover { opacity: 1; background: #eee6da; }
.cookie { position: fixed; z-index: 90; right: 20px; bottom: 20px; display: none; max-width: 280px; padding: 14px 18px; color: var(--white); background: var(--charcoal); font-size: 11px; opacity: 0; transform: translateY(20px); transition: opacity .25s ease, transform .25s ease; }
.cookie.is-visible { display: block; opacity: 1; transform: none; }
.cookie.is-dismissed { display: block; pointer-events: none; opacity: 0; transform: translateY(50px); }
.ajax-modal-shell { display: none; opacity: 0; }
.ajax-modal-shell .profile-modal-form { display: grid; min-width: min(100%, 430px); color: var(--ink); background: var(--paper); }
.profile-modal-form__head { padding: 24px 26px 18px; border-bottom: 1px solid var(--line); font-size: 22px; font-weight: 500; }
.profile-modal-form__body { display: grid; gap: 16px; padding: 24px 26px; }
.profile-modal-form__field { display: grid; gap: 7px; color: rgba(64,59,53,.62); font-size: 11px; }
.profile-modal-form__field input, .profile-modal-form__field select { width: 100%; min-height: 44px; box-sizing: border-box; padding: 0 12px; border: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); font: inherit; }
.profile-modal-form__field input:focus, .profile-modal-form__field select:focus { border-color: var(--taupe); outline: 0; }
.profile-modal-form__foot { display: flex; justify-content: flex-end; padding: 16px 26px 22px; border-top: 1px solid var(--line); }
.profile-modal-form__submit { min-height: 42px; padding: 0 18px; border: 0; color: var(--white); background: var(--taupe); cursor: pointer; font: inherit; font-size: 12px; }
.profile-modal-form__submit:hover { background: var(--taupe-dark); }
.profile-modal-form__submit:disabled { cursor: wait; opacity: .55; }
.ajax-modal-shell .m_result { display: none; margin: 0 26px 16px; padding: 12px; color: rgba(64,59,53,.7); background: #eee6da; font-size: 12px; }
.order-payment-page { padding-top: 126px; padding-bottom: 100px; }
.order-payment-card { max-width: 760px; margin: 0 auto; padding: 30px; border: 1px solid var(--line); background: var(--paper); }
.order-payment-card__head { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.order-payment-card__label { margin-bottom: 8px; color: rgba(64,59,53,.52); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.order-payment-card h1 { margin: 0; font-size: clamp(30px, 5vw, 52px); font-weight: 400; letter-spacing: -.04em; }
.order-payment-card__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 18px 0; color: rgba(64,59,53,.6); font-size: 12px; }
.order-payment-card__meta strong { color: var(--ink); font-weight: 500; }
.order-payment-statuses { display: grid; gap: 8px; }
.order-payment-status { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: center; padding: 14px; border: 1px solid var(--line); }
.order-payment-status__icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: var(--taupe-dark); background: #eee6da; }
.order-payment-status.is-current .order-payment-status__icon { color: var(--white); background: var(--taupe); }
.order-payment-status.is-error .order-payment-status__icon { color: var(--white); background: #924b43; }
.order-payment-status__spinner { width: 13px; height: 13px; border: 2px solid rgba(255,255,255,.45); border-top-color: var(--white); border-radius: 50%; animation: order-payment-spin .7s linear infinite; }
.order-payment-status__title { font-size: 13px; font-weight: 500; }
.order-payment-status__desc { margin-top: 3px; color: rgba(64,59,53,.56); font-size: 11px; line-height: 1.45; }
.order-payment-message { margin-top: 18px; color: rgba(64,59,53,.66); font-size: 12px; line-height: 1.5; }
.order-payment-error { margin-top: 12px; padding: 12px 14px; color: #924b43; background: #f4e6e2; font-size: 12px; }
.order-payment-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.order-payment-actions__btn { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid var(--line); color: var(--ink); background: transparent; font-size: 12px; }
.order-payment-actions__btn:hover { border-color: var(--taupe); background: #f1ece4; }
.order-payment-actions__btn:first-child { border-color: var(--taupe); color: var(--white); background: var(--taupe); }
@keyframes order-payment-spin { to { transform: rotate(360deg); } }
.cookie a { text-decoration: underline; }
.cookie .terms_accept { margin-left: 12px; padding: 0; border: 0; color: inherit; background: transparent; font: inherit; text-decoration: underline; cursor: pointer; }
.status-page { min-height: 62vh; padding-top: 180px; padding-bottom: 130px; }
.status-page h1 { max-width: 720px; margin-bottom: 18px; font-size: clamp(48px, 6vw, 86px); line-height: .98; letter-spacing: -.05em; }
.status-page > p:not(.eyebrow) { max-width: 430px; margin-bottom: 28px; color: rgba(64,59,53,.65); }
.status-page small { display: block; max-width: 430px; color: rgba(64,59,53,.55); }
.status-emoji { font-size: 54px; }
.checkout-content { padding-top: 2em; background: var(--ivory); }
.checkout-shell { min-height: 70vh; }
.editorial-page-header { padding-top: 150px; }
.editorial-page-header h1 { max-width: 980px; margin-bottom: 44px; font-size: clamp(48px, 7vw, 96px); line-height: .95; letter-spacing: -.05em; }
.editorial-page-cover { width: min(100%, 920px); max-height: 620px; margin-bottom: 70px; object-fit: cover; }
.editorial-page-content { padding-bottom: 72px; }
.content-block { padding: 18px 0; }
.content-block .shell { max-width: 820px; }
.content-block.content-header { padding-top: 48px; }
.content-block.content-header h2, .content-block.content-header h3 { margin-bottom: 0; font-size: 34px; }
.content-image .shell { max-width: 1100px; }
.content-image img { width: 100%; max-height: 760px; object-fit: cover; }
.content-image figcaption { margin-top: 12px; color: rgba(64,59,53,.56); font-size: 12px; }
.content-image--wide .shell, .content-table--wide { max-width: var(--shell); }
.content-block .checklist { list-style: none; padding: 0; }
.content-columns .columns { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; }
.journal-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.journal-card { background: var(--paper); }
.journal-card-image { aspect-ratio: 1.18; overflow: hidden; background: var(--sand); }
.journal-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.journal-card:hover img { transform: scale(1.025); }
.journal-card-info { padding: 24px; }
.journal-card-info .eyebrow { margin-bottom: 10px; font-size: 9px; }
.journal-card-info h2 { margin-bottom: 12px; font-size: 28px; }
.journal-card-desc { min-height: 52px; margin-bottom: 18px; color: rgba(64,59,53,.63); font-size: 13px; }
.service-message { margin-bottom: 20px; padding: 14px 16px; color: rgba(64,59,53,.7); background: #eee6da; }
.comments { max-width: 820px; padding-top: 54px; padding-bottom: 100px; }
.comments-title { margin-bottom: 24px; font-size: 32px; }
.comment-form { display: grid; gap: 10px; margin-bottom: 34px; }
.comment-form textarea { min-height: 110px; padding: 14px; resize: vertical; border: 1px solid var(--line); background: transparent; }
.comment-submit { justify-self: start; min-height: 42px; padding: 0 18px; color: var(--white); border: 0; background: var(--taupe); cursor: pointer; }
.comment-submit:not(:disabled):hover { background: var(--taupe-dark); }
.comment-submit.is-empty { visibility: hidden; }
.comments-list { display: grid; gap: 12px; }
.comment { margin-left: min(48px, calc(var(--comment-level, 0) * 24px)); padding: 18px 0; border-top: 1px solid var(--line); }
.comment_content { display: grid; gap: 12px; }
.author { display: flex; align-items: center; gap: 10px; }
.author_avatar { flex: 0 0 auto; }
.avatar_thumbnail { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background-color: var(--sand); background-position: center; background-size: cover; }
.author_main { display: grid; gap: 2px; }
.author_name { font-size: 13px; font-weight: 600; }
.comment_detail { color: rgba(64,59,53,.5); font-size: 11px; }
.comment-text p { margin: 0; color: rgba(64,59,53,.75); line-height: 1.6; }
.comment-actions { display: flex; gap: 12px; align-items: center; }
.comment-actions button { padding: 0; border: 0; color: rgba(64,59,53,.53); background: transparent; font-size: 11px; cursor: pointer; }
.comment-toggle { display: inline-block; margin: 8px 0; color: var(--taupe-dark); font-size: 11px; cursor: pointer; }
.comment-children { display: grid; }
.profile-page { padding-top: 2em; padding-bottom: 96px; }
.profile-page__head { display: grid; justify-items: start; gap: 14px; margin-bottom: 42px; }
.profile-page__head h1 { max-width: 760px; margin: 0; font-size: clamp(44px, 6vw, 78px); line-height: .96; letter-spacing: -.05em; }
.profile-page__back { color: rgba(64,59,53,.58); font-size: 12px; }
.profile-page__back:hover { color: var(--ink); }
.profile-orders-list, .profile-tickets__items { display: grid; gap: 14px; }
.profile-empty { padding: 44px 0; border-top: 1px solid var(--line); color: rgba(64,59,53,.62); }
.profile-order { padding: 24px; border: 1px solid var(--line); background: var(--paper); }
.profile-order__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.profile-order__meta { display: grid; gap: 6px; }
.profile-order__meta strong { font-size: 16px; font-weight: 500; }
.profile-order__date { color: rgba(64,59,53,.52); font-size: 11px; }
.profile-order__statuses { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.profile-order__status { padding: 6px 8px; color: rgba(64,59,53,.66); background: #eee8df; font-size: 10px; }
.profile-order__status--payment.succeeded, .profile-order__status--order.completed { color: #51683f; background: #e8eee1; }
.profile-order__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; padding: 20px 0; }
.profile-order__detail { display: grid; gap: 4px; font-size: 12px; }
.profile-order__detail span { color: rgba(64,59,53,.52); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.profile-order__detail strong { font-weight: 400; }
.profile-order__products { display: grid; gap: 10px; padding: 18px 0; border-top: 1px solid var(--line); }
.profile-order-product { display: grid; grid-template-columns: 64px 1fr; gap: 12px; align-items: center; }
.profile-order-product__media { display: block; width: 64px; height: 80px; overflow: hidden; background: var(--sand); }
.profile-order-product__media img { width: 100%; height: 100%; object-fit: cover; }
.profile-order-product__info { min-width: 0; }
.profile-order-product__info h3 { margin: 0 0 5px; font-size: 13px; font-weight: 500; }
.profile-order-product__params { color: rgba(64,59,53,.56); font-size: 11px; line-height: 1.5; }
.profile-order-product__price { margin: 7px 0 0; color: rgba(64,59,53,.68); font-size: 12px; }
.profile-order__bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.profile-order__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.profile-order__sum { font-size: 13px; }
.profile-order__sum strong { font-weight: 600; }
.profile-order__sum small { color: rgba(64,59,53,.55); font-size: 10px; }
.profile-order__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 14px; border: 1px solid var(--line); color: var(--ink); background: transparent; font-size: 11px; }
.profile-order__btn:hover { border-color: var(--taupe); background: #f1ece4; }
.profile-order__btn--accent { color: var(--white); border-color: var(--taupe); background: var(--taupe); }
.profile-order__btn--accent:hover { color: var(--white); background: var(--taupe-dark); }
.profile-ticket-page .profile-page__head, .profile-tickets-page .profile-page__head { max-width: 760px; }
.profile-ticket-form-card { max-width: 720px; padding: 26px; border: 1px solid var(--line); background: var(--paper); }
.profile-ticket-form { display: grid; gap: 18px; }
.profile-ticket-field { display: grid; gap: 8px; color: rgba(64,59,53,.62); font-size: 11px; }
.profile-ticket-field input, .profile-ticket-field textarea { width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid var(--line); background: transparent; font: inherit; }
.profile-ticket-field textarea { resize: vertical; }
.ticket-thread-page { max-width: 900px; }
.ticket-thread-wrap { margin-top: 28px; border: 1px solid var(--line); background: var(--paper); }
.ticket-thread-head { display: grid; gap: 8px; padding: 24px; border-bottom: 1px solid var(--line); }
.ticket-thread-head__subject { font-size: 20px; font-weight: 500; }
.ticket-thread-head__status { color: rgba(64,59,53,.58); font-size: 12px; }
.ticket-thread-head__close-link, .ticket-thread-reopen-link { color: var(--taupe-dark); font-size: 11px; }
.ticket_messages { display: grid; gap: 12px; padding: 24px; }
.ticket-bubble { max-width: 78%; padding: 14px 16px; background: #f1ece4; }
.ticket-bubble.right { justify-self: end; color: var(--white); background: var(--taupe); }
.ticket-bubble__meta { margin-bottom: 7px; opacity: .68; font-size: 10px; }
.ticket-bubble__text { font-size: 13px; line-height: 1.55; }
.ticket-thread-closed { margin: 0 24px 24px; padding: 14px 16px; color: rgba(64,59,53,.64); background: #f1ece4; font-size: 12px; }
.ticket-thread-form-card { padding: 24px; border-top: 1px solid var(--line); }
.ticket-thread-form { display: grid; gap: 12px; }
.ticket-thread-form__label { color: rgba(64,59,53,.62); font-size: 11px; }
.ticket-thread-form textarea { width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid var(--line); background: transparent; resize: vertical; }
.ticket-thread-form__actions { display: flex; justify-content: flex-end; }
.ticket-thread-send { min-height: 40px; padding: 0 16px; color: var(--white); border: 0; background: var(--taupe); cursor: pointer; font-size: 11px; }
.ticket-thread-send:hover { background: var(--taupe-dark); }
.profile-tickets-page .profile-page__head > .profile-order__btn { margin-top: 4px; }

/* Account dashboard uses the same flat editorial system as the storefront. */
.profile-dashboard { padding-top: 2em; padding-bottom: 96px; }
.profile-dashboard__shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(36px, 6vw, 88px); align-items: start; }
.profile-dashboard__sidebar { position: sticky; top: 112px; min-width: 0; }
.profile-dashboard__identity { padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.profile-dashboard__avatar { margin-bottom: 17px; }
.profile-dashboard__avatar .avatar_thumbnail { position: relative; width: 76px; height: 76px; border-radius: 50%; background: var(--sand); }
.profile-dashboard__avatar .avatar_thumbnail-image { border-radius: inherit; }
.profile-dashboard__avatar .avatar_edit { position: absolute; right: -4px; bottom: -4px; z-index: 1; display: grid; width: 24px; height: 24px; place-items: center; padding: 0; border: 1px solid var(--paper); border-radius: 50%; color: var(--white); background: var(--taupe); font-size: 17px; line-height: 1; cursor: pointer; }
.profile-dashboard__avatar .avatar_edit:hover { background: var(--taupe-dark); }
.profile-dashboard__avatar .avatar_edit:disabled { cursor: wait; opacity: .55; }
.profile-dashboard__name { margin: 0 0 5px; font-size: 22px; font-weight: 400; letter-spacing: -.025em; }
.profile-dashboard__contact { color: rgba(64,59,53,.56); font-size: 13px; overflow-wrap: anywhere; }
.profile-dashboard__identity-actions { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 18px; }
.profile-dashboard__identity-action { padding: 0; border: 0; color: var(--taupe-dark); background: transparent; font-size: 13px; cursor: pointer; }
.profile-dashboard__identity-action:hover { color: var(--ink); }
.profile-dashboard__nav { display: grid; gap: 2px; padding-top: 22px; }
.profile-dashboard__nav-button { display: flex; align-items: center; justify-content: space-between; min-height: 42px; padding: 0 0 0 12px; border: 0; border-left: 1px solid transparent; color: rgba(64,59,53,.58); background: transparent; text-align: left; font-size: 14px; cursor: pointer; }
.profile-dashboard__nav-button:hover, .profile-dashboard__nav-button.is-active { color: var(--ink); border-left-color: var(--taupe); }
.profile-dashboard__main { min-width: 0; }
.profile-dashboard__panel { display: none; }
.profile-dashboard__panel.is-active { display: block; }
.profile-dashboard__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 30px; }
.profile-dashboard__heading h2 { margin: 0; font-size: clamp(30px, 3vw, 44px); line-height: .98; letter-spacing: -.045em; }
.profile-dashboard__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 42px; }
.profile-dashboard__card { min-width: 0; padding: 24px; border: 1px solid var(--line); background: var(--paper); }
.profile-dashboard__card--bonus { color: var(--white); border-color: var(--charcoal); background: var(--charcoal); }
.profile-dashboard__eyebrow, .profile-dashboard__status-title { margin-bottom: 14px; color: rgba(64,59,53,.55); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.profile-dashboard__card--bonus .profile-dashboard__eyebrow { color: rgba(255,253,250,.62); }
.profile-dashboard__balance { margin-bottom: 8px; font-size: 42px; line-height: 1; letter-spacing: -.045em; }
.profile-dashboard__balance span { margin-left: 8px; color: rgba(255,253,250,.62); font-size: 11px; letter-spacing: 0; }
.profile-dashboard__expiration { color: rgba(255,253,250,.6); font-size: 11px; }
.profile-dashboard__card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.profile-dashboard__button, .profile-dashboard .wholesale-request-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 13px; border: 1px solid var(--taupe); color: var(--white); background: var(--taupe); font-size: 11px; cursor: pointer; }
.profile-dashboard__button:hover, .profile-dashboard .wholesale-request-btn:hover { background: var(--taupe-dark); }
.profile-dashboard__button--secondary { border-color: rgba(255,253,250,.35); color: var(--white); background: transparent; }
.profile-dashboard__status { display: flex; flex-direction: column; justify-content: space-between; gap: 20px; }
.profile-dashboard__status .status-value { display: block; margin-bottom: 8px; font-size: 18px; }
.profile-dashboard__status .status--approved { color: #60734f; }
.profile-dashboard__status .status--pending { color: var(--terracotta); }
.profile-dashboard__status .status--declined { color: #924b43; }
.profile-dashboard__status-note { max-width: 390px; color: rgba(64,59,53,.62); font-size: 13px; line-height: 1.55; }
.profile-dashboard__quick-actions, .profile-dashboard__recent { margin-top: 38px; }
.profile-dashboard__section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
.profile-dashboard__section-heading h3 { margin: 0; font-size: 22px; font-weight: 400; }
.profile-dashboard__section-heading button { padding: 0; border: 0; color: var(--taupe-dark); background: transparent; font-size: 12px; cursor: pointer; }
.profile-dashboard__quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.profile-dashboard__quick-action { display: grid; gap: 6px; min-height: 88px; padding: 17px; border: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }
.profile-dashboard__quick-action:hover, .profile-dashboard__quick-action.is-active { border-color: var(--taupe); background: #f1ece4; }
.profile-dashboard__quick-action strong { font-size: 14px; font-weight: 500; }
.profile-dashboard__quick-action span { color: rgba(64,59,53,.58); font-size: 12px; line-height: 1.45; }
.promo-box { display: none; margin-top: 12px; }
.promo-box.is-open { display: block; }
.promo-activate { padding: 18px; border: 1px solid var(--line); background: var(--paper); }
.promo-activate__head { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.promo-title { margin-bottom: 4px; font-size: 14px; }
.promo-description, .promo-limit-hint { color: rgba(64,59,53,.58); font-size: 11px; line-height: 1.45; }
.promo-close { width: 28px; height: 28px; padding: 0; border: 0; background: transparent; font-size: 24px; cursor: pointer; }
.promo-field { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.promo-code-input { min-height: 42px; padding: 0 12px; border: 1px solid var(--line); background: transparent; color: var(--ink); }
.promo-activate-btn { min-height: 42px; padding: 0 14px; border: 0; color: var(--white); background: var(--taupe); cursor: pointer; font-size: 11px; }
.promo-limit-hint { min-height: 16px; margin-top: 9px; }

/* Auth uses the same editorial sheet, including the enhanced provider flow. */
body.auth-modal-open { overflow: hidden; }
.auth-step2.is-active { display: grid; }
.auth-social-methods, .auth-provider-methods { display: grid; gap: 8px; }
.auth-social-methods { margin-bottom: 14px; }
.auth-method { position: relative; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 12px; min-height: 64px; padding: 12px 14px; border: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; cursor: pointer; text-decoration: none; transition: border-color .2s ease, background-color .2s ease; }
.auth-method:hover, .auth-method:focus-visible, .auth-provider-choice:hover { border-color: var(--taupe); background: #f1ece4; }
.auth-method__content { display: grid; gap: 3px; }
.auth-method__title { font-size: 13px; }
.auth-method__description { color: rgba(64,59,53,.57); font-size: 11px; line-height: 1.35; }
.auth-method__arrow { color: var(--taupe-dark); font-size: 20px; }
.auth-method__vk-mark, .auth-method__max-mark, .auth-provider-choice__mark { display: grid; place-items: center; width: 30px; height: 30px; color: var(--white); background: var(--taupe); font-size: 9px; letter-spacing: .04em; }
.auth-method__max-mark { background: var(--charcoal); }
.auth-provider-choice__mark--call { background: var(--terracotta); }
.auth-separator { display: flex; align-items: center; gap: 10px; margin: 18px 0 10px; color: rgba(64,59,53,.45); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.auth-separator::before, .auth-separator::after { content: ''; height: 1px; flex: 1; background: var(--line); }
.auth-provider-choice { width: 100%; }
.auth-phone-flow { display: none; gap: 14px; margin-top: 14px; }
.auth-step1.phone-provider-active .auth-social-methods, .auth-step1.phone-provider-active .auth-separator, .auth-step1.phone-provider-active .auth-methods, .auth-step1.phone-provider-active .auth-docs { display: none; }
.auth-step1.phone-provider-active .auth-phone-flow { display: grid; }
.auth-inline-back, .auth-back-btn { justify-self: start; padding: 0; border: 0; color: var(--taupe-dark); background: transparent; font-size: 11px; cursor: pointer; }
.auth-phone-heading { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; }
.auth-phone-heading__mark { display: grid; place-items: center; width: 30px; height: 30px; color: var(--white); background: var(--taupe); font-size: 10px; }
.auth-phone-heading__content { display: grid; gap: 3px; }
.auth-phone-heading__title { font-size: 15px; }
.auth-phone-heading__description, .auth-phone-note { color: rgba(64,59,53,.57); font-size: 11px; line-height: 1.45; }
.auth-field-label { color: rgba(64,59,53,.62); font-size: 11px; }
.auth-phone-input input { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--line); background: transparent; }
.auth-phone-submit { min-height: 48px; border: 0; color: var(--white); background: var(--taupe); cursor: pointer; }
.auth-phone-submit:hover, .auth-btn .btn:hover { background: var(--taupe-dark); }
.auth-phone-note { margin-top: -4px; }
.auth-step2 { gap: 16px; }
.auth-step2 .auth-info { display: grid; gap: 4px; color: rgba(64,59,53,.65); font-size: 12px; }
.auth-step2 .auth-info:first-of-type { color: var(--ink); font-size: 14px; }
.auth-step2 .modern-input-container { width: 100%; }
.auth-step2 .modern-input-container input { display: block; width: 100%; box-sizing: border-box; min-height: 48px; padding: 0 14px; border: 1px solid var(--line); background: transparent; text-align: center; letter-spacing: .3em; font-size: 24px; }
.auth-call-example { display: none; }
.auth-call-example.is-visible { display: block; }
.auth-result { min-height: 18px; color: #924b43; font-size: 11px; }
.auth-method.loading, .auth-phone-submit.loading, .auth-btn .btn.loading { cursor: wait; opacity: .58; }

/* Order details are public editorial content, not a separate legacy skin. */
.order-page { padding-top: 126px; padding-bottom: 96px; }
.order-page__back { display: inline-block; margin-bottom: 32px; color: rgba(64,59,53,.58); font-size: 12px; }
.order-page__back:hover { color: var(--ink); }
.order-page__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; margin-bottom: 42px; }
.order-page__eyebrow { margin-bottom: 10px; color: var(--terracotta); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.order-page__header h1 { margin: 0; font-size: clamp(44px, 6vw, 76px); line-height: .95; letter-spacing: -.05em; }
.order-page__date { margin-top: 12px; color: rgba(64,59,53,.56); font-size: 11px; }
.order-page__statuses { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.order-page__status { padding: 7px 9px; border: 1px solid var(--line); color: rgba(64,59,53,.66); font-size: 10px; }
.order-page__status.is-succeeded, .order-page__status.is-completed { color: #60734f; border-color: #b9c7aa; }
.order-page__layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .8fr); gap: 18px; align-items: start; }
.order-page__main, .order-page__aside { min-width: 0; }
.order-page__aside { display: grid; gap: 18px; }
.order-page__card { padding: 26px; border: 1px solid var(--line); background: var(--paper); }
.order-page__card-head { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.order-page__card-head h2 { margin: 0; font-size: 19px; font-weight: 400; }
.order-page__items { display: grid; gap: 0; }
.order-item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto auto; gap: 14px; align-items: center; padding: 16px 0; border-bottom: 1px solid rgba(64,59,53,.11); font-size: 12px; }
.item-preview { width: 72px; height: 92px; overflow: hidden; background: var(--sand); }
.item-preview img { width: 100%; height: 100%; object-fit: cover; }
.item-name { min-width: 0; }
.item-name a { display: block; margin-bottom: 5px; }
.item-params, .item-qty { color: rgba(64,59,53,.55); font-size: 11px; }
.item-price { white-space: nowrap; }
.order-page__totals { display: grid; gap: 10px; padding-top: 18px; }
.order-page__total-row { display: flex; justify-content: space-between; gap: 18px; color: rgba(64,59,53,.64); font-size: 12px; }
.order-page__total-row--main { padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink); font-size: 15px; }
.order-page__detail { display: grid; gap: 5px; padding: 13px 0; border-bottom: 1px solid rgba(64,59,53,.1); }
.order-page__detail dt { color: rgba(64,59,53,.52); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.order-page__detail dd { margin: 0; font-size: 12px; }
.order-page__bonus { padding: 20px; border: 1px solid var(--line); background: var(--charcoal); color: var(--white); }
.order-page__bonus-label { color: rgba(255,253,250,.62); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.order-page__bonus-value { margin-top: 8px; font-size: 22px; }
.order-page__actions { display: grid; gap: 8px; }
.order-page__button { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--line); color: var(--ink); background: transparent; font-size: 12px; }
.order-page__button:hover { border-color: var(--taupe); background: #f1ece4; }
.order-page__button--primary { color: var(--white); border-color: var(--taupe); background: var(--taupe); }
.order-page__button--primary:hover { background: var(--taupe-dark); }

.size-guide-empty, .size-guide-model { padding: 18px 0; border-top: 1px solid rgba(64,59,53,.1); color: rgba(64,59,53,.64); font-size: 12px; line-height: 1.6; }
.size-guide-empty strong, .size-guide-model h3 { display: block; margin-bottom: 6px; color: var(--ink); font-size: 13px; font-weight: 500; }
.size-guide-empty p, .size-guide-model p { margin: 0; }

@media (max-width: 820px) {
    .menu-toggle { display: inline-grid !important; }
    .desktop-nav { display: none; }
    .header-inner { grid-template-columns: 44px 1fr auto; min-height: 60px; }
    .brand-logo { justify-self: center; }
    .catalog-content, .catalog-main { min-width: 0; }
    .catalog-content { grid-template-columns: 1fr; gap: 28px; }
    .catalog-categories { position: static; min-width: 0; max-width: 100%; overflow: hidden; }
    .catalog-categories nav { display: block; width: 100%; max-width: 100%; max-height: none; overflow-x: auto; overflow-y: hidden; padding-bottom: 8px; scrollbar-width: none; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
    .catalog-categories nav::-webkit-scrollbar { display: none; }
    .catalog-categories .category-list { display: flex; align-items: flex-start; gap: 8px; width: max-content; min-width: 0; }
    .catalog-categories .category-item { display: flex; flex: 0 0 auto; flex-direction: column; gap: 6px; }
    .catalog-categories .category-item > a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 14px; border: 1px solid var(--line); background: var(--paper); color: rgba(64,59,53,.7); font-size: 12px; white-space: nowrap; scroll-snap-align: start; }
    .catalog-categories .category-item.is-active > a { color: var(--white); border-color: var(--taupe); background: var(--taupe); }
    .catalog-categories .category-list--nested { display: flex; gap: 6px; width: max-content; min-width: 0; margin: 0; padding: 0; border: 0; }
    .catalog-categories .category-list--nested .category-item > a { min-height: 34px; padding: 0 10px; color: rgba(64,59,53,.62); background: transparent; font-size: 11px; }
    .catalog-categories .category-list--nested .category-item.is-active > a { color: var(--ink); border-color: var(--taupe); background: rgba(170,137,119,.12); }
    .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 34px 12px; }
    .wishlist-page .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
    .site-header .header-actions { gap: 0; }
    .site-header .header-icon, .site-header .menu-toggle { width: 40px; height: 40px; }
    .site-header .fav_count, .site-header .cart_count { display: block; top: 2px; right: 0; }
    .product-grid { gap: 28px 10px; }
    .product-name { margin-right: 8px; font-size: 13px; }
    .product-bottom { display: block; }
    .product-bottom .rating-short { display: block; margin-top: 4px; }
    .catalog-heading { display: grid; align-items: start; margin-bottom: 30px; }
    .sort-wrapper { justify-self: start; }
    .site-footer .footer-bottom { grid-template-columns: 1fr; gap: 8px; }
    .journal-grid { grid-template-columns: 1fr; }
    .content-columns { grid-template-columns: 1fr; }
    .content-columns .columns { grid-template-columns: 1fr; }
    .profile-page { padding-bottom: 68px; }
    .profile-page__head { margin-bottom: 30px; }
    .profile-page__head h1 { font-size: clamp(40px, 14vw, 58px); }
    .profile-order { padding: 18px; }
    .profile-order__top { display: grid; gap: 14px; }
    .profile-order__statuses { justify-content: flex-start; }
    .profile-order__details { grid-template-columns: 1fr; gap: 12px; }
    .profile-order__bottom { display: grid; align-items: start; }
    .profile-ticket-form-card { padding: 18px; }
    .ticket-thread-head, .ticket_messages, .ticket-thread-form-card { padding: 18px; }
    .ticket-thread-closed { margin-inline: 18px; }
    .ticket-bubble { max-width: 92%; }
    .cart-panel { padding: 22px 18px; }
    .cart-header { padding-bottom: 16px; }
    .cart-body { padding: 18px 0; }
    .cart-item { grid-template-columns: 64px minmax(0,1fr); gap: 10px; }
    .cart-item .item-image img { width: 64px; height: 84px; }
    .cart-item .item-total { font-size: 17px; }
    .cart-total .total-price { font-size: 23px; }
}

@media (max-width: 820px) {
    .breadcrumbs { overflow: hidden; }
    .profile-dashboard { padding-top: 2em; }
    .profile-dashboard__shell { grid-template-columns: 1fr; gap: 30px; }
    .profile-dashboard__sidebar { position: static; }
    .profile-dashboard__identity { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: center; }
    .profile-dashboard__avatar { grid-row: span 2; margin: 0; }
    .profile-dashboard__identity-actions { grid-column: 2; margin-top: 8px; }
    .profile-dashboard__nav { display: flex; gap: 20px; overflow-x: auto; padding-top: 18px; }
    .profile-dashboard__nav-button { min-height: 36px; padding: 0 0 7px; border-bottom: 1px solid transparent; border-left: 0; font-size: 14px; white-space: nowrap; }
    .profile-dashboard__nav-button:hover, .profile-dashboard__nav-button.is-active { border-bottom-color: var(--taupe); border-left-color: transparent; }
    .order-page__layout { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .profile-dashboard__cards, .profile-dashboard__quick-grid { grid-template-columns: 1fr; }
    .profile-dashboard__card { padding: 19px; }
    .profile-dashboard__heading h2 { font-size: 32px; }
    .promo-field { grid-template-columns: 1fr; }
    .order-page__header { display: grid; align-items: start; }
    .order-page__statuses { justify-content: flex-start; }
    .order-page__card { padding: 19px; }
    .order-item { grid-template-columns: 56px minmax(0,1fr) auto; }
    .item-preview { width: 56px; height: 72px; }
    .item-qty { grid-column: 2; }
    .item-price { grid-column: 3; grid-row: 1 / span 2; }
}
