@charset "UTF-8";
.pg-base-btn,
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 22px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition:all .3s;
}
.btn-primary {
  background: var(--primary, #6366f1);
  color: var(--on-primary, #fff);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
}
.btn-primary:hover {
  background: var(--primary-h, var(--primary, #6366f1));
  color: var(--on-primary, #fff);
  transform: translateY(-1px);
}
.btn-outline {
  background: transparent;
  color: var(--text, #16111f);
  border: 1px solid var(--border, var(--border-color, rgba(0, 0, 0, .14)));
}
.btn-outline:hover { background: var(--bg-card, var(--surface, #fff)); }
.err { padding: 80px 20px; text-align: center; color: var(--text, #16111f); }
.err-code { font-size: clamp(5rem, 15vw, 8rem); font-weight: 900; color: var(--primary, #6366f1); line-height: 1; margin-bottom: 16px; }
.err h1 { margin-bottom: 12px; color: var(--text, #16111f); }
.err p { margin-bottom: 36px; max-width: 420px; margin-left: auto; margin-right: auto; color: var(--text-2, var(--text-muted, #6e6580)); }
.auth { max-width: 402px; margin: 60px auto; padding: 0 20px; }
.auth-card {
  background: var(--bg-card, var(--surface, #fff));
  border: 1px solid var(--border, var(--border-color, rgba(0, 0, 0, .14)));
  border-radius: var(--radius, 14px);
  box-shadow: var(--shadow, 0 4px 18px rgba(0, 0, 0, .07));
  padding: 30px;
  text-align: center;
  color: var(--text, #16111f);
}
.auth-card h1 { font-size: 24px; margin-bottom: 10px; color: var(--text, #16111f); }
.auth-sub { font-size: 14px; color: var(--text-2, var(--text-muted, #6e6580)); margin-bottom: 20px; }
.auth-label { display: block; text-align: left; font-size: 13px; color: var(--text-2, var(--text-muted, #6e6580)); margin-bottom: 10px; }
.auth-field {
  display: block;
  width: 100%;
  height: 46px;
  padding: 0 15px;
  margin-bottom: 15px;
  border: 1px solid var(--border, var(--border-color, rgba(0, 0, 0, .14)));
  border-radius: 8px;
  background: var(--bg, var(--surface, #fff));
  color: var(--text, #16111f);
  font-size: 15px;
  font-family: inherit;
  outline: none;
  box-sizing: border-box;
}
.auth-field:focus { border-color: var(--primary, #6366f1); }
.auth .btn { width: 100%; height: 46px; }
.auth-sep { display: flex; align-items: center; gap: 10px; margin: 20px 0; color: var(--text-2, var(--text-muted, #6e6580)); font-size: 12px; }
.auth-sep::before, .auth-sep::after { content: ""; flex: 1; height: 1px; background: var(--border, var(--border-color, rgba(0, 0, 0, .14))); }
.auth-alt {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 0 15px;
  height: 46px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  border: 1px solid var(--border, var(--border-color, rgba(0, 0, 0, .14)));
  color: var(--text, #16111f);
  background: transparent;
  text-decoration: none;
  margin-bottom: 10px;
}
.auth-alt:hover { background: var(--bg, var(--surface, #fff)); }
.auth-terms { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border, var(--border-color, rgba(0, 0, 0, .14))); font-size: 11px; line-height: 1.5; color: var(--text-2, var(--text-muted, #6e6580)); text-align: center; }
.auth-terms a { color: var(--primary, #6366f1); text-decoration: none; }
.auth-terms a:hover { text-decoration: underline; }
.auth-secure { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 12px; font-size: 12px; color: var(--text-2, var(--text-muted, #6e6580)); }
.auth-secure i { color: var(--success, #16a34a); }
.psk-notify { padding:10px 15px; border-radius:8px; margin-bottom:15px; font-size:15px; text-align:center; }
.psk-notify--error { background:var(--danger-bg, rgba(210,63,63,.12)); color:var(--danger, #d23f3f); }
.psk-notify--success { background:var(--success-bg, rgba(31,157,87,.12)); color:var(--success, #1f9d57); }
.psk-profile { max-width:860px; margin:40px auto; padding:0 16px; }
.psk-card { background:var(--bg-card, var(--surface, #fff)); border-radius:14px; border:1px solid var(--border); box-shadow:var(--shadow, 0 4px 18px rgba(0,0,0,.07)); padding:28px 32px; margin-bottom:20px; }
.psk-card-title { font-size:15px; font-weight:700; color:var(--text); margin:0 0 20px; padding-bottom:14px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:8px; }
.psk-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.psk-field { display:flex; flex-direction:column; gap:5px; }
.psk-label { font-size:14px; font-weight:600; color:var(--text-2, var(--text-muted, #6e6580)); text-transform:uppercase; letter-spacing:.4px; }
.psk-input { padding:10px 14px; border:1px solid var(--border); border-radius:8px; font-size:15px; line-height:1.5; color:var(--text); background:var(--bg-card, var(--surface, #fff)); outline:none; transition:all .3s; width:100%; box-sizing:border-box; }
.psk-input:focus { border-color:var(--primary); }
.psk-input[readonly] { background:var(--bg); color:var(--text-2, var(--text-muted, #6e6580)); cursor:not-allowed; }
.psk-avatar-wrap { display:flex; align-items:center; gap:20px; margin-bottom:20px; }
.psk-avatar-img { width:80px; height:80px; border-radius:50%; object-fit:cover; border:2px solid var(--border); flex-shrink:0; }
.psk-avatar-btns { display:flex; flex-direction:column; align-items:stretch; gap:8px; min-width:0; }
.psk-avatar-btns .psk-btn { white-space:nowrap; text-align:center; }
.psk-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:9px 18px; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; border:none; transition:all .3s; text-decoration:none; }
.psk-btn-primary { background:var(--primary); color:var(--on-primary, #fff); }
.psk-btn-primary:hover { background:var(--primary-h, var(--primary, #6366f1)); }
.psk-btn-outline { background:transparent; border:1px solid var(--border); color:var(--text); }
.psk-btn-outline:hover { background:var(--bg); }
.psk-btn-danger { background:transparent; border:1px solid var(--danger-bd, rgba(210,63,63,.35)); color:var(--danger, #d23f3f); }
.psk-btn-danger:hover { background:var(--danger-bg, rgba(210,63,63,.12)); }
.psk-toggle-row { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--border); }
.psk-toggle-row:last-child { border-bottom:none; }
.psk-toggle-info { display:flex; flex-direction:column; gap:2px; }
.psk-toggle-label { font-size:15px; font-weight:500; color:var(--text); }
.psk-toggle-desc { font-size:15px; color:var(--text-2, var(--text-muted, #6e6580)); }
.psk-switch { position:relative; display:inline-block; width:40px; height:22px; flex-shrink:0; }
.psk-switch input { opacity:0; width:0; height:0; }
.psk-slider { position:absolute; inset:0; background:var(--track, var(--border, #cbd2dc)); border-radius:22px; transition:all .3s; cursor:pointer; }
.psk-slider:before { content:''; position:absolute; width:16px; height:16px; left:3px; top:3px; background:var(--knob, #fff); border-radius:50%; transition:all .3s; }
.psk-switch input:checked + .psk-slider { background:var(--primary); }
.psk-switch input:checked + .psk-slider:before { transform:translateX(18px); }
.psk-switch input:disabled + .psk-slider { opacity:.4; cursor:not-allowed; }
.psk-conn { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--border); }
.psk-conn:last-child { border-bottom:none; }
.psk-conn-left { display:flex; align-items:center; gap:10px; font-size:15px; font-weight:500; color:var(--text); }
.psk-conn-badge { font-size:13px; font-weight:600; padding:3px 8px; border-radius:20px; }
.psk-badge-ok { background:var(--success-bg, rgba(31,157,87,.12)); color:var(--success, #1f9d57); }
.psk-badge-no { background:var(--bg-soft); color:var(--text-2, var(--text-muted, #6e6580)); }
.psk-pass-section { display:none; }
.psk-pass-section.visible { display:block; padding-top:16px; margin-bottom:6px; border-bottom:1px solid var(--border); }
.psk-bottom-bar { display:flex; justify-content:space-between; align-items:center; padding-top:20px; border-top:1px solid var(--border); margin-top:4px; }
.psk-bottom-actions { display:flex; gap:10px; align-items:center; }
.psk-logout { color:var(--danger, #d23f3f); font-size:15px; font-weight:600; text-decoration:none; }
.psk-logout:hover { text-decoration:underline; }
.psk-readonly { padding:10px 14px; border:1px solid var(--border); border-radius:8px; font-size:15px; line-height:1.5; color:var(--text-2, var(--text-muted, #6e6580)); background:var(--bg); width:100%; box-sizing:border-box; }
.psk-file-hidden { display:none; }
.psk-btn-sm { font-size:15px; padding:6px 14px; }
.psk-modal { position:fixed; inset:0; background:var(--overlay); display:none; align-items:center; justify-content:center; z-index:9999; }
.psk-modal-box { background:var(--bg-card, var(--surface, #fff)); padding:20px; border-radius:14px; max-width:500px; width:92%; text-align:center; }
.psk-modal-box.sm { max-width:380px; padding:30px; }
.psk-crop-area { max-height:380px; overflow:hidden; margin-bottom:16px; }
.psk-crop-area img { max-width:100%; transition:none; }
.psk-modal-actions { display:flex; justify-content:space-between; gap:10px; }
.psk-modal-actions .psk-btn { flex:1; }
.psk-modal-title { margin:0 0 8px; }
.psk-modal-desc { font-size:15px; color:var(--text-2, var(--text-muted, #6e6580)); margin-bottom:20px; }
.psk-modal-input { width:100%; padding:14px; border-radius:8px; border:1px solid var(--border); background:var(--bg); color:var(--text); font-size:16px; text-align:center; letter-spacing:2px; margin-bottom:16px; box-sizing:border-box; outline:none; }
.psk-btn-tg { flex:1; background:#2AABEE; color:var(--on-primary, #fff); border:none; border-radius:8px; padding:10px; font-weight:600; font-size:15px; cursor:pointer; }
.psk-form-error { color:var(--danger, #d23f3f); font-size:15px; margin-bottom:12px; }
.psk-preview-bar { position:fixed; left:50%; bottom:20px; transform:translateX(-50%); z-index:99999; display:flex; align-items:center; gap:14px; background:#111827; color:var(--on-primary, #fff); padding:10px 18px; border-radius:30px; box-shadow:0 10px 30px rgba(0,0,0,.35); font-size:14px; max-width:92vw; }
.psk-preview-bar b { color:#a3ff00; }
.psk-preview-bar a { color:var(--on-primary, #fff); text-decoration:underline; font-size:13px; white-space:nowrap; }
.psk-acc { max-width: 1140px; margin: 40px auto; padding: 0 16px; }
.psk-acc-layout { display: grid; grid-template-columns: 280px 1fr; gap: 20px; align-items: start; }
.psk-acc-side { background: var(--bg-card, var(--surface, #fff)); border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow, 0 4px 18px rgba(0,0,0,.07)); padding: 16px; position: sticky; top: 88px; }
.psk-acc-user { display: flex; gap: 12px; align-items: center; padding: 6px 6px 16px; border-bottom: 1px solid var(--border); margin-bottom: 12px; }
.psk-acc-ava { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: none; background: var(--bg-soft, var(--bg)); }
.psk-acc-user-info { min-width: 0; }
.psk-acc-user-name { font-weight: 700; font-size: 15px; line-height: 1.2; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.psk-acc-user-meta { font-size: 13px; line-height: 1.2; color: var(--text-2, var(--text-muted, #6e6580)); margin-top: 2px; }
.psk-acc-nav { display: flex; flex-direction: column; gap: 3px; }
.psk-acc-link { display: flex; align-items: center; gap: 11px; padding: 11px 13px; border-radius: 10px; border: none; background: none; color: var(--text-2, var(--text-muted, #6e6580)); font-size: 14px; font-weight: 600; cursor: pointer; text-align: left; width: 100%; text-decoration: none; font-family: inherit; transition:all .3s; }
.psk-acc-link i { width: 18px; text-align: center; font-size: 15px; }
.psk-acc-link:hover { background: var(--bg-soft, var(--bg)); color: var(--text); }
.psk-acc-link.is-active { background: color-mix(in srgb, var(--primary) 12%, transparent); color: var(--primary); }
.psk-acc-logout { color: var(--primary); margin-top: 10px; padding-top: 16px; border-top: 1px solid var(--border); border-radius: 0; }
.psk-acc-main { background: var(--bg-card, var(--surface, #fff)); border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow, 0 4px 18px rgba(0,0,0,.07)); padding: 28px 32px; min-height: 320px; }
.psk-acc-section { display: none; animation: pskFade .18s ease; }
.psk-acc-section.is-active { display: block; }
.psk-acc-h { font-size: 20px; font-weight: 700; color: var(--text); margin: 0 0 4px; }
.psk-acc-sub { font-size: 14px; color: var(--text-2, var(--text-muted, #6e6580)); margin: 0 0 22px; }
.psk-acc-save { margin-top: 24px; }
.psk-acc-save .psk-btn { padding: 11px 28px; font-size: 14px; min-height: 43px; }
.psk-acc-section .psk-row { margin-bottom: 18px; }
.psk-acc-section .psk-row:last-child { margin-bottom: 0; }
.psk-fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
.psk-fgrid > .psk-field:first-child:nth-last-child(3) { grid-column: 1 / -1; }
.psk-acc-conn-title { font-size: 13px; font-weight: 700; color: var(--text); margin: 22px 0 10px; }
.psk-acc-admin { color: var(--text-2, var(--text-muted, #6e6580)); }
.psk-conn-ico-g { color: #ea4335; width: 18px; }
.psk-conn-ico-t { color: #2aabee; width: 18px; }
.psk-field-empty { display: none; }
.psk-informer { position: relative; background: var(--primary, #6366f1); color: var(--on-primary, #fff); font-size: 13px; }
.psk-informer-in { max-width: 1200px; margin: 0 auto; padding: 9px 46px; display: flex; align-items: center; justify-content: center; gap: 9px; text-align: center; line-height: 1.4; }
.psk-informer-in > i { font-size: 13px; opacity: .9; flex: none; }
.psk-informer-text, .psk-informer-link { color: inherit; }
.psk-informer-link { text-decoration: underline; font-weight: 600; }
.psk-informer-link:hover { text-decoration: none; }
.psk-informer-x { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); background: none; border: 0; color: inherit; opacity: .7; cursor: pointer; font-size: 14px; line-height: 1; padding: 4px 6px; }
.psk-informer-x:hover { opacity: 1; }
.psk-informer.is-closing { display: none; }
.pg-welcome { max-width: 760px; margin: 80px auto; padding: 0 24px; text-align: center; }
.pg-welcome-h { font-size: clamp(28px, 5vw, 44px); font-weight: 800; color: var(--text, #16111f); margin: 0 0 16px; }
.pg-welcome-p { font-size: 16px; color: var(--text-2, var(--text-muted, #6e6580)); line-height: 1.6; margin: 0; }
[data-nav] a { white-space: nowrap; }
.site-foot-legal { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 18px; padding: 14px 24px; font-size: 15px; line-height: 1.5; }
[data-nav] .site-nav-item { position: relative; display: inline-flex; align-items: center; }
[data-nav] .site-submenu { position: absolute; top: 100%; left: 0; z-index: 60; display: none; flex-direction: column; min-width: 190px; padding: 8px 0 6px; background: var(--bg, var(--bg-soft, Canvas)); color: var(--text, CanvasText); border: 1px solid var(--border, var(--border-color, color-mix(in srgb, CanvasText 16%, transparent))); border-radius: 12px; box-shadow: 0 14px 36px color-mix(in srgb, CanvasText 18%, transparent); background-clip: padding-box; }
[data-nav] .site-nav-item:hover > .site-submenu, [data-nav] .site-nav-item:focus-within > .site-submenu { display: flex; }
[data-nav] .site-submenu .site-nav-item { display: block; }
[data-nav] .site-submenu a { display: block; padding: 8px 18px; white-space: nowrap; }
@media (max-width: 860px) {
  [data-nav] .site-submenu { position: static; display: flex; margin: 2px 0 4px 16px; padding: 0; min-width: 0; background: transparent; border: 0; box-shadow: none; }
}
html { overflow-x: clip; }
body { overflow-x: clip; }
.site-nav-head, .nav-toggle, [data-nav-overlay] { display: none; }
.site-nav-head { align-items: center; justify-content: space-between; }
.site-nav-title { font-weight: 700; font-size: 16px; }
.site-nav-close { background: none; border: 0; cursor: pointer; font-size: 20px; line-height: 1; color: inherit; padding: 4px; }
@media (max-width: 860px) {
  .nav-toggle { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 42px; height: 42px; padding: 0; background: none; border: 0; cursor: pointer; color: inherit; }
  .nav-toggle > span { display: block; width: 22px; height: 2px; margin: 0 auto; background: currentColor; border-radius: 2px; }
  [data-site-header] .site-nav {
    position: fixed; top: 0; right: 0; height: 100vh; height: 100dvh; z-index: 220;
    width: min(84vw, 320px); max-width: 320px;
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    margin: 0; padding: 18px;
    background: var(--bg, var(--bg-soft, Canvas)); color: var(--text, CanvasText);
    border-left: 1px solid var(--border, var(--border-color, color-mix(in srgb, CanvasText 14%, transparent)));
    transform: translateX(100%); visibility: hidden;
    overflow-y: auto; overscroll-behavior: contain;
  }
  [data-site-header].nav-open .site-nav { transform: translateX(0); visibility: visible; }
  [data-site-header] .site-nav .site-nav-head { display: flex; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--border, var(--border-color, color-mix(in srgb, CanvasText 12%, transparent))); }
  [data-nav] .site-nav-item { display: block; width: 100%; }
  [data-nav] .site-menu-link { display: block; padding: 12px 2px; font-size: 16px; border-bottom: 1px solid color-mix(in srgb, CanvasText 9%, transparent); }
  [data-site-header] .site-nav .site-account { margin-left: 0; }
  [data-site-header] .site-nav a.btn-primary, [data-site-header] .site-nav a.btn-primary:hover { color: var(--on-primary, #fff); }
  [data-nav-overlay] { display: block; position: fixed; inset: 0; z-index: 210; background: color-mix(in srgb, CanvasText 45%, transparent); opacity: 0; visibility: hidden; }
  body.nav-lock [data-nav-overlay] { opacity: 1; visibility: visible; }
  html:has(body.nav-lock) { overflow:hidden; }
}
.layout-2col { display: grid; grid-template-columns: 260px 1fr; gap: 28px; align-items: start; }
.layout-2col.layout-aside-right { grid-template-columns: 1fr 260px; }
.layout-3col { display: grid; grid-template-columns: 220px 1fr 220px; gap: 24px; align-items: start; }
.layout-aside { min-width: 0; }
.layout-main { min-width: 0; }
@media (max-width: 860px) {
  .layout-2col, .layout-2col.layout-aside-right, .layout-3col { grid-template-columns: 1fr; }
}
.psk-codewrap { position: relative; margin: 14px 0; }
.psk-codewrap pre { margin: 0; background: #1e1f29; color: #e6e6e6; border-radius: 10px; padding: 16px 16px 16px 18px; overflow-x: auto; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 14px; line-height: 1.6; }
.psk-codewrap pre code { background: none; color: inherit; padding: 0; font: inherit; }
.psk-code-copy { position: absolute; top: 8px; right: 8px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; font-size: 12px; font-weight: 600; color: #e6e6e6; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 7px; cursor: pointer; opacity: 0; transition:all .3s; }
.psk-codewrap:hover .psk-code-copy, .psk-code-copy:focus { opacity: 1; }
.psk-code-copy:hover { background: rgba(255,255,255,.2); }
.psk-code-copy.is-ok { background: #1f9d57; border-color: #1f9d57; }
.psk-codewrap .tok-tag { color: #7ee787; } .psk-codewrap .tok-attr { color: #79c0ff; }
.psk-codewrap .tok-str { color: #ffa657; } .psk-codewrap .tok-com { color: #8b949e; font-style: italic; }
.psk-codewrap .tok-punc { color: #c9d1d9; }
.site-account.site-account--in-nav { display: block; width: 100%; margin-top: 16px; position: static; }
.site-account--in-nav .btn { width: 100%; justify-content: center; }
.site-account--in-nav .site-account-btn { width: 100%; justify-content: space-between; }
.site-account--in-nav .site-account-menu { position: static; display: block; box-shadow: none; border: 0; padding: 4px 0 0; margin: 6px 0 0; min-width: 0; }
.site-account--in-nav .site-account-menu a { padding: 10px 2px; }
.psk-extra-list { display: flex; flex-direction: column; gap: 10px; margin: 20px 0; padding-top: 18px; border-top: 1px solid var(--border-color, #e5e7eb); }
.psk-extra-item { display: flex; gap: 10px; flex-wrap: wrap; font-size: 14px; line-height: 1.5; }
.psk-extra-item-k { flex: 0 0 auto; min-width: 140px; font-weight: 600; color: var(--text-muted, #6b7280); }
.psk-extra-item-v { flex: 1 1 200px; color: var(--text-main, #0f172a); }
.psk-badge-link { color: inherit; text-decoration: none; }
.psk-badge-link:hover { opacity: .75; }
.psk-badge { font-weight: 400; white-space: nowrap; }
.psk-badge .fa-paskad { font-size: 1.05em; color: var(--primary, currentColor); }
.psk-badge b { font-weight: 700; }
.psk-tickets{margin-top:28px;padding:20px;border:1px solid rgba(128,128,128,.2);border-radius:14px;display:flex;flex-direction:column;gap:14px;max-width:520px}
.psk-tk-title{font-size:19px;font-weight:700}
.psk-tk-list{display:flex;flex-direction:column;gap:10px}
.psk-tk-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid rgba(128,128,128,.18);border-radius:10px}
.psk-tk-row.is-sold{opacity:.55}
.psk-tk-info{flex:1;display:flex;flex-direction:column;gap:2px}
.psk-tk-name{font-weight:600}
.psk-tk-left{font-size:15px;opacity:.7}
.psk-tk-price{font-weight:700;white-space:nowrap}
.psk-tk-pick{display:flex;justify-content:flex-end;flex-shrink:0}
.psk-tk-qty{width:72px;height:42px;text-align:center;border:1px solid rgba(128,128,128,.35);border-radius:8px;background:transparent;color:inherit;font-size:15px}
.psk-tk-sold{font-size:15px;font-weight:600;color:#e11d48}
.psk-tk-fields{display:flex;flex-direction:column;gap:10px}
.psk-tk-in{height:44px;padding:0 14px;border:1px solid rgba(128,128,128,.35);border-radius:8px;background:transparent;color:inherit;font-size:15px;width:100%}
.psk-tk-pms{display:flex;flex-wrap:wrap;gap:10px}
.psk-tk-pm{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid rgba(128,128,128,.3);border-radius:8px;cursor:pointer;font-size:15px}
.psk-tk-btn{height:48px;padding:0 22px;border:none;border-radius:10px;background:var(--primary,#a3e635);color:var(--on-primary,#0d0e0f);font-weight:700;font-size:16px;cursor:pointer;align-self:flex-start;transition:all .3s}
.psk-tk-btn:hover{filter:brightness(1.06)}
.psk-tk-btn[aria-busy=true]{opacity:.6;cursor:progress}
.psk-tk-none{opacity:.7}
.psk-tk-err{margin-top:10px;padding:10px 14px;border-radius:8px;background:rgba(220,50,50,.12);color:#dc3232;font-size:15px;line-height:1.4}
.psk-tk-note{margin-top:12px;padding:12px 14px;border-radius:8px;background:rgba(120,120,120,.12);font-size:15px;line-height:1.4;opacity:.85}
@media(max-width:560px){.psk-tickets{padding:16px}.psk-tk-row{flex-wrap:wrap;gap:8px}.psk-tk-pick{justify-content:flex-end}.psk-tk-btn{align-self:stretch;text-align:center}}
.psk-tkv{display:flex;justify-content:center;padding:40px 16px}
.psk-tkv-card{width:100%;max-width:420px;border:1px solid rgba(128,128,128,.2);border-radius:16px;padding:28px 24px;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}
.psk-tkv-head{font-size:22px;font-weight:700}
.psk-tkv-meta{font-size:15px;opacity:.75;display:flex;gap:7px;align-items:center;justify-content:center}
.psk-tkv-qr{width:224px;height:224px;background:#fff;padding:8px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.psk-tkv-qr img,.psk-tkv-qr canvas{display:block;max-width:100%}
.psk-tkv-valid{font-weight:700;color:#16a34a;font-size:16px}
.psk-tkv-used{font-weight:700;color:#e11d48;font-size:16px}
.psk-tkv-err{font-weight:600;color:#e11d48}
.psk-tkv-wait{opacity:.8}
.psk-tkv-lines{width:100%;display:flex;flex-direction:column;gap:6px}
.psk-tkv-line{display:flex;justify-content:space-between;font-size:15px;border-bottom:1px solid rgba(128,128,128,.14);padding-bottom:6px}
.psk-tkv-total{font-weight:700;font-size:17px}
.psk-tkv-no{font-size:15px;opacity:.6;letter-spacing:1px}
.psk-seatmap{max-width:660px}
.seat-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:15px;opacity:.85}
.seat-lg{display:inline-flex;align-items:center;gap:6px}
.evt-tier-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:15px;margin:10px 0 4px}
.evt-tier-lg{display:inline-flex;align-items:center;gap:7px;font-weight:600}
.evt-tier-lg i{width:14px;height:14px;border-radius:4px;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.seat-lg .seat{width:18px;height:18px;min-width:18px;cursor:default;font-size:0}
.seat-stage{text-align:center;background:#334155;color:#fff;border-radius:12px;padding:11px 48px;margin:0 auto;width:-moz-fit-content;width:fit-content;max-width:100%;font-size:13px;font-weight:700;letter-spacing:4px;text-transform:uppercase;box-sizing:border-box}
.seat-map{display:flex;flex-direction:column;align-items:center;gap:16px;overflow-x:auto;padding-bottom:6px}
.seat-section{display:flex;flex-direction:column;align-items:center;gap:6px}
.seat-section-name{font-weight:700;font-size:15px}
.seat-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.seat-row-label{width:22px;min-width:22px;font-size:12px;opacity:.55}
.seat{width:30px;height:30px;min-width:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;font-size:12px;font-weight:600;border:1px solid rgba(128,128,128,.35);cursor:pointer;transition:all .3s;position:relative}
.seat.is-free{background:rgba(22,163,74,.14);border-color:rgba(22,163,74,.4);color:#16a34a}
.seat.is-free input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.seat.is-sel{background:#a3e635;border-color:#a3e635;color:#0d0e0f}
.seat.is-sold{background:rgba(128,128,128,.22);border-color:transparent;color:#8a94a6;cursor:not-allowed}
.seat-summary{font-size:15px;padding:8px 0}
@media(max-width:560px){.seat{width:26px;height:26px;min-width:26px}}
.evt-seatmap-scroll{overflow-x:auto;max-width:100%;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.evt-seatmap-hint{margin:0 0 8px;font-size:15px;color:var(--text-muted)}
.seat-map.evt-seatmap-free{display:block;position:relative;width:660px;height:440px;flex:0 0 auto;background-color:rgba(128,128,128,.05);border:1px solid rgba(128,128,128,.14);border-radius:12px;overflow:hidden}
.evt-hs-zonebook{flex-direction:column;gap:2px;padding:6px 8px;border-radius:10px;border:1px dashed var(--hs-bd,rgba(124,58,237,.6));background:var(--hs-bg,rgba(124,58,237,.1));color:var(--text,#111827);font-size:12px;line-height:1.15;overflow:hidden}
.evt-hs-zonebook.is-sold{opacity:.55}
.evt-zn-name{font-weight:700;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.evt-zn-price{font-weight:600;opacity:.85}
.evt-zn-ctrl{display:inline-flex;align-items:center;gap:4px;margin-top:2px}
.evt-zn-btn{width:24px;height:24px;border-radius:6px;border:1px solid rgba(128,128,128,.4);background:#fff;color:#111827;font-size:15px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.evt-zn-qty{width:44px;height:26px;text-align:center;border:1px solid rgba(128,128,128,.4);border-radius:6px;font-size:13px;padding:0 2px;-moz-appearance:textfield}
.evt-zn-qty::-webkit-outer-spin-button,.evt-zn-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.evt-hs{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;text-align:center;line-height:1.1;border-radius:50%;border:1px solid var(--hs-bd,rgba(128,128,128,.4));background:var(--hs-bg,rgba(22,163,74,.14));color:#16a34a;box-sizing:border-box;padding:2px}
.evt-hs.is-free{cursor:pointer;transition:all .3s}
.evt-hs.is-free input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.evt-hs.is-free:hover{border-color:#16a34a}
.evt-hs.is-sel{background:#a3e635;border-color:#fff;color:#0d0e0f;box-shadow:0 0 0 3px rgba(163,230,53,.5)}
.evt-hs.is-sold{background:rgba(128,128,128,.22);border-color:transparent;color:#8a94a6;cursor:not-allowed}
.evt-hs-table{font-weight:700}
.evt-hs-obstacle{border-radius:6px;background:rgba(128,128,128,.32);border-color:rgba(128,128,128,.5);color:#5f656b}
.evt-hs-label{border:1px solid var(--hs-bd,rgba(128,128,128,.3));background:var(--hs-bg,rgba(128,128,128,.14));color:inherit;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:13px}
.evt-hs-zone{background:rgba(124,58,237,.12);border:1px dashed rgba(124,58,237,.6);color:inherit;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.blog-noimg { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 160px; font-size: 40px; color: currentColor; opacity: .25; }
.psk-pay-badges { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; }
.psk-pay-label { font-size: 14px; color: var(--text-2, var(--text-muted, #6b7280)); }
.psk-pay-icons { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 28px; line-height: 1; color: var(--text-2, var(--text-muted, #6b7280)); }
.psk-pay-row { max-width: 1200px; margin: 0 auto; padding: 0 40px 24px; }
.psk-pay-row .psk-pay-badges { flex-direction: row; align-items: center; justify-content: center; flex-wrap: wrap; margin: 0; }
@media (max-width: 720px) { .psk-pay-row { padding: 0 16px 20px; } }
.psk-map { position: relative; overflow: hidden; min-height: 280px; border-radius: var(--radius, 16px); background: var(--bg-soft, #f3f4f6); }
.psk-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.evt-lineup{display:flex;flex-wrap:wrap;gap:18px}
.evt-person{display:flex;flex-direction:column;align-items:center;gap:6px;width:112px;text-align:center}
.evt-person-pic{width:88px;height:88px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:rgba(128,128,128,.12);color:rgba(128,128,128,.8);font-size:28px}
.evt-person-name{font-weight:700;font-size:15px;line-height:1.3}
.evt-person-role{font-size:15px;line-height:1.3;opacity:.7}
a.evt-person{color:inherit;text-decoration:none;transition:all .5s ease}
a.evt-person .evt-person-pic{transition:all .5s ease}
a.evt-person .evt-person-name{transition:all .5s ease}
a.evt-person:hover{transform:translateY(-3px)}
a.evt-person:hover .evt-person-name{color:var(--primary,#6366f1)}
a.evt-person:hover .evt-person-pic{box-shadow:0 0 0 3px var(--primary,#6366f1)}
.psk-tkv-guest{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:12px;text-align:center}
.psk-tkv-name{font-size:22px;font-weight:800;line-height:1.25}
.psk-tkv-qty{font-size:17px;font-weight:600}
.psk-tkv-ev{font-size:15px;opacity:.75}
.psk-tk-wait{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.psk-tk-wait-t{font-weight:700}
.psk-tk-wait-row{display:flex;gap:10px;flex-wrap:wrap}
.psk-tk-wait-row .psk-tk-in{flex:1 1 220px;min-width:0}
.psk-tk-wait-ok{margin-top:12px;font-weight:600}
.shop-qty { display: inline-flex; align-items: stretch; min-height: 44px; border: 1px solid var(--shop-line, var(--border, rgba(128,128,128,.3))); border-radius: 10px; overflow: hidden; }
.shop-qty-btn { width: 40px; height: auto; align-self: stretch; border: 0; background: var(--shop-line, var(--border, rgba(128,128,128,.3))); color: var(--shop-ink, var(--text, inherit)); font-size: 20px; cursor: pointer; line-height: 1; outline: none; }
.shop-qty-btn:hover { background: var(--shop-primary, var(--primary, #2563eb)); color: var(--shop-on-primary, var(--on-primary, #fff)); }
.shop-qty-btn:focus { outline: none; }
.shop-qty-val { width: 46px; height: auto; min-height: 0; align-self: stretch; padding: 0; border: 0; text-align: center; font-size: 16px; font-weight: 600; color: var(--shop-ink, var(--text, inherit)); background: var(--shop-bg, transparent); outline: none; -moz-appearance: textfield; }
.shop-qty-val:focus { outline: none; }
.shop-qty-val::-webkit-outer-spin-button, .shop-qty-val::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.shop-qty-sm { min-height: 32px; }
.shop-qty-sm .shop-qty-btn { width: 34px; height: 36px; font-size: 17px; }
.shop-qty-sm .shop-qty-val { width: 40px; height: 36px; font-size: 16px; }
.psk-tk-sub{font-size:15px;font-weight:700;margin-top:4px}
.psk-tk-sum{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:10px;background:rgba(128,128,128,.1);font-size:16px}
.psk-tk-sum b{font-size:18px;white-space:nowrap}
.psk-tk-sum:not(.is-on){opacity:.6}
.psk-tk-row .shop-qty-val{font-size:16px}
.psk-tkv-card .psk-tk-btn{display:inline-flex;align-items:center;justify-content:center;align-self:center;text-decoration:none}
.shop-qty-btn:disabled { opacity:.35; cursor:default; }
.psk-tkv .psk-tk-btn, .psk-tickets .psk-tk-btn { color:var(--on-primary,#0d0e0f); text-decoration:none; }
.auth .cf-turnstile { display:flex; justify-content:center; max-width:100%; margin:0 auto 14px; }
@media (max-width:420px) {
  .auth { padding:0 12px; margin-top:32px; }
  .auth .auth-card { padding:24px 14px; }
}
iframe[src^="https://www.youtube-nocookie.com/embed/"], iframe[src^="https://www.youtube.com/embed/"], iframe[src^="https://player.vimeo.com/video/"] { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: 12px; background: #000; }
.psk-post-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 16px; margin: 24px 0; }
.psk-tk-in{outline:none}
.psk-tk-in:hover{border-color:color-mix(in srgb,var(--primary,#2563eb) 45%,rgba(128,128,128,.35))}
.psk-tk-in:focus,.psk-tk-in:focus-visible{outline:none;border-color:var(--primary,#2563eb)}
.psk-tk-pm:hover,.psk-tk-pm:has(input:checked){border-color:var(--primary,#2563eb)}
.psk-tk-pm input[type=radio],.rent-pay-opt input[type=radio]{-webkit-appearance:none;appearance:none;flex:0 0 auto;width:18px;height:18px;min-height:0;margin:0;padding:0;border:2px solid rgba(128,128,128,.55);border-radius:50%;background:transparent;cursor:pointer;outline:none}
.psk-tk-pm input[type=radio]:checked,.rent-pay-opt input[type=radio]:checked{border-color:var(--primary,#2563eb);background:radial-gradient(circle,var(--primary,#2563eb) 0 4px,transparent 5px)}
.psk-tk-pm input[type=radio]:focus-visible,.rent-pay-opt input[type=radio]:focus-visible{outline:none;border-color:var(--primary,#2563eb)}
.psk-tk-pm{box-sizing:border-box;min-height:44px;padding-top:0;padding-bottom:0}
.psk-tk-pm span{line-height:20px}
input[type=number] { -moz-appearance: textfield; appearance: textfield; }
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.shop-reviews { margin: 40px 0 0; padding-top: 28px; border-top: 1px solid var(--shop-line, var(--border, rgba(128,128,128,.25))); }
.shop-reviews-title { font-size: 22px; font-weight: 700; color: var(--shop-ink, var(--text, #1a1d24)); margin: 0 0 18px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.shop-reviews-avg { font-size: 14px; font-weight: 600; color: var(--shop-muted, var(--text-2, var(--text-muted, #6b7280))); display: inline-flex; align-items: center; gap: 6px; }
.shop-reviews-avg .fa-star, .shop-review-stars .fa-star { color: #f5a623; }
.shop-reviews-empty { color: var(--shop-muted, var(--text-2, var(--text-muted, #6b7280))); font-size: 15px; }
.shop-reviews-note { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 20px; padding: 14px 18px; border: 1px solid color-mix(in srgb, var(--shop-primary, var(--primary, #6366f1)) 22%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--shop-primary, var(--primary, #6366f1)) 8%, transparent); color: var(--shop-ink, var(--text, #111)); font-size: 15px; line-height: 1.55; }
.shop-reviews-note .fa-shield-check { flex: 0 0 auto; margin: 2px 0 0; color: var(--shop-primary, var(--primary, #6366f1)); font-size: 18px; }
.shop-reviews-list { display: flex; flex-direction: column; gap: 14px; }
.shop-review { padding: 14px 16px; background: var(--shop-bg, var(--bg-card, var(--surface, #fff))); border: 1px solid var(--shop-line, var(--border, rgba(128,128,128,.25))); border-radius: var(--shop-radius, 14px); }
.shop-review-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 6px; }
.shop-review-author { font-weight: 600; color: var(--shop-ink, var(--text, #1a1d24)); }
.shop-review-stars { font-size: 12px; }
.shop-review-date { color: var(--shop-muted, var(--text-2, var(--text-muted, #6b7280))); font-size: 12px; margin-left: auto; }
.shop-review-body { color: var(--shop-ink, var(--text, #1a1d24)); font-size: 14px; line-height: 1.55; }
.shop-review-form { margin-top: 24px; padding: 18px; background: var(--shop-bg, var(--bg-card, var(--surface, #fff))); border: 1px solid var(--shop-line, var(--border, rgba(128,128,128,.25))); border-radius: var(--shop-radius, 14px); display: flex; flex-direction: column; gap: 12px; }
.shop-review-form-title { margin: 0; font-size: 16px; font-weight: 700; color: var(--shop-ink, var(--text, #1a1d24)); }
.shop-review-pick { display: flex; gap: 4px; }
.shop-star-btn { background: none; border: none; padding: 2px; cursor: pointer; font-size: 22px; color: var(--shop-line, var(--border, rgba(128,128,128,.25))); line-height: 1; transition:all .3s; }
.shop-star-btn.is-on { color: #f5a623; }
.shop-star-btn:hover { transform: scale(1.15); }
.shop-review-name, .shop-review-text { width: 100%; padding: 10px 12px; border: 1px solid var(--shop-line, var(--border, rgba(128,128,128,.25))); border-radius: 8px; font: inherit; font-size: 14px; color: var(--shop-ink, var(--text, #1a1d24)); background: var(--shop-bg, var(--bg-card, var(--surface, #fff))); outline: none; box-sizing: border-box; }
.shop-review-name:focus, .shop-review-text:focus { border-color: var(--shop-primary, var(--primary, #6366f1)); }
.shop-review-text { resize: vertical; min-height: 70px; }
.shop-review-submit { align-self: flex-start; }
.shop-review-msg { font-size: 14px; }
.shop-review-msg.is-ok { color: var(--shop-accent, #16a34a); }
.shop-review-msg.is-err { color: var(--shop-danger, #dc2626); }
.psk-site-reviews-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px 48px; }
.shop-reviews-note a { color: var(--shop-primary, var(--primary, #6366f1)); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGHInHEVA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGGInHEVA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGHInHEVA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGGInHEVA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGHInHEVA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGGInHEVA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --primary:#6366f1; --primary-h:#4f46e5; --on-primary:#fff; --text:#111827; --text-2:#6b7280;
  --bg:#f9fafb; --bg-card:#fff; --bg-soft:#f3f4f6; --border:#e5e7eb; --header-bg:#fff;
  --danger:#ef4444; --danger-bg:rgba(239,68,68,.1); --danger-bd:rgba(239,68,68,.45);
  --success:#10b981; --success-bg:rgba(16,185,129,.13);
  --track:#d1d5db; --knob:#fff; --overlay:rgba(15,23,42,.5);
  --shadow:0 1px 4px rgba(0,0,0,.07); --shadow-lg:0 12px 40px rgba(15,23,42,.18); --radius:12px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --primary:#818cf8; --primary-h:#a5b4fc; --text:#f1f5f9; --text-2:#94a3b8;
    --bg:#0f172a; --bg-card:#1e293b; --bg-soft:#273449; --border:#334155; --header-bg:#1e293b;
    --track:#475569; --overlay:rgba(0,0,0,.62);
    --shadow:0 1px 4px rgba(0,0,0,.25); --shadow-lg:0 12px 40px rgba(0,0,0,.5);
  }
}
[data-theme="dark"] {
  --primary:#818cf8; --primary-h:#a5b4fc; --text:#f1f5f9; --text-2:#94a3b8;
  --bg:#0f172a; --bg-card:#1e293b; --bg-soft:#273449; --border:#334155; --header-bg:#1e293b;
  --track:#475569; --overlay:rgba(0,0,0,.62);
  --shadow:0 1px 4px rgba(0,0,0,.25); --shadow-lg:0 12px 40px rgba(0,0,0,.5);
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
body { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif; background:var(--bg); color:var(--text); line-height:1.25; min-height:100vh; display:flex; flex-direction:column; }
main { flex:1; }
a { color:var(--primary); text-decoration:none; transition:color .15s; }
a:hover { color:var(--primary-h); }
img { max-width:100%; display:block; }
.container { max-width:1200px; margin:0 auto; padding:0 40px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 22px; border-radius:8px; font-size:14px; font-weight:600; cursor:pointer; border:none; transition:.2s; }
.btn-primary { background:var(--primary); color:var(--on-primary); box-shadow:0 2px 10px rgba(0,0,0,.12); }
.btn-primary:hover { background:var(--primary-h); color:var(--on-primary); transform:translateY(-1px); }
.btn-outline { background:transparent; color:var(--text); border:1px solid var(--border); }
.btn-outline:hover { background:var(--bg-card); }
.card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); }
h1 { font-size:clamp(1.75rem,4vw,2.75rem); font-weight:800; letter-spacing:-.03em; line-height:1.15; }
h2 { font-size:clamp(1.35rem,3vw,2rem); font-weight:700; letter-spacing:-.02em; }
h3 { font-size:18px; font-weight:600; }
p:not([class]) { color:var(--text-2); }
.site-header { background:var(--header-bg); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:100; box-shadow:var(--shadow); }
.site-header .container { display:flex; align-items:center; gap:18px; height:64px; }
.site-logo { font-size:17px; font-weight:800; color:var(--text); white-space:nowrap; flex-shrink:0; display:inline-flex; align-items:center; }
.site-logo-img { height:38px; width:auto; max-width:200px; display:block; object-fit:contain; }
.site-nav { flex:1; display:flex; align-items:center; gap:4px; }
.site-nav a { padding:7px 13px; border-radius:8px; font-size:14px; font-weight:500; color:var(--text-2); transition:.15s; }
.site-nav a:hover { background:var(--bg-soft); color:var(--text); }
.site-nav-actions { margin-left:auto; display:flex; align-items:center; gap:10px; }
.site-actions, .site-header-right { flex-shrink:0; display:flex; align-items:center; gap:8px; margin-left:auto; }
.site-user { font-size:13px; font-weight:600; color:var(--primary); padding:7px 10px; }
.site-logout { font-size:13px; color:var(--text-2); }
.site-logout:hover { color:var(--text); }
.nav-toggle { width:42px; height:42px; padding:0; border:none; background:transparent; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:5px; border-radius:9px; flex-shrink:0; }
.nav-toggle:hover { background:var(--bg-soft); }
.nav-toggle span { display:block; width:22px; height:2px; background:var(--text); border-radius:2px; transition:transform .26s ease, opacity .2s ease; }
.site-header.nav-open .nav-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.site-header.nav-open .nav-toggle span:nth-child(2) { opacity:0; }
.site-header.nav-open .nav-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.nav-overlay { display:none; }
.site-account { position:relative; }
.site-account-btn { display:inline-flex; align-items:center; gap:7px; background:transparent; border:1px solid var(--border); border-radius:9px; padding:7px 12px; font-size:14px; font-weight:600; color:var(--text); cursor:pointer; transition:.15s; }
.site-account-btn:hover { background:var(--bg-soft); }
.site-account-btn .fa-chevron-down { font-size:11px; color:var(--text-2); transition:transform .2s; }
.site-account.is-open .site-account-btn .fa-chevron-down { transform:rotate(180deg); }
.site-account-menu { position:absolute; top:calc(100% + 8px); right:0; min-width:190px; background:var(--bg-card); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow-lg); padding:6px; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .18s, transform .18s, visibility .18s; z-index:200; }
.site-account.is-open .site-account-menu { opacity:1; visibility:visible; transform:translateY(0); }
.site-account-menu a { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:8px; font-size:14px; color:var(--text); }
.site-account-menu a:hover { background:var(--bg-soft); }
.site-account-menu a i { width:16px; text-align:center; color:var(--text-2); }
.site-account-logout { color:var(--danger); }
.site-account-logout i { color:var(--danger); }
.site-nav-head { display:none; }
.site-nav-close { width:40px; height:40px; border:none; background:transparent; color:var(--text-2); font-size:20px; cursor:pointer; border-radius:9px; display:flex; align-items:center; justify-content:center; }
.site-nav-close:hover { background:var(--bg-soft); color:var(--text); }
.site-footer { background:var(--header-bg); border-top:1px solid var(--border); padding:30px 0 0; margin-top:auto; }
.site-footer .container { display:flex; flex-direction:column; align-items:stretch; gap:18px; }
.site-footer-copy { font-size:14px; color:var(--text-2); }
.site-footer nav { display:flex; flex-wrap:wrap; gap:10px 20px; }
.site-footer nav a { font-size:13px; color:var(--text-2); }
.site-footer nav a:hover { color:var(--text); }
.hero { padding:80px 20px; text-align:center; }
.hero-inner { max-width:640px; margin:0 auto; }
.hero h1 { margin-bottom:16px; }
.hero-accent { color:var(--primary); }
.hero p { font-size:18px; margin-bottom:36px; max-width:480px; margin-left:auto; margin-right:auto; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.features { padding:0 20px 80px; }
.features-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; }
.feature-ico { font-size:28px; margin-bottom:12px; }
.card h3 { margin-bottom:8px; }
.card > p { font-size:14px; }
.page { max-width:1200px; margin:0 auto; padding:60px 40px; }
.page h1 { margin-bottom:16px; }
.page h2 { margin:28px 0 12px; }
.page p { margin-bottom:14px; }
.page ul { margin:0 0 14px 22px; color:var(--text-2); }
.page .lead { font-size:17px; margin-bottom:28px; }
.page .updated { font-size:13px; color:var(--text-2); margin-bottom:24px; }
.blog { max-width:1200px; margin:0 auto; padding:60px 40px; }
.blog-title { margin-bottom:8px; }
.blog-sub { font-size:15px; color:var(--text-2); margin-bottom:40px; }
.blog-back { font-size:13px; color:var(--text-2); display:inline-block; margin-bottom:24px; text-decoration:none; }
.blog-back:hover { color:var(--primary); }
.blog-list { display:flex; flex-direction:column; gap:12px; }
.blog-item { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; background:var(--bg-card); border:1px solid var(--border); border-radius:12px; }
.blog-item-title { font-size:15px; font-weight:600; margin:0; }
.blog-item-title a { color:var(--text); text-decoration:none; }
.blog-item-title a:hover { color:var(--primary); }
.blog-item-date { font-size:12px; color:var(--text-2); white-space:nowrap; flex-shrink:0; }
.blog-cats { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.blog-cat { display:inline-flex; align-items:center; padding:6px 14px; border:1px solid var(--border); border-radius:20px; font-size:13px; font-weight:500; color:var(--text-2); background:var(--bg-card); transition:.15s; }
.blog-cat:hover { color:var(--primary); border-color:var(--primary); }
.post { max-width:1200px; margin:0 auto; padding:60px 40px; }
.post-body { max-width:820px; }
.post-title { margin-bottom:12px; }
.post-meta { font-size:13px; color:var(--text-2); margin-bottom:32px; padding-bottom:24px; border-bottom:1px solid var(--border); }
.post-body { line-height:1.8; }
.post-body p { margin-bottom:16px; }
.post-body img { max-width:100%; height:auto; border-radius:10px; }
.contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-top:24px; }
.contact-ico { font-size:22px; color:var(--primary); margin-bottom:10px; }
.contact-item h3 { font-size:14px; margin-bottom:4px; }
.contact-item p { font-size:14px; margin:0; line-height:1.5; }
.contact-item a { color:inherit; text-decoration:none; }
.contact-item a:hover { color:var(--primary); }
.err { padding:80px 20px; text-align:center; }
.err-code { font-size:clamp(5rem,15vw,8rem); font-weight:900; color:var(--primary); line-height:1; margin-bottom:16px; }
.err h1 { margin-bottom:12px; }
.err p { margin-bottom:36px; max-width:420px; margin-left:auto; margin-right:auto; }
.auth { max-width:402px; margin:60px auto; padding:0 20px; }
.auth-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:30px; text-align:center; }
.auth-field, .auth .btn, .auth-alt, .auth-sep, .cf-turnstile, .auth-terms, .auth-secure { max-width:300px; margin-left:auto; margin-right:auto; }
.auth-card h1 { font-size:24px; margin-bottom:10px; }
.auth-sub { font-size:14px; color:var(--text-2); margin-bottom:20px; }
.auth-label { display:block; text-align:left; font-size:13px; color:var(--text-2); margin-bottom:10px; }
.auth-field { display:block; width:100%; height:46px; padding:0 15px; margin-bottom:15px; border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--text); font-size:15px; outline:none; box-sizing:border-box; }
.auth-field:focus { border-color:var(--primary); }
.auth-field-phone, .auth-field-lock, .auth-field-tg, .auth-field-mail {
  padding-left:41px; background-repeat:no-repeat; background-position:12px center; background-size:18px 18px;
}
.auth-field-phone { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.auth-field-lock { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'%3E%3C%2Frect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.auth-field-tg { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='22' y1='2' x2='11' y2='13'%3E%3C%2Fline%3E%3Cpolygon points='22 2 15 22 11 13 2 9 22 2'%3E%3C%2Fpolygon%3E%3C%2Fsvg%3E"); }
.auth-field-mail { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'%3E%3C%2Frect%3E%3Cpath d='M2 7l10 6 10-6'%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.auth .btn { width:100%; height:46px; }
.auth-sep { display:flex; align-items:center; gap:10px; margin:20px 0; color:var(--text-2); font-size:12px; }
.auth-sep::before, .auth-sep::after { content:''; flex:1; height:1px; background:var(--border); }
.cf-turnstile { display:flex; justify-content:center; margin-bottom:15px; min-height:65px; }
.auth-alt { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:0 15px; height:46px; border-radius:8px; font-size:14px; font-weight:600; border:1px solid var(--border); color:var(--text); margin-bottom:10px; }
.auth-alt:hover { background:var(--bg); }
.auth-alt img, .auth-alt svg { width:18px; height:18px; flex-shrink:0; }
.auth-terms { margin-top:18px; padding-top:16px; border-top:1px solid var(--border); font-size:11px; line-height:1.5; color:var(--text-2); text-align:center; }
.auth-terms a { color:var(--primary); text-decoration:none; }
.auth-terms a:hover { text-decoration:underline; }
.auth-secure { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:12px; font-size:12px; color:var(--text-2); }
.auth-secure i { color:var(--success, #16a34a); }
.psk-notify { padding:10px 15px; border-radius:8px; margin-bottom:15px; font-size:14px; text-align:center; }
.psk-notify--error { background:var(--danger-bg); color:var(--danger); }
.psk-notify--success { background:var(--success-bg); color:var(--success); }
.psk-profile { max-width:860px; margin:40px auto; padding:0 16px; }
.psk-card { background:var(--bg-card); border-radius:14px; border:1px solid var(--border); box-shadow:var(--shadow); padding:28px 32px; margin-bottom:20px; }
.psk-card-title { font-size:15px; font-weight:700; color:var(--text); margin:0 0 20px; padding-bottom:14px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:8px; }
.psk-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:600px){ .psk-row { grid-template-columns:1fr; } }
.psk-field { display:flex; flex-direction:column; gap:5px; }
.psk-label { font-size:12px; font-weight:600; color:var(--text-2); text-transform:uppercase; letter-spacing:.4px; }
.psk-input { padding:10px 14px; border:1px solid var(--border); border-radius:8px; font-size:14px; line-height:1.5; color:var(--text); background:var(--bg-card); outline:none; transition:border-color .15s; width:100%; box-sizing:border-box; }
.psk-input:focus { border-color:var(--primary); }
.psk-input[readonly] { background:var(--bg); color:var(--text-2); cursor:not-allowed; }
.psk-avatar-wrap { display:flex; align-items:center; gap:20px; margin-bottom:20px; }
.psk-avatar-img { width:80px; height:80px; border-radius:50%; object-fit:cover; border:2px solid var(--border); flex-shrink:0; }
.psk-avatar-btns { display:flex; flex-direction:column; align-items:stretch; gap:8px; min-width:0; }
.psk-avatar-btns .psk-btn { white-space:nowrap; text-align:center; }
@media (max-width:600px) { .psk-avatar-wrap { gap:14px; } .psk-avatar-btns { flex:1; } }
.psk-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:9px 18px; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; border:none; transition:.15s; text-decoration:none; }
.psk-btn-primary { background:var(--primary); color:var(--on-primary); }
.psk-btn-primary:hover { background:var(--primary-h); }
.psk-btn-outline { background:transparent; border:1px solid var(--border); color:var(--text); }
.psk-btn-outline:hover { background:var(--bg); }
.psk-btn-danger { background:transparent; border:1px solid var(--danger-bd); color:var(--danger); }
.psk-btn-danger:hover { background:var(--danger-bg); }
.psk-toggle-row { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--border); }
.psk-toggle-row:last-child { border-bottom:none; }
.psk-toggle-info { display:flex; flex-direction:column; gap:2px; }
.psk-toggle-label { font-size:14px; font-weight:500; color:var(--text); }
.psk-toggle-desc { font-size:12px; color:var(--text-2); }
.psk-switch { position:relative; display:inline-block; width:40px; height:22px; flex-shrink:0; }
.psk-switch input { opacity:0; width:0; height:0; }
.psk-slider { position:absolute; inset:0; background:var(--track); border-radius:22px; transition:.2s; cursor:pointer; }
.psk-slider:before { content:''; position:absolute; width:16px; height:16px; left:3px; top:3px; background:var(--knob); border-radius:50%; transition:.2s; }
.psk-switch input:checked + .psk-slider { background:var(--primary); }
.psk-switch input:checked + .psk-slider:before { transform:translateX(18px); }
.psk-switch input:disabled + .psk-slider { opacity:.4; cursor:not-allowed; }
.psk-conn { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--border); }
.psk-conn:last-child { border-bottom:none; }
.psk-conn-left { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:500; color:var(--text); }
.psk-conn-badge { font-size:11px; font-weight:600; padding:3px 8px; border-radius:20px; }
.psk-badge-ok { background:var(--success-bg); color:var(--success); }
.psk-badge-no { background:var(--bg-soft); color:var(--text-2); }
.psk-pass-section { display:none; }
.psk-pass-section.visible { display:block; padding-top:16px; margin-bottom:6px; border-bottom:1px solid var(--border); }
.psk-bottom-bar { display:flex; justify-content:space-between; align-items:center; padding-top:20px; border-top:1px solid var(--border); margin-top:4px; }
.psk-bottom-actions { display:flex; gap:10px; align-items:center; }
.psk-logout { color:var(--danger); font-size:13px; font-weight:600; text-decoration:none; }
.psk-logout:hover { text-decoration:underline; }
.psk-readonly { padding:10px 14px; border:1px solid var(--border); border-radius:8px; font-size:14px; line-height:1.5; color:var(--text-2); background:var(--bg); width:100%; box-sizing:border-box; }
.psk-file-hidden { display:none; }
.psk-btn-sm { font-size:12px; padding:6px 14px; }
.psk-modal { position:fixed; inset:0; background:var(--overlay); display:none; align-items:center; justify-content:center; z-index:9999; }
.psk-modal-box { background:var(--bg-card); padding:20px; border-radius:14px; max-width:500px; width:92%; text-align:center; }
.psk-modal-box.sm { max-width:380px; padding:30px; }
.psk-crop-area { max-height:380px; overflow:hidden; margin-bottom:16px; }
.psk-crop-area img { max-width:100%; transition:none; }
.psk-modal-actions { display:flex; justify-content:space-between; gap:10px; }
.psk-modal-actions .psk-btn { flex:1; }
.psk-modal-title { margin:0 0 8px; }
.psk-modal-desc { font-size:13px; color:var(--text-2); margin-bottom:20px; }
.psk-modal-input { width:100%; padding:14px; border-radius:8px; border:1px solid var(--border); background:var(--bg); color:var(--text); font-size:16px; text-align:center; letter-spacing:2px; margin-bottom:16px; box-sizing:border-box; outline:none; }
.psk-btn-tg { flex:1; background:#2AABEE; color:var(--on-primary); border:none; border-radius:8px; padding:10px; font-weight:600; font-size:14px; cursor:pointer; }
.psk-form-error { color:var(--danger); font-size:13px; margin-bottom:12px; }
.auth-tg-ico { color:#2AABEE; }
@media (max-width:1023px) {
  .container { padding:0 24px; }
  .page, .blog, .post { padding:48px 24px; }
  .hero { padding:60px 20px; }
  .features { padding:0 20px 60px; }
  .psk-profile { padding:0 24px; }
}
@media (max-width:860px) {
  [data-site-header] .site-nav a { padding:13px 14px; font-size:15px; font-weight:500; border-radius:10px; color:var(--text); }
  [data-site-header] .site-nav a:hover { background:var(--bg-soft); }
  .site-nav-actions { margin:14px 0 0; padding-top:14px; border-top:1px solid var(--border); flex-direction:column; align-items:stretch; gap:8px; }
  .site-nav-actions .btn { width:100%; }
  .site-account-name { max-width:90px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
@media (max-width:699px) {
  .container { padding:0 16px; }
  .page, .blog, .post { padding:32px 16px; }
  .psk-profile { margin:24px auto; padding:0 16px; }
  .psk-card { padding:22px 18px; }
  .site-header .container { height:58px; gap:12px; }
  .site-logo { min-width:0; max-width:38vw; overflow:hidden; text-overflow:ellipsis; }
  .site-footer .container { align-items:center; text-align:center; gap:12px; }
  .site-footer-top { justify-content:center; }
  .site-footer-social { margin-left:0; }
  .site-footer nav { justify-content:center; }
  .blog-item { flex-direction:column; align-items:flex-start; gap:4px; }
  .hero { padding:48px 16px; }
  .hero p { font-size:16px; }
  .features { padding:0 16px 48px; }
}
.psk-preview-bar { position:fixed; left:50%; bottom:20px; transform:translateX(-50%); z-index:99999; display:flex; align-items:center; gap:14px; background:#111827; color:var(--on-primary); padding:10px 18px; border-radius:30px; box-shadow:0 10px 30px rgba(0,0,0,.35); font-size:14px; max-width:92vw; }
.psk-preview-bar b { color:#a3ff00; }
.psk-preview-bar a { color:var(--on-primary); text-decoration:underline; font-size:13px; white-space:nowrap; }
.site-footer-top { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; width: 100%; }
.site-footer-contacts { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; }
.site-footer-contacts a, .site-footer-contacts span { color: var(--text-2); text-decoration: none; font-size: 14px; display: inline-flex; align-items: center; gap: 7px; }
.site-footer-contacts a:hover { color: var(--primary); }
.site-footer-social { display: flex; gap: 10px; margin-left: auto; }
.site-footer-social a { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bg-soft); color: var(--text-2); text-decoration: none; transition: background .15s, color .15s; }
.site-footer-social a:hover { background: var(--primary); color: var(--on-primary); }
.pg-wrap { max-width: 1200px; margin: 0 auto; padding: clamp(32px,6vw,72px) 40px; }
@media (max-width: 720px) { .pg-wrap { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .pg-wrap { padding-left: 16px; padding-right: 16px; } }
.pg-eyebrow { display: inline-block; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--primary); font-weight: 600; }
.pg-title { font-size: clamp(32px,5vw,52px); line-height: 1.05; margin: 14px 0 0; color: var(--text); }
.pg-lead { font-size: 18px; line-height: 1.6; color: var(--text-2); max-width: 640px; margin: 20px 0 0; }
.pg-body { font-size: 16px; line-height: 1.7; color: var(--text-2); max-width: 640px; margin: 28px 0 0; }
.pg-grid3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin: 36px 0 0; }
.pg-card { background: var(--bg-soft); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; text-align: center; }
.pg-card-n { font-size: 28px; font-weight: 700; color: var(--text); }
.pg-card-l { font-size: 13px; color: var(--text-2); margin-top: 4px; }
.pg-contact-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin: 32px 0 0; }
.pg-contact { display: flex; flex-direction: column; gap: 6px; background: var(--bg-soft); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; text-decoration: none; transition: border-color .15s, transform .15s; }
.pg-contact:hover { border-color: var(--primary); transform: translateY(-2px); }
.pg-contact-ic { width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--primary) 14%, transparent); color: var(--primary); font-size: 17px; margin-bottom: 6px; }
.pg-contact-k { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-2); }
.pg-contact-v { font-size: 16px; color: var(--text); font-weight: 500; word-break: break-word; }
@media (max-width: 700px) { .pg-grid3, .pg-contact-grid { grid-template-columns: 1fr; } }
.psk-acc { max-width: 1140px; margin: 40px auto; padding: 0 16px; }
.psk-acc-layout { display: grid; grid-template-columns: 280px 1fr; gap: 20px; align-items: start; }
.psk-acc-side { background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow); padding: 16px; position: sticky; top: 88px; }
.psk-acc-user { display: flex; gap: 12px; align-items: center; padding: 6px 6px 16px; border-bottom: 1px solid var(--border); margin-bottom: 12px; }
.psk-acc-ava { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: none; background: var(--bg-soft, var(--bg)); }
.psk-acc-user-info { min-width: 0; }
.psk-acc-user-name { font-weight: 700; font-size: 15px; line-height: 1.2; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.psk-acc-user-meta { font-size: 13px; line-height: 1.2; color: var(--text-2); margin-top: 2px; }
.psk-acc-nav { display: flex; flex-direction: column; gap: 3px; }
.psk-acc-link { display: flex; align-items: center; gap: 11px; padding: 11px 13px; border-radius: 10px; border: none; background: none; color: var(--text-2); font-size: 14px; font-weight: 600; cursor: pointer; text-align: left; width: 100%; text-decoration: none; font-family: inherit; transition: background .12s, color .12s; }
.psk-acc-link i { width: 18px; text-align: center; font-size: 15px; }
.psk-acc-link:hover { background: var(--bg-soft, var(--bg)); color: var(--text); }
.psk-acc-link.is-active { background: color-mix(in srgb, var(--primary) 12%, transparent); color: var(--primary); }
.psk-acc-logout { color: var(--primary); margin-top: 10px; padding-top: 16px; border-top: 1px solid var(--border); border-radius: 0; }
.psk-acc-main { background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow); padding: 28px 32px; min-height: 320px; }
.psk-acc-section { display: none; animation: pskFade .18s ease; }
.psk-acc-section.is-active { display: block; }
@keyframes pskFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.psk-acc-h { font-size: 20px; font-weight: 700; color: var(--text); margin: 0 0 4px; }
.psk-acc-sub { font-size: 14px; color: var(--text-2); margin: 0 0 22px; }
.psk-acc-save { margin-top: 24px; }
.psk-acc-save .psk-btn { padding: 11px 28px; font-size: 14px; min-height: 43px; }
.psk-acc-section .psk-row { margin-bottom: 18px; }
.psk-acc-section .psk-row:last-child { margin-bottom: 0; }
.psk-fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
.psk-fgrid > .psk-field:first-child:nth-last-child(3) { grid-column: 1 / -1; }
@media (max-width: 600px) { .psk-fgrid { grid-template-columns: 1fr; } }
.psk-acc-conn-title { font-size: 13px; font-weight: 700; color: var(--text); margin: 22px 0 10px; }
.psk-acc-admin { color: var(--text-2); }
.psk-conn-ico-g { color: #ea4335; width: 18px; }
.psk-conn-ico-t { color: #2aabee; width: 18px; }
.psk-field-empty { display: none; }
@media (max-width: 820px) {
  .psk-acc-layout { grid-template-columns: 1fr; }
  .psk-acc-side { position: static; }
  .psk-acc-nav { flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .psk-acc-link { width: auto; flex: 1 1 calc(50% - 3px); }
  .psk-acc-logout { flex-basis: 100%; width: 100%; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--border); }
  .psk-field-empty { display: none; }
}
@media (min-width: 601px) { .psk-acc-main .psk-row { grid-template-columns: 1fr 1fr; } }
.psk-informer { position: relative; background: var(--primary, #6366f1); color: var(--on-primary, #fff); font-size: 13px; }
.psk-informer-in { max-width: 1200px; margin: 0 auto; padding: 9px 46px; display: flex; align-items: center; justify-content: center; gap: 9px; text-align: center; line-height: 1.4; }
.psk-informer-in > i { font-size: 13px; opacity: .9; flex: none; }
.psk-informer-text, .psk-informer-link { color: inherit; }
.psk-informer-link { text-decoration: underline; font-weight: 600; }
.psk-informer-link:hover { text-decoration: none; }
.psk-informer-x { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); background: none; border: 0; color: inherit; opacity: .7; cursor: pointer; font-size: 14px; line-height: 1; padding: 4px 6px; }
.psk-informer-x:hover { opacity: 1; }
.psk-informer.is-closing { display: none; }
@media (max-width: 560px) { .psk-informer-in { font-size: 12px; padding: 8px 40px; } }
:root {
    --bg: #f4f1ec;
    --bg-card: #ffffff;
    --bg-soft: #ebe7df;
    --text: #171410;
    --text-2: #6b6559;
    --border: #e0dace;
    --header-bg: rgba(244, 241, 236, .92);
    --radius: 16px;
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --bg: #0f0d0a;
        --bg-card: #181510;
        --bg-soft: #221d16;
        --text: #f2eee6;
        --text-2: #9b9686;
        --border: #2e2820;
        --header-bg: rgba(15, 13, 10, .92);
    }
}
[data-theme="dark"] {
    --bg: #0f0d0a;
    --bg-card: #181510;
    --bg-soft: #221d16;
    --text: #f2eee6;
    --text-2: #9b9686;
    --border: #2e2820;
    --header-bg: rgba(15, 13, 10, .92);
}
body { font-family: "Inter", system-ui, -apple-system, sans-serif; }
h1, h2, h3, .site-logo, .shop-title, .shop-product-title, .ol-logo-name {
    font-family: "Bricolage Grotesque", "Inter", sans-serif;
    font-weight: 800;
    letter-spacing: -.02em;
}
.btn-primary, .shop-add { font-weight: 700; }
.ol-topbar { background: var(--text); color: var(--bg); text-align: center; font-size: 13px; font-weight: 600; padding: 9px 16px; letter-spacing: .01em; }
.ol-topbar b { color: var(--primary); }
.ol-header { position: sticky; top: 0; z-index: 40; background: var(--header-bg); backdrop-filter: blur(14px); border-bottom: 1px solid var(--border); }
.ol-header .container { display: none; }
.ol-header-row { max-width: 1180px; margin: 0 auto; padding: 0 24px; min-height: 66px; display: flex; align-items: center; gap: 16px; }
.ol-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text); }
.ol-logo-mark { width: 34px; height: 34px; border-radius: 10px; background: var(--primary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 17px; flex: none; }
.ol-logo-name { font-size: 19px; }
.ol-nav { display: flex; align-items: center; gap: 20px; margin-left: 8px; }
.ol-nav a { font-size: 15px; font-weight: 600; color: var(--text-2); text-decoration: none; padding: 6px 2px; }
.ol-nav a:hover { color: var(--text); }
.ol-spacer { flex: 1; }
.ol-actions { display: flex; align-items: center; gap: 8px; }
.ol-footer { border-top: 1px solid var(--border); background: var(--bg-card); margin-top: 40px; }
.ol-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 28px; padding: clamp(40px, 5vw, 60px) 24px 28px; max-width: 1180px; margin: 0 auto; }
.ol-foot-logo { display: flex; align-items: center; gap: 10px; }
.ol-foot-logo-name { font-family: "Bricolage Grotesque", "Inter", sans-serif; font-weight: 800; font-size: 18px; color: var(--text); }
.ol-foot-desc { font-size: 14px; color: var(--text-2); margin: 13px 0 0; max-width: 280px; line-height: 1.55; }
.ol-foot-social { display: flex; gap: 12px; margin-top: 16px; font-size: 16px; }
.ol-foot-social a { color: var(--text-2); }
.ol-foot-social a:hover { color: var(--primary); }
.ol-foot-h { font-weight: 700; font-size: 14px; margin-bottom: 12px; color: var(--text); }
.ol-foot-col { display: flex; flex-direction: column; gap: 9px; font-size: 14px; }
.ol-foot-col a, .ol-foot-contacts span { color: var(--text-2); text-decoration: none; }
.ol-foot-col a:hover { color: var(--primary); }
.ol-footer-bottom { border-top: 1px solid var(--border); padding: 18px 24px; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; font-size: 13px; color: var(--text-2); max-width: 1180px; margin: 0 auto; }
.ol-footer-bottom strong { color: var(--text); }
@media (max-width: 760px) { .ol-footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; } }
.ol-hero { max-width: 1180px; margin: 0 auto; padding: clamp(28px, 4vw, 52px) 24px 10px; }
.ol-hero-card { position: relative; border-radius: calc(var(--radius) + 4px); overflow: hidden; border: 1px solid var(--border); min-height: clamp(300px, 30vw, 360px); display: flex; align-items: center; background: #2a1810; }
.ol-hero-bg { position: absolute; top: 0; right: 0; bottom: 0; width: 50%; background-color: #8a5a3c; background-image: var(--ph, repeating-linear-gradient(135deg, rgba(0,0,0,.06) 0 14px, rgba(0,0,0,0) 14px 30px)); background-size: cover; background-position: center; }
.ol-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #2a1810 0%, rgba(42,24,16,.55) 22%, rgba(42,24,16,0) 55%); }
.ol-hero-body { position: relative; padding: clamp(26px, 4vw, 50px); max-width: 600px; color: #fff; }
@media (max-width: 860px) {
    .ol-hero-card { min-height: clamp(320px, 86vw, 420px); align-items: flex-end; }
    .ol-hero-bg { left: 0; width: auto; }
    .ol-hero-bg::after { background: linear-gradient(0deg, rgba(0,0,0,.66), rgba(0,0,0,.1)); }
}
.ol-hero-badge { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border-radius: 999px; background: var(--primary); color: #fff; font-size: 13px; font-weight: 700; }
.ol-hero-title { font-family: "Bricolage Grotesque", "Inter", sans-serif; font-weight: 800; font-size: clamp(30px, 3.8vw, 46px); line-height: 1.02; letter-spacing: -.02em; margin: 18px 0 0; color: #fff; }
.ol-hero-desc { font-size: 16px; opacity: .92; max-width: 440px; margin: 14px 0 0; }
.ol-hero-cta { display: flex; gap: 12px; margin-top: 26px; flex-wrap: wrap; }
.ol-hero-btn2 { padding: 14px 24px; border: 1px solid rgba(255,255,255,.5); background: rgba(255,255,255,.1); color: #fff; font-size: 15px; font-weight: 600; border-radius: var(--radius); text-decoration: none; backdrop-filter: blur(4px); }
.ol-feats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; padding: clamp(32px, 4vw, 52px) 24px 0; max-width: 1180px; margin: 0 auto; }
.ol-feat { border: 1px solid var(--border); background: var(--bg-card); border-radius: var(--radius); padding: 20px; display: flex; gap: 14px; align-items: flex-start; }
.ol-feat-ic { width: 42px; height: 42px; border-radius: 12px; background: color-mix(in srgb, var(--primary) 12%, transparent); color: var(--primary); display: flex; align-items: center; justify-content: center; font-size: 17px; flex: none; }
.ol-feat-h { font-weight: 700; font-size: 15px; margin: 0 0 3px; color: var(--text); }
.ol-feat p { font-size: 13px; color: var(--text-2); line-height: 1.5; margin: 0; }
@media (max-width: 760px) { .ol-feats { grid-template-columns: 1fr; } }
.ol-home-cats { max-width: 1180px; margin: 0 auto; padding: clamp(40px,5vw,72px) 24px 0; }
.ol-home-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.ol-home-title { font-family: "Bricolage Grotesque", "Inter", sans-serif; font-weight: 800; font-size: clamp(24px,3vw,34px); letter-spacing: -.02em; margin: 0; color: var(--text); }
.ol-home-more { color: var(--primary); font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; }
.ol-home-more:hover { text-decoration: underline; }
.ol-cats-grid { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: auto auto; gap: 16px; }
.ol-cat-tile { position: relative; display: block; border-radius: calc(var(--radius) + 4px); overflow: hidden; min-height: 210px; text-decoration: none; border: 1px solid var(--border); }
.ol-cat-tile-lg { grid-row: 1 / span 2; }
.ol-cat-ph { position: absolute; inset: 0; background-image: var(--ph, repeating-linear-gradient(135deg, color-mix(in srgb, var(--primary) 18%, var(--bg-soft)) 0 22px, var(--bg-soft) 22px 44px)); background-size: cover; background-position: center; transition: transform .4s ease; }
.ol-cat-tile:hover .ol-cat-ph { transform: scale(1.04); }
.ol-cat-cap { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 5px; padding: 26px; background: linear-gradient(transparent 42%, rgba(0,0,0,.5)); }
.ol-cat-k { color: #fff; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; opacity: .88; }
.ol-cat-t { font-family: "Bricolage Grotesque", "Inter", sans-serif; color: #fff; font-weight: 800; font-size: clamp(20px,2.2vw,28px); line-height: 1.05; }
.ol-home-perks { max-width: 1180px; margin: 0 auto; padding: clamp(40px,5vw,64px) 24px; display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.ol-perk { display: flex; align-items: flex-start; gap: 14px; padding: 22px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-card); }
.ol-perk-ic { flex: none; width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--primary) 14%, transparent); color: var(--primary); font-size: 18px; }
.ol-perk b { display: block; font-size: 15px; color: var(--text); margin-bottom: 3px; }
.ol-perk small { color: var(--text-2); font-size: 13px; line-height: 1.5; }
.ol-home-cta { max-width: 1180px; margin: 0 auto clamp(40px,6vw,80px); padding: clamp(32px,4vw,54px); border-radius: calc(var(--radius) + 6px); background: var(--text); color: var(--bg); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.ol-cta-title { font-family: "Bricolage Grotesque", "Inter", sans-serif; font-weight: 800; font-size: clamp(26px,3.4vw,40px); letter-spacing: -.02em; margin: 0; color: var(--bg); }
.ol-cta-sub { margin: 12px 0 0; max-width: 460px; opacity: .82; font-size: 15px; line-height: 1.55; }
.ol-cta-btn { flex: none; }
@media (max-width: 760px) {
    .ol-cats-grid { grid-template-columns: 1fr; }
    .ol-cat-tile-lg { grid-row: auto; }
    .ol-home-perks { grid-template-columns: 1fr; }
    .ol-home-cta { flex-direction: column; align-items: flex-start; }
}
.site-wish { position: relative; display: inline-flex; align-items: center; color: var(--text); text-decoration: none; font-size: 18px; padding: 4px; }
.site-wish:hover { color: var(--primary); }
.site-wish-count { position: absolute; top: -4px; right: -6px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background: var(--primary); color: var(--on-primary, #fff); font-size: 10px; font-weight: 700; display: none; align-items: center; justify-content: center; }
.site-wish-count.has { display: inline-flex; }
.ol-blog { max-width: 1200px; margin: 0 auto; padding: clamp(28px,5vw,60px) 40px; }
@media (max-width: 720px) { .ol-blog { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 560px) { .ol-blog { padding-left: 16px; padding-right: 16px; } }
.ol-blog-head { text-align: center; margin-bottom: 34px; }
.ol-blog-title { font-size: clamp(34px,5vw,60px); margin: 10px 0 0; }
.ol-blog-sub { color: var(--text-2); margin: 12px 0 0; }
.ol-blog-cats { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 28px; }
.ol-blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 20px; }
.ol-blog-card { border: 1px solid var(--border); border-radius: calc(var(--radius) + 4px); overflow: hidden; background: var(--bg-card); transition: transform .15s, box-shadow .15s; }
.ol-blog-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,.08); }
.ol-blog-card-link { display: flex; flex-direction: column; gap: 10px; padding: 28px; text-decoration: none; color: var(--text); height: 100%; }
.ol-blog-card-date { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); }
.ol-blog-card-title { font-size: 19px; line-height: 1.3; margin: 0; }
.ol-blog-card-more { color: var(--primary); font-weight: 600; font-size: 14px; }
.site-logo-img { height: 34px; width: auto; }
html{scroll-behavior:smooth}
:where([id]){scroll-margin-top:88px}
.ol-hero-desc { color: rgba(255,255,255,.93); opacity: 1; text-shadow: 0 1px 12px rgba(0,0,0,.5); }
.ol-cta-sub { color: var(--bg); opacity: .92; }
:focus:not(:focus-visible) { outline: none; }
.site-account { position:relative; margin-left:8px; }
.site-account .btn { min-height:0; padding:5px 22px; }
.afisha-page { padding:48px 0 64px; }
.afisha-head { margin-bottom:30px; }
.afisha-head h1 { font-size:clamp(26px,4vw,38px); margin:0 0 8px; }
.afisha-head p { color:var(--text-2); margin:0; }
.afisha-back { display:inline-block; font-size:13px; color:var(--primary); text-decoration:none; margin-bottom:10px; }
.afisha-back:hover { text-decoration:underline; }
.afisha-cat { margin-bottom:40px; }
.afisha-cat-name { font-size:18px; margin:0 0 18px; padding-bottom:10px; border-bottom:1px solid var(--border); }
.afisha-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:22px; }
.afisha-empty { color:var(--text-2); padding:20px 0; }
.afisha-card { display:flex; flex-direction:column; background:var(--bg-card); border:1px solid var(--border); border-radius:16px; overflow:hidden; transition:transform .2s, box-shadow .2s, border-color .2s; }
.afisha-card:hover { transform:translateY(-4px); box-shadow:0 16px 36px color-mix(in srgb, var(--text) 10%, transparent); border-color:color-mix(in srgb, var(--primary) 40%, var(--border)); }
.afisha-card-img { position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--header-bg); }
.afisha-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.afisha-card:hover .afisha-card-img img { transform:scale(1.05); }
.afisha-card-date { position:absolute; left:12px; top:12px; background:var(--primary); color:#fff; font-size:12px; font-weight:700; border-radius:8px; padding:5px 10px; }
.afisha-card-b { padding:16px 18px 18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.afisha-card-t { font-size:17px; margin:0; line-height:1.3; }
.afisha-card-t a { color:var(--text); text-decoration:none; }
.afisha-card-t a:hover { color:var(--primary); }
.afisha-card-meta { display:flex; flex-direction:column; gap:5px; font-size:13px; color:var(--text-2); }
.afisha-card-meta i { width:15px; color:var(--primary); margin-right:5px; }
.afisha-btn { margin-top:auto; align-self:flex-start; background:var(--primary); color:#fff; font-size:14px; font-weight:600; padding:9px 18px; border-radius:10px; text-decoration:none; transition:filter .15s; }
.afisha-btn:hover { filter:brightness(1.08); }
.afisha-event { padding:48px 0 64px; }
.afisha-event h1 { font-size:clamp(26px,4vw,38px); margin:0 0 16px; }
.afisha-event-img { aspect-ratio:21/9; border-radius:16px; overflow:hidden; background:var(--header-bg); background-size:cover; background-position:center; margin-bottom:18px; }
.afisha-event-meta { font-size:14px; color:var(--text-2); margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--border); }
.afisha-event-body { line-height:1.8; margin-bottom:24px; }
.afisha-event-body p { margin-bottom:16px; }
.extra-fields { display:grid; grid-template-columns:max-content 1fr; gap:8px 16px; margin:0 0 24px; font-size:14px; }
.extra-fields dt { color:var(--text-2); }
.extra-fields dd { margin:0; }
.evt-page { padding:48px 0 64px; }
.evt-head { margin-bottom:30px; }
.evt-head h1 { font-size:clamp(26px,4vw,38px); margin:0 0 8px; }
.evt-head p { color:var(--text-2); margin:0; }
.evt-back { display:inline-block; font-size:13px; color:var(--primary); text-decoration:none; margin-bottom:10px; }
.evt-back:hover { text-decoration:underline; }
.evt-cat { margin-bottom:40px; }
.evt-cat-name { font-size:18px; margin:0 0 18px; padding-bottom:10px; border-bottom:1px solid var(--border); }
.evt-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:22px; }
.evt-empty { color:var(--text-2); padding:20px 0; }
.evt-card { display:flex; flex-direction:column; background:var(--bg-card); border:1px solid var(--border); border-radius:16px; overflow:hidden; transition:transform .2s, box-shadow .2s, border-color .2s; }
.evt-card:hover { transform:translateY(-4px); box-shadow:0 16px 36px color-mix(in srgb, var(--text) 10%, transparent); border-color:color-mix(in srgb, var(--primary) 40%, var(--border)); }
.evt-card-img { position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--header-bg); }
.evt-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.evt-card:hover .evt-card-img img { transform:scale(1.05); }
.evt-card-date { position:absolute; left:12px; top:12px; background:var(--primary); color:#fff; font-size:12px; font-weight:700; border-radius:8px; padding:5px 10px; }
.evt-card-b { padding:16px 18px 18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.evt-card-t { font-size:17px; margin:0; line-height:1.3; }
.evt-card-t a { color:var(--text); text-decoration:none; }
.evt-card-t a:hover { color:var(--primary); }
.evt-card-meta { display:flex; flex-direction:column; gap:5px; font-size:13px; color:var(--text-2); }
.evt-card-meta i { width:15px; color:var(--primary); margin-right:5px; }
.evt-btn { margin-top:auto; align-self:flex-start; background:var(--primary); color:#fff; font-size:14px; font-weight:600; padding:9px 18px; border-radius:10px; text-decoration:none; transition:filter .15s; }
.evt-btn:hover { filter:brightness(1.08); }
.evt-event { padding:48px 0 64px; }
.evt-event h1 { font-size:clamp(26px,4vw,38px); margin:0 0 16px; }
.evt-event-img { aspect-ratio:21/9; border-radius:16px; overflow:hidden; background:var(--header-bg); background-size:cover; background-position:center; margin-bottom:18px; }
.evt-event-meta { font-size:14px; color:var(--text-2); margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--border); }
.evt-event-body { line-height:1.8; margin-bottom:24px; }
.evt-event-body p { margin-bottom:16px; }
body:has([data-psk-notice="strip"]) .ol-topbar { display: none; }
.ol-blog-card-excerpt { flex: 1; }
.ol-blog-card-img { display: block; margin: -28px -28px 8px; aspect-ratio: 16 / 10; overflow: hidden; background: var(--bg-soft); }
.ol-blog-card-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ol-blog-card:hover .ol-blog-card-img img { transform: scale(1.04); }
.blog-item.ol-blog-card { padding: 0; display: block; }
.psk-bns-scope .psk-bns { border-radius: calc(var(--radius) + 8px); overflow: hidden; }
.psk-book {
  container-type: inline-size;
  --pb-accent: var(--primary, #6366f1);
  --pb-fg: var(--on-primary, #fff);
  --pb-surface: var(--surface, var(--bg-card, #fff));
  --pb-field: var(--bg, var(--bg-soft, #f6f7f9));
  --pb-text: var(--text, var(--text-main, #16111f));
  --pb-muted: var(--text-muted, var(--muted, #6e6580));
  --pb-border: var(--border, var(--border-color, rgba(22, 17, 31, .14)));
  --pb-radius: var(--radius, 14px);
  --pb-soft: color-mix(in srgb, var(--pb-accent) 16%, transparent);
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(36px, 4vw, 64px) 24px clamp(48px, 6vw, 80px);
  scroll-margin-top: 80px;
}
[data-booking].is-picked .psk-book-card { border-color: var(--pb-accent); }
.psk-book-card {
  border-radius: 20px;
  background: var(--pb-surface);
  border: 1px solid var(--pb-border);
  padding: clamp(28px, 3.5vw, 44px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: clamp(28px, 3.5vw, 52px);
  align-items: start;
}
.psk-book-eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--pb-accent);
}
.psk-book-title {
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 700;
  letter-spacing: -.02em;
  margin: 10px 0 0;
  color: var(--pb-text);
}
.psk-book-lead {
  font-size: 15px;
  color: var(--pb-muted);
  margin: 14px 0 0;
  line-height: 1.55;
}
.psk-book-form {
  border: 1px solid var(--pb-border);
  border-radius: 16px;
  padding: 22px;
  background: var(--pb-field);
  display: flex;
  flex-direction: column;
}
.psk-book-flabel {
  font-size: 12px;
  font-weight: 700;
  color: var(--pb-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 8px;
}
.psk-book-field {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--pb-border);
  border-radius: 10px;
  background: var(--pb-surface);
  color: var(--pb-text);
  font-size: 14px;
  font-family: inherit;
  margin-bottom: 16px;
  box-sizing: border-box;
}
.psk-book-services { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.psk-book-svc {
  flex: 1 1 auto;
  padding: 10px 14px;
  border: 1px solid var(--pb-border);
  border-radius: 10px;
  background: var(--pb-surface);
  color: var(--pb-text);
  font-size: 14px;
  font-family: inherit;
  cursor: pointer;
}
.psk-book-field:focus { outline: none; border-color: var(--pb-accent); }
.psk-book-days {
  display: flex;
  gap: 7px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.psk-book-day {
  flex: 1;
  min-width: 52px;
  padding: 8px 4px;
  border: 1px solid var(--pb-border);
  border-radius: 10px;
  background: var(--pb-surface);
  color: var(--pb-text);
  cursor: pointer;
  text-align: center;
}
.psk-book-dow { display: block; font-size: 11px; opacity: .7; }
.psk-book-num { display: block; font-size: 16px; font-weight: 700; }
.psk-book-slots {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
  margin-bottom: 18px;
}
.psk-book-slot {
  padding: 10px 4px;
  border: 1px solid var(--pb-border);
  border-radius: 10px;
  background: var(--pb-surface);
  color: var(--pb-text);
  font-size: 14px;
  cursor: pointer;
}
.psk-book-svc:hover,
.psk-book-day:hover,
.psk-book-slot:hover { border-color: var(--pb-accent); }
.psk-book-svc.is-active,
.psk-book-day.is-active,
.psk-book-slot.is-active {
  background: var(--pb-accent);
  border-color: var(--pb-accent);
  color: var(--pb-fg);
}
.psk-book-submit {
  width: 100%;
  padding: 15px;
  border: none;
  border-radius: var(--pb-radius);
  background: var(--pb-accent);
  color: var(--pb-fg);
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}
.psk-book-submit:hover { filter: brightness(1.08); }
.psk-book-submit.is-loading { opacity: .75; cursor: progress; }
.psk-book-submit.is-ok { background: #1f9d57; }
.psk-book-submit.is-err { background: #d23f3f; }
.psk-book-note {
  font-size: 13px;
  text-align: center;
  margin-top: 10px;
  min-height: 18px;
  color: var(--pb-muted);
}
.psk-book-note.is-ok { color: #1f9d57; }
.psk-book-note.is-err { color: #d23f3f; }
.psk-book-note:empty { display: none; }
.psk-book-pay {
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--pb-soft);
  color: var(--pb-text);
  font-size: 15px;
  line-height: 1.45;
}
.psk-book-pay[hidden] { display: none; }
.psk-book-pay-opts { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; }
.psk-book-pay-opt { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 15px; }
.psk-book-pay-opt input { accent-color: var(--pb-accent); width: 18px; height: 18px; margin: 0; }
@media (max-width: 760px) {
  .psk-book-card { grid-template-columns: 1fr; }
  .psk-book-slots { grid-template-columns: repeat(3, 1fr); }
}
@container (max-width: 620px) {
  .psk-book-form { border: 0; background: none; padding: 0; border-radius: 0; }
  .psk-book-card { padding: 24px; gap: 20px; }
  .psk-book-title { font-size: 24px; line-height: 1.18; }
  .psk-book-eyebrow { font-size: 12px; }
  .psk-book-sub { font-size: 13px; }
}
.psk-book-slot:disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.psk-book-slot:disabled:hover { border-color: var(--pb-border); }
.psk-book-none { margin: -8px 0 16px; color: var(--pb-muted); font-size: 15px; }
.psk-book-none[hidden] { display: none; }
:root {
    --shop-bg: var(--bg-card, #fff);
    --shop-line: var(--border, #e7e9ee);
    --shop-ink: var(--text, #1a1d24);
    --shop-muted: var(--text-2, #6b7280);
    --shop-ctl-h: 42px;
    --shop-accent: #16a34a;
    --shop-primary: var(--primary, #6366f1);
    --shop-on-primary: var(--on-primary, #fff);
    --shop-danger: #dc2626;
    --shop-radius: 14px;
    --shop-shadow: var(--shadow-lg, 0 6px 24px rgba(20, 24, 40, .08));
}
.shop, .shop-product { max-width: 1200px; margin: 0 auto; padding: 60px 40px; }
@media (max-width: 720px) { .shop, .shop-product { padding: 48px 24px; } }
@media (max-width: 560px) { .shop, .shop-product { padding: 32px 16px; } }
.shop-banners { max-width: 1200px; margin: 0 auto; padding: 60px 40px 0; }
@media (max-width: 720px) { .shop-banners { padding: 48px 24px 0; } }
@media (max-width: 560px) { .shop-banners { padding: 32px 16px 0; } }
.shop-banners .psk-bns { margin: 0; }
.shop-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.shop-title { font-size: 30px; font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin: 0; color: var(--shop-ink); }
.shop-back { display: inline-flex; align-items: center; gap: 6px; color: var(--shop-muted); text-decoration: none; font-size: 14px; margin-bottom: 6px; }
.shop-back:hover { color: var(--shop-primary); }
.shop-cart-btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--shop-ink); color: #fff; border: 0; cursor: pointer;
    padding: 11px 18px; border-radius: 999px; font-size: 15px; font-weight: 600;
    transition:all .3s;
}
.shop-cart-btn:hover { transform: translateY(-1px); opacity: .92; }
.shop-cart-count {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px;
    background: var(--shop-accent); color: #fff; font-size: 12px; font-weight: 700;
}
.shop-cart-count:not(.has) { opacity: .55; }
.site-cart { position: relative; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; cursor: pointer; color: inherit; font-size: 20px; padding: 6px 8px; line-height: 1; }
.site-cart:hover { opacity: .75; }
.site-cart-count { position: absolute; top: -1px; right: -2px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; background: var(--shop-primary); color: var(--shop-on-primary); font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.site-cart-count:not(.has) { display: none; }
.site-wish, .site-compare { position: relative; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; cursor: pointer; color: inherit; font-size: 20px; padding: 6px 8px; line-height: 1; text-decoration: none; }
.site-wish:hover, .site-compare:hover { opacity: .75; }
.site-wish-count, .site-compare-count { position: absolute; top: -1px; right: -2px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; background: var(--shop-primary); color: var(--shop-on-primary); font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.site-wish-count:not(.has), .site-compare-count:not(.has) { display: none; }
.site-count { position: absolute; top: -1px; right: -2px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; background: var(--shop-primary); color: var(--shop-on-primary); font-size: 11px; font-weight: 700; font-style: normal; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.site-count:not(.has) { display: none; }
.shop-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 22px; }
.shop-toolbar .shop-search { margin-bottom: 0; flex: 1; min-width: 240px; }
.shop-cats-dd { position: relative; }
.shop-cats-toggle { display: inline-flex; align-items: center; gap: 9px; min-height: var(--shop-ctl-h, 42px); box-sizing: border-box; padding: 0 18px; border-radius: 999px; border: 1px solid var(--shop-line); background: var(--shop-bg); color: var(--shop-ink); font-size: 14px; font-weight: 600; cursor: pointer; transition:all .3s; white-space: nowrap; }
.shop-cats-toggle:hover { border-color: var(--shop-primary); }
.shop-cats-toggle .fa-bars { color: var(--shop-primary); }
.shop-cats-cur { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shop-cats-chev { font-size: 11px; color: var(--shop-muted); transition:all .3s; }
.shop-cats-dd.is-open .shop-cats-chev { transform: rotate(180deg); }
.shop-cats-panel { position: absolute; top: calc(100% + 8px); left: 0; z-index: 50; width: max-content; max-width: min(680px, 92vw); max-height: 62vh; overflow-y: auto; overscroll-behavior: contain; background: var(--shop-bg); border: 1px solid var(--shop-line); border-radius: 14px; box-shadow: var(--shop-shadow); padding: 12px; display: none; flex-wrap: wrap; gap: 7px; align-content: flex-start; }
.shop-cats-dd.is-open .shop-cats-panel { display: flex; }
.shop-cats-group { width: 100%; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: var(--shop-muted); padding: 10px 2px 2px; }
.shop-cats-group:first-child { padding-top: 0; }
.shop-cat-link { display: inline-flex; align-items: center; gap: 5px; padding: 7px 13px; border-radius: 999px; border: 1px solid var(--shop-line); background: var(--shop-bg); color: var(--shop-ink); text-decoration: none; font-size: 13px; transition:all .3s; }
.shop-cat-link:hover { border-color: var(--shop-primary); color: var(--shop-primary); }
.shop-cat-link.is-active { background: var(--shop-primary); color: var(--shop-on-primary); border-color: var(--shop-primary); }
.shop-cat-cnt { color: var(--shop-muted); font-size: 11px; }
.shop-cat-ic { flex: none; font-size: 13px; opacity: .8; }
.shop-cat-img { flex: none; width: 20px; height: 20px; border-radius: 50%; overflow: hidden; }
.shop-cat-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.shop-cat-link.is-active .shop-cat-cnt { color: var(--shop-on-primary); opacity: .85; }
@media (max-width: 560px) { .shop-cats-dd { width: 100%; } .shop-cats-toggle { width: 100%; justify-content: center; } .shop-cats-panel { max-width: 92vw; left: 0; right: 0; } }
.shop-search { display: flex; align-items: center; position: relative; max-width: 520px; }
.shop-search-ic { position: absolute; left: 15px; color: var(--shop-muted); font-size: 14px; pointer-events: none; }
.shop-search input { flex: 1; min-width: 0; min-height: var(--shop-ctl-h, 42px); box-sizing: border-box; border: 1px solid var(--shop-line); border-right: 0; border-radius: 999px 0 0 999px; padding: 0 14px 0 40px; font-size: 15px; color: var(--shop-ink); background: var(--shop-bg); outline: none; }
.shop-search input:focus { border-color: var(--shop-primary); }
.shop-search-btn { display: inline-flex; align-items: center; justify-content: center; min-height: var(--shop-ctl-h, 42px); box-sizing: border-box; border: 1px solid var(--shop-primary); background: var(--shop-primary); color: var(--shop-on-primary); padding: 0 22px; border-radius: 0 999px 999px 0; cursor: pointer; font-size: 15px; font-weight: 600; white-space: nowrap; }
.shop-search-btn:hover { opacity: .9; }
.shop-search-sug { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 50; background: var(--shop-bg); border: 1px solid var(--shop-line); border-radius: 12px; box-shadow: var(--shop-shadow); max-height: 70vh; overflow-y: auto; }
.shop-sug-item { display: flex; align-items: center; gap: 12px; padding: 9px 12px; text-decoration: none; border-bottom: 1px solid var(--shop-line); }
.shop-sug-item:last-child { border-bottom: 0; }
.shop-sug-item:hover { background: var(--shop-line); }
.shop-sug-img { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 8px; overflow: hidden; background: var(--shop-line); display: flex; align-items: center; justify-content: center; color: var(--shop-muted); }
.shop-sug-img img { width: 100%; height: 100%; object-fit: cover; }
.shop-sug-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.shop-sug-title { color: var(--shop-ink); font-size: 14px; font-weight: 600; line-height: 1.25; }
.shop-sug-price { color: var(--shop-primary); font-weight: 700; font-size: 14px; }
.shop-sug-price s { color: var(--shop-muted); font-weight: 400; font-size: 12px; }
.shop-sug-oos { display: inline-block; margin-left: 6px; font-size: 11px; color: var(--shop-muted); font-weight: 400; }
.shop-sug-empty { padding: 18px; text-align: center; color: var(--shop-muted); font-size: 14px; }
.shop-sug-did { padding: 12px 18px; border-bottom: 1px solid var(--shop-line); color: var(--shop-muted); font-size: 15px; }
.shop-sug-did a { color: var(--shop-primary); font-weight: 600; }
.shop-search-note { grid-column: 1 / -1; margin: 0 0 16px; color: var(--shop-muted); font-size: 16px; }
.shop-search-note a { color: var(--shop-primary); font-weight: 600; text-decoration: underline; }
.shop-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }
.shop-card {
    display: flex; flex-direction: column; background: var(--shop-bg);
    border: 1px solid var(--shop-line); border-radius: var(--shop-radius); overflow: hidden;
    transition:all .3s;
}
.shop-card:hover { transform: translateY(-3px); box-shadow: var(--shop-shadow); border-color: color-mix(in srgb, var(--shop-primary) 35%, var(--shop-line)); }
.shop-card-img { display: block; position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: var(--shop-line); }
.shop-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition:all .3s; }
.shop-card:hover .shop-card-img img { transform: scale(1.04); }
.shop-card-body { display: flex; flex-direction: column; gap: 10px; padding: 14px; flex: 1; }
.shop-card-title { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.3; }
.shop-card-title a { color: var(--shop-ink); text-decoration: none; }
.shop-card-title a:hover { color: var(--shop-primary); }
.shop-card-prices { margin-top: auto; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.shop-price { font-size: 19px; font-weight: 800; color: var(--shop-ink); }
.shop-old { font-size: 14px; color: var(--shop-muted); text-decoration: line-through; }
.shop-noimg {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 100%; color: var(--shop-muted); font-size: 34px; background: var(--shop-line);
}
.shop-out { display: inline-block; color: var(--shop-muted); font-size: 14px; font-weight: 600; padding: 6px 0; }
.shop-empty-list { grid-column: 1 / -1; text-align: center; color: var(--shop-muted); padding: 48px 0; }
.shop-add { min-height: var(--shop-ctl-h, 42px); box-sizing: border-box; justify-content: center; align-items: center; transition:all .3s; }
.shop-add:hover { transform: translateY(-1px); box-shadow: 0 4px 14px color-mix(in srgb, var(--shop-primary) 30%, transparent); }
*:has(> .shop-card-step) { flex-wrap: wrap; }
.shop-card-step {
    display: flex; align-items: stretch; flex: 0 0 auto; width: 100%; min-width: 124px; min-height: 42px; box-sizing: border-box;
    border-radius: 8px; overflow: hidden; background: var(--shop-primary); color: var(--shop-on-primary);
    user-select: none; box-shadow: none;
}
.shop-card-step-btn {
    flex: 0 0 42px; border: 0; background: transparent; color: inherit;
    font-size: 20px; font-weight: 600; line-height: 1; cursor: pointer; transition:all .3s;
    display: flex; align-items: center; justify-content: center;
}
.shop-card-step-btn:hover { background: rgba(0, 0, 0, .16); }
.shop-card-step-btn:active { background: rgba(0, 0, 0, .30); }
.shop-card-step-btn:disabled { opacity: .4; cursor: default; background: transparent; }
.shop-card-step-val {
    flex: 1; min-width: 0; width: 100%; align-self: stretch; text-align: center;
    outline: 0; cursor: text; box-shadow: none;
    appearance: none; -webkit-appearance: none; -moz-appearance: textfield;
    background: color-mix(in srgb, var(--shop-primary) 14%, var(--shop-bg));
    color: var(--shop-ink);
    border: 0;
    border-left: 1px solid color-mix(in srgb, var(--shop-primary) 30%, var(--shop-bg));
    border-right: 1px solid color-mix(in srgb, var(--shop-primary) 30%, var(--shop-bg));
    font-family: inherit; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.shop-card-step-val:focus, .shop-card-step-val:focus-visible { outline: none; box-shadow: none; }
.shop-card:has(.shop-old) .shop-card-img::after {
    content: "Акція"; position: absolute; top: 10px; left: 10px;
    background: var(--shop-danger); color: #fff; font-size: 11px; font-weight: 700;
    letter-spacing: .3px; padding: 4px 9px; border-radius: 999px; pointer-events: none;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--shop-danger) 45%, transparent);
}
.shop-card-prices:has(.shop-old) .shop-price,
.shop-product-prices:has(.shop-old) .shop-price { color: var(--shop-danger); }
.psk-pagination { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; align-items: center; margin-top: 34px; }
.psk-pagination a {
    min-width: 40px; height: 40px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--shop-line); border-radius: 10px; color: var(--shop-ink); text-decoration: none; font-weight: 600; transition:all .3s;
}
.psk-pagination a.active, .psk-pagination a:hover { background: var(--shop-primary); color: var(--shop-on-primary); border-color: var(--shop-primary); }
.psk-pagination a.active { pointer-events: none; }
.psk-pagination .pg-arrow { font-size: 20px; line-height: 1; }
.psk-pagination .pg-gap { min-width: 24px; text-align: center; color: var(--shop-muted); user-select: none; }
.shop-product-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.shop-product-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; align-items: start; }
.shop-product-media { border: 1px solid var(--shop-line); border-radius: var(--shop-radius); overflow: hidden; background: var(--shop-line); aspect-ratio: 1 / 1; position: sticky; top: 88px; align-self: start; }
.shop-product-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.shop-noimg-lg { font-size: 64px; }
.shop-product-media:has(.shop-gallery) { border: 0; border-radius: 0; overflow: visible; background: transparent; aspect-ratio: auto; }
.shop-gallery { display: flex; flex-direction: column; gap: 10px; }
.shop-gallery-main { position: relative; border: 1px solid var(--shop-line); border-radius: var(--shop-radius); overflow: hidden; background: var(--shop-line); aspect-ratio: 1 / 1; cursor: zoom-in; }
.shop-gallery-main.is-swipe { cursor: grab; }
.shop-gallery-main.is-dragging { cursor: grabbing; }
.shop-gallery-zoom { position: absolute; top: 10px; right: 10px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(20, 24, 40, .55); color: #fff; font-size: 15px; cursor: zoom-in; display: flex; align-items: center; justify-content: center; opacity: 0; transition:all .3s; }
.shop-gallery-main:hover .shop-gallery-zoom { opacity: 1; }
.shop-gallery-thumbs { display: flex; flex-wrap: wrap; gap: 8px; }
.shop-gallery-thumb { width: 64px; height: 64px; padding: 0; border: 2px solid var(--shop-line); border-radius: 10px; overflow: hidden; background: var(--shop-line); cursor: pointer; transition:all .3s; }
.shop-gallery-thumb:hover, .shop-gallery-thumb.is-active { border-color: var(--shop-primary); }
.shop-lb { position: fixed; inset: 0; z-index: 99999; background: rgba(10, 12, 18, .93); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition:all .3s; }
.shop-lb.is-open { opacity: 1; visibility: visible; }
.shop-lb-img { max-width: 90vw; max-height: 86vh; object-fit: contain; border-radius: 8px; box-shadow: 0 12px 48px rgba(0, 0, 0, .55); user-select: none; -webkit-user-drag: none; }
.shop-lb.is-swipe .shop-lb-img { cursor: grab; }
.shop-lb.is-dragging, .shop-lb.is-dragging .shop-lb-img { cursor: grabbing; }
.shop-lb-close, .shop-lb-nav { position: absolute; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition:all .3s; }
.shop-lb-close:hover, .shop-lb-nav:hover { background: rgba(255, 255, 255, .26); }
.shop-lb-close { top: 18px; right: 22px; }
.shop-lb-nav { top: 50%; transform: translateY(-50%); }
.shop-lb-prev { left: 20px; }
.shop-lb-next { right: 20px; }
.shop-lb-nav[hidden] { display: none; }
.shop-lb-counter { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); color: #fff; font-size: 14px; background: rgba(0, 0, 0, .42); padding: 5px 14px; border-radius: 999px; }
@media (max-width: 699px) { .shop-lb-nav { width: 42px; height: 42px; } .shop-lb-prev { left: 8px; } .shop-lb-next { right: 8px; } }
.shop-product-title { font-size: 28px; font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin: 0 0 10px; color: var(--shop-ink); }
.shop-product-sku { color: var(--shop-muted); font-size: 15px; margin-bottom: 14px; }
.shop-product-prices { display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; }
.shop-product-prices .shop-price { font-size: 30px; }
.shop-product-prices .shop-old { font-size: 18px; }
.shop-instock { color: var(--shop-accent); font-weight: 600; font-size: 14px; margin-bottom: 18px; display: flex; align-items: center; gap: 6px; }
.shop-out-lg { font-size: 16px; margin-bottom: 18px; }
.shop-product-buy { display: flex; align-items: stretch; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 26px; }
.shop-add-lg { width: auto; padding: 13px 26px; font-size: 16px; }
.shop-product-info { min-width: 0; }
.shop-product-desc { color: var(--shop-ink); line-height: 1.75; border-top: 1px solid var(--shop-line); padding-top: 24px; font-size: 15px; overflow-wrap: break-word; word-break: break-word; }
.shop-product-desc > *:first-child { margin-top: 0; }
.shop-product-desc > li { margin-left: 20px; }
.shop-product-desc p { margin: 0 0 14px; }
.shop-product-desc ul, .shop-product-desc ol { margin: 0 0 16px; padding-left: 22px; }
.shop-product-desc li { margin-bottom: 8px; padding-left: 4px; }
.shop-product-desc li::marker { color: var(--shop-primary); font-weight: 700; }
.shop-product-desc h2 { font-size: 20px; font-weight: 800; margin: 28px 0 12px; }
.shop-product-desc h3 { font-size: 17px; font-weight: 700; margin: 22px 0 10px; }
.shop-product-desc h4 { font-size: 15px; font-weight: 700; margin: 18px 0 8px; }
.shop-product-desc strong, .shop-product-desc b { color: var(--shop-ink); font-weight: 700; }
.shop-product-desc a { color: var(--shop-primary); text-decoration: underline; }
.shop-product-desc img { max-width: 100%; height: auto; border-radius: 10px; margin: 12px 0; }
.shop-product-desc table { width: 100%; border-collapse: collapse; margin: 12px 0 18px; font-size: 14px; }
.shop-product-desc th, .shop-product-desc td { text-align: left; padding: 9px 12px; border: 1px solid var(--shop-line); }
.shop-product-desc thead th, .shop-product-desc tr:nth-child(even) td { background: var(--shop-bg); }
.shop-attrs td:first-child { color: var(--shop-muted); width: 42%; }
.shop-swatches { margin: 0 0 22px; }
.shop-swatch-label { font-size: 13px; font-weight: 600; color: var(--shop-muted); margin-bottom: 9px; }
.shop-swatch-row { display: flex; flex-wrap: wrap; gap: 9px; }
.shop-swatch { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px; border-radius: 999px; border: 1px solid var(--shop-line); background: var(--shop-bg); color: var(--shop-ink); font-size: 13px; font-weight: 600; cursor: pointer; transition:all .3s; }
.shop-swatch:has(.shop-swatch-dot) { padding-left: 9px; }
.shop-swatch:hover { border-color: var(--shop-primary); }
.shop-swatch.is-active { border-color: var(--shop-primary); box-shadow: 0 0 0 1px var(--shop-primary) inset; }
.shop-swatch-dot { width: 16px; height: 16px; border-radius: 50%; flex: none; box-shadow: 0 0 0 1px rgba(0,0,0,.12) inset; }
.shop-swatch-name { white-space: nowrap; }
.shop-specs { border-top: 1px solid var(--shop-line); margin-top: 24px; padding-top: 22px; }
.shop-specs-h { font-size: 16px; font-weight: 800; color: var(--shop-ink); margin-bottom: 14px; }
.shop-specs-list { display: flex; flex-direction: column; }
.shop-spec { display: flex; gap: 16px; padding: 9px 0; border-bottom: 1px dashed var(--shop-line); font-size: 14px; }
.shop-spec:last-child { border-bottom: 0; }
.shop-spec-k { color: var(--shop-muted); flex: none; width: 42%; }
.shop-spec-v { color: var(--shop-ink); font-weight: 600; }
@media (max-width: 600px) {
  .shop-product-buy { flex-wrap: nowrap; gap: 10px; }
  .shop-product-buy .shop-qty { flex: none; }
  .shop-product-buy .shop-add { flex: 1 1 auto; width: auto; }
}
.shop-cart-drawer { position: fixed; inset: 0; z-index: 9999; }
.shop-cart-overlay { position: absolute; inset: 0; background: rgba(15, 18, 28, .45); animation: shopFade .2s ease; }
.shop-cart-panel {
    position: absolute; top: 0; right: 0; height: 100%; width: 420px; max-width: 100%;
    background: var(--shop-bg); display: flex; flex-direction: column;
    box-shadow: -8px 0 40px rgba(15, 18, 28, .2); animation: shopSlide .24s cubic-bezier(.22,.61,.36,1);
}
@keyframes shopFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes shopSlide { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes shopFadeOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes shopSlideOut { from { transform: translateX(0); } to { transform: translateX(100%); } }
.shop-cart-drawer.is-closing .shop-cart-panel { animation: shopSlideOut .24s cubic-bezier(.22,.61,.36,1) forwards; }
.shop-cart-drawer.is-closing .shop-cart-overlay { animation: shopFadeOut .2s ease forwards; }
.shop-cart-header { display: flex; align-items: center; justify-content: space-between; padding: 20px 22px; border-bottom: 1px solid var(--shop-line); }
.shop-cart-header h2 { margin: 0; font-size: 19px; font-weight: 700; color: var(--shop-ink); }
.shop-cart-x { border: 0; background: none; font-size: 18px; color: var(--shop-muted); cursor: pointer; padding: 6px; line-height: 1; }
.shop-cart-x:hover { color: var(--shop-ink); }
.shop-cart-scroll { flex: 1; overflow-y: auto; padding: 12px 22px; }
.shop-cart-empty { text-align: center; color: var(--shop-muted); padding: 56px 0; }
.shop-cart-item { display: grid; grid-template-columns: 60px 1fr auto; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--shop-line); align-items: start; }
.shop-ci-img { width: 60px; height: 60px; border-radius: 10px; overflow: hidden; background: var(--shop-line); }
.shop-ci-img img { width: 100%; height: 100%; object-fit: cover; }
.shop-ci-img .shop-noimg { font-size: 20px; }
.shop-ci-main { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.shop-ci-title { color: var(--shop-ink); text-decoration: none; font-weight: 600; font-size: 16px; line-height: 1.3; }
.shop-ci-title:hover { color: var(--shop-primary); }
.shop-ci-price { color: var(--shop-muted); font-size: 15px; }
.shop-ci-controls { display: flex; align-items: center; gap: 10px; margin-top: 2px; }
.shop-ci-remove { border: 0; background: none; color: var(--shop-muted); cursor: pointer; font-size: 16px; padding: 4px; }
.shop-ci-remove:hover { color: var(--shop-danger); }
.shop-ci-line { font-weight: 800; color: var(--shop-ink); white-space: nowrap; font-size: 16px; }
.shop-cart-foot { padding: 18px 22px; border-top: 1px solid var(--shop-line); display: flex; flex-direction: column; gap: 12px; }
.shop-cart-total { display: flex; align-items: center; justify-content: space-between; font-size: 16px; color: var(--shop-muted); }
.shop-cart-total strong { font-size: 22px; color: var(--shop-ink); }
.shop-cart-foot .btn { width: 100%; min-height: 52px; justify-content: center; font-size: 16px; }
.shop-cart-next[disabled] { opacity: .5; cursor: not-allowed; }
.shop-checkout-form { display: flex; flex-direction: column; gap: 14px; padding: 6px 0 4px; }
.shop-field { display: flex; flex-direction: column; gap: 6px; }
.shop-field span { font-size: 15px; font-weight: 600; color: var(--shop-ink); }
.shop-field input, .shop-field textarea {
    border: 1px solid var(--shop-line); border-radius: 10px; padding: 11px 13px; font-size: 15px;
    font-family: inherit; color: var(--shop-ink); background: transparent; width: 100%; box-sizing: border-box;
}
.shop-field input:focus, .shop-field textarea:focus { outline: none; border-color: var(--shop-primary); }
.shop-field textarea { resize: vertical; min-height: 56px; }
textarea { resize: vertical; max-height: 70vh; }
.shop-order-msg { color: var(--shop-danger); font-size: 13px; min-height: 16px; }
.shop-cart-back { border: 0; background: none; font-size: 16px; color: var(--shop-muted); cursor: pointer; padding: 6px; line-height: 1; margin-right: 4px; }
.shop-cart-back:hover { color: var(--shop-ink); }
.shop-cart-header h2 { flex: 1; }
.shop-delivery { display: flex; flex-direction: column; gap: 9px; padding: 2px 0; }
.shop-field-title { font-size: 13px; font-weight: 600; color: var(--shop-ink); }
.shop-radio { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--shop-ink); cursor: pointer; }
.shop-radio input { accent-color: var(--shop-primary); width: 16px; height: 16px; }
.shop-deliv-input { border: 1px solid var(--shop-line); border-radius: 10px; padding: 11px 13px; font-size: 15px; font-family: inherit; color: var(--shop-ink); background: transparent; width: 100%; box-sizing: border-box; margin-top: 2px; }
.shop-deliv-input:focus { outline: none; border-color: var(--shop-primary); }
.shop-np { display: flex; flex-direction: column; gap: 9px; }
.shop-np-field { position: relative; }
.shop-np-sug { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 60; background: var(--shop-bg); border: 1px solid var(--shop-line); border-radius: 10px; box-shadow: var(--shop-shadow); max-height: 240px; overflow-y: auto; }
.shop-np-opt { padding: 9px 12px; font-size: 14px; color: var(--shop-ink); cursor: pointer; border-bottom: 1px solid var(--shop-line); }
.shop-np-opt:last-child { border-bottom: 0; }
.shop-np-opt:hover { background: var(--shop-line); }
.shop-deliv-input[disabled] { opacity: .55; cursor: not-allowed; }
.shop-np-map { height: 240px; border-radius: 12px; overflow: hidden; border: 1px solid var(--shop-line); margin-top: 2px; z-index: 1; }
.shop-np-map .leaflet-container { font-family: inherit; background: #e9edf2; }
.shop-np-map .leaflet-control-attribution { display: none; }
.shop-np-pin { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: #fff; color: #da291c; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,.35); border: 1px solid rgba(0,0,0,.15); }
.shop-np-pin.is-locker { color: #1a1a1a; }
.shop-np-pin .shop-np-logo { width: 100%; height: 100%; padding: 4px; box-sizing: border-box; display: block; }
.shop-np-pin.is-active { box-shadow: 0 0 0 3px #1a73e8, 0 3px 8px rgba(0,0,0,.5); transform: scale(1.18); }
.shop-np-legend { background: #fff; border-radius: 8px; padding: 6px 9px; font-size: 11px; color: #333; box-shadow: 0 1px 5px rgba(0,0,0,.22); display: flex; flex-direction: column; gap: 4px; line-height: 1.5; }
.shop-np-legend .shop-np-sw { display: inline-block; width: 12px; height: 12px; border-radius: 3px; background: #da291c; vertical-align: -1px; margin-right: 3px; }
.shop-np-legend .shop-np-sw.is-locker { background: #1a1a1a; }
.shop-np-price { font-size: 13px; color: var(--shop-ink); background: var(--shop-line); border-radius: 10px; padding: 9px 12px; line-height: 1.45; }
.shop-np-price b { font-weight: 700; }
.shop-np-price i { margin-right: 5px; }
.shop-np-price .shop-np-price-note { display: block; font-size: 11px; opacity: .7; margin-top: 2px; }
.shop-np-price-warn { display: block; margin-top: 4px; font-size: 12px; font-weight: 600; color: var(--shop-danger); }
.shop-payment { display: flex; flex-direction: column; gap: 9px; }
.shop-requisites { background: var(--shop-line); border: 1px solid var(--shop-line); border-radius: 10px; padding: 10px 12px; font-size: 13px; color: var(--shop-ink); white-space: pre-wrap; }
.shop-order-done { text-align: center; padding: 38px 16px; }
.shop-order-done i { font-size: 52px; color: var(--shop-accent); }
.shop-order-done p { margin: 16px 0 8px; color: var(--shop-ink); font-size: 16px; }
.shop-order-num { font-weight: 800; color: var(--shop-ink); font-size: 18px; }
html:has(body.shop-cart-open) { overflow: hidden; }
.shop-my-orders { display: flex; flex-direction: column; gap: 14px; }
.shop-mo-empty { color: var(--shop-muted); padding: 24px 0; text-align: center; }
.shop-mo-card { border: 1px solid var(--shop-line); border-radius: 12px; padding: 14px 16px; background: var(--shop-bg); }
.shop-mo-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.shop-mo-no { font-weight: 700; color: var(--shop-ink); }
.shop-mo-date { color: var(--shop-muted); font-size: 13px; }
.shop-mo-items { display: flex; flex-direction: column; gap: 4px; padding: 8px 0; border-top: 1px solid var(--shop-line); border-bottom: 1px solid var(--shop-line); }
.shop-mo-item { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--shop-ink); }
.shop-mo-foot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.shop-mo-status { display: inline-block; white-space: nowrap; font-size: 13px; font-weight: 700; padding: 4px 11px; border-radius: 999px; background: #eef2f7; color: var(--shop-ink); }
.shop-mo-new { background: #dbeafe; color: #1e40af; }
.shop-mo-processing { background: #fef3c7; color: #92400e; }
.shop-mo-done { background: #dcfce7; color: #166534; }
.shop-mo-cancelled { background: #fee2e2; color: #991b1b; }
.shop-mo-pay, .shop-mo-deliv { font-size: 13px; color: var(--shop-muted); }
.shop-mo-total { margin-left: auto; font-weight: 800; color: var(--shop-ink); }
@media (max-width: 720px) {
    .shop-product-grid { grid-template-columns: 1fr; gap: 22px; }
    .shop-product-media { position: static; }
    .shop-title { font-size: 24px; }
    .shop-cart-panel { width: 100%; }
}
.shop-toasts { position: fixed; bottom: 22px; left: 50%; transform: translateX(-50%); z-index: 100000; display: flex; flex-direction: column; gap: 8px; align-items: center; pointer-events: none; }
.shop-toast { background: #232a35; color: #fff; padding: 11px 18px; border-radius: 10px; font-size: 14px; line-height: 1.35; box-shadow: 0 6px 20px rgba(0,0,0,.3); animation: shop-toast-in .25s ease; max-width: 90vw; text-align: center; }
.shop-toast.is-error { background: #e5484d; }
.shop-toast.is-out { opacity: 0; transform: translateY(8px); transition:all .3s; }
@keyframes shop-toast-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.shop-sort { display: inline-flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.shop-sort-link {
    display: inline-flex; align-items: center; justify-content: center; gap: 5px;
    min-height: var(--shop-ctl-h, 42px); box-sizing: border-box;
    padding: 0 16px; border-radius: 999px; font-size: 13px; line-height: 1; white-space: nowrap;
    color: var(--shop-ink); text-decoration: none; border: 1px solid var(--shop-line); background: var(--shop-bg);
    transition:all .3s;
}
.shop-sort-link:hover { color: var(--shop-primary); border-color: var(--shop-primary); }
.shop-sort-link.is-active { color: var(--shop-on-primary); background: var(--shop-primary); border-color: var(--shop-primary); }
.shop-sort-dd { position: relative; }
.shop-sort-toggle {
    display: inline-flex; align-items: center; gap: 9px;
    min-height: var(--shop-ctl-h, 42px); box-sizing: border-box;
    padding: 0 16px; border-radius: 999px; border: 1px solid var(--shop-line);
    background: var(--shop-bg); color: var(--shop-ink); font-size: 13px; font-weight: 600;
    font-family: inherit; cursor: pointer; white-space: nowrap; transition:all .3s;
}
.shop-sort-toggle:hover { border-color: var(--shop-primary); }
.shop-sort-chev { font-size: 11px; color: var(--shop-muted); transition:all .3s; }
.shop-sort-dd.is-open .shop-sort-toggle { border-color: var(--shop-primary); }
.shop-sort-dd.is-open .shop-sort-chev { transform: rotate(180deg); }
.shop-sort-panel {
    position: absolute; top: calc(100% + 8px); left: 0; z-index: 50; min-width: 210px;
    background: var(--shop-bg); border: 1px solid var(--shop-line); border-radius: 14px;
    box-shadow: var(--shop-shadow); padding: 7px; display: none; flex-direction: column; gap: 2px;
}
.shop-sort-dd.is-open .shop-sort-panel { display: flex; }
.shop-sort-opt {
    display: flex; align-items: center; padding: 6px 14px; border-radius: 9px;
    font-size: 14px; color: var(--shop-ink); text-decoration: none; white-space: nowrap;
    transition:all .3s;
}
.shop-sort-opt:hover { background: color-mix(in srgb, var(--shop-primary) 12%, transparent); color: var(--shop-primary); }
.shop-sort-opt.is-active { background: var(--shop-primary); color: var(--shop-on-primary); font-weight: 600; }
.shop-pricefilter-form { display: inline-flex; align-items: center; margin: 0; }
.shop-pricefilter { display: flex; flex-direction: column; gap: 9px; min-width: 220px; }
.shop-price-slider { position: relative; height: 24px; margin-top: 26px; }
.shop-price-bubble { position: absolute; bottom: calc(100% + 7px); transform: translateX(-50%); background: var(--shop-primary); color: #fff; font-size: 11px; font-weight: 700; line-height: 1; padding: 3px 7px; border-radius: 6px; white-space: nowrap; pointer-events: none; z-index: 3; }
.shop-price-bubble::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 4px solid transparent; border-top-color: var(--shop-primary); }
.shop-price-rail { position: absolute; top: 50%; left: 9px; right: 9px; height: 4px; transform: translateY(-50%); background: var(--shop-line); border-radius: 4px; }
.shop-price-fill { position: absolute; top: 50%; height: 4px; transform: translateY(-50%); background: var(--shop-primary); border-radius: 4px; }
.shop-price-range {
    position: absolute; top: 0; left: 0; width: 100%; height: 24px; margin: 0;
    background: none; pointer-events: none; -webkit-appearance: none; appearance: none;
}
.shop-price-range::-webkit-slider-runnable-track { background: none; border: none; height: 24px; }
.shop-price-range::-moz-range-track { background: none; border: none; height: 24px; }
.shop-price-range::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; pointer-events: auto; cursor: pointer;
    width: 18px; height: 18px; margin-top: 3px; border-radius: 50%;
    background: var(--shop-bg); border: 2px solid var(--shop-primary); box-shadow: 0 1px 4px rgba(20,24,40,.25);
}
.shop-price-range::-moz-range-thumb {
    pointer-events: auto; cursor: pointer; width: 16px; height: 16px; border-radius: 50%;
    background: var(--shop-bg); border: 2px solid var(--shop-primary); box-shadow: 0 1px 4px rgba(20,24,40,.25);
    transition:all .3s;
}
.shop-price-range::-webkit-slider-thumb:hover, .shop-price-range:active::-webkit-slider-thumb { transform: scale(1.18); box-shadow: 0 0 0 5px color-mix(in srgb, var(--shop-primary) 18%, transparent); }
.shop-price-range::-moz-range-thumb:hover { transform: scale(1.18); box-shadow: 0 0 0 5px color-mix(in srgb, var(--shop-primary) 18%, transparent); }
.shop-price-range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 5px color-mix(in srgb, var(--shop-primary) 28%, transparent); }
.shop-price-range:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 5px color-mix(in srgb, var(--shop-primary) 28%, transparent); }
.shop-price-fields { display: flex; align-items: center; gap: 8px; }
.shop-price-input {
    width: 82px; padding: 7px 9px; border: 1px solid var(--shop-line); border-radius: 8px;
    background: var(--shop-bg); color: var(--shop-ink); font: inherit; font-size: 13px; text-align: center;
    -moz-appearance: textfield;
}
.shop-price-input::-webkit-outer-spin-button, .shop-price-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.shop-price-input:focus { outline: none; border-color: var(--shop-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--shop-primary) 16%, transparent); }
.shop-price-dash, .shop-price-cur { color: var(--shop-muted); font-size: 13px; }
@media (max-width: 720px) {
    .shop-sort { width: 100%; }
    .shop-pricefilter-form { width: 100%; }
    .shop-pricefilter { flex: 1 1 100%; min-width: 0; width: 100%; }
}
.shop-facets { display: flex; flex-wrap: wrap; gap: 10px 28px; align-items: flex-start; padding: 16px 18px; background: var(--shop-bg); border: 1px solid var(--shop-line); border-radius: var(--shop-radius); margin-bottom: 20px; }
.shop-facet { min-width: 156px; flex: 0 1 auto; }
.shop-facet-title { font-size: 11px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: var(--shop-muted); margin-bottom: 7px; }
.shop-facet-opts { display: flex; flex-direction: column; gap: 1px; max-height: 196px; overflow-y: auto; margin: 0 -6px; padding: 0 2px; scrollbar-width: thin; scrollbar-color: var(--shop-line) transparent; }
.shop-facet-opts::-webkit-scrollbar { width: 6px; }
.shop-facet-opts::-webkit-scrollbar-thumb { background: var(--shop-line); border-radius: 6px; }
.shop-facet-opt { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--shop-ink); cursor: pointer; padding: 5px 6px; border-radius: 8px; transition:all .3s; }
.shop-facet-opt:hover { background: var(--shop-line); }
.shop-facet-opt:has(input:checked) { background: color-mix(in srgb, var(--shop-primary) 12%, transparent); }
.shop-facet-opt input { width: 16px; height: 16px; flex: 0 0 auto; accent-color: var(--shop-primary); cursor: pointer; }
.shop-facet-val { flex: 1; min-width: 0; line-height: 1.3; overflow-wrap: anywhere; }
.shop-facet-opt:has(input:checked) .shop-facet-val { font-weight: 600; }
.shop-facet-cnt { flex: 0 0 auto; color: var(--shop-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.shop-facets-apply { display: none; align-self: flex-end; margin-left: auto; padding: 11px 18px; border: none; border-radius: 10px; background: var(--shop-primary); color: var(--shop-on-primary); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.shop-facets-wrap { display: block; }
.shop-facets-mtoggle, .shop-facets-mclose, .shop-facets-overlay { display: none; }
@media (max-width: 720px) {
    .shop-facets-mtoggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px 18px; margin-bottom: 18px; border: 1px solid var(--shop-line); border-radius: 10px; background: var(--shop-bg); color: var(--shop-ink); font: inherit; font-weight: 600; cursor: pointer; }
    .shop-facets-overlay { position: fixed; inset: 0; z-index: 998; background: rgba(15, 18, 28, .45); opacity: 0; visibility: hidden; transition:all .3s; }
    .shop-facets { position: fixed; top: 0; right: 0; bottom: 0; z-index: 999; width: min(86vw, 360px); margin: 0; border: none; border-radius: 0; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 14px; overflow-y: auto; transform: translateX(101%); transition:all .3s; box-shadow: -8px 0 40px rgba(15, 18, 28, .25); }
    .shop-facets-mclose { display: inline-flex; align-self: flex-end; align-items: center; justify-content: center; width: 36px; height: 36px; border: none; border-radius: 50%; background: var(--shop-line); color: var(--shop-ink); font-size: 15px; cursor: pointer; }
    .shop-facet { min-width: 0; width: 100%; }
    .shop-facet-opts { max-height: none; }
    .shop-facets-apply { display: block; width: 100%; margin: 8px 0 0; }
    .shop-facets-wrap.is-open .shop-facets { transform: none; }
    .shop-facets-wrap.is-open .shop-facets-overlay { opacity: 1; visibility: visible; }
}
@media (max-width: 560px) {
    .shop-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .shop-card-body { padding: 11px; gap: 8px; }
    .shop-card-title { font-size: 14px; }
    .shop-price { font-size: 17px; }
}
.shop-wl-btn { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border: none; border-radius: 50%; background: color-mix(in srgb, var(--shop-bg) 85%, transparent); color: var(--shop-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 15px; box-shadow: 0 2px 6px rgba(20, 24, 40, .15); transition:all .3s; z-index: 2; }
.shop-wl-btn:hover { transform: scale(1.12); color: var(--shop-ink); }
.shop-wl-btn.is-on { color: #e5484d; }
.shop-wl-grid { margin-top: 8px; }
.shop-wl-empty { text-align: center; padding: 56px 20px; color: var(--shop-muted); display: flex; flex-direction: column; align-items: center; gap: 16px; }
.shop-wl-empty > i { font-size: 44px; opacity: .5; }
.shop-wl-empty p { margin: 0; line-height: 1.55; }
.shop-wl-loading, .shop-wl-err { text-align: center; padding: 50px 20px; color: var(--shop-muted); }
.shop-cmp-btn { position: absolute; top: 50px; right: 10px; width: 34px; height: 34px; border: none; border-radius: 50%; background: color-mix(in srgb, var(--shop-bg) 85%, transparent); color: var(--shop-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 14px; box-shadow: 0 2px 6px rgba(20, 24, 40, .15); transition:all .3s; z-index: 2; }
.shop-cmp-btn:hover { transform: scale(1.12); color: var(--shop-ink); }
.shop-cmp-btn.is-on { color: var(--shop-primary); }
.shop-cmp-btn.is-shake { animation: cmpShake .4s; }
@keyframes cmpShake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
.shop-compare { --cmp-col: 220px; --cmp-k-w: 150px; }
.cmp-box { position: relative; }
.cmp-wrap { overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline-start: var(--cmp-k-w); overscroll-behavior-x: contain; scrollbar-width: none; }
.cmp-wrap::-webkit-scrollbar { display: none; }
.cmp-cat-title { font-size: 17px; font-weight: 700; margin: 24px 0 10px; padding-bottom: 6px; border-bottom: 2px solid var(--border, rgba(0,0,0,.1)); }
.cmp-cat-title:first-of-type { margin-top: 0; }
.cmp-table { width: max-content; border-collapse: collapse; table-layout: fixed; }
.cmp-table th, .cmp-table td { padding: 14px 16px; border-bottom: 1px solid var(--shop-line); text-align: left; vertical-align: top; width: var(--cmp-col); min-width: var(--cmp-col); max-width: var(--cmp-col); box-sizing: border-box; overflow-wrap: anywhere; }
.cmp-table thead th:not(.cmp-k) { scroll-snap-align: start; }
.cmp-table .cmp-k { position: sticky; left: 0; z-index: 3; width: var(--cmp-k-w); min-width: var(--cmp-k-w); max-width: var(--cmp-k-w); font-weight: 600; color: var(--shop-muted); font-size: 13px; background: color-mix(in srgb, var(--shop-muted) 6%, var(--shop-bg)); }
.cmp-nav { position: absolute; top: calc(var(--cmp-col) / 2 - 6px); z-index: 4; width: 42px; height: 42px; border: 1px solid var(--shop-line); border-radius: 50%; background: var(--shop-bg); color: var(--shop-ink); box-shadow: var(--shop-shadow); cursor: pointer; display: none; align-items: center; justify-content: center; font-size: 15px; transition: opacity .2s, transform .2s; }
.cmp-nav.is-prev { left: calc(var(--cmp-k-w) - 21px); }
.cmp-nav.is-next { right: -12px; }
.cmp-nav:hover:not(:disabled) { transform: scale(1.08); color: var(--shop-primary); }
.cmp-nav:disabled { opacity: 0; pointer-events: none; }
.cmp-box.is-scroll .cmp-nav { display: flex; }
@media (max-width: 640px) {
    .shop-compare { --cmp-col: 160px; --cmp-k-w: 104px; }
    .cmp-table th, .cmp-table td { padding: 10px; }
    .cmp-nav { width: 36px; height: 36px; }
    .cmp-nav.is-next { right: 0; }
}
.cmp-prod { position: relative; display: flex; flex-direction: column; gap: 10px; }
.cmp-prod-img { display: block; aspect-ratio: 1; border-radius: var(--shop-radius, 8px); overflow: hidden; background: color-mix(in srgb, var(--shop-muted) 8%, transparent); }
.cmp-prod-img img { width: 100%; height: 100%; object-fit: cover; }
.cmp-prod-title { font-weight: 600; color: var(--shop-ink); text-decoration: none; font-size: 14px; line-height: 1.3; }
.cmp-prod-title:hover { color: var(--shop-primary); }
.cmp-remove { position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border: none; border-radius: 50%; background: color-mix(in srgb, var(--shop-bg) 80%, transparent); color: var(--shop-muted); cursor: pointer; z-index: 2; }
.cmp-remove:hover { color: var(--shop-ink); }
.cmp-yes { color: #16a34a; font-weight: 600; font-size: 13px; }
.cmp-no { color: var(--shop-muted); font-size: 13px; }
.shop-recent { margin-top: 48px; padding-top: 34px; border-top: 1px solid var(--shop-line); }
.shop-recent:empty { display: none; }
.shop-recent-inner { margin: 0; }
.shop-recent-title { font-size: clamp(20px,2.4vw,28px); margin: 0 0 20px; }
.shop-recent-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 900px) { .shop-recent-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .shop-recent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
.shop-mo-wrap { width: 100%; }
.shop-mo-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.shop-mo-table th { text-align: left; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; color: var(--shop-muted); padding: 0 12px 10px; border-bottom: 1px solid var(--shop-line); white-space: nowrap; }
.shop-mo-table td { padding: 14px 12px; border-bottom: 1px solid var(--shop-line); vertical-align: middle; color: var(--shop-ink); }
.shop-mo-table tr:last-child td { border-bottom: none; }
.shop-mo-table .shop-mo-no { font-weight: 700; color: var(--shop-ink); }
.shop-mo-prod { font-size: 13px; color: var(--shop-muted); margin-top: 3px; }
.shop-mo-table .shop-mo-date, .shop-mo-table .shop-mo-deliv { color: var(--shop-muted); font-size: 13px; }
.shop-mo-r, .shop-mo-table .shop-mo-total { text-align: right; }
.shop-mo-table .shop-mo-total { font-weight: 800; color: var(--shop-ink); white-space: nowrap; }
.shop-mo-paystatus { display: inline-block; white-space: nowrap; margin-top: 5px; font-size: 13px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.shop-mo-ps-paid { background: #dcfce7; color: #166534; }
.shop-mo-ps-unpaid { background: color-mix(in srgb, var(--shop-muted) 16%, transparent); color: var(--shop-muted); }
.shop-mo-ps-refunded { background: #fef3c7; color: #92400e; }
@media (max-width: 720px) {
  .shop-mo-table, .shop-mo-table tbody, .shop-mo-table tr, .shop-mo-table td { display: block; width: 100%; }
  .shop-mo-table thead { display: none; }
  .shop-mo-table tr { border: 1px solid var(--shop-line); border-radius: 12px; padding: 4px 14px; margin-bottom: 12px; }
  .shop-mo-table td { border: none; padding: 8px 0; display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; text-align: right; }
  .shop-mo-table td:not(:last-child) { border-bottom: 1px solid var(--shop-line); }
  .shop-mo-table td::before { content: attr(data-l); font-size: 12px; color: var(--shop-muted); font-weight: 600; text-align: left; flex-shrink: 0; }
  .shop-mo-table td:first-child { display: block; text-align: left; padding-bottom: 10px; }
  .shop-mo-table td:first-child::before { display: none; }
  .shop-mo-table td:first-child .shop-mo-no { font-size: 15px; word-break: break-word; }
  .shop-mo-table .shop-mo-prod { text-align: left; }
}
.co-page { max-width: 1080px; margin: 0 auto; padding: clamp(24px,4vw,48px) 16px; }
.co-h1 { font-size: clamp(24px,4vw,34px); margin: 0 0 24px; color: var(--shop-ink); }
.co-grid { display: grid; grid-template-columns: 1fr 360px; gap: 24px; align-items: start; }
.co-form { display: flex; flex-direction: column; gap: 18px; position: sticky; top: 88px; align-self: start; }
.co-sect { background: var(--shop-bg); border: 1px solid var(--shop-line); border-radius: var(--shop-radius, 12px); padding: 18px 20px; }
.co-sect-t { font-size: 15px; font-weight: 700; color: var(--shop-ink); margin-bottom: 14px; display: flex; align-items: center; gap: 8px; }
.co-sect-t i { color: var(--shop-primary); }
.co-input { width: 100%; box-sizing: border-box; padding: 11px 14px; border: 1px solid var(--shop-line); border-radius: 9px; font-size: 15px; color: var(--shop-ink); background: var(--shop-bg2, var(--bg-card, #fff)); outline: none; margin-bottom: 10px; font-family: inherit; }
.co-input:focus { border-color: var(--shop-primary); }
.co-input:last-child { margin-bottom: 0; }
.co-textarea { min-height: 72px; resize: vertical; }
.co-radio { display: flex; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid var(--shop-line); border-radius: 10px; cursor: pointer; margin-bottom: 8px; transition:all .3s; }
.co-radio:hover { border-color: var(--shop-primary); }
.co-radio:has(input:checked) { border-color: var(--shop-primary); background: color-mix(in srgb, var(--shop-primary) 8%, transparent); }
.co-radio input[type=radio] { -webkit-appearance: none; appearance: none; flex: none; width: 18px; height: 18px; margin: 0; padding: 0; border: 2px solid color-mix(in srgb, var(--shop-ink) 35%, transparent); border-radius: 50%; background: transparent; cursor: pointer; outline: none; }
.co-radio input[type=radio]:checked { border-color: var(--shop-primary); background: radial-gradient(circle, var(--shop-primary) 0 4px, transparent 5px); }
.co-radio input[type=radio]:focus-visible { outline: none; border-color: var(--shop-primary); }
.co-radio input[type=checkbox] { accent-color: var(--shop-primary); flex: none; margin: 0; }
.co-radio span { font-size: 15px; line-height: 1.35; color: var(--shop-ink); }
.co-radio[hidden] { display: none; }
.co-addr { margin-top: 6px; }
.co-np { margin-top: 8px; }
.co-np .co-input { margin-bottom: 0; }
.co-np-addr { margin-top: 8px; }
.co-msg { color: var(--shop-danger); font-size: 14px; min-height: 0; }
.co-msg:empty { display: none; }
.co-msg:not(:empty) {
    display: flex; align-items: center; gap: 7px;
    color: var(--shop-danger); font-size: 13px; font-weight: 600; line-height: 1.3; margin: 0 0 10px;
}
.co-msg:not(:empty)::before {
    content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--shop-danger);
}
.co-submit { width: 100%; height: 48px; font-size: 15px; }
.co-aside { background: var(--shop-bg); border: 1px solid var(--shop-line); border-radius: var(--shop-radius, 12px); padding: 20px; position: sticky; top: 88px; }
.co-sum-t { font-size: 15px; font-weight: 700; color: var(--shop-ink); margin-bottom: 14px; }
.co-sum-row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--shop-ink); padding: 7px 0; border-bottom: 1px solid var(--shop-line); }
.co-sum-name { color: var(--shop-muted); }
.co-sum-total { display: flex; justify-content: space-between; gap: 12px; font-size: 17px; font-weight: 800; color: var(--shop-ink); padding-top: 14px; margin-top: 6px; }
.co-back { display: inline-block; margin-top: 16px; font-size: 14px; color: var(--shop-primary); text-decoration: none; }
.co-done { text-align: center; max-width: 460px; margin: 40px auto; padding: 32px; background: var(--shop-bg); border: 1px solid var(--shop-line); border-radius: var(--shop-radius, 12px); }
.co-done-ic { font-size: 52px; color: #16a34a; }
.co-done-h { margin: 14px 0 6px; color: var(--shop-ink); }
.co-done-num { font-weight: 700; color: var(--shop-ink); }
.co-done-sub { color: var(--shop-muted); font-size: 14px; margin: 6px 0 20px; }
@media (max-width: 820px) { .co-grid { grid-template-columns: 1fr; } .co-aside { position: static; order: -1; } .co-form { position: static; } }
.shop-cart-page-link { display: block; text-align: center; margin-top: 5px; font-size: 16px; color: var(--shop-muted); text-decoration: none; }
.shop-cart-page-link:hover { color: var(--shop-primary); }
.shop-cart-foot:has([data-shop-submit]:not([hidden])) .shop-cart-page-link { display: none; }
.shop-field input.is-invalid,.shop-field textarea.is-invalid,.co-field input.is-invalid,input.is-invalid,select.is-invalid,[data-shop-np-city].is-invalid,[data-shop-np-wh].is-invalid{border-color:var(--shop-danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--shop-danger) 22%,transparent)}
.shop-order-msg:empty{display:none}
.shop-order-msg:not(:empty){
    display: flex; align-items: center; gap: 7px;
    color: var(--shop-danger); font-size: 13px; font-weight: 600; line-height: 1.3; margin: 0 0 10px;
}
.shop-order-msg:not(:empty)::before{
    content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--shop-danger);
}
.shop-mo-link { background:none; border:0; padding:0; font:inherit; color:var(--shop-primary); font-weight:700; cursor:pointer; text-decoration:underline; }
.shop-mo-link:hover { opacity:.8; }
.shop-od-overlay { position:fixed; inset:0; z-index:9998; background:rgba(10,12,18,.55); display:flex; align-items:center; justify-content:center; padding:16px; }
.shop-od-modal { position:relative; width:100%; max-width:460px; max-height:86vh; overflow-y:auto; background:var(--shop-bg,#fff); color:var(--shop-ink,#111); border-radius:14px; box-shadow:0 20px 60px rgba(0,0,0,.4); padding:22px; }
.shop-od-close { position:absolute; top:10px; right:12px; width:34px; height:34px; border:0; background:transparent; font-size:24px; line-height:1; color:var(--shop-ink,#111); cursor:pointer; border-radius:8px; }
.shop-od-close:hover { background:rgba(0,0,0,.07); }
.shop-od-h { font-size:18px; font-weight:800; margin:0 30px 14px 0; }
.shop-od-meta { display:flex; flex-direction:column; gap:7px; margin-bottom:14px; }
.shop-od-row { display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.shop-od-row span { color:var(--shop-ink-2,#6b7280); }
.shop-od-items { width:100%; border-collapse:collapse; margin-bottom:12px; }
.shop-od-items td { padding:7px 0; border-bottom:1px solid var(--shop-line,#eee); font-size:14px; }
.shop-od-items .shop-od-q { text-align:center; color:var(--shop-ink-2,#6b7280); width:48px; }
.shop-od-items .shop-od-s { text-align:right; white-space:nowrap; font-weight:600; }
.shop-od-total { display:flex; justify-content:space-between; font-size:16px; font-weight:800; padding-top:6px; }
.shop-od-link { color:var(--shop-primary); text-decoration:none; }
.shop-od-link:hover { text-decoration:underline; }
.shop-od-variant { margin-top:2px; font-size:12px; color:var(--shop-ink-2,#6b7280); }
.shop-od-pay { display:block; width:100%; margin-top:14px; padding:13px; border:0; border-radius:10px; background:var(--shop-primary); color:var(--shop-on-primary); font-size:15px; font-weight:700; cursor:pointer; transition:all .3s; }
.shop-od-pay:hover { opacity:.9; }
.shop-od-pay:disabled { opacity:.6; cursor:default; }
.shop-limits-note { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; margin-bottom: 12px; border-radius: 10px; background: rgba(234, 179, 8, .12); border: 1px solid rgba(234, 179, 8, .35); font-size: 13px; line-height: 1.45; }
.shop-card.has-vpick { position: relative; perspective: 1200px; }
.shop-vpick { position: absolute; inset: 0; z-index: 6; display: flex; flex-direction: column; gap: 12px; padding: 16px; background: var(--shop-bg); border: 1px solid var(--shop-line); border-radius: inherit; box-shadow: var(--shop-shadow); animation: shopVpIn .32s ease both; transform-origin: center; }
.shop-vpick.is-out { animation: shopVpOut .26s ease both; }
@keyframes shopVpIn { from { opacity: 0; transform: rotateY(-90deg); } to { opacity: 1; transform: none; } }
@keyframes shopVpOut { from { opacity: 1; transform: none; } to { opacity: 0; transform: rotateY(90deg); } }
.shop-vpick-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.shop-vpick-title { font-weight: 700; font-size: 15px; color: var(--shop-ink); }
.shop-vpick-x { width: 32px; height: 32px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--shop-line); border-radius: 9px; background: var(--shop-bg); color: var(--shop-ink); cursor: pointer; }
.shop-vpick-x:hover { border-color: var(--shop-primary); color: var(--shop-primary); }
.shop-vpick-body { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; scrollbar-width: thin; }
.shop-vpick-label { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--shop-muted); margin-bottom: 8px; }
.shop-vpick-opts { display: flex; flex-wrap: wrap; gap: 7px; }
.shop-vpick-opt { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid var(--shop-line); border-radius: 10px; background: color-mix(in srgb, var(--shop-muted) 6%, var(--shop-bg)); color: var(--shop-ink); font: inherit; font-size: 14px; cursor: pointer; transition: all .2s; }
.shop-vpick-opt:hover { border-color: var(--shop-primary); }
.shop-vpick-opt.is-active { background: var(--shop-primary); border-color: var(--shop-primary); color: var(--shop-on-primary); }
.shop-vpick-dot { width: 14px; height: 14px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--shop-ink) 20%, transparent); }
.shop-vpick-add { font-size: 12px; opacity: .75; }
.shop-vpick-foot { display: flex; flex-direction: column; gap: 10px; }
.shop-vpick-price { font-size: 20px; font-weight: 800; color: var(--shop-ink); }
.shop-vpick-go { width: 100%; justify-content: center; }
@media (prefers-reduced-motion: reduce) { .shop-vpick, .shop-vpick.is-out { animation: none; } }
.shop-add-cnt { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; margin-left: 6px; border-radius: 999px; background: var(--shop-on-primary); color: var(--shop-primary); font-size: 12px; font-weight: 800; line-height: 1; }
.shop-gallery-main.has-video { position: relative; }
.shop-gallery-video { position: absolute; inset: 0; z-index: 3; background: #000; border-radius: inherit; overflow: hidden; }
.shop-gallery-video iframe, .shop-gallery-video video { display: block; width: 100%; height: 100%; border: 0; object-fit: contain; background: #000; }
.shop-gallery-thumb.is-video { position: relative; background: color-mix(in srgb, var(--shop-ink) 80%, transparent); }
.shop-gallery-thumb.is-video img { opacity: .55; }
.shop-gallery-thumb.is-video::after { content: "\f04b"; font-family: "Font Awesome 5 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free"; font-weight: 900; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 18px; text-shadow: 0 1px 6px rgba(0, 0, 0, .5); }
.shop-lb-media { width: min(90vw, 1100px); height: 86vh; display: flex; align-items: center; justify-content: center; }
.shop-lb-media[hidden], .shop-lb-img[hidden] { display: none; }
.shop-lb-media video { max-width: 100%; max-height: 100%; border-radius: 8px; background: #000; }
.shop-lb-media iframe { width: 100%; aspect-ratio: 16 / 9; max-height: 100%; border: 0; border-radius: 8px; }
.shop-gallery-zoom { z-index: 4; opacity: 1; }
.shop-gallery-main.has-video { cursor: default; }
.shop-gallery-main.has-video .shop-gallery-video { cursor: pointer; }
.shop-gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.shop-requisites.is-rich { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: start; padding: 14px; white-space: normal; background: var(--shop-card, #fff); border: 1px solid var(--shop-line); }
.shop-req-list { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.shop-req-row { display: flex; flex-direction: column; gap: 2px; padding: 8px 32px 8px 10px; border-radius: 8px; background: var(--shop-line); position: relative; }
.shop-req-row[data-req-copy] { cursor: copy; transition: all .3s; }
.shop-req-row[data-req-copy]:hover { background: color-mix(in srgb, var(--shop-accent, #111) 12%, transparent); }
.shop-req-row.is-copied { background: rgba(34, 197, 94, .16); }
.shop-req-k { font-size: 12px; color: var(--shop-muted); }
.shop-req-v { font-size: 14px; font-weight: 600; color: var(--shop-ink); word-break: break-word; }
.shop-req-ic { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-size: 13px; color: var(--shop-muted); }
.shop-req-row.is-copied .shop-req-ic::before { content: "\f00c"; }
.shop-req-qr { width: 150px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.shop-req-qr-img { width: 148px; height: 148px; padding: 8px; box-sizing: border-box; border-radius: 10px; background: #fff; border: 1px solid var(--shop-line); }
.shop-req-qr-img img, .shop-req-qr-img canvas { display: block; width: 100%; height: auto; }
.shop-req-qr-t { font-size: 12px; line-height: 17px; color: var(--shop-muted); }
.shop-req-qr-t a { display: block; margin-top: 4px; font-weight: 600; color: var(--shop-accent, #111); text-decoration: none; }
@media (max-width: 520px) { .shop-requisites.is-rich { grid-template-columns: 1fr; } .shop-req-qr { width: auto; flex-direction: row; text-align: left; } .shop-req-qr-img { flex: 0 0 120px; width: 120px; height: 120px; } }
.shop-done-req { width: 100%; max-width: 560px; margin: 16px auto 0; text-align: left; }
.shop-done-req-t { margin-bottom: 8px; font-size: 15px; font-weight: 600; color: var(--shop-ink); }
.shop-requisites.is-note { white-space: normal; color: var(--shop-muted); }
.shop-cod-note { display: flex; gap: 8px; align-items: flex-start; margin: 6px 0 4px; padding: 10px 12px; border-radius: 10px; background: var(--shop-line); font-size: 15px; line-height: 1.5; color: var(--shop-muted); }
.shop-cod-note i { margin-top: 2px; color: var(--shop-accent, currentColor); }
.shop-cod-note b { color: var(--shop-ink); }
.shop-cod-note { flex-direction: column; }
.shop-cod-fee { display: flex; gap: 8px; align-items: flex-start; }
.shop-cod-pp { display: flex; flex-direction: column; gap: 2px; padding-bottom: 8px; margin-bottom: 8px; border-bottom: 1px solid var(--shop-line); color: var(--shop-ink); }
.shop-cod-pp span { font-size: 12px; color: var(--shop-muted); }
.shop-ship-eta{display:flex;align-items:center;gap:14px;margin:16px 0 0;padding:16px 18px;border:1px solid var(--shop-line, rgba(0,0,0,.08));border-radius:calc(var(--radius, 12px));background:var(--bg-card, #fff)}
.shop-ship-eta__ic{flex:0 0 36px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb, var(--primary, #6366f1) 12%, transparent);color:var(--primary, #6366f1);font-size:15px}
.shop-ship-eta__t{display:flex;flex-direction:column;gap:4px;min-width:0}
.shop-ship-eta__t b{font-size:15px;line-height:20px;color:var(--shop-ink, var(--text, #111))}
.shop-ship-eta__t span{font-size:13px;line-height:20px;color:var(--text-2, #6b7280)}
.shop-ship-eta--co{margin:0 0 14px}
.shop-cz { display: flex; flex-direction: column; gap: 9px; margin-top: 4px; }
.shop-cz[hidden] { display: none; }
.shop-cz-find { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border: 1px solid var(--shop-primary); border-radius: 9px; background: transparent; color: var(--shop-primary); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.shop-cz-find:hover { background: var(--shop-primary); color: var(--shop-on-primary, #fff); }
.shop-cz-find.is-invalid { border-color: var(--shop-danger); color: var(--shop-danger); }
.shop-cz-map { height: 260px; }
.shop-cz-res { padding: 10px 12px; border-radius: 9px; border: 1px solid var(--shop-line); font-size: 14px; line-height: 20px; color: var(--shop-muted); }
.shop-cz-res.is-ok { color: var(--shop-ink); border-color: var(--shop-primary); }
.shop-cz-res.is-err { color: var(--shop-danger); border-color: var(--shop-danger); }
.shop-cz-res small { font-size: 12px; color: var(--shop-muted); }
.shop-cz-zones { display: flex; flex-direction: column; gap: 4px; font-size: 13px; line-height: 18px; color: var(--shop-muted); }
.shop-cz-zone { display: flex; align-items: center; gap: 8px; }
.shop-cz-dot { width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; }
.shop-cz-c0 { background: #3b82f6; }
.shop-cz-c1 { background: #16a34a; }
.shop-cz-c2 { background: #f59e0b; }
.shop-cz-c3 { background: #ef4444; }
.shop-cz-c4 { background: #8b5cf6; }
.shop-cz-c5 { background: #0ea5e9; }
.shop-cz-c6 { background: #ec4899; }
.shop-cz-c7 { background: #84cc16; }
.co-sum-deliv { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--shop-muted); padding-top: 12px; }
.shop-cz-pin { display: flex; align-items: center; justify-content: center; }
.shop-cz-pin b { display: block; box-sizing: border-box; width: 22px; height: 22px; border-radius: 50%; background: var(--shop-primary); border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.4); }
.shop-locs { display: flex; flex-direction: column; gap: 8px; margin: 2px 0 6px; }
.shop-locs[hidden] { display: none; }
.shop-locs-t { font-size: 13px; font-weight: 700; color: var(--shop-muted); }
.shop-loc { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid var(--shop-line); border-radius: 10px; cursor: pointer; }
.shop-loc:has(input:checked) { border-color: var(--shop-primary); }
.shop-loc.is-closed { opacity: .6; cursor: default; }
.shop-loc input { margin-top: 3px; accent-color: var(--shop-primary); }
.shop-loc-b { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 20px; color: var(--shop-ink); }
.shop-loc-b > span { font-size: 13px; line-height: 18px; color: var(--shop-muted); }
.shop-loc-b > .shop-loc-st.is-open { color: #16a34a; font-weight: 600; }
.shop-loc-b > .shop-loc-st.is-shut { color: var(--shop-danger); font-weight: 600; }
.shop-od-ticket { display:flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; margin-top:10px; }
.shop-mo-ic { margin-right: 7px; opacity: .75; }
.shop-ws { margin: 0 0 18px; }
.shop-ws-note { margin: 0 0 10px; color: var(--shop-muted); font-size: 15px; }
.shop-ws-note b { color: var(--shop-ink); }
.shop-ws-tiers { width: 100%; max-width: 360px; border-collapse: collapse; font-size: 15px; }
.shop-ws-tiers th, .shop-ws-tiers td { padding: 8px 12px; text-align: left; border-bottom: 1px solid var(--shop-line); }
.shop-ws-tiers th { color: var(--shop-muted); font-weight: 600; }
.shop-min-note { margin: 0 0 10px; color: var(--shop-muted); font-size: 15px; line-height: 1.45; }
.shop-min-note[hidden] { display: none; }
.shop-dg-my { margin-bottom: 28px; }
.shop-dg-my-h { font-size: 20px; font-weight: 800; color: var(--shop-ink); margin-bottom: 14px; }
.shop-dg-my-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.shop-dg-my-it { display: flex; flex-direction: column; gap: 10px; padding: 12px; border: 1px solid var(--shop-line); border-radius: var(--shop-radius); background: var(--shop-bg); min-width: 0; }
.shop-dg-my-img { display: block; aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; background: var(--shop-line); }
.shop-dg-my-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.shop-dg-my-img .shop-noimg { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: var(--shop-muted); font-size: 28px; }
.shop-dg-my-t { color: var(--shop-ink); font-weight: 700; font-size: 15px; line-height: 1.35; text-decoration: none; flex: 1; }
.shop-dg-my-t:hover { color: var(--shop-primary); }
.shop-dg-my-open { height: var(--shop-ctl-h); border: 0; border-radius: 10px; background: var(--shop-primary); color: var(--shop-on-primary); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.shop-dg-my-open:hover { filter: brightness(1.08); }
.shop-dg-note { display: flex; align-items: center; gap: 10px; margin: 12px 0; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--shop-line); color: var(--shop-ink); font-size: 15px; }
.shop-dg-note i { color: var(--shop-primary); font-size: 18px; }
.shop-dg-open-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: var(--shop-ctl-h); padding: 0 22px; border: 0; border-radius: 10px; background: var(--shop-primary); color: var(--shop-on-primary); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
html.dgv-lock, html.dgv-lock body { overflow: hidden; }
.dgv { position: fixed; inset: 0; z-index: 100000; background: rgba(8, 10, 14, .92); display: flex; align-items: center; justify-content: center; padding: 20px; box-sizing: border-box; color: #eef0f4; font-size: 15px; }
.dgv-box { width: min(1180px, 100%); max-height: 100%; display: flex; flex-direction: column; background: #12151b; border: 1px solid #262b35; border-radius: 16px; overflow: hidden; }
.dgv-head { display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 20px; border-bottom: 1px solid #262b35; }
.dgv-title { flex: 1; min-width: 0; font-size: 17px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dgv-close { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #1d222b; color: #eef0f4; font-size: 18px; cursor: pointer; }
.dgv-close:hover { background: #2a303b; }
.dgv-body { display: flex; min-height: 0; flex: 1; }
.dgv-list { width: 280px; flex: none; overflow-y: auto; border-right: 1px solid #262b35; padding: 8px; display: flex; flex-direction: column; gap: 4px; }
.dgv-item { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 10px 12px; border: 1px solid transparent; border-radius: 10px; background: none; color: #c9ced8; font: inherit; font-size: 15px; cursor: pointer; }
.dgv-item span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dgv-item em { font-style: normal; color: #8b93a3; font-size: 15px; }
.dgv-item:hover { background: #1a1e26; }
.dgv-item.is-on { background: #1d222b; border-color: #343b48; color: #fff; }
.dgv-stage { flex: 1; min-width: 0; min-height: 0; display: flex; overflow: hidden; user-select: none; -webkit-user-select: none; }
.dgv-video { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; background: #000; }
.dgv-video video { width: 100%; max-height: calc(100vh - 120px); display: block; background: #000; }
.dgv-video:fullscreen video { max-height: 100vh; height: 100%; }
.dgv-mark { position: absolute; top: 12px; right: 14px; z-index: 2; pointer-events: none; padding: 4px 10px; border-radius: 6px; background: rgba(0, 0, 0, .35); color: rgba(255, 255, 255, .72); font-size: 15px; font-weight: 600; letter-spacing: .01em; }
.dgv-fs { position: absolute; top: 12px; left: 14px; z-index: 2; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .45); color: #fff; font-size: 16px; cursor: pointer; opacity: .7; }
.dgv-fs:hover { opacity: 1; }
.dgv-pages { position: relative; flex: 1; display: flex; min-height: 0; }
.dgv-pages-in { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; align-items: center; gap: 14px; max-height: calc(100vh - 120px); box-sizing: border-box; }
.dgv-pages-in img { width: 100%; max-width: 900px; height: auto; display: block; border-radius: 4px; background: #fff; pointer-events: none; }
.dgv-dl, .dgv-msg { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 48px 24px; text-align: center; line-height: 1.5; }
.dgv-dl > i, .dgv-msg > i { font-size: 40px; color: #8b93a3; }
.dgv-dl-t { font-size: 17px; font-weight: 700; }
.dgv-dl-s { color: #8b93a3; }
.dgv-btn { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 24px; border: 0; border-radius: 10px; background: var(--shop-primary); color: var(--shop-on-primary); font: inherit; font-size: 15px; font-weight: 700; text-decoration: none; cursor: pointer; }
@media (max-width: 760px) {
    .dgv { padding: 0; }
    .dgv-box { border-radius: 0; border: 0; height: 100%; }
    .dgv-body { flex-direction: column; }
    .dgv-list { width: auto; max-height: 34vh; border-right: 0; border-bottom: 1px solid #262b35; order: 2; }
    .dgv-mark { top: 8px; right: 8px; font-size: 15px; }
    .dgv-pages-in { padding: 10px; max-height: none; }
}
@media print { .dgv { display: none; } }
.shop-product-sku { cursor: pointer; outline: none; }
.shop-product-sku::after { content: "\f0c5"; margin-left: 8px; font-family: "Font Awesome 5 Pro"; font-weight: 400; opacity: .6; }
.shop-product-sku:hover { color: var(--shop-primary); }
.shop-product-sku.is-copied { color: var(--shop-primary); }
.shop-product-sku.is-copied::after { content: "\f00c"; opacity: 1; }
.shop-copy-tmp { position: fixed; top: -100px; left: 0; width: 1px; height: 1px; opacity: 0; }
:root {
    --shop-primary: #c2410c; --shop-accent: #c2410c;
    --shop-radius: 16px;
}
.shop-title, .shop-product-title, .shop-card-title {
    font-family: "Bricolage Grotesque", "Inter", sans-serif;
    letter-spacing: -.02em;
}
.shop-card { border: 1px solid var(--shop-line); border-radius: var(--shop-radius); background: var(--bg-card); overflow: hidden; box-shadow: 0 1px 2px rgba(23,20,16,.04), 0 12px 32px rgba(23,20,16,.07); }
.shop-card:hover { transform: translateY(-3px); box-shadow: 0 8px 18px rgba(23,20,16,.10); }
.shop-card-img { border-radius: 0; aspect-ratio: 4 / 3; }
.shop-card:hover .shop-card-img img { transform: scale(1.05); }
.shop-card-body { padding: 14px 15px 16px; gap: 6px; }
.shop-card-title { font-weight: 800; font-size: 16px; }
.shop-price { font-family: "Bricolage Grotesque", "Inter", sans-serif; font-weight: 800; }
.ol-product { max-width: 1180px; margin: 0 auto; padding: clamp(20px, 4vw, 40px) 24px; }
.ol-prod-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 3vw, 48px); align-items: start; }
.ol-prod-media .shop-gallery-main { border: 1px solid var(--shop-line); border-radius: var(--shop-radius); aspect-ratio: 4/3; overflow: hidden; box-shadow: 0 1px 2px rgba(23,20,16,.04), 0 12px 32px rgba(23,20,16,.07); }
.ol-prod-media .shop-gallery-main img { width: 100%; height: 100%; object-fit: cover; }
.ol-prod-info { position: sticky; top: 86px; }
.ol-prod-crumb { font-size: 13px; font-weight: 600; color: var(--shop-muted); }
.ol-prod-crumb a { color: inherit; text-decoration: none; }
.ol-prod-title { font-size: clamp(28px, 3.4vw, 44px); margin: 10px 0 0; }
.ol-prod-prices { margin-top: 12px; }
.ol-prod-prices .shop-price { font-size: 30px; font-weight: 800; }
.ol-prod-desc { font-size: 16px; color: var(--shop-muted); max-width: 480px; margin: 16px 0 0; line-height: 1.6; }
.ol-prod-buy { display: flex; gap: 12px; margin-top: 22px; align-items: stretch; }
.ol-prod-qty { border: 1px solid var(--shop-line); border-radius: var(--shop-radius); }
.ol-prod-add { flex: 1; border-radius: var(--shop-radius); font-weight: 700; }
.ol-prod-specs { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; }
.ol-prod-spec { display: flex; justify-content: space-between; gap: 16px; font-size: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--shop-line); }
.ol-prod-spec span:last-child { color: var(--shop-muted); text-align: right; }
.ol-prod-swatches { margin-top: 22px; }
.ol-prod-swatch-label { font-size: 13px; font-weight: 700; color: var(--shop-muted); margin-bottom: 10px; }
.ol-prod-swatch-row { display: flex; flex-wrap: wrap; gap: 9px; }
.ol-prod-swatch { display: inline-flex; align-items: center; gap: 8px; padding: 8px 15px 8px 11px; border: 1px solid var(--shop-line); border-radius: 999px; background: var(--bg-card); color: var(--shop-ink); font-size: 13px; font-weight: 600; cursor: pointer; transition: border-color .12s, box-shadow .12s; }
.ol-prod-swatch:hover { border-color: var(--shop-primary); }
.ol-prod-swatch.is-active { border-color: var(--shop-primary); box-shadow: 0 0 0 1px var(--shop-primary) inset; }
.ol-prod-swatch-dot { width: 15px; height: 15px; border-radius: 50%; flex: none; box-shadow: 0 0 0 1px rgba(0,0,0,.14) inset; }
@media (max-width: 760px) { .ol-prod-grid { grid-template-columns: 1fr; } .ol-prod-info { position: static; } }
.ol-shop-hero { text-align: center; max-width: 1180px; margin: 0 auto; padding: clamp(34px,5vw,72px) 20px clamp(26px,3.5vw,44px); }
.ol-shop-hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .02em; color: var(--shop-primary); }
.ol-shop-hero-eyebrow i { font-size: 14px; }
.ol-shop-hero-title { font-family: "Bricolage Grotesque", "Inter", sans-serif; font-weight: 800; letter-spacing: -.02em; font-size: clamp(34px,5.4vw,60px); line-height: 1.05; margin: 12px 0 0; color: var(--shop-ink); }
.ol-shop-hero-sub { color: var(--shop-muted); max-width: 480px; margin: 14px auto 0; font-size: 16px; line-height: 1.6; }
.ol-shop-toolbar { padding: 14px; border: 1px solid var(--shop-line); border-radius: var(--shop-radius); background: var(--bg-card); margin-bottom: 26px; }
.ol-cat-head { display: flex; flex-direction: column; gap: 7px; padding-bottom: 20px; border-bottom: 1px solid var(--shop-line); margin-bottom: 26px; }
.ol-cat-back { display: inline-flex; align-items: center; gap: 7px; align-self: flex-start; font-size: 13px; font-weight: 600; color: var(--shop-muted); text-decoration: none; transition: color .12s; }
.ol-cat-back:hover { color: var(--shop-primary); }
.ol-cat-head .ol-shop-hero-eyebrow { font-size: 12px; }
.ol-cat-title { font-size: clamp(28px,4.4vw,46px); margin: 0; }
.ol-shop-layout { display: grid; grid-template-columns: 250px 1fr; gap: clamp(20px,3vw,40px); align-items: start; }
.ol-shop-aside { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 24px; }
.ol-aside-block { display: flex; flex-direction: column; gap: 12px; padding: 16px; border: 1px solid var(--shop-line); border-radius: var(--shop-radius); background: var(--bg-card); }
.ol-aside-h { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--shop-muted); display: flex; align-items: center; gap: 8px; }
.ol-aside-cats { display: flex; flex-direction: column; gap: 2px; }
.ol-aside-cats a { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 10px; border-radius: calc(var(--shop-radius) - 6px); color: var(--shop-ink); text-decoration: none; font-size: 14px; transition: background .12s, color .12s; }
.ol-aside-cats a:hover, .ol-aside-cats a.is-active { background: color-mix(in srgb, var(--shop-muted) 11%, transparent); color: var(--shop-primary); }
.ol-shop-body { min-width: 0; }
.ol-shop-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; padding-bottom: 16px; border-bottom: 1px solid var(--shop-line); }
.ol-shop-layout .shop-sort { display: flex; gap: 6px; flex-wrap: wrap; }
@media (max-width: 900px) {
  .ol-shop-layout { grid-template-columns: 1fr; }
  .ol-shop-aside { position: static; flex-direction: row; flex-wrap: wrap; gap: 18px; }
  .ol-aside-block { flex: 1; min-width: 150px; }
}
.ol-cat-head-side { align-items: flex-start; text-align: left; border-bottom: none; padding-bottom: 0; margin-bottom: 18px; }
.ol-aside-cats .shop-cat-name { flex: 1; min-width: 0; text-align: left; }
.ol-shop-aside .shop-pricefilter-form { display: flex; }
.ol-shop-aside .shop-pricefilter { flex: 1; min-width: 0; }
.ol-shop-aside .shop-price-input { flex: 1; width: auto; min-width: 0; }
.ol-shop-aside .shop-facet { flex: 1 1 100%; min-width: 0; }
.psk-bns { --bns-radius: var(--shop-radius, 16px); }
.rent-page { padding: 40px 0 72px; }
.rent-page h1 { margin: 0 0 20px; }
.rent-back { display: inline-flex; margin-bottom: 14px; color: var(--text-muted, #6b7280); font-size: 15px; text-decoration: none; }
.rent-back:hover { color: var(--primary, #2563eb); }
.rent-empty { padding: 40px 0; color: var(--text-muted, #6b7280); text-align: center; }
.rent-search { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 12px; margin: 0 0 28px; padding: 16px; border: 1px solid var(--border, rgba(128,128,128,.22)); border-radius: 18px; background: var(--bg-card, var(--surface, #fff)); }
.rent-search-f { display: flex; min-width: 0; flex-direction: column; gap: 6px; font-size: 15px; color: var(--text-muted, #6b7280); }
.rent-search-f input, .rent-search-f select { height: 48px; padding: 0 14px; border: 1px solid var(--border, rgba(128,128,128,.25)); border-radius: 12px; background: var(--bg, #fff); color: var(--text, #111); font: inherit; font-size: 15px; }
.rent-search-btn { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; height: 48px; padding: 0 24px; border: 0; border-radius: 12px; background: var(--primary, #2563eb); color: var(--on-primary, #fff); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.rent-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.rent-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border, rgba(128,128,128,.2)); border-radius: 18px; background: var(--bg-card, var(--surface, #fff)); color: inherit; text-decoration: none; }
.rent-card:hover { transform: translateY(-3px); }
.rent-card-img { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bg-soft, rgba(128,128,128,.1)); }
.rent-card-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rent-card:hover .rent-card-img img { transform: scale(1.04); }
.rent-card-kind { position: absolute; top: 12px; left: 12px; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.92); color: #111; font-size: 15px; font-weight: 700; }
.rent-card-b { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 16px 18px 18px; }
.rent-card-city { color: var(--text-muted, #6b7280); font-size: 15px; }
.rent-card-t { font-size: 18px; line-height: 1.3; }
.rent-card-meta { color: var(--text-muted, #6b7280); font-size: 15px; }
.rent-card-price { margin-top: auto; padding-top: 8px; font-size: 15px; }
.rent-card-price b { font-size: 20px; color: var(--text, #111); }
.rent-unit-loc { margin: -10px 0 20px; color: var(--text-muted, #6b7280); font-size: 15px; }
.rent-gal { position: relative; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 220px 220px; gap: 8px; overflow: hidden; margin-bottom: 32px; border-radius: 20px; }
.rent-gal-i { position: relative; padding: 0; overflow: hidden; border: 0; background: var(--bg-soft, rgba(128,128,128,.12)); cursor: zoom-in; }
.rent-gal-i img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rent-gal-i:hover img { transform: scale(1.03); }
.rent-gal-i.is-main { grid-row: 1 / 3; }
.rent-gal-i.is-more { display: none; }
.rent-gal[data-count="1"] { grid-template-columns: 1fr; grid-template-rows: 440px; }
.rent-gal[data-count="2"] { grid-template-columns: 2fr 1fr; }
.rent-gal[data-count="2"] .rent-gal-i:nth-child(2) { grid-row: 1 / 3; }
.rent-gal[data-count="3"] { grid-template-columns: 2fr 1fr; }
.rent-gal-play { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 28px; background: rgba(0,0,0,.28); }
.rent-gal-all { position: absolute; right: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 0; border-radius: 12px; background: #fff; color: #111; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.rent-unit-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: start; }
.rent-unit-main h2 { margin: 36px 0 16px; font-size: 24px; }
.rent-facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; padding: 0; list-style: none; }
.rent-facts li { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--border, rgba(128,128,128,.2)); border-radius: 999px; font-size: 15px; }
.rent-facts i, .rent-ams i, .rent-rules i { color: var(--primary, #2563eb); }
.rent-body { font-size: 16px; line-height: 1.7; }
.rent-ams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 0; padding: 0; list-style: none; }
.rent-ams li, .rent-rules li { display: flex; align-items: center; gap: 12px; font-size: 16px; }
.rent-ams i, .rent-rules i { width: 22px; text-align: center; font-size: 18px; }
.rent-rules { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.rent-map { overflow: hidden; border-radius: 18px; aspect-ratio: 16 / 9; background: var(--bg-soft, rgba(128,128,128,.1)); }
.rent-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.rent-unit-side { position: sticky; top: 100px; }
.rent-book { display: flex; flex-direction: column; gap: 14px; padding: 24px; border: 1px solid var(--border, rgba(128,128,128,.22)); border-radius: 22px; background: var(--bg-card, var(--surface, #fff)); }
.rent-book-price { font-size: 15px; color: var(--text-muted, #6b7280); }
.rent-book-price b { font-size: 26px; color: var(--text, #111); }
.rent-book-dates { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid var(--border, rgba(128,128,128,.25)); border-radius: 14px; }
.rent-book-date { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.rent-book-date + .rent-book-date { border-left: 1px solid var(--border, rgba(128,128,128,.25)); }
.rent-book-date small { color: var(--text-muted, #6b7280); font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.rent-book-date b { font-size: 15px; }
.rent-book-date:hover { background: var(--bg-soft, rgba(128,128,128,.08)); }
.rent-book-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 15px; font-weight: 600; }
.rent-cal { padding: 14px; border: 1px solid var(--border, rgba(128,128,128,.22)); border-radius: 16px; background: var(--bg-card, var(--surface, #fff)); }
.rent-cal-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; font-size: 15px; font-weight: 700; }
.rent-cal-nav button { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--border, rgba(128,128,128,.25)); border-radius: 50%; background: transparent; color: inherit; cursor: pointer; }
.rent-cal-nav button:disabled { opacity: .35; cursor: default; }
.rent-cal-ms { display: grid; grid-template-columns: 1fr; gap: 18px; }
.rent-cal-t { margin-bottom: 8px; font-size: 15px; font-weight: 700; text-align: center; }
.rent-cal-g { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.rent-cal-w { padding: 4px 0; color: var(--text-muted, #6b7280); font-size: 15px; text-align: center; }
.rent-cal-d { height: 38px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: inherit; font: inherit; font-size: 15px; cursor: pointer; }
.rent-cal-d:hover:not(:disabled) { background: var(--bg-soft, rgba(128,128,128,.12)); }
.rent-cal-d.is-past, .rent-cal-d.is-blocked { opacity: .3; cursor: default; }
.rent-cal-d.is-busy { color: var(--text-muted, #9ca3af); text-decoration: line-through; cursor: default; }
.rent-cal-d.is-short { opacity: .55; }
.rent-cal-d.is-in { border-radius: 0; background: color-mix(in srgb, var(--primary, #2563eb) 14%, transparent); }
.rent-cal-d.is-start, .rent-cal-d.is-end { background: var(--primary, #2563eb); color: var(--on-primary, #fff); }
.rent-cal-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 12px; color: var(--text-muted, #6b7280); font-size: 15px; }
.rent-cal-key { display: inline-block; width: 12px; height: 2px; margin-right: 4px; vertical-align: middle; background: currentColor; }
.rent-cal-clear { margin-left: auto; padding: 0; border: 0; background: none; color: var(--primary, #2563eb); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.rent-qty { flex: 0 0 auto; }
.rent-quote-lines { display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.rent-quote-l, .rent-quote-total { display: flex; justify-content: space-between; gap: 12px; }
.rent-quote-l span:first-child { color: var(--text-muted, #6b7280); }
.rent-quote-total { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border, rgba(128,128,128,.22)); font-size: 16px; font-weight: 700; }
.rent-quote-total b { font-size: 20px; }
.rent-quote-dep { margin: 10px 0 0; color: var(--text-muted, #6b7280); font-size: 15px; }
.rent-book-form { display: flex; flex-direction: column; gap: 10px; }
.rent-book-form input:not([type=radio]):not([type=checkbox]):not(.shop-qty-val), .rent-book-form textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--border, rgba(128,128,128,.25)); border-radius: 12px; background: var(--bg, #fff); color: var(--text, #111); font: inherit; font-size: 15px; box-sizing: border-box; }
.rent-book-form textarea { resize: vertical; }
.rent-book-pay { display: flex; flex-direction: column; gap: 8px; }
.rent-pay-opt { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--border, rgba(128,128,128,.25)); border-radius: 12px; font-size: 15px; cursor: pointer; }
.rent-pay-opt:has(input:checked) { border-color: var(--primary, #2563eb); }
.rent-pay-opt input { flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; accent-color: var(--primary, #2563eb); }
.rent-pay-opt span, .rent-pay-opt b { flex: 1 1 auto; text-align: left; }
.rent-book-btn { min-height: 54px; border: 0; border-radius: 14px; background: var(--primary, #2563eb); color: var(--on-primary, #fff); font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.rent-book-btn:hover { filter: brightness(1.06); }
.rent-book-btn:disabled { opacity: .6; cursor: wait; }
.rent-book-msg { margin: 0; color: #dc2626; font-size: 15px; text-align: center; }
.rent-book-hint { margin: 0; color: var(--text-muted, #6b7280); font-size: 15px; text-align: center; }
.rent-book-hint.is-err { color: #dc2626; }
.rent-bv { max-width: 720px; margin: 0 auto; }
.rent-bv-status { display: inline-block; margin-bottom: 14px; padding: 6px 14px; border-radius: 999px; font-size: 15px; font-weight: 700; }
.rent-bv-status.is-ok { background: rgba(34,197,94,.14); color: #15803d; }
.rent-bv-status.is-wait { background: rgba(234,179,8,.16); color: #a16207; }
.rent-bv-status.is-no { background: rgba(239,68,68,.12); color: #dc2626; }
.rent-bv h1 { margin: 0 0 4px; }
.rent-bv-no { margin: 0 0 24px; color: var(--text-muted, #6b7280); }
.rent-bv-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.rent-bv-grid > div { display: flex; flex-direction: column; gap: 2px; padding: 14px; border: 1px solid var(--border, rgba(128,128,128,.22)); border-radius: 14px; }
.rent-bv-grid small, .rent-bv-grid span { color: var(--text-muted, #6b7280); font-size: 15px; }
.rent-bv-grid b { font-size: 17px; }
.rent-bv-box { margin: 20px 0; padding: 20px; border-radius: 16px; background: var(--bg-soft, rgba(128,128,128,.08)); }
.rent-bv-box h2 { margin: 0 0 10px; font-size: 20px; }
.rent-bv-note, .rent-bv-contact { color: var(--text-muted, #6b7280); font-size: 15px; }
.rent-lb { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.92); }
.rent-lb[hidden] { display: none; }
.rent-lb-stage { display: flex; align-items: center; justify-content: center; width: min(1200px, 92vw); height: 82vh; }
.rent-lb-stage img, .rent-lb-stage video { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; }
.rent-lb.is-swipe .rent-lb-stage img { cursor: grab; }
.rent-lb.is-dragging, .rent-lb.is-dragging .rent-lb-stage img { cursor: grabbing; }
.rent-lb-stage iframe { width: 100%; height: 100%; border: 0; border-radius: 8px; }
.rent-lb-x, .rent-lb-nav { position: absolute; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; font-size: 18px; cursor: pointer; }
.rent-lb-x { top: 20px; right: 20px; }
.rent-lb-nav.is-prev { left: 20px; }
.rent-lb-nav.is-next { right: 20px; }
.rent-lb-x:hover, .rent-lb-nav:hover { background: rgba(255,255,255,.26); }
.rent-lb-n { position: absolute; bottom: 20px; left: 50%; color: #fff; font-size: 15px; transform: translateX(-50%); }
html.rent-lb-open { overflow: hidden; }
@media (min-width: 900px) { .rent-unit-side .rent-cal-ms { grid-template-columns: 1fr; } }
@media (max-width: 1000px) {
    .rent-unit-grid { grid-template-columns: 1fr; gap: 32px; }
    .rent-unit-side { position: static; }
}
@media (max-width: 640px) {
    .rent-gal { grid-template-columns: 1fr 1fr; grid-template-rows: 240px 120px; border-radius: 16px; }
    .rent-gal-i.is-main { grid-column: 1 / 3; grid-row: 1; }
    .rent-gal-i:nth-child(n+4) { display: none; }
    .rent-gal[data-count="1"] { grid-template-rows: 260px; }
    .rent-ams { grid-template-columns: 1fr; }
    .rent-bv-grid { grid-template-columns: 1fr 1fr; }
    .rent-search-btn { width: 100%; justify-content: center; }
    .rent-book { padding: 18px; }
    .rent-lb-nav { display: none; }
}
[data-rent-search] select { -webkit-appearance: none; appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23888' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 12px 8px; cursor: pointer; }
.rent-sd-btn { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--border, rgba(128,128,128,.25)); border-radius: 12px; background: var(--bg, #fff); color: var(--text, #111); font: inherit; font-size: 15px; font-weight: 600; text-align: left; cursor: pointer; }
.rent-sd-btn.is-empty { color: var(--text-muted, #6b7280); font-weight: 500; }
.rent-sd-btn [data-sd-lbl] { overflow: hidden; min-width: 0; text-overflow: ellipsis; white-space: nowrap; }
.rent-sd-btn i { flex: 0 0 auto; color: var(--primary, #2563eb); font-size: 16px; }
.rent-sd-btn:hover, .rent-sd-btn.is-active { border-color: var(--primary, #2563eb); }
.rent-sd-host { position: relative; }
.rent-sd-cal { position: absolute; top: calc(100% + 8px); left: 0; z-index: 60; width: 320px; color: var(--text, #111); font-weight: 400; text-align: left; }
.rent-sd-cal .rent-cal-nav span { font-size: 16px; }
.rent-sd-hint { margin: 0 0 8px; color: var(--text-muted, #6b7280); font-size: 15px; text-align: center; }
.rent-sd-cal .rent-cal-foot { margin-top: 8px; }
@media (max-width: 640px) {
    .rent-sd-cal { position: fixed; top: auto; right: 16px; bottom: 16px; left: 16px; z-index: 300; width: auto; }
}
[data-rent-search] input, [data-rent-search] select, .rent-sd-btn, .rent-book-form input, .rent-book-form textarea, .rent-book-date, .rent-pay-opt { outline: none; }
[data-rent-search] input:hover, [data-rent-search] select:hover, .rent-book-form input:not([type=radio]):not([type=checkbox]):not(.shop-qty-val):hover, .rent-book-form textarea:hover, .rent-pay-opt:hover { border-color: color-mix(in srgb, var(--primary, #2563eb) 45%, var(--border, rgba(128,128,128,.25))); }
[data-rent-search] input:focus, [data-rent-search] input:focus-visible, [data-rent-search] select:focus, [data-rent-search] select:focus-visible, .rent-sd-btn:focus, .rent-sd-btn:focus-visible, .rent-book-form input:not([type=radio]):not([type=checkbox]):not(.shop-qty-val):focus, .rent-book-form input:not([type=radio]):not([type=checkbox]):not(.shop-qty-val):focus-visible, .rent-book-form textarea:focus, .rent-book-form textarea:focus-visible { outline: none; border-color: var(--primary, #2563eb); }
.rent-qty .shop-qty-btn:focus, .rent-qty .shop-qty-btn:focus-visible, .rent-qty .shop-qty-val:focus, .rent-qty .shop-qty-val:focus-visible, .rent-pay-opt input:focus-visible, .rent-cal-d:focus-visible, .rent-cal-nav button:focus-visible { outline: none; }
.psk-sel { position: relative; width: 100%; }
.psk-sel-native { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; overflow: hidden; clip: rect(0 0 0 0); pointer-events: none; }
.psk-sel-btn { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--border, rgba(128,128,128,.25)); border-radius: 12px; background: var(--bg, #fff); color: var(--text, #111); font: inherit; font-size: 15px; font-weight: 600; text-align: left; cursor: pointer; outline: none; }
.psk-sel-val { overflow: hidden; min-width: 0; text-overflow: ellipsis; white-space: nowrap; }
.psk-sel-btn i { flex: 0 0 auto; color: var(--text-muted, #6b7280); font-size: 13px; }
.psk-sel-btn:hover { border-color: color-mix(in srgb, var(--primary, #2563eb) 45%, var(--border, rgba(128,128,128,.25))); }
.psk-sel-btn:focus, .psk-sel-btn:focus-visible, .psk-sel.is-open .psk-sel-btn { outline: none; border-color: var(--primary, #2563eb); }
.psk-sel.is-open .psk-sel-btn i { transform: rotate(180deg); color: var(--primary, #2563eb); }
.psk-sel-list { position: absolute; top: calc(100% + 6px); left: 0; z-index: 70; display: flex; flex-direction: column; gap: 2px; width: 100%; min-width: 180px; max-height: 300px; padding: 6px; overflow-y: auto; border: 1px solid var(--border, rgba(128,128,128,.22)); border-radius: 14px; background: var(--bg-card, var(--surface, #fff)); overscroll-behavior: contain; }
.psk-sel-list[hidden] { display: none; }
.psk-sel-opt { display: block; width: 100%; padding: 10px 12px; border: 0; border-radius: 10px; background: transparent; color: var(--text, #111); font: inherit; font-size: 15px; font-weight: 500; text-align: left; cursor: pointer; outline: none; }
.psk-sel-opt:hover, .psk-sel-opt:focus, .psk-sel-opt:focus-visible, .psk-sel-opt.is-cur { background: var(--bg-soft, rgba(128,128,128,.12)); }
.psk-sel-opt.is-sel { color: var(--primary, #2563eb); font-weight: 700; }
.psk-sel-list:has(.psk-sel-search) { max-height: none; overflow: visible; }
.psk-sel-search { width: 100%; height: 42px; margin: 0 0 4px; padding: 0 12px; border: 1px solid var(--border, rgba(128,128,128,.25)); border-radius: 10px; background: var(--bg, #fff); color: var(--text, #111); font: inherit; font-size: 15px; outline: none; }
.psk-sel-search:hover { border-color: color-mix(in srgb, var(--primary, #2563eb) 45%, var(--border, rgba(128,128,128,.25))); }
.psk-sel-search:focus, .psk-sel-search:focus-visible { outline: none; border-color: var(--primary, #2563eb); }
.psk-sel-opts { display: flex; flex-direction: column; gap: 2px; max-height: 250px; overflow-y: auto; overscroll-behavior: contain; }
.psk-sel-empty { padding: 10px 12px; color: var(--text-muted, #6b7280); font-size: 15px; }
.rent-hours { padding: 14px; border: 1px solid var(--border, rgba(128,128,128,.22)); border-radius: 16px; background: var(--bg-card, var(--surface, #fff)); }
.rent-hours[hidden] { display: none; }
.rent-hours-t { margin: 0 0 10px; color: var(--text-muted, #6b7280); font-size: 15px; }
.rent-hours-g { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.rent-hour { height: 40px; padding: 0; border: 1px solid var(--border, rgba(128,128,128,.25)); border-radius: 10px; background: transparent; color: inherit; font: inherit; font-size: 15px; cursor: pointer; outline: none; }
.rent-hour:hover:not(:disabled) { border-color: var(--primary, #2563eb); }
.rent-hour.is-on { border-color: var(--primary, #2563eb); background: var(--primary, #2563eb); color: var(--on-primary, #fff); }
.rent-hour:disabled { opacity: .35; cursor: default; }
.rent-search-btn { width: 100%; justify-content: center; }
@media (max-width: 640px) { .rent-search { grid-template-columns: 1fr; } }
.psk-form{display:flex;flex-direction:column;gap:12px;max-width:560px}
.psk-form-flabel{font-size:13px;font-weight:600;opacity:.8}
.psk-form-field{width:100%;padding:12px 14px;border:1px solid rgba(128,128,128,.3);border-radius:10px;background:transparent;color:inherit;font:inherit;box-sizing:border-box}
.psk-form-field{transition:border-color .25s ease,background-color .25s ease}
.psk-form-field:hover{border-color:color-mix(in srgb,var(--primary,#111) 45%,transparent)}
.psk-form-field:focus{outline:none;border-color:var(--primary,#111)}
textarea.psk-form-field{resize:vertical;min-height:90px}
.psk-form-submit{padding:13px 22px;border:0;border-radius:10px;background:var(--primary,#111);color:var(--on-primary,#fff);font-weight:700;cursor:pointer;transition:all .3s}
.psk-form-submit[disabled]{opacity:.5;cursor:not-allowed}
.psk-form-note{font-size:13px}
.psk-form-note.is-ok{color:#1f9d57}
.psk-form-note.is-err{color:#d23f3f}
.psk-form-submit:hover:not([disabled]){filter:brightness(1.07);transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.psk-form-field,.psk-form-submit{transition:none}}
[hidden] { display: none; }
.shop-np-pin .shop-np-logo[hidden], .shop-requisites.is-rich[hidden] { display: none; }
