:root {
  --bg: #f7f5ef;
  --surface: #ffffff;
  --text: #1f2933;
  --muted: #687382;
  --brand: #1f5f8b;
  --brand-dark: #174768;
  --line: #e6e1d7;
  --ok: #0f766e;
  --warn: #b45309;
  --error: #b91c1c;
  --radius: 18px;
  --shadow: 0 18px 45px rgba(31, 41, 51, .08);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
}
a { color: var(--brand); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
.site-header { background: rgba(255,255,255,.9); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 10; backdrop-filter: blur(12px); }
.nav { display: flex; justify-content: space-between; align-items: center; min-height: 72px; gap: 24px; }
.brand { font-size: 1.45rem; font-weight: 800; color: var(--text); }
.nav nav { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.nav nav a { color: var(--text); font-weight: 600; border-radius: 999px; padding: 7px 10px; transition: background .18s ease, color .18s ease; }
.nav nav a:hover { background: rgba(31,95,139,.09); text-decoration: none; }
.nav nav a.nav-active { background: rgba(31,95,139,.13); color: var(--brand-dark); font-weight: 850; }
.nav nav a.button.small { padding: 8px 14px; }
.nav nav a.nav-active-button { outline: 2px solid rgba(31,95,139,.25); outline-offset: 2px; }
.hero { display: grid; grid-template-columns: minmax(0, 1.5fr) 360px; gap: 36px; align-items: center; padding: 64px 0 44px; }
.eyebrow, .tag { display: inline-flex; align-items: center; border-radius: 999px; background: #e8f2fa; color: var(--brand-dark); padding: 4px 10px; font-size: .84rem; font-weight: 700; }
h1 { font-size: clamp(2rem, 5vw, 4rem); line-height: 1.05; margin: 12px 0 16px; }
h2 { margin-top: 36px; }
.lead, .hero p { font-size: 1.12rem; color: var(--muted); }
.actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.button, button.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--brand); color: #fff !important; border: 0; border-radius: 999px; padding: 12px 20px; font-weight: 800; cursor: pointer; box-shadow: 0 10px 22px rgba(31, 95, 139, .18); }
.button:hover { background: var(--brand-dark); text-decoration: none; }
.button.secondary { background: #fff; color: var(--brand) !important; border: 1px solid var(--line); box-shadow: none; }
.button.small { padding: 8px 14px; }
.button.full { width: 100%; }
.link-button { border: 0; background: transparent; color: var(--brand); cursor: pointer; padding: 10px; width: 100%; font-weight: 700; }
.inline-form { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.inline-form .link-button { width: auto; padding: 0; }
.inline-form .button { margin: 0; }

.button.ghost { background: transparent; color: var(--brand); border-color: rgba(31,95,139,.28); box-shadow: none; }
.button.ghost:hover { background: rgba(31,95,139,.08); border-color: var(--brand); transform: translateY(-1px); }
.custom-request-promo { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 24px 0 42px; }
.custom-request-promo h2 { margin: 6px 0 8px; }
.custom-request-promo p { margin: 0; max-width: 780px; }
@media (max-width: 720px) { .custom-request-promo { flex-direction: column; align-items: flex-start; } .custom-request-promo .button { width: 100%; } }
.hero-card, .card, .purchase-box, .auth-card, .form-card, .preview { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.hero-card { padding: 28px; display: grid; gap: 4px; }
.hero-card strong { font-size: 3rem; color: var(--brand); line-height: 1; }
.hero-card span { color: var(--muted); margin-bottom: 16px; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin: 18px 0 48px; }
.card { padding: 22px; display: flex; flex-direction: column; min-height: 250px; }
.card h3 { margin: 12px 0 8px; font-size: 1.25rem; }
.card p { color: var(--muted); flex: 1; }
.card-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid var(--line); padding-top: 14px; }
.meta, .muted { color: var(--muted); }
.page-head { margin: 40px 0 20px; }
.page-head h1 { font-size: clamp(2rem, 4vw, 3rem); }
.row { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.filters { display: grid; grid-template-columns: 1fr 230px auto; gap: 12px; margin-bottom: 24px; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; font: inherit; background: #fff; color: var(--text); }
label { display: grid; gap: 7px; font-weight: 700; margin-bottom: 16px; }
.check { display: flex; align-items: center; gap: 8px; }
.check input { width: auto; }
.material { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 24px; margin: 42px 0; align-items: start; }
.material-main { min-width: 0; }
.details { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.details span { background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 7px 12px; color: var(--muted); }
.preview { padding: 24px; white-space: normal; }
.purchase-box { padding: 24px; position: sticky; top: 92px; }
.price { font-size: 2.2rem; font-weight: 900; color: var(--brand); }
.auth-card, .form-card { width: min(680px, 100%); margin: 46px auto; padding: 28px; }
.form-card { width: min(860px, 100%); }
.grid.two { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.table { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); margin-bottom: 44px; }
.table th, .table td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; }
.table th { background: #f0ede6; font-size: .9rem; color: var(--muted); }
.alert { margin: 18px 0; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--line); background: #fff; }
.alert.success { border-color: rgba(15,118,110,.25); background: #ecfdf5; color: var(--ok); }
.alert.warning { border-color: rgba(180,83,9,.25); background: #fffbeb; color: var(--warn); }
.alert.error { border-color: rgba(185,28,28,.25); background: #fef2f2; color: var(--error); }
.empty { padding: 28px; background: #fff; border: 1px dashed var(--line); border-radius: var(--radius); color: var(--muted); }
.site-footer { margin-top: 50px; padding: 30px 0; background: #fff; border-top: 1px solid var(--line); }
@media (max-width: 860px) {
  .hero, .material, .filters, .grid.two { grid-template-columns: 1fr; }
  .cards { grid-template-columns: 1fr; }
  .purchase-box { position: static; }
  .nav { align-items: flex-start; flex-direction: column; padding: 12px 0; }
}

.footer-links { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.footer-button { border: 0; background: transparent; color: var(--brand); cursor: pointer; padding: 0; font: inherit; font-weight: 700; }
.legal { width: min(900px, 100%); margin: 42px auto; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 32px; }
.legal h1 { font-size: clamp(2rem, 4vw, 3rem); }
.legal h2 { border-top: 1px solid var(--line); padding-top: 22px; }
.legal ul { padding-left: 22px; }
.legal-box { background: #fffaf0; border: 1px solid #f1d29c; border-radius: var(--radius); padding: 18px; margin-bottom: 18px; }
.checkout-mini { display: grid; gap: 8px; }
.checkout-mini label { font-size: .92rem; margin-bottom: 4px; }
.important { background: #fff7ed; border: 1px solid rgba(180,83,9,.25); border-radius: 14px; padding: 10px; }
.invoice { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 32px; margin: 42px auto; width: min(920px, 100%); }
.invoice h1 { font-size: 2.4rem; }
.invoice-parties { margin: 26px 0; align-items: start; }
.cookie-banner { position: fixed; left: 18px; right: 18px; bottom: 18px; z-index: 1000; display: flex; justify-content: space-between; gap: 18px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 22px 60px rgba(31, 41, 51, .2); padding: 18px; }
.cookie-banner p { margin: 4px 0 0; color: var(--muted); }
.cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.cookie-modal-backdrop { position: fixed; inset: 0; z-index: 1001; background: rgba(31,41,51,.45); display: grid; place-items: center; padding: 20px; }
.cookie-modal { width: min(560px, 100%); background: #fff; border-radius: 22px; border: 1px solid var(--line); box-shadow: 0 22px 70px rgba(31,41,51,.26); padding: 24px; }
@media (max-width: 720px) { .cookie-banner { flex-direction: column; align-items: stretch; } .cookie-actions { justify-content: stretch; } .cookie-actions .button { flex: 1; } .legal, .invoice { padding: 22px; } }
@media print { .site-header, .site-footer, .no-print, .cookie-banner { display: none !important; } body { background: #fff; } .invoice { box-shadow: none; border: 0; margin: 0; width: 100%; } }

.admin-tabs { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 28px 0 12px; }
.actions-cell { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.actions-cell form { display: inline; margin: 0; }
.link-inline { border: 0; background: transparent; color: var(--brand); cursor: pointer; padding: 0; font: inherit; font-weight: 700; }
.link-inline:hover { text-decoration: underline; }
.link-inline.danger { color: var(--error); }


/* Визуален контрол, реклами и контакти */
.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand img { max-height: 44px; width: auto; display: block; }
.settings-form h2 { border-top: 1px solid var(--line); padding-top: 22px; }
.settings-form h2:first-of-type { border-top: 0; padding-top: 0; }
.admin-logo-preview { max-height: 90px; max-width: 260px; border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 8px; }
.contact-layout .form-card { margin-top: 0; }
.ad-list { display: grid; gap: 14px; margin: 18px 0; }
.ad-box { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 14px; position: relative; overflow: hidden; }
.ad-box a, .ad-box > div:not(.ad-label) { color: var(--text); display: grid; gap: 8px; }
.ad-box img { width: 100%; max-height: 160px; object-fit: cover; border-radius: calc(var(--radius) - 6px); border: 1px solid var(--line); }
.ad-box strong { font-size: 1.02rem; }
.ad-box span { color: var(--muted); font-size: .94rem; }
.ad-label { position: absolute; top: 10px; right: 10px; background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: 999px; padding: 2px 8px; color: var(--muted); font-size: .72rem; font-weight: 800; }
.purchase-box .ad-list { margin-top: 0; }
.purchase-box .ad-box { box-shadow: none; }

/* Purchase login/register choice */
.small { font-size: 0.9rem; }
.auth-choice .card { min-height: auto; }
.auth-choice h2 { margin-top: 0; }

/* Dark mode */
.theme-toggle {
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--text);
  border-radius: 999px;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  cursor: pointer;
  font-size: 1.08rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(31,95,139,.10);
}
.theme-toggle:hover,
.theme-toggle:focus-visible {
  border-color: var(--brand);
  background: rgba(31,95,139,.08);
  outline: none;
  transform: translateY(-1px);
}
.theme-toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25em;
  height: 1.25em;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .site-footer,
html[data-theme="dark"] .table,
html[data-theme="dark"] .alert,
html[data-theme="dark"] .empty,
html[data-theme="dark"] .legal,
html[data-theme="dark"] .invoice,
html[data-theme="dark"] .legal-box,
html[data-theme="dark"] .details span,
html[data-theme="dark"] .cookie-banner,
html[data-theme="dark"] .cookie-modal,
html[data-theme="dark"] .ad-box,
html[data-theme="dark"] .button.secondary,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea { background: var(--surface); color: var(--text); }
html[data-theme="dark"] .table th { background: #172033; }
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .tag { background: rgba(96,165,250,.14); color: #bfdbfe; }
html[data-theme="dark"] .important,
html[data-theme="dark"] .legal-box { background: rgba(180,83,9,.12); }
html[data-theme="dark"] .alert.success { background: rgba(15,118,110,.14); }
html[data-theme="dark"] .alert.warning { background: rgba(180,83,9,.12); }
html[data-theme="dark"] .alert.error { background: rgba(185,28,28,.13); }
html[data-theme="dark"] .ad-label { background: rgba(17,24,39,.88); }

.status-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 2px 8px; font-size: .78rem; font-weight: 800; border: 1px solid var(--line); margin: 2px 4px 2px 0; }
.status-badge.ok { background: rgba(15,118,110,.10); color: var(--ok); border-color: rgba(15,118,110,.20); }
.status-badge.warn { background: rgba(180,83,9,.10); color: var(--warn); border-color: rgba(180,83,9,.20); }
.status-badge.danger { background: rgba(185,28,28,.10); color: var(--error); border-color: rgba(185,28,28,.20); }
.inline-input { width: 130px; padding: 6px 8px; border-radius: 10px; font-size: .85rem; }
tr.is-blocked { opacity: .72; }

/* Пълен dark mode слой */
html { background: var(--bg); }
body, .site-header, .site-footer, .card, .hero-card, .purchase-box, .auth-card, .form-card, .preview, .legal, .invoice, .ad-box, .table, input, select, textarea, .cookie-banner, .cookie-modal {
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
html[data-theme="dark"] {
  color-scheme: dark;
}
html[data-theme="dark"] body {
  background: radial-gradient(circle at top left, rgba(96,165,250,.10), transparent 34%), var(--bg);
  color: var(--text);
}
html[data-theme="dark"] a { color: var(--brand); }
html[data-theme="dark"] .site-header {
  background: rgba(15, 23, 42, .92);
  border-bottom-color: var(--line);
  box-shadow: 0 10px 30px rgba(0,0,0,.20);
}
html[data-theme="dark"] .brand,
html[data-theme="dark"] .nav nav a,
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] strong { color: var(--text); }
html[data-theme="dark"] .hero-card,
html[data-theme="dark"] .card,
html[data-theme="dark"] .purchase-box,
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .preview,
html[data-theme="dark"] .legal,
html[data-theme="dark"] .invoice,
html[data-theme="dark"] .ad-box,
html[data-theme="dark"] .table,
html[data-theme="dark"] .site-footer,
html[data-theme="dark"] .cookie-banner,
html[data-theme="dark"] .cookie-modal,
html[data-theme="dark"] .empty,
html[data-theme="dark"] .details span {
  background: var(--surface);
  border-color: var(--line);
  color: var(--text);
  box-shadow: var(--shadow);
}
html[data-theme="dark"] .site-footer { box-shadow: none; }
html[data-theme="dark"] .lead,
html[data-theme="dark"] .hero p,
html[data-theme="dark"] .meta,
html[data-theme="dark"] .muted,
html[data-theme="dark"] .card p,
html[data-theme="dark"] .ad-box span,
html[data-theme="dark"] .cookie-banner p { color: var(--muted); }
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  background: #0f172a;
  color: var(--text);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #7f8aa3; }
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus {
  outline: 2px solid rgba(96,165,250,.35);
  border-color: var(--brand);
}
html[data-theme="dark"] .button,
html[data-theme="dark"] button.button {
  box-shadow: 0 12px 24px rgba(96,165,250,.18);
}
html[data-theme="dark"] .button.secondary {
  background: #0f172a;
  color: var(--brand) !important;
  border-color: var(--line);
}
html[data-theme="dark"] .button.secondary:hover { background: #172033; }
html[data-theme="dark"] .theme-toggle {
  background: #0f172a;
  color: var(--text);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .theme-toggle:hover {
  border-color: var(--brand);
  background: #172033;
}
html[data-theme="dark"] .table th {
  background: #0f172a;
  color: var(--muted);
  border-bottom-color: var(--line);
}
html[data-theme="dark"] .table td { border-bottom-color: var(--line); }
html[data-theme="dark"] .table tr:hover td { background: rgba(96,165,250,.05); }
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .tag {
  background: rgba(96,165,250,.14);
  color: #bfdbfe;
  border: 1px solid rgba(96,165,250,.18);
}
html[data-theme="dark"] .price,
html[data-theme="dark"] .hero-card strong { color: var(--brand); }
html[data-theme="dark"] .important,
html[data-theme="dark"] .legal-box {
  background: rgba(251,191,36,.08);
  border-color: rgba(251,191,36,.24);
  color: var(--text);
}
html[data-theme="dark"] .alert { background: #0f172a; border-color: var(--line); }
html[data-theme="dark"] .alert.success { background: rgba(45,212,191,.10); border-color: rgba(45,212,191,.25); color: var(--ok); }
html[data-theme="dark"] .alert.warning { background: rgba(251,191,36,.10); border-color: rgba(251,191,36,.25); color: var(--warn); }
html[data-theme="dark"] .alert.error { background: rgba(248,113,113,.10); border-color: rgba(248,113,113,.25); color: var(--error); }
html[data-theme="dark"] .status-badge.ok { background: rgba(45,212,191,.10); color: var(--ok); border-color: rgba(45,212,191,.22); }
html[data-theme="dark"] .status-badge.warn { background: rgba(251,191,36,.10); color: var(--warn); border-color: rgba(251,191,36,.22); }
html[data-theme="dark"] .status-badge.danger { background: rgba(248,113,113,.10); color: var(--error); border-color: rgba(248,113,113,.22); }
html[data-theme="dark"] .admin-logo-preview {
  background: #0f172a;
  border-color: var(--line);
}
html[data-theme="dark"] .ad-label {
  background: rgba(15,23,42,.92);
  color: var(--muted);
  border-color: var(--line);
}
html[data-theme="dark"] .ad-box img { border-color: var(--line); }
html[data-theme="dark"] .cookie-modal-backdrop { background: rgba(2,6,23,.72); }
html[data-theme="dark"] .footer-button,
html[data-theme="dark"] .link-button,
html[data-theme="dark"] .link-inline { color: var(--brand); }
html[data-theme="dark"] hr { border-color: var(--line); }
html[data-theme="dark"] ::selection { background: rgba(96,165,250,.35); }

/* Разширен рекламен модул */
.global-ad-slot { margin-top: 14px; }
.catalog-inline-ad { grid-column: 1 / -1; }
.ad-list { align-items: stretch; }
.ad-list-global_header,
.ad-list-catalog_between,
.ad-list-material_below_preview,
.ad-list-preview { justify-items: center; }
.ad-list-material_sidebar { grid-template-columns: 1fr; }
.ad-box {
  width: 100%;
  margin-inline: auto;
  display: grid;
  place-items: center;
  min-height: 90px;
}
.ad-box a,
.ad-box > div:not(.ad-label) {
  width: 100%;
  min-height: inherit;
  align-content: center;
  justify-items: start;
}
.ad-box img {
  width: 100%;
  object-fit: cover;
  object-position: center;
}
.ad-size-responsive { max-width: 100%; min-height: 120px; }
.ad-size-billboard { max-width: 970px; min-height: 250px; }
.ad-size-leaderboard { max-width: 728px; min-height: 90px; }
.ad-size-wide_banner { max-width: 970px; min-height: 90px; }
.ad-size-banner { max-width: 468px; min-height: 60px; }
.ad-size-mobile_banner { max-width: 320px; min-height: 100px; }
.ad-size-rectangle { max-width: 300px; min-height: 250px; }
.ad-size-large_rectangle { max-width: 336px; min-height: 280px; }
.ad-size-skyscraper { max-width: 160px; min-height: 600px; }
.ad-size-half_page { max-width: 300px; min-height: 600px; }
.ad-size-billboard img { max-height: 220px; }
.ad-size-leaderboard img,
.ad-size-wide_banner img,
.ad-size-banner img { max-height: 90px; }
.ad-size-mobile_banner img { max-height: 100px; }
.ad-size-rectangle img { max-height: 210px; }
.ad-size-large_rectangle img { max-height: 240px; }
.ad-size-skyscraper img,
.ad-size-half_page img { max-height: 520px; }
.ad-type-image a,
.ad-type-image > div:not(.ad-label) { padding: 0; }
.ad-type-image img { border-radius: calc(var(--radius) - 6px); }
.ad-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-style: normal;
  font-weight: 800;
  font-size: .86rem;
}
.ad-html { display: grid; gap: 6px; }
.ad-html p { margin: 0; }
.ad-position-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.ad-position-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; background: var(--surface); }
.ad-position-card p { margin: 8px 0; color: var(--muted); }
.admin-ad-editor { display: grid; grid-template-columns: minmax(0,1fr) 380px; gap: 24px; align-items: start; }
.admin-ad-editor .form-card { width: 100%; margin: 0; }
.ad-preview-panel { position: sticky; top: 92px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 22px; }
.ad-preview-canvas { display: grid; place-items: center; overflow: auto; border: 1px dashed var(--line); border-radius: var(--radius); background: rgba(104,115,130,.06); padding: 18px; min-height: 320px; }
.ad-preview-meta { color: var(--muted); font-weight: 700; margin-bottom: 12px; }
.ad-preview-help { margin-top: 14px; color: var(--muted); font-size: .92rem; }
.ad-list-preview { width: 100%; display: grid; }
.ad-preview-panel .ad-size-billboard,
.ad-preview-panel .ad-size-wide_banner,
.ad-preview-panel .ad-size-leaderboard { transform: scale(.45); transform-origin: center; margin: -40px 0; }
.ad-preview-panel .ad-size-skyscraper,
.ad-preview-panel .ad-size-half_page,
.ad-preview-panel .ad-size-vertical_home,
.ad-preview-panel .ad-size-vertical_material { transform: scale(.55); transform-origin: center; margin: -120px 0; }
@media (max-width: 980px) {
  .admin-ad-editor { grid-template-columns: 1fr; }
  .ad-preview-panel { position: static; }
  .ad-position-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .ad-size-billboard,
  .ad-size-leaderboard,
  .ad-size-wide_banner,
  .ad-size-banner { max-width: 100%; min-height: 110px; }
}
html[data-theme="dark"] .ad-position-card,
html[data-theme="dark"] .ad-preview-panel { background: var(--surface); border-color: var(--line); color: var(--text); }
html[data-theme="dark"] .ad-preview-canvas { background: rgba(96,165,250,.05); border-color: var(--line); }
.hero-ad { grid-column: 1 / -1; }

/* Public ad placeholders: shown when a paid ad slot is empty. */
.ad-list-placeholder { margin: 18px 0; }
.ad-placeholder {
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  gap: 8px;
  width: 100%;
  color: var(--text);
  text-decoration: none;
  border: 2px dashed rgba(31,95,139,.35);
  background:
    linear-gradient(135deg, rgba(31,95,139,.10), rgba(15,118,110,.06)),
    var(--surface);
  box-shadow: none;
}
.ad-placeholder strong {
  font-size: clamp(1rem, 2vw, 1.35rem);
  letter-spacing: .01em;
}
.ad-placeholder span {
  max-width: 680px;
  color: var(--muted);
}
.ad-placeholder:hover {
  border-color: var(--brand);
  transform: translateY(-1px);
  box-shadow: var(--shadow);
}
.ad-placeholder .ad-label {
  background: rgba(255,255,255,.94);
}
.ad-placeholder.ad-size-rectangle,
.ad-placeholder.ad-size-large_rectangle,
.ad-placeholder.ad-size-vertical_home,
.ad-placeholder.ad-size-vertical_material,
.ad-placeholder.ad-size-skyscraper,
.ad-placeholder.ad-size-half_page,
.ad-placeholder.ad-size-vertical_home,
.ad-placeholder.ad-size-vertical_material {
  min-width: min(100%, 300px);
}
.ad-placeholder.ad-size-skyscraper,
.ad-placeholder.ad-size-half_page,
.ad-placeholder.ad-size-vertical_home,
.ad-placeholder.ad-size-vertical_material {
  min-height: 420px;
}
.catalog-inline-ad .ad-placeholder { margin: 6px 0 18px; }
.hero-ad .ad-placeholder { height: 100%; }
html[data-theme="dark"] .ad-placeholder {
  border-color: rgba(96,165,250,.40);
  background:
    linear-gradient(135deg, rgba(96,165,250,.14), rgba(45,212,191,.08)),
    var(--surface);
  color: var(--text);
}
html[data-theme="dark"] .ad-placeholder .ad-label {
  background: rgba(17,24,39,.90);
}

/* Реклами v2: максимум 4 позиции + автоматично преоразмеряване по позиция */
.ad-list { width: 100%; }
.ad-list-material_below_preview { display: none !important; }
.ad-slot-global_header,
.ad-slot-catalog_between,
.ad-slot-home_hero,
.ad-slot-material_sidebar,
.ad-list-preview {
  justify-items: center;
}
.ad-box {
  box-sizing: border-box;
  width: 100%;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
}
.ad-box > a,
.ad-box > div:not(.ad-label) {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  gap: 8px;
  text-decoration: none;
}
.ad-box img,
#ad-preview-img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: calc(var(--radius) - 8px);
  border: 0;
  background: transparent;
}
.ad-type-image {
  padding: 0;
}
.ad-type-image > a,
.ad-type-image > div:not(.ad-label) {
  padding: 0;
}
.ad-type-image img {
  width: 100%;
  height: 100%;
  border-radius: calc(var(--radius) - 2px);
}
.ad-type-image_text img {
  max-height: 58%;
}
.ad-size-site_wide,
.ad-slot-global_header .ad-box {
  max-width: 970px;
  min-height: 90px;
  aspect-ratio: 970 / 90;
}
.ad-size-vertical_home,
.ad-slot-home_hero .ad-box {
  max-width: 300px;
  min-height: 600px;
  aspect-ratio: 300 / 600;
}
.ad-size-hero_rectangle {
  max-width: 336px;
  min-height: 280px;
  aspect-ratio: 336 / 280;
}
.ad-size-catalog_banner,
.ad-slot-catalog_between .ad-box {
  max-width: 728px;
  min-height: 90px;
  aspect-ratio: 728 / 90;
}
.ad-size-vertical_material,
.ad-slot-material_sidebar .ad-box {
  max-width: 300px;
  min-height: 600px;
  aspect-ratio: 300 / 600;
}
.ad-size-sidebar_rectangle {
  max-width: 300px;
  min-height: 250px;
  aspect-ratio: 300 / 250;
}
.ad-slot-global_header .ad-type-image_text img,
.ad-slot-catalog_between .ad-type-image_text img {
  max-height: 54px;
}
.ad-slot-home_hero .ad-type-image_text img,
.ad-slot-material_sidebar .ad-type-image_text img {
  max-height: 360px;
}
.ad-list-preview.ad-slot-global_header .ad-box,
.ad-list-preview.ad-slot-catalog_between .ad-box {
  width: min(100%, 728px);
}
.ad-list-preview.ad-slot-home_hero .ad-box,
.ad-list-preview.ad-slot-material_sidebar .ad-box {
  width: min(100%, 300px);
}
.small-note { font-size: .92rem; margin-top: -6px; }
@media (max-width: 720px) {
  .ad-size-site_wide,
  .ad-slot-global_header .ad-box,
  .ad-size-catalog_banner,
  .ad-slot-catalog_between .ad-box {
    max-width: 100%;
    min-height: 100px;
    aspect-ratio: 16 / 5;
  }
  .ad-size-vertical_home,
  .ad-slot-home_hero .ad-box,
  .ad-size-vertical_material,
  .ad-slot-material_sidebar .ad-box {
    max-width: min(100%, 300px);
    min-height: 420px;
  }
  .ad-size-hero_rectangle,
  .ad-size-sidebar_rectangle {
    max-width: min(100%, 336px);
    min-height: 230px;
  }
  .ad-type-image_text img { max-height: 120px; }
}
.hero-ad { grid-column: 2; }
@media (max-width: 860px) { .hero-ad { grid-column: auto; } }


/* Статични реклами без линк */
.ad-static,
.ad-link {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.ad-static {
  cursor: default;
}
.ad-static img,
.ad-link img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* Админ модул: запитвания */
.request-view .form-card { margin-top: 0; }
.request-message { white-space: normal; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.65); padding: 16px; margin: 18px 0; }
.request-metadata { white-space: pre-wrap; overflow: auto; border: 1px solid var(--line); border-radius: 14px; padding: 14px; background: #f8fafc; color: var(--text); }
html[data-theme="dark"] .request-message { background: rgba(255,255,255,.04); }
html[data-theme="dark"] .request-metadata { background: #0f172a; }

/* Cart / checkout flow */
.cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  align-items: start;
}
.cart-items {
  display: grid;
  gap: 14px;
}
.cart-item {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.cart-item h3 {
  margin: 0 0 6px;
}
.cart-item-actions {
  display: grid;
  gap: 10px;
  justify-items: end;
  align-content: start;
  min-width: 130px;
}
.cart-summary .button,
.cart-summary .button.secondary {
  margin-top: 10px;
}
.empty-box {
  padding: 26px;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  text-align: center;
}
.mt {
  margin-top: 14px;
}
.link-button.danger,
.danger {
  color: var(--error);
}
.alert.small {
  padding: 8px 10px;
  margin: 8px 0 0;
  font-size: .9rem;
}
html[data-theme="dark"] .cart-item,
html[data-theme="dark"] .empty-box {
  background: var(--surface);
  border-color: var(--line);
}
@media (max-width: 860px) {
  .cart-layout {
    grid-template-columns: 1fr;
  }
  .cart-item {
    flex-direction: column;
  }
  .cart-item-actions {
    justify-items: start;
  }
}

.settings-reset-panel {
  margin-top: 16px;
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  background: rgba(31, 95, 139, .06);
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.settings-reset-panel p { margin: 6px 0 0; max-width: 760px; }
html[data-theme="dark"] .settings-reset-panel { background: rgba(96,165,250,.08); border-color: var(--line); }


/* Hotfix: readable public ad placeholders + left/right vertical side banners */
.site-body-with-ads {
  width: min(1504px, calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 180px minmax(0, 1120px) 180px;
  gap: 24px;
  align-items: start;
}
.site-body-with-ads > .site-main {
  width: 100%;
  margin: 0;
  min-width: 0;
}
.side-ad {
  position: sticky;
  top: 92px;
  padding-top: 18px;
  align-self: start;
  z-index: 2;
}
.side-ad .ad-list { margin: 0; }
.side-ad .ad-box {
  max-width: 160px;
  min-height: 600px;
  aspect-ratio: 160 / 600;
}
.ad-size-side_vertical,
.ad-slot-side_left .ad-box,
.ad-slot-side_right .ad-box {
  max-width: 160px;
  min-height: 600px;
  aspect-ratio: 160 / 600;
}
.global-ad-slot { margin-top: 16px; }
.global-ad-slot .ad-list { margin: 0; }
.ad-placeholder,
.ad-placeholder:hover,
.ad-placeholder:focus,
.ad-placeholder * {
  text-decoration: none !important;
}
.ad-placeholder {
  overflow: hidden;
  isolation: isolate;
  padding: 28px 22px 22px;
  color: var(--brand-dark) !important;
  border: 2px dashed rgba(31, 95, 139, .72);
  background:
    radial-gradient(circle at 8% 12%, rgba(96, 165, 250, .14), transparent 28%),
    radial-gradient(circle at 92% 80%, rgba(45, 212, 191, .12), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(232,242,250,.78));
  box-shadow: 0 16px 34px rgba(31, 95, 139, .10);
}
.ad-placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(31,95,139,.18) 1px, transparent 1px);
  background-size: 13px 13px;
  mask-image: linear-gradient(135deg, transparent 0 58%, #000 85%);
  opacity: .55;
}
.ad-placeholder .ad-label {
  color: var(--brand-dark);
  border-color: rgba(31,95,139,.24);
  background: rgba(255,255,255,.96);
  box-shadow: 0 6px 14px rgba(31,95,139,.10);
  font-size: .78rem;
  padding: 5px 10px;
}
.ad-placeholder-title {
  display: block;
  max-width: 900px;
  color: var(--brand-dark);
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: -.02em;
  font-size: clamp(1.2rem, 2.1vw, 1.9rem) !important;
  text-align: center;
}
.ad-placeholder-text {
  display: block;
  max-width: 780px;
  color: #315168 !important;
  font-weight: 700;
  font-size: clamp(.98rem, 1.25vw, 1.15rem) !important;
  line-height: 1.35;
  text-align: center;
}
.ad-placeholder .ad-cta {
  margin-top: 6px;
  min-width: 112px;
  background: linear-gradient(135deg, var(--brand), var(--brand-dark));
  box-shadow: 0 10px 18px rgba(31,95,139,.20);
}
.ad-slot-global_header .ad-placeholder {
  max-width: 970px;
  min-height: 136px;
  aspect-ratio: auto;
  padding: 28px 88px 22px;
}
.ad-slot-side_left .ad-placeholder,
.ad-slot-side_right .ad-placeholder {
  padding: 56px 16px 24px;
}
.ad-slot-side_left .ad-placeholder-title,
.ad-slot-side_right .ad-placeholder-title {
  font-size: 1.55rem !important;
  line-height: 1.16;
  max-width: 130px;
}
.ad-slot-side_left .ad-placeholder-text,
.ad-slot-side_right .ad-placeholder-text {
  max-width: 130px;
  font-size: .92rem !important;
}
.ad-slot-side_left .ad-placeholder .ad-cta,
.ad-slot-side_right .ad-placeholder .ad-cta {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 18px;
  width: auto;
  min-width: 0;
}
html[data-theme="dark"] .ad-placeholder {
  color: #dbeafe !important;
  border-color: rgba(96,165,250,.72);
  background:
    radial-gradient(circle at 8% 12%, rgba(96,165,250,.18), transparent 30%),
    radial-gradient(circle at 92% 80%, rgba(45,212,191,.12), transparent 30%),
    linear-gradient(135deg, rgba(15,23,42,.94), rgba(30,41,59,.86));
  box-shadow: 0 16px 34px rgba(0,0,0,.25);
}
html[data-theme="dark"] .ad-placeholder-title { color: #dbeafe; }
html[data-theme="dark"] .ad-placeholder-text { color: #b6c7dc !important; }
html[data-theme="dark"] .ad-placeholder .ad-label {
  color: #dbeafe;
  background: rgba(15,23,42,.92);
  border-color: rgba(96,165,250,.28);
}
@media (max-width: 1430px) {
  .site-body-with-ads {
    width: min(1120px, calc(100% - 32px));
    grid-template-columns: minmax(0, 1fr);
  }
  .site-body-with-ads > .site-main { width: 100%; }
  .side-ad { display: none; }
}
@media (max-width: 720px) {
  .ad-slot-global_header .ad-placeholder {
    min-height: 150px;
    padding: 52px 18px 20px;
  }
  .ad-placeholder .ad-label {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    white-space: nowrap;
  }
}


/* Hotfix 2026-05-29: Brave/layout fix for public side ads.
   Side banners are now removed from the document grid and positioned outside
   the normal content flow. This prevents the main content from collapsing into
   a 160px/180px column in Brave or after partial file updates. */
.site-body-with-ads {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
.site-body-with-ads > .site-main,
.site-main.container {
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  min-width: 0 !important;
}
.side-ad {
  position: fixed !important;
  top: 122px;
  z-index: 4;
  width: 160px;
  max-width: 160px;
  padding-top: 0;
  display: block;
}
.side-ad-left {
  left: max(16px, calc((100vw - 1488px) / 2));
}
.side-ad-right {
  right: max(16px, calc((100vw - 1488px) / 2));
}
.side-ad .ad-list,
.side-ad .ad-list-placeholder {
  margin: 0;
  width: 160px;
  max-width: 160px;
}
.side-ad .ad-box,
.side-ad .ad-placeholder,
.side-ad .ad-size-side_vertical,
.side-ad .ad-slot-side_left .ad-box,
.side-ad .ad-slot-side_right .ad-box {
  width: 160px !important;
  max-width: 160px !important;
  min-height: 600px !important;
  aspect-ratio: 160 / 600 !important;
}
.global-ad-slot {
  width: min(1120px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}
.ad-slot-global_header .ad-placeholder {
  text-align: center;
  text-decoration: none !important;
  display: grid;
  align-content: center;
  justify-items: center;
}
.ad-slot-global_header .ad-placeholder-title {
  max-width: 860px;
  color: var(--brand-dark) !important;
  font-size: clamp(1.15rem, 2vw, 1.72rem) !important;
  line-height: 1.25;
}
.ad-slot-global_header .ad-placeholder-text {
  color: #314d63 !important;
  font-size: clamp(.95rem, 1.1vw, 1.08rem) !important;
  line-height: 1.35;
}
@media (max-width: 1500px) {
  .side-ad { display: none !important; }
}
@media (max-width: 720px) {
  .site-main.container,
  .global-ad-slot {
    width: min(100% - 24px, 1120px) !important;
  }
  .ad-slot-global_header .ad-placeholder {
    min-height: 142px;
    padding: 52px 16px 18px;
  }
}

/* Responsive overhaul 2026-05-29
   Цел: сайтът да се адаптира плавно към desktop, laptop, tablet и mobile,
   без страничните реклами или админ таблиците да чупят layout-а. */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
img, svg, video, canvas { max-width: 100%; height: auto; }
.site-main { min-height: 52vh; }
.container,
.site-main.container,
.global-ad-slot {
  width: min(1120px, calc(100vw - 32px)) !important;
  max-width: 1120px !important;
}

/* Fluid sections */
.hero,
.material,
.cart-layout,
.contact-layout,
.invoice-parties {
  min-width: 0;
}
.hero > *,
.material > *,
.cart-layout > *,
.contact-layout > *,
.grid > *,
.cards > * { min-width: 0; }

/* Navigation: remains usable on mid/small screens */
.site-header { z-index: 50; }
.nav { min-width: 0; }
.nav nav { min-width: 0; justify-content: flex-end; }
.theme-toggle {
  flex: 0 0 auto;
}

/* Cards scale more safely than fixed column counts. The PHP/admin setting still works on wide screens. */
.cards { align-items: stretch; }
.card { min-width: 0; overflow-wrap: anywhere; }
.card-foot { flex-wrap: wrap; }

/* Ads: images always fit their slot. */
.ad-box,
.ad-placeholder { max-width: 100%; }
.ad-box img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  background: transparent;
}
.ad-size-site_wide,
.ad-size-catalog_banner,
.ad-slot-global_header .ad-box,
.ad-slot-global_header .ad-placeholder,
.catalog-inline-ad .ad-box,
.catalog-inline-ad .ad-placeholder {
  width: 100% !important;
  max-width: 100% !important;
}
.ad-size-site_wide img,
.ad-size-catalog_banner img { max-height: 150px; }
.ad-size-vertical_home img,
.ad-size-vertical_material img,
.ad-size-side_vertical img { max-height: 600px; }
.catalog-inline-ad { grid-column: 1 / -1; min-width: 0; }
.hero-ad { min-width: 0; }

/* Tables do not break mobile/admin pages. */
.table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
}
.table thead,
.table tbody,
.table tr { width: 100%; }
.table td,
.table th { vertical-align: top; }
.actions-cell { min-width: 180px; }

/* Large laptops: keep content centered and side ads outside the flow. */
@media (min-width: 1501px) {
  .site-main.container,
  .global-ad-slot {
    width: min(1120px, calc(100vw - 420px)) !important;
  }
  .side-ad { display: block !important; }
}

/* Laptops/tablets */
@media (max-width: 1180px) {
  .hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding: 42px 0 30px;
  }
  .hero-card { max-width: 460px; }
  .hero-ad .ad-box,
  .hero-ad .ad-placeholder {
    max-width: 520px;
    min-height: 240px;
    aspect-ratio: auto !important;
  }
  .material {
    grid-template-columns: minmax(0, 1fr);
  }
  .purchase-box { position: static; }
  .cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  .cart-summary { position: static; }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Tablets and big phones */
@media (max-width: 860px) {
  .container,
  .site-main.container,
  .global-ad-slot {
    width: min(100vw - 24px, 1120px) !important;
  }
  .nav {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    min-height: auto;
    padding: 12px 0;
  }
  .brand { justify-content: center; }
  .nav nav {
    justify-content: flex-start;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: thin;
  }
  .nav nav a,
  .theme-toggle { flex: 0 0 auto; white-space: nowrap; }
  .hero, .material, .filters, .grid.two, .invoice-parties {
    grid-template-columns: 1fr !important;
  }
  .filters { gap: 10px; }
  .auth-card,
  .form-card,
  .legal,
  .invoice { margin: 24px auto; padding: 20px; }
  h1 { font-size: clamp(1.85rem, 10vw, 3rem); overflow-wrap: anywhere; }
  h2 { font-size: clamp(1.35rem, 7vw, 2rem); }
  .lead, .hero p { font-size: 1rem; }
  .row { align-items: flex-start; flex-direction: column; }
  .button, button.button { width: auto; max-width: 100%; }
  .button.full { width: 100%; }
  .footer-links { align-items: flex-start; }
  .side-ad { display: none !important; }
}

/* Phones */
@media (max-width: 680px) {
  .container,
  .site-main.container,
  .global-ad-slot {
    width: min(100vw - 18px, 1120px) !important;
  }
  .site-header { position: sticky; }
  .cards { grid-template-columns: 1fr !important; gap: 14px; }
  .card { padding: 18px; min-height: 0; }
  .hero-card { padding: 20px; }
  .hero-card strong { font-size: 2.25rem; }
  .actions { flex-direction: column; align-items: stretch; }
  .actions .button { width: 100%; }
  .details span { width: 100%; }
  input, select, textarea { font-size: 16px; } /* prevents iOS zoom */
  .cookie-banner { left: 10px; right: 10px; bottom: 10px; }
  .ad-slot-global_header .ad-placeholder {
    min-height: 130px !important;
    padding: 46px 12px 16px !important;
  }
  .ad-placeholder-title { font-size: clamp(1.02rem, 5.6vw, 1.35rem) !important; }
  .ad-placeholder-text { font-size: .92rem !important; }
  .ad-placeholder .ad-cta { font-size: .86rem; padding: 8px 12px; }
  .ad-box img { max-height: 280px; }
  .table { border-radius: 12px; font-size: .92rem; }
  .table th, .table td { padding: 10px 12px; }
  .admin-tabs .button { flex: 1 1 auto; }
  .inline-form { width: 100%; }
  .inline-form .button,
  .inline-form .link-button { width: 100%; justify-content: center; }
}

/* Small phones */
@media (max-width: 420px) {
  .container,
  .site-main.container,
  .global-ad-slot { width: calc(100vw - 14px) !important; }
  .auth-card,
  .form-card,
  .legal,
  .invoice { padding: 16px; }
  .button, button.button { padding: 11px 15px; }
  .brand { font-size: 1.2rem; }
  .price { font-size: 1.8rem; }
  .ad-label { font-size: .72rem; }
}

/* Advertising sales upgrade 2026-05-30 */
.mobile-ad-slot { display: none; margin-top: 12px; }
.ad-slot-mobile_header .ad-box,
.ad-slot-mobile_header .ad-placeholder,
.ad-size-mobile_banner {
  width: min(100%, 360px) !important;
  max-width: 100% !important;
  min-height: 100px;
  aspect-ratio: 320 / 100;
  margin-inline: auto;
}
.ad-slot-mobile_header .ad-placeholder-title { font-size: 1.05rem !important; }
.ad-slot-mobile_header .ad-placeholder-text { font-size: .9rem !important; }
.dashboard-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}
.mini-card {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.mini-card strong { display: block; font-size: 1.55rem; color: var(--brand); }
.mini-card span { color: var(--muted); font-weight: 700; }
.admin-actions-row { display: flex; gap: 10px; flex-wrap: wrap; }
.advertise-hero {
  margin-top: 28px;
  background:
    radial-gradient(circle at 92% 12%, rgba(96,165,250,.20), transparent 28%),
    radial-gradient(circle at 8% 90%, rgba(45,212,191,.14), transparent 28%),
    var(--surface);
}
.advertise-hero h1 { max-width: 940px; }
.ad-sales-stats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.ad-sales-stats span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(255,255,255,.7);
  color: var(--muted);
  font-weight: 800;
}
html[data-theme="dark"] .ad-sales-stats span { background: rgba(255,255,255,.05); }
.ad-packages { margin: 28px 0; }
.cards-packages { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.ad-package-card .compact-list { margin: 12px 0; }
.compact-list { padding-left: 18px; display: grid; gap: 7px; }
.compact-list.big { gap: 12px; }
.compact-list li { color: var(--muted); }
@media (max-width: 1180px) {
  .dashboard-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cards-packages { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 860px) {
  .global-ad-slot { display: none; }
  .mobile-ad-slot { display: block; }
}
@media (max-width: 680px) {
  .dashboard-cards,
  .cards-packages { grid-template-columns: 1fr !important; }
  .ad-sales-stats { display: grid; }
  .ad-sales-stats span { border-radius: 14px; }
}

/* Navigation polish / compact theme button */
.site-header {
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  box-shadow: 0 10px 28px rgba(31, 41, 51, .05);
}
.nav {
  gap: 18px;
  min-height: 74px;
}
.brand {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  flex: 0 0 auto;
  letter-spacing: -.02em;
}
.brand img {
  max-height: 44px;
  width: auto;
  display: block;
}
.nav .nav-menu {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
.nav .nav-menu a,
.nav .nav-menu .theme-toggle {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 8px 12px;
  background: transparent;
  color: var(--text);
  font-size: .94rem;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.nav .nav-menu a:hover,
.nav .nav-menu .theme-toggle:hover,
.nav .nav-menu a:focus-visible,
.nav .nav-menu .theme-toggle:focus-visible {
  background: rgba(31, 95, 139, .08);
  border-color: rgba(31, 95, 139, .14);
  color: var(--brand-dark);
  text-decoration: none;
  outline: none;
}
.nav .nav-menu a.nav-active {
  background: rgba(31, 95, 139, .12);
  border-color: rgba(31, 95, 139, .18);
  color: var(--brand-dark);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
  font-weight: 850;
}
.nav .nav-menu a.button.small {
  min-height: 38px;
  padding: 8px 14px;
  background: var(--brand);
  border-color: var(--brand);
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(31, 95, 139, .16);
}
.nav .nav-menu a.button.small:hover,
.nav .nav-menu a.button.small:focus-visible {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  color: #fff !important;
}
.nav .nav-menu a.nav-active-button {
  outline: none;
  box-shadow: 0 0 0 3px rgba(31, 95, 139, .18), 0 8px 18px rgba(31, 95, 139, .16);
}
.theme-toggle {
  width: 38px;
  padding: 0 !important;
  cursor: pointer;
  font: inherit;
  background: rgba(31, 95, 139, .07) !important;
  border-color: rgba(31, 95, 139, .12) !important;
  position: relative;
}
.theme-toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25em;
  height: 1.25em;
  line-height: 1;
}
.theme-toggle:hover::after,
.theme-toggle:focus-visible::after {
  content: attr(title);
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  z-index: 200;
  padding: 8px 10px;
  border-radius: 10px;
  background: var(--text);
  color: var(--surface);
  box-shadow: 0 12px 28px rgba(31, 41, 51, .18);
  font-size: .82rem;
  font-weight: 750;
  white-space: nowrap;
  pointer-events: none;
}
html[data-theme="dark"] .site-header {
  background: rgba(15, 23, 42, .88);
  box-shadow: 0 12px 34px rgba(0,0,0,.22);
}
html[data-theme="dark"] .nav .nav-menu a,
html[data-theme="dark"] .nav .nav-menu .theme-toggle {
  color: var(--text);
}
html[data-theme="dark"] .nav .nav-menu a:hover,
html[data-theme="dark"] .nav .nav-menu .theme-toggle:hover,
html[data-theme="dark"] .nav .nav-menu a:focus-visible,
html[data-theme="dark"] .nav .nav-menu .theme-toggle:focus-visible {
  background: rgba(96, 165, 250, .12);
  border-color: rgba(96, 165, 250, .22);
  color: #bfdbfe;
}
html[data-theme="dark"] .nav .nav-menu a.nav-active {
  background: rgba(96, 165, 250, .18);
  border-color: rgba(96, 165, 250, .28);
  color: #dbeafe;
}
html[data-theme="dark"] .theme-toggle {
  background: rgba(96, 165, 250, .12) !important;
  border-color: rgba(96, 165, 250, .22) !important;
}
html[data-theme="dark"] .theme-toggle:hover::after,
html[data-theme="dark"] .theme-toggle:focus-visible::after {
  background: #e5e7eb;
  color: #0f172a;
}
@media (max-width: 980px) {
  .nav {
    align-items: stretch;
  }
  .nav .nav-menu {
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: visible;
    padding: 4px 2px 8px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .theme-toggle { margin-left: auto; }
}
@media (max-width: 560px) {
  .nav .nav-menu a,
  .nav .nav-menu .theme-toggle {
    min-height: 36px;
    padding: 7px 10px;
    font-size: .9rem;
  }
  .theme-toggle { width: 36px; }
}

/* Final polish 2026-05-30: Referat4e brand, homepage flow, footer, SEO/admin overview */
body {
  background:
    radial-gradient(circle at 12% 8%, rgba(96, 165, 250, .14), transparent 30%),
    radial-gradient(circle at 88% 2%, rgba(45, 212, 191, .10), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.36), transparent 440px),
    var(--bg);
}
html[data-theme="dark"] body {
  background:
    radial-gradient(circle at 12% 8%, rgba(96, 165, 250, .12), transparent 30%),
    radial-gradient(circle at 88% 2%, rgba(45, 212, 191, .08), transparent 28%),
    var(--bg);
}
.hero {
  position: relative;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 24px -24px 0;
  z-index: -1;
  border-radius: 34px;
  background: linear-gradient(135deg, rgba(255,255,255,.62), rgba(255,255,255,.18));
  border: 1px solid rgba(255,255,255,.44);
  pointer-events: none;
}
html[data-theme="dark"] .hero::before {
  background: linear-gradient(135deg, rgba(15,23,42,.54), rgba(15,23,42,.16));
  border-color: rgba(96,165,250,.10);
}
.process-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 8px 0 22px;
}
.process-strip article,
.trust-strip div {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.process-strip article {
  padding: 18px;
  display: grid;
  gap: 8px;
}
.process-strip span {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(135deg, var(--brand), var(--brand-dark));
  color: #fff;
  font-weight: 900;
}
.process-strip strong { font-size: 1.04rem; }
.process-strip p { margin: 0; color: var(--muted); font-size: .95rem; }
.trust-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 16px 0 34px;
}
.trust-strip div {
  padding: 16px 18px;
  display: grid;
  gap: 4px;
}
.trust-strip span { color: var(--muted); }
.material-details-grid span {
  background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%);
}
.footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: 24px;
  align-items: start;
}
.footer-brand-block p { margin: 8px 0; color: var(--muted); max-width: 520px; }
.footer-bottom {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: .92rem;
}
.admin-overview-cards .mini-card small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-weight: 700;
}
.admin-overview-grid .form-card { width: 100%; margin: 0; }
.compact-feed {
  display: grid;
  gap: 10px;
  margin: 14px 0 18px;
}
.compact-feed article {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(104,115,130,.05);
}
.compact-feed article strong,
.compact-feed article span { display: block; }
.compact-feed article span { color: var(--muted); font-size: .92rem; margin-top: 3px; }
html[data-theme="dark"] .process-strip article,
html[data-theme="dark"] .trust-strip div,
html[data-theme="dark"] .compact-feed article {
  background: var(--surface);
  border-color: var(--line);
}
@media (max-width: 1180px) {
  .process-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .footer-grid,
  .trust-strip { grid-template-columns: 1fr; }
  .footer-bottom { display: grid; }
  .hero::before { inset: 12px -12px 0; }
}
@media (max-width: 680px) {
  .process-strip { grid-template-columns: 1fr; }
}

/* Intellectual property protection polish */
.copyright-notice {
  margin: 14px 0 18px;
  padding: 12px 14px;
  border: 1px solid rgba(31, 95, 139, .18);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(31,95,139,.08), rgba(96,165,250,.06));
  color: var(--text);
}
.copyright-notice strong { color: var(--brand-dark); }
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 10px;
  background: rgba(31,95,139,.08);
  color: var(--brand-dark);
  font-weight: 800;
}
.badge.small { font-size: .78rem; padding: 3px 8px; }
code {
  background: rgba(31,95,139,.08);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 2px 6px;
  font-size: .85em;
}
html[data-theme="dark"] .copyright-notice {
  background: linear-gradient(135deg, rgba(96,165,250,.14), rgba(14,165,233,.08));
  border-color: rgba(96,165,250,.22);
}
html[data-theme="dark"] .copyright-notice strong,
html[data-theme="dark"] .badge { color: var(--brand); }


/* Polished home assurance cards */
.trust-strip-polished div {
  position: relative;
  padding: 20px 20px 20px 76px;
  min-height: 126px;
  overflow: hidden;
}
.trust-strip-polished div::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 46%);
  pointer-events: none;
}
.trust-strip-polished .trust-icon {
  position: absolute;
  left: 20px;
  top: 22px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: color-mix(in srgb, var(--brand) 14%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line));
  box-shadow: 0 10px 22px rgba(31,95,139,.12);
}
.trust-strip-polished strong { font-size: 1.06rem; line-height: 1.25; }
.trust-strip-polished span:last-child { line-height: 1.55; }

/* Elegant required terms acceptance during registration */
.terms-consent {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
  box-shadow: var(--shadow);
}
.terms-consent-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}
.terms-consent-head strong { display: block; font-size: 1.03rem; }
.terms-consent-head span { color: var(--muted); font-size: .92rem; }
.terms-consent-head a { font-weight: 800; white-space: nowrap; }
.terms-scroll {
  max-height: 190px;
  overflow: auto;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  color: var(--text);
  line-height: 1.55;
}
.terms-scroll p { margin: 0 0 10px; }
.terms-scroll ul { margin: 0 0 10px 18px; padding: 0; }
.terms-scroll li { margin: 6px 0; }
.terms-check { margin-top: 12px; align-items: flex-start; }
.terms-check input:disabled + span { opacity: .62; }
.terms-hint { margin: 10px 0 0; color: var(--muted); font-size: .92rem; }
.terms-consent-ready { border-color: color-mix(in srgb, var(--brand) 42%, var(--line)); }
.terms-consent-ready .terms-hint { color: var(--ok); font-weight: 700; }
html[data-theme="dark"] .terms-consent {
  background: color-mix(in srgb, var(--surface) 90%, var(--brand) 10%);
}
@media (max-width: 720px) {
  .trust-strip-polished div { padding-left: 72px; }
  .terms-consent-head { display: grid; }
  .terms-consent-head a { white-space: normal; }
}

/* Cart icon navigation 2026-05-30: polished shopping cart */
.nav .nav-menu a.cart-nav-icon {
  width: 48px;
  min-width: 48px;
  height: 44px;
  padding: 0 !important;
  position: relative;
  overflow: visible;
  isolation: isolate;
  border-radius: 16px !important;
  border-width: 1px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.cart-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
}
.cart-svg {
  width: 29px;
  height: 29px;
  display: block;
  overflow: visible;
}
.cart-rail,
.cart-body,
.cart-load,
.cart-wheel {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cart-rail,
.cart-body { stroke-width: 2.15; }
.cart-load {
  stroke-width: 2;
  opacity: .12;
  transition: opacity .18s ease, transform .18s ease;
}
.cart-wheel { stroke-width: 2.1; }
.cart-nav-icon.cart-empty {
  color: var(--brand-dark) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 88%, var(--brand) 12%), color-mix(in srgb, var(--surface) 96%, var(--brand) 4%)) !important;
  border-color: color-mix(in srgb, var(--brand) 26%, var(--line)) !important;
  box-shadow: 0 8px 20px rgba(31, 95, 139, .09), inset 0 1px 0 rgba(255,255,255,.62);
}
.cart-nav-icon.cart-empty:hover,
.cart-nav-icon.cart-empty:focus-visible,
.cart-nav-icon.cart-empty.nav-active {
  color: #fff !important;
  background: linear-gradient(135deg, var(--brand), var(--brand-dark)) !important;
  border-color: color-mix(in srgb, var(--brand) 45%, #fff) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(31, 95, 139, .24);
}
.cart-nav-icon.cart-empty:hover .cart-load,
.cart-nav-icon.cart-empty:focus-visible .cart-load { opacity: .34; }
.cart-nav-icon.cart-has-items {
  color: #fff !important;
  background: radial-gradient(circle at 72% 22%, rgba(255,255,255,.30), transparent 30%), linear-gradient(135deg, #2563eb, var(--brand-dark)) !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 12px 30px rgba(37, 99, 235, .32), inset 0 1px 0 rgba(255,255,255,.20);
}
.cart-nav-icon.cart-has-items .cart-load { opacity: 1; }
.cart-nav-icon.cart-has-items:hover,
.cart-nav-icon.cart-has-items:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(37, 99, 235, .38), inset 0 1px 0 rgba(255,255,255,.22);
}
.cart-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ef4444;
  color: #fff;
  border: 2px solid var(--surface);
  font-size: .76rem;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 9px 20px rgba(239, 68, 68, .34);
}
.cart-nav-icon.cart-has-items .cart-badge::after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: inherit;
  border: 1px solid rgba(239, 68, 68, .32);
  animation: cartBadgePulse 1.8s ease-out infinite;
}
@keyframes cartBadgePulse {
  0% { transform: scale(.78); opacity: .65; }
  70%, 100% { transform: scale(1.28); opacity: 0; }
}
.cart-nav-icon:hover::after,
.cart-nav-icon:focus-visible::after {
  content: attr(data-tooltip);
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  z-index: 260;
  width: max-content;
  max-width: min(300px, 80vw);
  padding: 9px 12px;
  border-radius: 13px;
  background: var(--text);
  color: var(--surface);
  box-shadow: 0 14px 32px rgba(31, 41, 51, .20);
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
  pointer-events: none;
}
.cart-nav-icon:hover::before,
.cart-nav-icon:focus-visible::before {
  content: "";
  position: absolute;
  right: 14px;
  top: calc(100% + 4px);
  z-index: 261;
  width: 12px;
  height: 12px;
  background: var(--text);
  transform: rotate(45deg);
  pointer-events: none;
}
html[data-theme="dark"] .cart-nav-icon.cart-empty {
  color: #dbeafe !important;
  background: linear-gradient(180deg, rgba(96, 165, 250, .16), rgba(96, 165, 250, .08)) !important;
  border-color: rgba(96, 165, 250, .30) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06);
}
html[data-theme="dark"] .cart-nav-icon.cart-empty:hover,
html[data-theme="dark"] .cart-nav-icon.cart-empty:focus-visible,
html[data-theme="dark"] .cart-nav-icon.cart-empty.nav-active {
  color: #08111f !important;
  background: linear-gradient(135deg, #93c5fd, #60a5fa) !important;
  border-color: rgba(147, 197, 253, .55) !important;
}
html[data-theme="dark"] .cart-badge { border-color: #111827; }
html[data-theme="dark"] .cart-nav-icon:hover::after,
html[data-theme="dark"] .cart-nav-icon:focus-visible::after,
html[data-theme="dark"] .cart-nav-icon:hover::before,
html[data-theme="dark"] .cart-nav-icon:focus-visible::before {
  background: #e5e7eb;
  color: #0f172a;
}
@media (prefers-reduced-motion: reduce) {
  .cart-nav-icon.cart-has-items .cart-badge::after { animation: none; }
}
@media (max-width: 720px) {
  .cart-nav-icon:hover::after,
  .cart-nav-icon:focus-visible::after,
  .cart-nav-icon:hover::before,
  .cart-nav-icon:focus-visible::before { display: none; }
}
@media (max-width: 560px) {
  .nav .nav-menu a.cart-nav-icon {
    width: 46px;
    min-width: 46px;
    height: 42px;
  }
  .cart-icon-wrap { width: 28px; height: 28px; }
  .cart-svg { width: 27px; height: 27px; }
}

/* Final polish: clearer custom material CTA and refined light/dark buttons */
.button.ghost {
  background: rgba(255,255,255,.92);
  color: var(--brand-dark) !important;
  border: 1px solid rgba(31,95,139,.28);
  box-shadow: 0 10px 24px rgba(31,95,139,.10);
}
.button.ghost:hover,
.button.ghost:focus-visible {
  background: #fff;
  color: var(--brand-dark) !important;
  border-color: rgba(31,95,139,.48);
  box-shadow: 0 14px 30px rgba(31,95,139,.16);
  transform: translateY(-1px);
}
.nav .nav-menu a.nav-cta {
  color: #fff !important;
  background: linear-gradient(135deg, var(--brand), var(--brand-dark));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 22px rgba(31,95,139,.18);
  font-weight: 850;
  letter-spacing: .005em;
}
.nav .nav-menu a.nav-cta:hover,
.nav .nav-menu a.nav-cta:focus-visible,
.nav .nav-menu a.nav-cta.nav-active {
  color: #fff !important;
  background: linear-gradient(135deg, var(--brand-dark), var(--brand));
  box-shadow: 0 14px 30px rgba(31,95,139,.24);
  transform: translateY(-1px);
}
.nav .nav-menu a.nav-cta::before {
  content: "✎";
  font-size: .95em;
  line-height: 1;
  opacity: .94;
}
.hero .actions .button,
.hero .actions .button.ghost,
.custom-request-promo .button {
  min-height: 46px;
}
.card,
.form-card,
.auth-card,
.purchase-box,
.legal,
.invoice {
  border-color: rgba(31,95,139,.12);
}
.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 52px rgba(31,41,51,.11);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  border-color: rgba(31,95,139,.20);
}
html[data-theme="dark"] .button.ghost {
  background: rgba(17,24,39,.78);
  color: #bfdbfe !important;
  border-color: rgba(96,165,250,.34);
  box-shadow: 0 10px 24px rgba(0,0,0,.20);
}
html[data-theme="dark"] .button.ghost:hover,
html[data-theme="dark"] .button.ghost:focus-visible {
  background: rgba(30,41,59,.94);
  color: #dbeafe !important;
  border-color: rgba(96,165,250,.56);
}
html[data-theme="dark"] .nav .nav-menu a.nav-cta {
  background: linear-gradient(135deg, #2563eb, #60a5fa);
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(37,99,235,.22);
}
html[data-theme="dark"] .nav .nav-menu a.nav-cta:hover,
html[data-theme="dark"] .nav .nav-menu a.nav-cta:focus-visible,
html[data-theme="dark"] .nav .nav-menu a.nav-cta.nav-active {
  background: linear-gradient(135deg, #1d4ed8, #3b82f6);
  color: #fff !important;
}
@media (max-width: 860px) {
  .nav .nav-menu a.nav-cta {
    flex: 1 1 auto;
    justify-content: center;
  }
}

/* Profile navigation combo 2026-05-30: compact login/register menu */
.nav .nav-menu .profile-nav-link,
.nav .nav-menu .profile-menu summary {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 8px 12px;
  background: transparent;
  color: var(--text);
  font-size: .94rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  list-style: none;
  transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.nav .nav-menu .profile-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
  z-index: 320;
}
.nav .nav-menu .profile-menu summary::-webkit-details-marker { display: none; }
.nav .nav-menu .profile-menu summary::marker { content: ""; }
.nav .nav-menu .profile-menu summary::after {
  content: "▾";
  font-size: .72rem;
  opacity: .72;
  margin-left: 1px;
  transform: translateY(-1px);
  transition: transform .18s ease;
}
.nav .nav-menu .profile-menu[open] summary::after { transform: rotate(180deg) translateY(1px); }
.nav .nav-menu .profile-nav-link:hover,
.nav .nav-menu .profile-nav-link:focus-visible,
.nav .nav-menu .profile-menu summary:hover,
.nav .nav-menu .profile-menu summary:focus-visible,
.nav .nav-menu .profile-menu[open] summary {
  background: rgba(31, 95, 139, .08);
  border-color: rgba(31, 95, 139, .16);
  color: var(--brand-dark);
  outline: none;
  text-decoration: none;
}
.nav .nav-menu .profile-nav-link.nav-active,
.nav .nav-menu .profile-menu.nav-active summary,
.nav .nav-menu .profile-menu[open] summary {
  background: rgba(31, 95, 139, .12);
  border-color: rgba(31, 95, 139, .20);
  color: var(--brand-dark);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}
.profile-menu-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: 230px;
  padding: 8px;
  border: 1px solid color-mix(in srgb, var(--brand) 18%, var(--line));
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface) 96%, #fff 4%);
  box-shadow: 0 20px 48px rgba(31, 41, 51, .18);
  display: grid;
  gap: 5px;
  z-index: 360;
}
.profile-menu-panel::before {
  content: "";
  position: absolute;
  right: 22px;
  top: -6px;
  width: 12px;
  height: 12px;
  background: inherit;
  border-left: 1px solid color-mix(in srgb, var(--brand) 18%, var(--line));
  border-top: 1px solid color-mix(in srgb, var(--brand) 18%, var(--line));
  transform: rotate(45deg);
}
.nav .nav-menu .profile-menu-panel a {
  justify-content: flex-start;
  width: 100%;
  min-height: 40px;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 800;
  color: var(--text);
  background: transparent;
  border-color: transparent;
}
.nav .nav-menu .profile-menu-panel a:hover,
.nav .nav-menu .profile-menu-panel a:focus-visible {
  color: var(--brand-dark);
  background: rgba(31, 95, 139, .09);
  border-color: rgba(31, 95, 139, .12);
}
.nav .nav-menu .profile-menu-panel a.profile-menu-muted {
  color: var(--muted);
  font-size: .88rem;
  font-weight: 750;
}
html[data-theme="dark"] .nav .nav-menu .profile-nav-link,
html[data-theme="dark"] .nav .nav-menu .profile-menu summary { color: var(--text); }
html[data-theme="dark"] .nav .nav-menu .profile-nav-link:hover,
html[data-theme="dark"] .nav .nav-menu .profile-nav-link:focus-visible,
html[data-theme="dark"] .nav .nav-menu .profile-menu summary:hover,
html[data-theme="dark"] .nav .nav-menu .profile-menu summary:focus-visible,
html[data-theme="dark"] .nav .nav-menu .profile-menu[open] summary,
html[data-theme="dark"] .nav .nav-menu .profile-nav-link.nav-active,
html[data-theme="dark"] .nav .nav-menu .profile-menu.nav-active summary {
  background: rgba(96, 165, 250, .14);
  border-color: rgba(96, 165, 250, .26);
  color: #dbeafe;
}
html[data-theme="dark"] .profile-menu-panel {
  background: #111827;
  border-color: rgba(96, 165, 250, .24);
  box-shadow: 0 22px 52px rgba(0,0,0,.38);
}
html[data-theme="dark"] .nav .nav-menu .profile-menu-panel a:hover,
html[data-theme="dark"] .nav .nav-menu .profile-menu-panel a:focus-visible {
  color: #dbeafe;
  background: rgba(96, 165, 250, .14);
  border-color: rgba(96, 165, 250, .20);
}
@media (max-width: 980px) {
  .nav .nav-menu .profile-menu { flex: 0 0 auto; }
  .profile-menu-panel {
    position: fixed;
    right: 12px;
    top: 72px;
    max-width: calc(100vw - 24px);
  }
  .profile-menu-panel::before { display: none; }
}
@media (max-width: 560px) {
  .nav .nav-menu .profile-nav-link,
  .nav .nav-menu .profile-menu summary {
    min-height: 36px;
    padding: 7px 10px;
    font-size: .9rem;
  }
  .profile-menu-panel { top: 64px; }
}

/* Hero text balance hotfix 2026-05-30 */
.hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.hero-pills span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 82%, var(--brand) 18%);
  border: 1px solid color-mix(in srgb, var(--brand) 18%, var(--line));
  color: var(--brand-dark);
  font-size: .92rem;
  font-weight: 850;
  box-shadow: 0 10px 24px rgba(31, 95, 139, .08);
}
.hero-pills span::before {
  content: "✓";
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-size: .72rem;
  line-height: 1;
}
html[data-theme="dark"] .hero-pills span {
  background: rgba(96, 165, 250, .12);
  border-color: rgba(96, 165, 250, .24);
  color: #dbeafe;
  box-shadow: none;
}
@media (max-width: 720px) {
  .hero-pills { gap: 8px; }
  .hero-pills span { width: 100%; justify-content: center; }
}

/* Home cleanup: cleaner hero CTA and softer custom request block */
.hero-actions-clean { margin-top: 26px; }
.hero-actions-clean .button { min-width: 190px; }
.custom-request-soft {
  width: 100%;
  margin: 8px 0 46px;
  padding: 24px 26px;
  background:
    linear-gradient(135deg, rgba(31,95,139,.08), rgba(255,255,255,.88)),
    var(--surface);
  border: 1px solid rgba(31,95,139,.16);
  box-shadow: 0 16px 38px rgba(31,41,51,.07);
}
.custom-request-soft .eyebrow { background: rgba(31,95,139,.10); }
.custom-request-soft h2 { margin-top: 8px; }
.custom-request-soft .button.secondary {
  border-color: rgba(31,95,139,.24);
  background: rgba(255,255,255,.92);
  color: var(--brand-dark) !important;
  box-shadow: 0 10px 24px rgba(31,95,139,.10);
  white-space: nowrap;
}
.custom-request-soft .button.secondary:hover {
  background: var(--brand);
  color: #fff !important;
}
[data-theme="dark"] .custom-request-soft {
  background:
    linear-gradient(135deg, rgba(96,165,250,.12), rgba(15,23,42,.72)),
    var(--surface);
  border-color: rgba(147,197,253,.16);
}
[data-theme="dark"] .custom-request-soft .button.secondary {
  background: rgba(15,23,42,.72);
  border-color: rgba(147,197,253,.22);
  color: #dbeafe !important;
}
[data-theme="dark"] .custom-request-soft .button.secondary:hover {
  background: var(--brand);
  color: #fff !important;
}
@media (max-width: 720px) {
  .hero-actions-clean .button { width: 100%; }
  .custom-request-soft { padding: 20px; }
}


.settings-step-editor {
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) - 4px);
  padding: 16px;
  margin: 14px 0;
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
}
.settings-step-editor legend {
  padding: 0 8px;
  font-weight: 800;
  color: var(--brand);
}
[data-theme="dark"] .settings-step-editor {
  background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%);
}

.home-section-head {
  margin: 34px 0 16px;
  max-width: 760px;
}
.home-section-head h2 {
  margin: 6px 0 6px;
  font-size: clamp(1.45rem, 2.4vw, 2.1rem);
  letter-spacing: -0.02em;
}
.home-section-head .muted {
  margin: 0;
  font-size: 1.02rem;
}
.empty-state {
  padding: 26px;
  border: 1px dashed color-mix(in srgb, var(--line) 70%, var(--brand) 30%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
  color: var(--text);
  margin-bottom: 28px;
}
.empty-state h3 { margin: 0 0 6px; }
.empty-state p { margin: 0; color: var(--muted); }
[data-theme="dark"] .empty-state {
  background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%);
}
.settings-form h3 {
  margin-top: 28px;
}

/* Growth upgrade: catalog filters, material detail, advertising tariff */
.catalog-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}
.filters-advanced {
  display: grid;
  grid-template-columns: minmax(220px, 1.7fr) repeat(4, minmax(150px, 1fr)) repeat(2, minmax(110px, .7fr)) minmax(160px, 1fr) auto;
  align-items: end;
  gap: 12px;
}
.filters-advanced label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
}
.filters-advanced label span { letter-spacing: .02em; }
.filters-advanced .filter-wide { min-width: 240px; }
.catalog-summary { margin: 10px 0 18px; }
.material-card .material-mini-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0;
}
.material-mini-meta span {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  background: rgba(31,95,139,.06);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
}
[data-theme="dark"] .material-mini-meta span { background: rgba(96,165,250,.09); }
.material-value-box {
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%);
  border-radius: var(--radius);
  padding: 18px;
  margin: 24px 0;
}
.material-value-box h2 { margin-top: 0; }
.material-value-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.material-value-grid span {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--text);
  font-weight: 750;
}
.material-value-grid span::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-size: 12px;
}
.section-head-inline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}
.section-head-inline > p { max-width: 420px; margin: 0; }
.tariff-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.tariff-grid div {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: var(--shadow-soft, 0 10px 30px rgba(15,23,42,.05));
}
.tariff-grid strong {
  display: block;
  font-size: clamp(22px, 2.4vw, 30px);
  color: var(--brand);
  line-height: 1;
  margin-bottom: 8px;
}
.tariff-grid span { color: var(--muted); font-weight: 800; }
.ad-package-card .card-foot strong {
  color: var(--brand);
  font-size: 20px;
}
@media (max-width: 1180px) {
  .filters-advanced { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .filters-advanced .filter-wide { grid-column: 1 / -1; }
  .tariff-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .catalog-head, .section-head-inline { display: block; }
  .catalog-head .button { margin-top: 12px; }
  .filters-advanced { grid-template-columns: 1fr; }
  .material-value-grid, .tariff-grid { grid-template-columns: 1fr; }
}

/* SEO / material page polish */
.related-materials {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.related-materials h2 {
  margin-bottom: 14px;
}
.related-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.related-card {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) - 4px);
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
  color: var(--text);
  text-decoration: none;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.related-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--brand) 52%, var(--line));
  box-shadow: 0 14px 30px rgba(15, 23, 42, .08);
}
.related-card span {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.related-card small {
  color: var(--brand-dark);
  font-weight: 900;
}
html[data-theme="dark"] .related-card small { color: var(--brand); }
@media (max-width: 760px) {
  .related-grid { grid-template-columns: 1fr; }
}

/* SEO landing intro */
.seo-intro {
  margin: 0 0 18px;
  padding: 18px 20px;
}
.seo-intro p {
  max-width: 900px;
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

/* Catalog UI unification patch 2026-05-30 */
.catalog-head {
  align-items: flex-start;
  margin-bottom: 16px;
}
.catalog-head h1 {
  margin-bottom: 10px;
}
.catalog-head .muted {
  max-width: 760px;
  margin: 0;
}
.catalog-filter-card {
  grid-template-columns: minmax(260px, 1.55fr) repeat(2, minmax(170px, 1fr)) repeat(2, minmax(140px, .85fr)) repeat(2, minmax(112px, .68fr)) minmax(175px, 1fr) minmax(190px, auto);
  gap: 14px;
  margin: 22px 0 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 4px);
  background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%);
  box-shadow: 0 16px 42px rgba(31, 41, 51, .07);
}
.catalog-filter-card label {
  min-width: 0;
  margin: 0;
  color: var(--muted);
}
.catalog-filter-card label span {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  font-size: 11px;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.catalog-filter-card input,
.catalog-filter-card select {
  min-height: 48px;
  border-radius: 15px;
  border-color: color-mix(in srgb, var(--line) 78%, var(--brand) 22%);
  background-color: var(--surface);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 1px 2px rgba(31, 41, 51, .03);
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease, transform .16s ease;
}
.catalog-filter-card input:hover,
.catalog-filter-card select:hover {
  border-color: color-mix(in srgb, var(--brand) 42%, var(--line) 58%);
}
.catalog-filter-card input:focus,
.catalog-filter-card select:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(31,95,139,.13), inset 0 1px 0 rgba(255,255,255,.55);
}
.catalog-filter-card input::placeholder {
  color: color-mix(in srgb, var(--muted) 70%, transparent);
}
.catalog-filter-card select {
  appearance: none;
  padding-right: 40px;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 21px,
    calc(100% - 12px) 21px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
.filter-actions {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}
.filter-actions .button {
  min-height: 48px;
  padding: 0 18px;
  white-space: nowrap;
}
.filter-actions .button.secondary {
  background: var(--surface);
}
.catalog-summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 4px 0 18px;
  padding: 6px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
  font-weight: 750;
}
.material-card {
  gap: 0;
}
.material-card .card-foot {
  margin-top: auto;
}
.material-card .card-foot strong {
  color: var(--brand);
  font-size: 1.05rem;
  white-space: nowrap;
}
.material-card .card-foot .button.small {
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 999px;
  white-space: nowrap;
}
html[data-theme="dark"] .catalog-filter-card {
  background: color-mix(in srgb, var(--surface) 86%, var(--brand) 14%);
  box-shadow: 0 18px 44px rgba(0,0,0,.24);
}
html[data-theme="dark"] .catalog-filter-card input,
html[data-theme="dark"] .catalog-filter-card select,
html[data-theme="dark"] .filter-actions .button.secondary,
html[data-theme="dark"] .catalog-summary {
  background-color: #0f172a;
}
html[data-theme="dark"] .catalog-filter-card input:focus,
html[data-theme="dark"] .catalog-filter-card select:focus {
  box-shadow: 0 0 0 4px rgba(96,165,250,.18), inset 0 1px 0 rgba(255,255,255,.04);
}
@media (max-width: 1180px) {
  .catalog-filter-card {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .catalog-filter-card .filter-wide {
    grid-column: 1 / -1;
  }
  .filter-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
}
@media (max-width: 760px) {
  .catalog-filter-card {
    grid-template-columns: 1fr;
    padding: 14px;
    border-radius: 20px;
  }
  .catalog-filter-card .filter-wide,
  .filter-actions {
    grid-column: auto;
  }
  .filter-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .filter-actions .button {
    width: 100%;
  }
  .material-card .card-foot {
    align-items: stretch;
    flex-direction: column;
  }
  .material-card .card-foot .button.small {
    width: 100%;
  }
}

/* Catalog sidebar filters patch 2026-05-30 */
.catalog-search-card {
  margin: 22px 0 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 6px);
  background: linear-gradient(135deg, color-mix(in srgb, var(--surface) 92%, var(--brand) 8%), var(--surface));
  box-shadow: 0 18px 44px rgba(31, 41, 51, .07);
}
.catalog-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
}
.catalog-search-form label,
.catalog-filter-panel label {
  margin: 0;
}
.catalog-search-form label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.catalog-search-form label span {
  color: var(--text);
  font-weight: 900;
  font-size: 1rem;
}
.catalog-search-form input {
  width: 100%;
  min-height: 54px;
  border-radius: 18px;
  font-size: 1rem;
  border-color: color-mix(in srgb, var(--line) 76%, var(--brand) 24%);
  background: var(--surface);
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.catalog-search-form input:focus,
.catalog-filter-panel input:focus,
.catalog-filter-panel select:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(31,95,139,.13);
}
.catalog-search-form .button {
  min-height: 54px;
  padding-inline: 24px;
  border-radius: 18px;
}
.catalog-shell {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  align-items: start;
  gap: 22px;
  margin-top: 12px;
}
.catalog-sidebar {
  min-width: 0;
}
.catalog-filter-panel {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 6px);
  background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%);
  box-shadow: 0 18px 42px rgba(31, 41, 51, .07);
}
.filter-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 4px;
}
.filter-panel-head h2 {
  margin: 3px 0 0;
  font-size: 1.12rem;
}
.clear-filters-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--brand);
  font-size: .82rem;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}
.active-filter-stack,
.filter-group {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.filter-section-title {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.active-filter-stack {
  padding: 12px;
  border: 1px dashed color-mix(in srgb, var(--line) 62%, var(--brand) 38%);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%);
}
.active-filter-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 38px;
  padding: 8px 10px 8px 12px;
  border: 1px solid color-mix(in srgb, var(--line) 70%, var(--brand) 30%);
  border-radius: 14px;
  background: var(--surface);
  color: var(--text);
  text-decoration: none;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.25;
}
.active-filter-chip strong {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand) 12%, transparent);
  color: var(--brand);
  font-size: 15px;
  line-height: 1;
}
.filter-check-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.filter-check-list-scroll {
  max-height: 260px;
  overflow: auto;
  padding-right: 4px;
}
.filter-check {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%);
  border-radius: 14px;
  background: var(--surface);
  color: var(--text);
  font-size: .92rem;
  font-weight: 800;
  cursor: pointer;
  transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}
.filter-check:hover {
  border-color: color-mix(in srgb, var(--brand) 45%, var(--line) 55%);
  background: color-mix(in srgb, var(--surface) 90%, var(--brand) 10%);
}
.filter-check input[type="radio"] {
  appearance: none;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin: 0;
  border: 2px solid color-mix(in srgb, var(--line) 56%, var(--brand) 44%);
  border-radius: 6px;
  background: var(--surface);
}
.filter-check input[type="radio"]::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 3px;
  transform: scale(0);
  transition: transform .12s ease;
  background: var(--brand);
}
.filter-check input[type="radio"]:checked::before {
  transform: scale(1);
}
.filter-check:has(input:checked) {
  border-color: color-mix(in srgb, var(--brand) 70%, var(--line) 30%);
  background: color-mix(in srgb, var(--surface) 84%, var(--brand) 16%);
}
.filter-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}
.filter-field > span:not(.filter-section-title) {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.catalog-filter-panel input,
.catalog-filter-panel select {
  width: 100%;
  min-height: 46px;
  border-radius: 14px;
  border-color: color-mix(in srgb, var(--line) 78%, var(--brand) 22%);
  background-color: var(--surface);
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.catalog-filter-panel select {
  appearance: none;
  padding-right: 38px;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 20px,
    calc(100% - 12px) 20px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
.filter-price-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.filter-panel-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 4px;
}
.filter-panel-actions .button {
  width: 100%;
  min-height: 46px;
  border-radius: 14px;
}
.catalog-results {
  min-width: 0;
}
.catalog-results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.catalog-shell .catalog-summary {
  margin: 0;
}
html[data-theme="dark"] .catalog-search-card,
html[data-theme="dark"] .catalog-filter-panel {
  background: color-mix(in srgb, var(--surface) 86%, var(--brand) 14%);
  box-shadow: 0 18px 44px rgba(0,0,0,.24);
}
html[data-theme="dark"] .catalog-search-form input,
html[data-theme="dark"] .catalog-filter-panel input,
html[data-theme="dark"] .catalog-filter-panel select,
html[data-theme="dark"] .filter-check,
html[data-theme="dark"] .active-filter-chip,
html[data-theme="dark"] .clear-filters-link {
  background-color: #0f172a;
}
html[data-theme="dark"] .active-filter-stack,
html[data-theme="dark"] .filter-check:has(input:checked) {
  background: color-mix(in srgb, #0f172a 82%, var(--brand) 18%);
}
@media (max-width: 1080px) {
  .catalog-shell {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 16px;
  }
  .catalog-filter-panel {
    padding: 15px;
  }
}
@media (max-width: 900px) {
  .catalog-search-form {
    grid-template-columns: 1fr;
  }
  .catalog-search-form .button {
    width: 100%;
  }
  .catalog-shell {
    grid-template-columns: 1fr;
  }
  .catalog-filter-panel {
    position: static;
  }
  .filter-check-list-scroll {
    max-height: 220px;
  }
}
@media (max-width: 560px) {
  .catalog-search-card,
  .catalog-filter-panel {
    border-radius: 20px;
    padding: 14px;
  }
  .filter-price-row {
    grid-template-columns: 1fr;
  }
  .filter-panel-head {
    align-items: stretch;
    flex-direction: column;
  }
  .clear-filters-link {
    width: fit-content;
  }
}


/* V7: compact professional catalog filters + hidden empty ad containers */
.global-ad-slot:empty,
.mobile-ad-slot:empty,
.hero-ad:empty,
.catalog-inline-ad:empty,
.side-ad:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

.catalog-search-card {
  margin: 18px 0 16px;
  padding: 14px;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(31, 41, 51, .055);
}
.catalog-search-form {
  grid-template-columns: minmax(0, 1fr) minmax(118px, auto);
  gap: 10px;
}
.catalog-search-form label { gap: 6px; }
.catalog-search-form label span {
  font-size: .92rem;
  letter-spacing: -.01em;
}
.catalog-search-form input {
  min-height: 48px;
  border-radius: 15px;
  font-size: .96rem;
  padding-inline: 14px;
}
.catalog-search-form .button {
  min-height: 48px;
  border-radius: 15px;
  padding-inline: 20px;
}
.catalog-shell {
  grid-template-columns: minmax(230px, 274px) minmax(0, 1fr);
  gap: 18px;
}
.catalog-filter-panel {
  top: 78px;
  gap: 12px;
  padding: 14px;
  border-radius: 22px;
  box-shadow: 0 12px 30px rgba(31, 41, 51, .055);
}
.filter-panel-head {
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 84%, transparent);
}
.filter-panel-head h2 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.1;
}
.filter-panel-head p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.35;
}
.clear-filters-link {
  min-height: 30px;
  padding: 5px 9px;
  font-size: .76rem;
}
.active-filter-stack {
  gap: 7px;
  padding: 9px;
  border-radius: 15px;
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
}
.active-filter-chip {
  min-height: 31px;
  padding: 6px 8px 6px 10px;
  border-radius: 11px;
  font-size: .8rem;
  font-weight: 760;
}
.active-filter-chip strong {
  width: 18px;
  height: 18px;
  font-size: 13px;
}
.filter-group {
  gap: 6px;
  padding-top: 1px;
}
.filter-section-title {
  min-height: 15px;
  font-size: 10px;
  letter-spacing: .075em;
}
.filter-check-list {
  gap: 5px;
}
.filter-check-list-scroll {
  max-height: 188px;
  padding-right: 3px;
  scrollbar-width: thin;
}
.filter-check {
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 7px;
  padding: 6px 8px;
  border-radius: 11px;
  font-size: .82rem;
  font-weight: 720;
  line-height: 1.2;
  box-shadow: none;
}
.filter-check:hover {
  transform: none;
}
.filter-check input[type="radio"] {
  width: 14px;
  height: 14px;
  border-width: 1.5px;
  border-radius: 4px;
}
.filter-check input[type="radio"]::before {
  width: 7px;
  height: 7px;
  border-radius: 2px;
}
.filter-check:has(input:checked) {
  background: color-mix(in srgb, var(--surface) 90%, var(--brand) 10%);
}
.filter-field { gap: 5px; }
.filter-field > span:not(.filter-section-title) {
  font-size: 10.5px;
}
.catalog-filter-panel input,
.catalog-filter-panel select {
  min-height: 40px;
  border-radius: 11px;
  font-size: .88rem;
  padding: 9px 11px;
}
.catalog-filter-panel select {
  padding-right: 32px;
  background-position:
    calc(100% - 15px) 17px,
    calc(100% - 10px) 17px;
  background-size: 5px 5px, 5px 5px;
}
.filter-price-row {
  gap: 7px;
}
.filter-panel-actions {
  gap: 8px;
  padding-top: 2px;
}
.filter-panel-actions .button {
  min-height: 40px;
  border-radius: 12px;
  font-size: .88rem;
}
.catalog-results-head {
  margin-bottom: 12px;
}
.catalog-shell .catalog-summary {
  padding: 5px 10px;
  font-size: .86rem;
}
@media (max-width: 1080px) {
  .catalog-shell {
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
    gap: 14px;
  }
}
@media (max-width: 900px) {
  .catalog-shell { grid-template-columns: 1fr; }
  .catalog-filter-panel { position: static; }
  .filter-check-list-scroll { max-height: 170px; }
}
@media (max-width: 560px) {
  .catalog-search-card,
  .catalog-filter-panel {
    padding: 12px;
    border-radius: 18px;
  }
  .catalog-search-form {
    grid-template-columns: 1fr;
  }
  .catalog-search-form .button {
    width: 100%;
  }
}

/* V8: compact catalog filter bar - replaces oversized sidebar lists */
.catalog-filter-panel-compact {
  position: static !important;
  margin: 0 0 18px !important;
  padding: 13px !important;
  border-radius: 22px !important;
  background: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%) !important;
  box-shadow: 0 10px 28px rgba(31, 41, 51, .052) !important;
}
.catalog-filter-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.catalog-filter-panel-compact .filter-panel-head {
  align-items: center;
  padding: 0 2px 2px;
  border: 0;
}
.catalog-filter-panel-compact .filter-panel-head h2 {
  font-size: .98rem;
  letter-spacing: -.01em;
}
.catalog-filter-panel-compact .filter-panel-head p {
  margin-top: 2px;
  font-size: .76rem;
}
.active-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 8px 9px;
  border: 1px dashed color-mix(in srgb, var(--line) 76%, var(--brand) 24%);
  border-radius: 15px;
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
}
.active-filter-row .filter-section-title {
  margin-right: 2px;
}
.active-filter-row .active-filter-chip {
  min-height: 27px;
  width: auto;
  padding: 4px 7px 4px 9px;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 760;
  line-height: 1.1;
}
.active-filter-row .active-filter-chip strong {
  width: 16px;
  height: 16px;
  font-size: 12px;
}
.compact-filter-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 9px;
  align-items: end;
}
.compact-filter-grid > .filter-field {
  grid-column: span 2;
}
.compact-filter-grid > .filter-price-field {
  grid-column: span 2;
}
.compact-filter-grid > .filter-sort-field {
  grid-column: span 2;
}
.catalog-filter-panel-compact .filter-field {
  gap: 4px;
}
.catalog-filter-panel-compact .filter-section-title {
  min-height: auto;
  color: var(--muted);
  font-size: 9.5px;
  letter-spacing: .085em;
}
.catalog-filter-panel-compact input,
.catalog-filter-panel-compact select {
  min-height: 36px !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
  font-size: .82rem !important;
  line-height: 1.2;
  box-shadow: none !important;
}
.catalog-filter-panel-compact select {
  padding-right: 28px !important;
  background-position:
    calc(100% - 13px) 15px,
    calc(100% - 8px) 15px !important;
  background-size: 5px 5px, 5px 5px !important;
}
.catalog-filter-panel-compact input:focus,
.catalog-filter-panel-compact select:focus {
  box-shadow: 0 0 0 3px rgba(31,95,139,.12) !important;
}
.catalog-filter-panel-compact .filter-price-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 6px;
}
.price-mini-field {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  margin: 0;
}
.price-mini-field span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.filter-panel-actions-inline {
  flex-direction: row !important;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding-top: 0 !important;
}
.filter-panel-actions-inline .button {
  width: auto !important;
  min-height: 36px !important;
  padding: 7px 14px !important;
  border-radius: 11px !important;
  font-size: .84rem !important;
}
.catalog-results-wide {
  width: 100%;
}
.catalog-results-wide .catalog-results-head {
  margin: 2px 0 12px;
}
.catalog-results-wide .catalog-summary {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
}
.catalog-results-wide .catalog-cards {
  align-items: stretch;
}
.catalog-results-wide .material-card {
  border-radius: 22px;
  box-shadow: 0 12px 30px rgba(31, 41, 51, .052);
}
.catalog-results-wide .material-card .tag {
  width: fit-content;
  font-size: .75rem;
}
.catalog-results-wide .material-mini-meta span {
  font-size: .78rem;
}
.catalog-results-wide .material-card .card-foot {
  gap: 10px;
}
.catalog-results-wide .material-card .card-foot strong {
  font-size: 1rem;
}
html[data-theme="dark"] .catalog-filter-panel-compact {
  background: color-mix(in srgb, var(--surface) 90%, var(--brand) 10%) !important;
}
html[data-theme="dark"] .active-filter-row {
  background: color-mix(in srgb, #0f172a 86%, var(--brand) 14%);
}
html[data-theme="dark"] .catalog-results-wide .catalog-summary {
  background: #0f172a;
}
@media (max-width: 1120px) {
  .compact-filter-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .compact-filter-grid > .filter-field,
  .compact-filter-grid > .filter-price-field,
  .compact-filter-grid > .filter-sort-field {
    grid-column: span 2;
  }
}
@media (max-width: 760px) {
  .catalog-filter-panel-compact {
    padding: 12px !important;
    border-radius: 18px !important;
  }
  .compact-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .compact-filter-grid > .filter-field,
  .compact-filter-grid > .filter-price-field,
  .compact-filter-grid > .filter-sort-field {
    grid-column: span 1;
  }
  .filter-panel-actions-inline {
    justify-content: stretch;
  }
  .filter-panel-actions-inline .button {
    flex: 1 1 0;
  }
}
@media (max-width: 520px) {
  .catalog-filter-panel-compact .filter-panel-head {
    align-items: stretch;
    flex-direction: column;
    gap: 7px;
  }
  .compact-filter-grid {
    grid-template-columns: 1fr;
  }
  .compact-filter-grid > .filter-field,
  .compact-filter-grid > .filter-price-field,
  .compact-filter-grid > .filter-sort-field {
    grid-column: auto;
  }
  .active-filter-row {
    padding: 7px;
  }
  .filter-panel-actions-inline {
    flex-direction: column !important;
  }
  .filter-panel-actions-inline .button {
    width: 100% !important;
  }
}

/* V9: global UI polish + compact collapsible catalog filters */
:root {
  --surface-soft: #fbfaf7;
  --brand-soft: rgba(31, 95, 139, .09);
  --brand-ring: rgba(31, 95, 139, .18);
  --shadow-soft: 0 10px 28px rgba(31, 41, 51, .055);
  --shadow-hover: 0 16px 38px rgba(31, 41, 51, .08);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a, .button, button, input, select, textarea, .card, .active-filter-chip, summary { transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }

.container { width: min(1180px, calc(100% - 32px)); }
.page-head { margin: 34px 0 18px; }
.page-head h1 { margin-bottom: 10px; letter-spacing: -.025em; }
.page-head .muted { max-width: 820px; }

.button, button.button {
  min-height: 42px;
  padding: 10px 18px;
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(31, 95, 139, .16);
  line-height: 1.15;
}
.button:hover, button.button:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(31, 95, 139, .2); }
.button.secondary { background: var(--surface); color: var(--brand-dark) !important; border: 1px solid color-mix(in srgb, var(--line) 78%, var(--brand) 22%); }
.button.secondary:hover { background: var(--brand-soft); box-shadow: none; }
.button.small { min-height: 34px; padding: 7px 12px; border-radius: 10px; font-size: .86rem; }

input, select, textarea {
  border-color: color-mix(in srgb, var(--line) 86%, var(--brand) 14%);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: 0 1px 0 rgba(31,41,51,.02);
}
input:hover, select:hover, textarea:hover { border-color: color-mix(in srgb, var(--line) 55%, var(--brand) 45%); }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-ring); }
:focus-visible { outline: 3px solid var(--brand-ring); outline-offset: 2px; }

.card, .hero-card, .purchase-box, .auth-card, .form-card, .preview, .legal, .invoice {
  box-shadow: var(--shadow-soft);
}
.card { min-height: 0; border-radius: 18px; padding: 19px; }
.card:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.card h3 { line-height: 1.25; letter-spacing: -.012em; }
.card p { margin-top: 0; }
.card-foot { margin-top: auto; }
.tag, .eyebrow { letter-spacing: .01em; }

.form-card, .auth-card { padding: clamp(20px, 3vw, 30px); }
.form-card label, .auth-card label { margin-bottom: 12px; }
.table { box-shadow: var(--shadow-soft); }
.table th { letter-spacing: .025em; text-transform: uppercase; font-size: .76rem; }
.empty, .empty-state { background: var(--surface); border: 1px dashed color-mix(in srgb, var(--line) 70%, var(--brand) 30%); }

/* Search stays prominent; filters become a quiet drawer. */
.catalog-search-card {
  margin-bottom: 10px !important;
  padding: 14px !important;
  border-radius: 18px !important;
  box-shadow: var(--shadow-soft) !important;
}
.catalog-search-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: end !important;
}
.catalog-search-form label { margin: 0 !important; gap: 5px !important; }
.catalog-search-form label span { font-size: .82rem !important; color: var(--muted) !important; }
.catalog-search-form input { min-height: 42px !important; padding: 10px 13px !important; font-size: .95rem !important; }
.catalog-search-form .button { min-height: 42px !important; padding: 10px 18px !important; border-radius: 12px !important; }

.active-filter-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--line) 80%, var(--brand) 20%);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%);
}
.active-filter-strip-title {
  color: var(--muted);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.active-filter-strip-items { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; flex: 1 1 auto; }
.active-filter-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 25px !important;
  width: auto !important;
  padding: 4px 7px 4px 9px !important;
  border: 1px solid color-mix(in srgb, var(--line) 76%, var(--brand) 24%) !important;
  border-radius: 999px !important;
  background: var(--surface) !important;
  color: var(--brand-dark) !important;
  font-size: .76rem !important;
  font-weight: 760 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
}
.active-filter-chip:hover { background: var(--brand-soft) !important; transform: translateY(-1px); }
.active-filter-chip strong {
  display: inline-grid;
  place-items: center;
  width: 15px !important;
  height: 15px !important;
  border-radius: 50%;
  background: color-mix(in srgb, var(--brand) 11%, transparent);
  font-size: 11px !important;
}
.clear-filters-link { font-size: .82rem; font-weight: 800; white-space: nowrap; }

.catalog-filter-drawer {
  margin: 0 0 16px;
  border: 1px solid color-mix(in srgb, var(--line) 83%, var(--brand) 17%);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 6px 18px rgba(31, 41, 51, .038);
  overflow: hidden;
}
.catalog-filter-drawer > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 13px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.catalog-filter-drawer > summary::-webkit-details-marker { display: none; }
.catalog-filter-drawer > summary:hover { background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%); }
.catalog-filter-drawer > summary span:first-child { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.catalog-filter-drawer > summary strong { font-size: .92rem; letter-spacing: -.01em; }
.catalog-filter-drawer > summary small { color: var(--muted); font-size: .76rem; white-space: nowrap; }
.filter-drawer-icon { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--brand-soft); color: var(--brand-dark); font-weight: 900; }
.catalog-filter-drawer[open] .filter-drawer-icon { transform: rotate(180deg); }
.catalog-filter-drawer .catalog-filter-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 11px 13px 13px !important;
  border-top: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%);
}
.catalog-filter-drawer .compact-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-items: end !important;
}
.catalog-filter-drawer .compact-filter-grid > .filter-field,
.catalog-filter-drawer .compact-filter-grid > .filter-price-field,
.catalog-filter-drawer .compact-filter-grid > .filter-sort-field { grid-column: span 1 !important; }
.catalog-filter-drawer .filter-field { display: grid !important; gap: 4px !important; margin: 0 !important; }
.catalog-filter-drawer .filter-section-title {
  min-height: auto !important;
  color: var(--muted) !important;
  font-size: .66rem !important;
  line-height: 1 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
}
.catalog-filter-drawer input,
.catalog-filter-drawer select {
  min-height: 34px !important;
  height: 34px !important;
  padding: 6px 9px !important;
  border-radius: 9px !important;
  font-size: .82rem !important;
  line-height: 1.15 !important;
  box-shadow: none !important;
}
.catalog-filter-drawer select {
  padding-right: 26px !important;
  background-position: calc(100% - 13px) 14px, calc(100% - 8px) 14px !important;
  background-size: 5px 5px, 5px 5px !important;
}
.catalog-filter-drawer .filter-price-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6px !important; }
.catalog-filter-drawer .price-mini-field {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
}
.catalog-filter-drawer .price-mini-field span { font-size: .62rem !important; color: var(--muted) !important; font-weight: 900 !important; text-transform: uppercase !important; }
.catalog-filter-drawer .filter-panel-actions-inline { display: flex !important; flex-direction: row !important; justify-content: flex-end !important; gap: 8px !important; padding: 0 !important; border: 0 !important; }
.catalog-filter-drawer .filter-panel-actions-inline .button { width: auto !important; min-height: 34px !important; padding: 7px 12px !important; border-radius: 10px !important; font-size: .82rem !important; }

.catalog-results-wide .catalog-results-head { margin: 0 0 10px !important; }
.catalog-results-wide .catalog-summary { min-height: 26px !important; padding: 4px 9px !important; font-size: .78rem !important; }
.catalog-results-wide .catalog-cards { grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)) !important; gap: 15px !important; }
.catalog-results-wide .material-card { padding: 17px !important; border-radius: 18px !important; }
.catalog-results-wide .material-card .tag { font-size: .71rem !important; padding: 4px 9px !important; }
.catalog-results-wide .material-card h3 { margin: 10px 0 7px !important; font-size: 1.06rem !important; }
.catalog-results-wide .material-card p {
  font-size: .9rem !important;
  line-height: 1.5 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.catalog-results-wide .material-mini-meta { gap: 6px !important; margin: 2px 0 12px !important; }
.catalog-results-wide .material-mini-meta span { padding: 4px 7px !important; border-radius: 999px !important; font-size: .72rem !important; }
.catalog-results-wide .material-card .card-foot { padding-top: 12px !important; }
.catalog-results-wide .material-card .card-foot strong { font-size: .98rem !important; }

.material .purchase-box { border-radius: 20px; }
.material .details span { padding: 6px 10px; font-size: .88rem; }
.preview { border-radius: 20px; }
.preview p, .preview li { color: color-mix(in srgb, var(--text) 82%, var(--muted) 18%); }

.ad-box { box-shadow: var(--shadow-soft); }
.global-ad-slot:empty,
.mobile-ad-slot:empty,
.hero-ad:empty,
.catalog-inline-ad:empty,
.side-ad:empty { display: none !important; margin: 0 !important; padding: 0 !important; }

html[data-theme="dark"] .catalog-filter-drawer,
html[data-theme="dark"] .active-filter-strip { background: #111827; border-color: #273244; }
html[data-theme="dark"] .catalog-filter-drawer .catalog-filter-form { background: #0f172a; border-color: #273244; }
html[data-theme="dark"] .catalog-filter-drawer > summary:hover { background: #172033; }
html[data-theme="dark"] .active-filter-chip { background: #0f172a !important; border-color: #273244 !important; color: #dbeafe !important; }
html[data-theme="dark"] .catalog-results-wide .catalog-summary { background: #111827; border-color: #273244; }

@media (max-width: 1020px) {
  .catalog-filter-drawer .compact-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 720px) {
  .container { width: min(100% - 24px, 1180px); }
  .catalog-search-card { padding: 12px !important; }
  .catalog-search-form { grid-template-columns: 1fr !important; }
  .catalog-search-form .button { width: 100% !important; }
  .active-filter-strip { align-items: flex-start; flex-direction: column; }
  .active-filter-strip-items { width: 100%; }
  .catalog-filter-drawer > summary { padding: 10px 12px; }
  .catalog-filter-drawer > summary span:first-child { flex-direction: column; align-items: flex-start; gap: 2px; }
  .catalog-filter-drawer .compact-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .catalog-filter-drawer .compact-filter-grid > .filter-price-field { grid-column: span 2 !important; }
  .catalog-filter-drawer .filter-panel-actions-inline .button { flex: 1 1 0; }
  .catalog-results-wide .catalog-cards { grid-template-columns: 1fr !important; }
}
@media (max-width: 460px) {
  .catalog-filter-drawer .compact-filter-grid { grid-template-columns: 1fr !important; }
  .catalog-filter-drawer .compact-filter-grid > .filter-price-field { grid-column: auto !important; }
  .catalog-filter-drawer .filter-panel-actions-inline { flex-direction: column !important; }
  .catalog-filter-drawer .filter-panel-actions-inline .button { width: 100% !important; }
  .button, button.button { width: 100%; }
  .card-foot { align-items: stretch; flex-direction: column; }
}

/* V10: category admin management polish */
.admin-category-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.admin-note-card {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--line) 80%, var(--brand) 20%);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface) 95%, var(--brand) 5%);
  color: var(--muted);
  font-size: .92rem;
}
.admin-note-card strong { color: var(--text); white-space: nowrap; }
.admin-manage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 22px;
}
.admin-manage-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-manage-grid-four {
  grid-template-columns: repeat(4, minmax(220px, 1fr));
}
.compact-admin-form { padding: 18px !important; }
.compact-admin-form h2 { margin-top: 0; font-size: 1.12rem; }
.compact-admin-form label { margin-bottom: 10px !important; }
.compact-grid { gap: 10px !important; }
.compact-check {
  min-height: 42px;
  align-items: center !important;
  padding: 10px 12px !important;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%);
  font-size: .88rem;
}
.admin-section-title {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 24px 0 10px;
}
.admin-section-title h2 { margin: 0; }
.table-scroll { width: 100%; overflow-x: auto; }
.admin-category-table { min-width: 840px; }
.admin-category-table td { vertical-align: top; }
.actions-cell-wide {
  min-width: 230px;
  max-width: 340px;
}
.row-edit-details {
  display: inline-block;
  margin-right: 8px;
}
.row-edit-details > summary {
  cursor: pointer;
  list-style: none;
  display: inline-flex;
  align-items: center;
}
.row-edit-details > summary::-webkit-details-marker { display: none; }
.row-edit-details[open] {
  display: block;
  margin: 0 0 10px;
}
.row-edit-form {
  margin-top: 8px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--line) 80%, var(--brand) 20%);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 10px 24px rgba(31, 41, 51, .07);
}
.row-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 10px;
}
.row-edit-grid label { margin: 0 !important; font-size: .78rem; }
.row-edit-grid input,
.row-edit-grid select,
.row-edit-grid textarea {
  min-height: 34px !important;
  padding: 7px 9px !important;
  border-radius: 9px !important;
  font-size: .84rem !important;
}
.row-edit-wide { grid-column: 1 / -1; }
.row-edit-form .button.small {
  min-height: 32px !important;
  padding: 6px 11px !important;
  border-radius: 9px !important;
  font-size: .82rem !important;
}
html[data-theme="dark"] .admin-note-card,
html[data-theme="dark"] .compact-check,
html[data-theme="dark"] .row-edit-form {
  background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%);
}
@media (max-width: 1250px) {
  .admin-manage-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .admin-manage-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 880px) {
  .admin-category-head { flex-direction: column; }
  .admin-manage-grid,
  .admin-manage-grid-three,
  .admin-manage-grid-four { grid-template-columns: 1fr; }
  .admin-note-card { flex-direction: column; }
}
@media (max-width: 640px) {
  .row-edit-grid { grid-template-columns: 1fr; }
  .actions-cell-wide { min-width: 260px; }
}

/* V12: product UX polish, homepage search and advertiser footer */
.home-search-panel {
  margin: -10px 0 26px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%);
  border-radius: 22px;
  background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%);
  box-shadow: var(--shadow-soft);
}
.home-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.home-search-form label { margin: 0; display: grid; gap: 6px; }
.home-search-form label span {
  font-size: .78rem;
  color: var(--muted);
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.home-search-form input {
  min-height: 46px;
  padding: 11px 14px;
  border-radius: 14px;
  font-size: .96rem;
}
.home-category-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.home-category-pills a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, var(--line) 78%, var(--brand) 22%);
  border-radius: 999px;
  background: var(--surface);
  color: var(--text);
  font-size: .83rem;
  font-weight: 800;
  text-decoration: none;
}
.home-category-pills a:hover {
  border-color: color-mix(in srgb, var(--brand) 62%, var(--line) 38%);
  color: var(--brand-dark);
  transform: translateY(-1px);
}
.home-ad-section:empty { display: none !important; margin: 0 !important; padding: 0 !important; }
.home-ad-section { margin: 0 0 24px; }
.footer-grid-v12 {
  align-items: stretch;
  grid-template-columns: minmax(260px, 1.3fr) minmax(150px, .75fr) minmax(170px, .85fr) minmax(260px, 1.15fr);
}
.footer-column {
  display: grid;
  align-content: start;
  gap: 8px;
}
.footer-column strong,
.footer-brand-block > strong { color: var(--text); }
.footer-column a,
.footer-brand-block a,
.footer-partner-email {
  color: var(--muted);
  font-weight: 800;
  text-decoration: none;
}
.footer-column a:hover,
.footer-brand-block a:hover,
.footer-partner-email:hover { color: var(--brand-dark); }
.footer-partner-card {
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--line) 75%, var(--brand) 25%);
  border-radius: 20px;
  background: color-mix(in srgb, var(--surface) 91%, var(--brand) 9%);
  box-shadow: var(--shadow-soft);
}
.footer-partner-card strong {
  display: block;
  margin: 6px 0 7px;
  font-size: 1rem;
  line-height: 1.25;
}
.footer-partner-card p { margin: 0 0 12px; color: var(--muted); font-size: .9rem; line-height: 1.45; }
.footer-partner-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.footer-partner-actions .button { margin: 0; }
.footer-partner-email { font-size: .86rem; }
.advertise-direct-contact {
  margin: 16px 0 0;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--line) 75%, var(--brand) 25%);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
  color: var(--muted);
  font-weight: 800;
}
.advertise-direct-contact a { color: var(--brand-dark); }
html[data-theme="dark"] .home-search-panel,
html[data-theme="dark"] .footer-partner-card,
html[data-theme="dark"] .advertise-direct-contact {
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
  border-color: #273244;
}
html[data-theme="dark"] .home-category-pills a { background: #0f172a; border-color: #273244; color: #dbeafe; }
@media (max-width: 920px) {
  .footer-grid-v12 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .home-search-form { grid-template-columns: 1fr; }
  .home-search-form .button { width: 100%; }
  .footer-grid-v12 { grid-template-columns: 1fr; }
  .footer-partner-actions { flex-direction: column; align-items: stretch; }
  .footer-partner-actions .button { width: 100%; }
}

/* V13: visual completion patch — calmer public UI, cleaner cards/forms/footer */
:root {
  --page-gutter: clamp(16px, 3vw, 32px);
  --soft-shadow: 0 18px 44px rgba(31, 41, 51, .075);
  --card-border: color-mix(in srgb, var(--line) 82%, transparent);
}
body { letter-spacing: -0.01em; }
a { text-underline-offset: 3px; }
.container { width: min(1180px, calc(100% - var(--page-gutter) * 2)); }
.site-main { padding-top: 12px; }
.site-header { box-shadow: 0 8px 24px rgba(31, 41, 51, .045); }
.nav { min-height: 68px; }
.nav-menu { gap: 8px !important; }
.nav nav a { font-size: .94rem; padding: 8px 11px; }
.nav-cta { background: rgba(31,95,139,.08); color: var(--brand-dark) !important; }
.button, button.button {
  min-height: 42px;
  border-radius: 14px;
  padding: 10px 18px;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.button:hover, button.button:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(31, 95, 139, .18); }
.button.secondary:hover { box-shadow: 0 10px 22px rgba(31, 41, 51, .07); }
.button.small { min-height: 34px; padding: 7px 12px; border-radius: 12px; font-size: .88rem; }
input, select, textarea {
  min-height: 44px;
  border-radius: 13px;
  border-color: color-mix(in srgb, var(--line) 86%, var(--muted));
  box-shadow: 0 1px 0 rgba(31,41,51,.02);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--brand) 62%, var(--line));
  box-shadow: 0 0 0 4px rgba(31,95,139,.12);
}
label { font-size: .93rem; gap: 6px; }
label .muted { font-weight: 600; }
.hero-v13 {
  grid-template-columns: minmax(0, 1.42fr) minmax(280px, 360px);
  padding: clamp(40px, 7vw, 86px) 0 28px;
  position: relative;
}
.hero-v13 h1 { max-width: 920px; letter-spacing: -0.045em; }
.hero-v13 .lead,
.hero-v13 p { max-width: 740px; }
.hero-actions-clean { margin-top: 26px; }
.hero-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.hero-pills span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.66);
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: .88rem;
  font-weight: 750;
}
.hero-card-v13 {
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.80));
  box-shadow: var(--soft-shadow);
}
.hero-card-v13 .hero-card-label {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 4px;
}
.hero-card-v13 strong { font-size: clamp(2.2rem, 5vw, 3.4rem); }
.home-search-panel {
  margin: 16px 0 32px !important;
  padding: 16px !important;
  border-radius: 22px !important;
  box-shadow: var(--soft-shadow) !important;
}
.home-search-form { align-items: end; }
.home-category-pills { gap: 8px; }
.home-category-pills a,
.active-filter-chip {
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.72);
}
.home-section-head.compact-section-head { margin: 42px 0 14px; }
.process-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.process-strip article {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 18px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 10px 30px rgba(31,41,51,.045);
}
.cards { gap: 16px; }
.card, .form-card, .auth-card, .purchase-box, .preview, .legal, .invoice {
  border-color: var(--card-border);
  box-shadow: var(--soft-shadow);
}
.card {
  min-height: 0;
  padding: 18px;
  border-radius: 20px;
}
.card h3 { font-size: 1.08rem; line-height: 1.25; margin: 10px 0 8px; }
.card p { font-size: .94rem; }
.card-foot { padding-top: 12px; margin-top: auto; }
.card-foot strong { font-size: 1rem; color: var(--brand-dark); }
.tag, .eyebrow { font-size: .74rem; padding: 4px 9px; letter-spacing: .01em; }
.material-mini-meta { margin-top: 12px; }
.material-mini-meta span {
  font-size: .78rem;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(31,95,139,.065);
  color: var(--muted);
}
.catalog-search-card,
.catalog-filter-drawer,
.active-filter-strip {
  width: min(980px, 100%);
  margin-left: auto !important;
  margin-right: auto !important;
}
.catalog-search-card { padding: 14px !important; border-radius: 20px !important; }
.catalog-filter-drawer {
  border-radius: 18px !important;
  overflow: clip;
  box-shadow: none !important;
  border: 1px solid var(--line) !important;
  background: rgba(255,255,255,.72) !important;
}
.catalog-filter-drawer summary {
  min-height: 52px !important;
  padding: 12px 15px !important;
}
.catalog-filter-drawer summary strong { font-size: .96rem !important; }
.catalog-filter-drawer summary small { font-size: .78rem !important; color: var(--muted) !important; }
.catalog-filter-form { padding: 12px 14px 14px !important; }
.compact-filter-grid { gap: 10px !important; grid-template-columns: repeat(6, minmax(120px, 1fr)) !important; }
.filter-section-title { font-size: .76rem !important; }
.filter-field select,
.filter-field input { min-height: 38px !important; padding: 8px 10px !important; font-size: .9rem !important; border-radius: 11px !important; }
.filter-price-row { gap: 8px !important; }
.price-mini-field span { font-size: .72rem !important; }
.filter-panel-actions-inline { margin-top: 12px !important; }
.catalog-results-wide { margin-top: 18px; }
.catalog-results-head { margin-bottom: 10px; }
.catalog-summary { font-size: .84rem; }
.catalog-results-wide .material-card {
  min-height: 250px !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.catalog-results-wide .material-card:hover {
  transform: translateY(-2px);
  border-color: rgba(31,95,139,.28);
  box-shadow: 0 18px 40px rgba(31,41,51,.09);
}
.material-product-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); gap: 28px; }
.material-main > h1 { font-size: clamp(2rem, 4.2vw, 3.25rem); max-width: 850px; }
.material-details-grid { gap: 8px; }
.details span { font-size: .88rem; padding: 6px 10px; background: rgba(255,255,255,.72); }
.material-value-box,
.related-materials { margin: 24px 0; }
.material-value-box h2,
.related-materials h2 { font-size: 1.25rem; margin: 0 0 12px; }
.purchase-box-v13 { border-radius: 22px; padding: 20px; }
.purchase-box-v13 .price { font-size: clamp(2rem, 5vw, 2.7rem); line-height: 1.1; }
.purchase-benefits {
  list-style: none;
  margin: 14px 0;
  padding: 0;
  display: grid;
  gap: 7px;
}
.purchase-benefits li {
  position: relative;
  padding-left: 22px;
  color: var(--muted);
  font-size: .9rem;
}
.purchase-benefits li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--ok);
  font-weight: 900;
}
.preview { border-radius: 20px; line-height: 1.75; }
.split-layout-v13 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr) !important;
  gap: 18px !important;
  align-items: start;
}
.form-card-v13, .side-info-card-v13 { margin-top: 0 !important; border-radius: 22px; }
.form-card-v13 h2, .side-info-card-v13 h2 { margin-top: 0; }
.form-step-kicker {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(31,95,139,.08);
  color: var(--brand-dark);
  font-size: .74rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.side-info-card-v13 { background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.78)); }
.compact-list.big { display: grid; gap: 9px; padding-left: 20px; }
.page-head-centered { text-align: center; max-width: 760px; margin-left: auto; margin-right: auto; }
.contact-layout-v13 .side-info-card-v13 p { margin: 12px 0; }
.advertise-hero-v13,
.request-hero-v13 {
  width: min(1040px, 100%);
  text-align: left;
  padding: clamp(24px, 4vw, 38px);
  border-radius: 26px;
  background: radial-gradient(circle at top right, rgba(31,95,139,.12), transparent 32%), var(--surface);
}
.advertise-hero-v13 h1,
.request-hero-v13 h1 { font-size: clamp(2rem, 4.2vw, 3.2rem); max-width: 900px; }
.ad-sales-stats { gap: 10px; }
.ad-sales-stats span { border-radius: 14px; background: rgba(255,255,255,.70); }
.ad-packages-v13 { width: min(1080px, 100%); margin: 0 auto; }
.cards-packages { margin-top: 10px; }
.ad-package-card { min-height: 330px; }
.ad-tariff-box-v13 { width: min(1080px, 100%); border-radius: 24px; }
.tariff-grid { gap: 10px; }
.tariff-grid div { border-radius: 16px; }
.ad-positions-details-v13 { width: min(1080px, 100%); margin: 24px auto !important; padding: 0 !important; overflow: hidden; }
.ad-positions-details-v13 summary {
  cursor: pointer;
  list-style: none;
  padding: 18px 22px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  font-weight: 850;
}
.ad-positions-details-v13 summary::-webkit-details-marker { display: none; }
.ad-positions-details-v13 summary small {
  display: block;
  margin-top: 3px;
  font-weight: 650;
  color: var(--muted);
}
.ad-positions-details-v13 summary::after {
  content: "⌄";
  font-size: 1.15rem;
  color: var(--muted);
  transition: transform .16s ease;
}
.ad-positions-details-v13[open] summary::after { transform: rotate(180deg); }
.ad-positions-details-v13 .ad-position-grid { padding: 0 18px 18px; }
.footer-grid-v12 {
  gap: 18px !important;
  padding: 26px 0 20px;
  align-items: stretch;
}
.footer-brand-block,
.footer-column,
.footer-partner-card {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 18px;
  background: rgba(255,255,255,.68);
}
.footer-column { display: grid; gap: 7px; align-content: start; }
.footer-column a, .footer-button { font-size: .92rem; }
.footer-partner-card { box-shadow: none; }
.footer-partner-card p { font-size: .92rem; }
.footer-partner-actions { display: grid; gap: 8px; justify-items: start; }
.footer-partner-email { font-size: .9rem; font-weight: 800; }
.footer-bottom { border-top: 1px solid var(--line); padding-top: 14px; gap: 10px; }
.global-ad-slot:empty,
.mobile-ad-slot:empty,
.hero-ad:empty,
.home-ad-section:empty,
.catalog-inline-ad:empty,
.side-ad:empty { display: none !important; }
html[data-theme="dark"] .hero-pills span,
html[data-theme="dark"] .process-strip article,
html[data-theme="dark"] .catalog-filter-drawer,
html[data-theme="dark"] .details span,
html[data-theme="dark"] .footer-brand-block,
html[data-theme="dark"] .footer-column,
html[data-theme="dark"] .footer-partner-card,
html[data-theme="dark"] .home-category-pills a,
html[data-theme="dark"] .active-filter-chip { background: rgba(17,24,39,.72); }
html[data-theme="dark"] .hero-card-v13,
html[data-theme="dark"] .side-info-card-v13,
html[data-theme="dark"] .advertise-hero-v13,
html[data-theme="dark"] .request-hero-v13 { background: radial-gradient(circle at top right, rgba(96,165,250,.12), transparent 32%), var(--surface); }
html[data-theme="dark"] .card-foot strong { color: var(--brand); }
@media (max-width: 1080px) {
  .compact-filter-grid { grid-template-columns: repeat(3, minmax(150px, 1fr)) !important; }
  .process-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .hero-v13,
  .material-product-layout,
  .split-layout-v13 { grid-template-columns: 1fr !important; }
  .hero-v13 { padding-top: 34px; }
  .purchase-box-v13 { position: static; }
  .footer-grid-v12 { grid-template-columns: 1fr !important; }
}
@media (max-width: 720px) {
  .site-main { padding-top: 4px; }
  .nav nav a { padding: 7px 9px; font-size: .9rem; }
  .hero-pills span { width: 100%; justify-content: center; }
  .home-search-panel { padding: 13px !important; }
  .process-strip,
  .compact-filter-grid { grid-template-columns: 1fr !important; }
  .catalog-filter-form { padding: 10px 12px 12px !important; }
  .card { padding: 16px; }
  .card-foot { align-items: stretch; flex-direction: column; }
  .card-foot .button { width: 100%; }
  .ad-positions-details-v13 summary { align-items: flex-start; flex-direction: column; }
}

/* V15: navigation focus — keep custom requests contextual, not persistent in the header */
.nav-menu .nav-cta { display: none; }
.catalog-empty-state-v15 {
  text-align: left;
  display: grid;
  gap: 10px;
  padding: 24px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--surface) 92%, var(--brand) 8%), var(--surface));
}
.catalog-empty-state-v15 .eyebrow {
  justify-self: start;
  margin-bottom: 0;
}
.catalog-empty-state-v15 h3 { margin: 0; }
.catalog-empty-state-v15 p { max-width: 680px; }
.empty-state-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.material-request-link {
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
}
.material-request-link a {
  font-weight: 800;
  color: var(--brand-dark);
  text-decoration: none;
}
.material-request-link a:hover { text-decoration: underline; }
html[data-theme="dark"] .catalog-empty-state-v15 {
  background: linear-gradient(135deg, color-mix(in srgb, var(--surface) 86%, var(--brand) 14%), var(--surface));
}
html[data-theme="dark"] .material-request-link a { color: var(--brand); }
@media (max-width: 640px) {
  .empty-state-actions { flex-direction: column; }
  .empty-state-actions .button { width: 100%; }
}

/* V16: page-by-page polish — cleaner contact, dependent subcategories, calmer forms/auth/cards */
.contact-page-head-v16 { max-width: 720px; }
.contact-page-head-v16 h1 { margin-bottom: 8px; }
.catalog-filter-drawer .filter-field-subcategory.is-disabled { opacity: .72; }
.catalog-filter-drawer .filter-field-subcategory.is-disabled select {
    background: color-mix(in srgb, var(--surface) 88%, var(--line) 12%);
    color: var(--muted);
    cursor: not-allowed;
}
.filter-help {
    display: block;
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.25;
    margin-top: 1px;
}
.catalog-results-wide .material-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.catalog-results-wide .material-card h3 a,
.home-material-card h3 a { text-decoration: none; color: inherit; }
.catalog-results-wide .material-card h3 a:hover,
.home-material-card h3 a:hover { color: var(--brand); }
.catalog-results-wide .material-card p,
.home-material-card p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.catalog-results-wide .material-card .card-foot,
.home-material-card .card-foot { margin-top: auto; }
.material-details-grid-v16 span {
    background: color-mix(in srgb, var(--surface) 82%, var(--bg) 18%);
    border: 1px solid color-mix(in srgb, var(--line) 88%, transparent 12%);
}
.material-value-box,
.related-materials { scroll-margin-top: 96px; }
.form-section-v16 {
    border: 1px solid color-mix(in srgb, var(--line) 88%, transparent 12%);
    border-radius: 18px;
    padding: 16px;
    margin: 0 0 16px;
    background: color-mix(in srgb, var(--surface) 86%, var(--bg) 14%);
}
.form-section-v16 legend {
    padding: 0 8px;
    color: var(--text);
    font-weight: 900;
    letter-spacing: -.01em;
}
.form-section-v16 label:last-child { margin-bottom: 0; }
.request-layout-v13 .side-info-card-v13 { align-self: start; }
.auth-card-v16 { max-width: 520px; }
.auth-card-wide.auth-card-v16 { max-width: 720px; }
.auth-card-v16 h1 { margin-bottom: 8px; }
.auth-links-v16,
.auth-switch-v16 {
    margin: 14px 0 0;
    color: var(--muted);
    font-size: .92rem;
    text-align: center;
}
.auth-links-v16 { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.auth-switch-v16 a,
.auth-links-v16 a { font-weight: 800; }
.contact-layout-v13 .form-card-v13 form { display: grid; gap: 12px; }
.contact-layout-v13 .form-card-v13 label { margin-bottom: 0; }
.side-info-card-v13 .button.small { margin-top: 4px; }
.legal, .invoice {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.72;
}
.legal h1, .legal h2, .legal h3 { letter-spacing: -.02em; }
html[data-theme="dark"] .form-section-v16,
html[data-theme="dark"] .material-details-grid-v16 span {
    background: #101827;
    border-color: #273244;
}
@media (max-width: 760px) {
    .form-section-v16 { padding: 13px; border-radius: 16px; }
    .auth-links-v16 { flex-direction: column; gap: 4px; }
    .auth-links-v16 span { display: none; }
}


/* V17: home search cleanup — remove noisy category pills from hero search */
.home-search-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  margin-top: 12px;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 800;
}
.home-search-trust span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}
.home-search-trust span::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand) 76%, white 24%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent 86%);
}
.popular-categories-section {
  margin: 34px 0 38px;
}
.popular-categories-section .compact-section-head {
  margin-bottom: 14px;
}
.popular-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.popular-category-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 14px 15px;
  border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%);
  color: var(--text);
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.popular-category-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--brand) 58%, var(--line) 42%);
  background: color-mix(in srgb, var(--surface) 90%, var(--brand) 10%);
  box-shadow: 0 16px 34px rgba(15, 23, 42, .08);
}
.popular-category-card span {
  font-weight: 900;
  line-height: 1.25;
}
.popular-category-card small {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 850;
  white-space: nowrap;
}
html[data-theme="dark"] .popular-category-card {
  background: rgba(17,24,39,.72);
  border-color: #273244;
  box-shadow: none;
}
html[data-theme="dark"] .home-search-trust span::before {
  background: var(--brand);
  box-shadow: 0 0 0 3px rgba(96,165,250,.16);
}
@media (max-width: 980px) {
  .popular-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .home-search-trust { flex-direction: column; align-items: flex-start; gap: 8px; }
  .home-search-trust span { white-space: normal; }
  .popular-category-grid { grid-template-columns: 1fr; }
  .popular-category-card { min-height: 52px; padding: 12px 13px; }
}


/* V21: light visual polish — header/auth cleanup, calmer stats, compact filters/cards/forms */
.nav .nav-menu .profile-menu:not([open]) > .profile-menu-panel {
  display: none !important;
}
.nav .nav-menu .profile-menu[open] > .profile-menu-panel {
  display: grid !important;
}
.profile-menu-panel {
  text-align: left;
}
.hero-card-trust-v21 {
  align-content: center;
  gap: 8px;
}
.hero-card-trust-v21 strong {
  font-size: clamp(1.08rem, 2vw, 1.35rem) !important;
  line-height: 1.2;
}
.hero-card-trust-v21 span:not(.hero-card-label) {
  color: var(--muted);
  font-size: .94rem;
  line-height: 1.45;
}
.catalog-filter-drawer {
  margin: 12px 0 16px !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(31,41,51,.045) !important;
}
.catalog-filter-drawer > summary {
  min-height: 46px !important;
  padding: 10px 14px !important;
}
.catalog-filter-drawer .catalog-filter-form {
  padding: 10px 12px 12px !important;
}
.catalog-filter-drawer .compact-filter-grid {
  gap: 8px !important;
  grid-template-columns: repeat(6, minmax(112px, 1fr)) !important;
}
.catalog-filter-drawer .filter-section-title {
  font-size: .66rem !important;
  letter-spacing: .07em !important;
  margin-bottom: 1px !important;
}
.catalog-filter-drawer input,
.catalog-filter-drawer select {
  min-height: 34px !important;
  height: 34px !important;
  padding: 6px 9px !important;
  border-radius: 10px !important;
  font-size: .84rem !important;
}
.catalog-filter-drawer select {
  padding-right: 28px !important;
}
.catalog-filter-drawer .filter-price-row {
  gap: 5px !important;
}
.catalog-filter-drawer .price-mini-field span {
  font-size: .58rem !important;
  line-height: 1 !important;
}
.catalog-filter-drawer .filter-help {
  font-size: .72rem;
  line-height: 1.35;
}
.active-filter-strip {
  padding: 8px 10px !important;
  border-radius: 15px !important;
  gap: 8px !important;
}
.active-filter-chip {
  min-height: 28px !important;
  padding: 5px 8px !important;
  font-size: .78rem !important;
}
.catalog-results-wide .material-card,
.home-material-card {
  min-height: 100%;
  display: flex !important;
  flex-direction: column;
  padding: 18px !important;
  border-radius: 19px !important;
  box-shadow: 0 12px 30px rgba(31,41,51,.055) !important;
}
.catalog-results-wide .material-card .tag,
.home-material-card .tag {
  align-self: flex-start;
  max-width: 100%;
}
.catalog-results-wide .material-card h3,
.home-material-card h3 {
  margin: 10px 0 7px !important;
  line-height: 1.25;
}
.material-mini-meta {
  margin-top: auto;
  padding-top: 10px;
}
.catalog-results-wide .material-card .card-foot,
.home-material-card .card-foot {
  border-top: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  margin-top: 12px !important;
  padding-top: 12px !important;
  gap: 10px;
}
.catalog-results-wide .material-card .card-foot strong,
.home-material-card .card-foot strong {
  color: var(--brand-dark);
  font-size: 1.02rem !important;
}
.ad-compact-note-v21 {
  width: min(1080px, 100%);
  margin: 18px auto 24px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 10px 14px;
  flex-wrap: wrap;
  border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%);
  box-shadow: 0 12px 28px rgba(31,41,51,.045);
}
.ad-compact-note-v21 strong { font-size: .98rem; }
.ad-compact-note-v21 span { color: var(--muted); font-size: .92rem; }
.ad-compact-note-v21 a { margin-left: auto; font-weight: 900; text-decoration: none; }
.empty-box-v21 {
  display: grid;
  gap: 10px;
  justify-items: center;
}
.empty-actions-v21 {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 4px;
}
.terms-hint {
  font-size: .9rem;
  color: var(--muted);
}
.auth-card-v16 {
  box-shadow: 0 18px 42px rgba(31,41,51,.07) !important;
}
html[data-theme="dark"] .ad-compact-note-v21,
html[data-theme="dark"] .catalog-results-wide .material-card,
html[data-theme="dark"] .home-material-card {
  box-shadow: none !important;
}
html[data-theme="dark"] .ad-compact-note-v21 {
  background: rgba(17,24,39,.72);
  border-color: #273244;
}
@media (max-width: 1080px) {
  .catalog-filter-drawer .compact-filter-grid { grid-template-columns: repeat(3, minmax(140px, 1fr)) !important; }
}
@media (max-width: 760px) {
  .catalog-filter-drawer .compact-filter-grid { grid-template-columns: 1fr 1fr !important; }
  .catalog-filter-drawer .filter-price-field { grid-column: span 2 !important; }
  .ad-compact-note-v21 { align-items: flex-start; flex-direction: column; }
  .ad-compact-note-v21 a { margin-left: 0; }
}
@media (max-width: 560px) {
  .catalog-filter-drawer .compact-filter-grid { grid-template-columns: 1fr !important; }
  .catalog-filter-drawer .filter-price-field { grid-column: auto !important; }
  .empty-actions-v21 { width: 100%; }
  .empty-actions-v21 .button { width: 100%; }
}

/* V25 admin orders, 2FA and security polish */
.account-actions { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }
.admin-orders-filter { margin: 1rem 0 1.1rem; align-items: end; }
.admin-orders-filter label { min-width: 180px; }
.admin-orders-table td { vertical-align: top; }
.admin-order-detail-grid { align-items: start; }
.manual-payment-card { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.status-badge.neutral { background: rgba(107,114,128,.12); color: var(--muted); border-color: rgba(107,114,128,.22); }
.twofa-card .twofa-steps { margin: .75rem 0 1rem; padding-left: 1.2rem; color: var(--muted); }
.twofa-secret-box { display: grid; gap: .35rem; padding: .9rem 1rem; border: 1px dashed color-mix(in srgb, var(--brand) 45%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--brand) 7%, var(--surface)); overflow-wrap: anywhere; }
.twofa-secret-box span { color: var(--muted); font-size: .84rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.twofa-secret-box strong { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1.05rem; letter-spacing: .04em; }
.twofa-card textarea[readonly] { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .84rem; }
.security-notes { display: grid; gap: .7rem; margin-top: 1rem; }
.security-notes li { margin-bottom: .25rem; }
html[data-theme="dark"] .twofa-secret-box { background: rgba(96,165,250,.08); }
@media (max-width: 760px) {
  .admin-orders-filter { display: grid; grid-template-columns: 1fr; }
  .admin-orders-filter label, .admin-orders-filter button, .admin-orders-filter a { width: 100%; }
  .account-actions .button { width: 100%; justify-content: center; }
}

/* V26 2FA QR activation UX */
.twofa-setup-grid { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: 1rem; align-items: start; margin: 1rem 0; }
.twofa-qr-panel, .twofa-manual-panel { display: grid; gap: .75rem; }
.twofa-qr-code { display: grid; place-items: center; width: min(100%, 280px); min-height: 220px; padding: .9rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 14px 32px rgba(15, 23, 42, .08); }
.twofa-qr-svg { display: block; width: 100%; max-width: 230px; height: auto; image-rendering: pixelated; border-radius: 10px; }
.twofa-copy-button { justify-self: start; }
.twofa-manual-panel .twofa-secret-box { margin: 0; }
html[data-theme="dark"] .twofa-qr-code { background: #fff; color: #111827; }
@media (max-width: 720px) {
  .twofa-setup-grid { grid-template-columns: 1fr; }
  .twofa-qr-code { width: 100%; max-width: 320px; margin-inline: auto; }
  .twofa-copy-button { width: 100%; justify-content: center; }
}

/* V26.2: admin panel full inspection + compact polish */
.is-admin-route .site-main.container {
  width: min(100vw - 32px, 1320px) !important;
}

.is-admin-route .page-head {
  margin-bottom: 16px;
}

.is-admin-route .page-head h1 {
  font-size: clamp(1.65rem, 3.4vw, 2.35rem);
}

.is-admin-route .page-head .muted {
  max-width: 860px;
  font-size: .94rem;
  line-height: 1.5;
}

.is-admin-route .admin-tabs {
  gap: 7px;
  margin: 20px 0 14px;
  padding-bottom: 6px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.is-admin-route .admin-tabs .button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: .8rem;
  line-height: 1.1;
  white-space: nowrap;
}

.is-admin-route .dashboard-cards {
  gap: 12px;
}

.is-admin-route .mini-card {
  padding: 14px 15px;
  min-height: 0;
}

.is-admin-route .mini-card strong {
  font-size: 1.22rem;
  line-height: 1.15;
}

.is-admin-route .mini-card span,
.is-admin-route .mini-card small {
  font-size: .82rem;
  line-height: 1.25;
}

.is-admin-route .form-card {
  padding: 20px;
}

.is-admin-route .form-card h2 {
  font-size: 1.25rem;
  margin-bottom: .75rem;
}

.is-admin-route .table-wrap,
.is-admin-route .table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 14px;
}

.is-admin-route .table {
  margin-bottom: 24px;
  font-size: .84rem;
  line-height: 1.34;
  white-space: normal;
}

.is-admin-route .table th,
.is-admin-route .table td {
  padding: 8px 10px;
  vertical-align: top;
}

.is-admin-route .table th {
  font-size: .68rem;
  letter-spacing: .055em;
  white-space: nowrap;
}

.is-admin-route .table td,
.is-admin-route .table td a,
.is-admin-route .table td span {
  overflow-wrap: anywhere;
}

.is-admin-route .table .muted.small,
.is-admin-route .muted.small {
  font-size: .74rem;
  line-height: 1.3;
}

.is-admin-route .status-badge,
.is-admin-route .badge.small {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: .72rem;
  line-height: 1.15;
  white-space: nowrap;
}

.is-admin-route .actions-cell {
  min-width: 150px;
  max-width: 240px;
  gap: 5px 7px;
  align-items: flex-start;
}

.is-admin-route .actions-cell a,
.is-admin-route .actions-cell .link-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 3px 7px;
  border: 1px solid color-mix(in srgb, var(--brand) 24%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand) 6%, transparent);
  font-size: .74rem;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
}

.is-admin-route .actions-cell .link-inline.danger,
.is-admin-route .actions-cell a.danger {
  border-color: color-mix(in srgb, var(--error) 50%, var(--line));
  background: color-mix(in srgb, var(--error) 8%, transparent);
}

.is-admin-route .actions-cell form {
  margin: 0;
}

.is-admin-route .actions-cell .inline-input {
  min-height: 28px;
  width: 120px;
  padding: 5px 7px;
  border-radius: 9px;
  font-size: .76rem;
}

.is-admin-route .compact-filter-bar,
.is-admin-route .admin-orders-filter {
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface) 85%, var(--bg));
}

.is-admin-route .compact-filter-bar label,
.is-admin-route .admin-orders-filter label {
  min-width: 160px;
  font-size: .78rem;
  gap: 4px;
}

.is-admin-route .compact-filter-bar input,
.is-admin-route .compact-filter-bar select,
.is-admin-route .admin-orders-filter input,
.is-admin-route .admin-orders-filter select {
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 10px;
  font-size: .84rem;
}

.is-admin-route .compact-filter-bar .button,
.is-admin-route .admin-orders-filter .button {
  min-height: 34px;
  padding: 7px 12px;
  font-size: .82rem;
}

.is-admin-route .admin-orders-table { min-width: 1040px; }
.is-admin-route .admin-materials-table { min-width: 980px; }
.is-admin-route .admin-users-table { min-width: 1080px; }
.is-admin-route .admin-downloads-table { min-width: 1040px; }
.is-admin-route .admin-requests-table { min-width: 980px; }
.is-admin-route .admin-ads-table { min-width: 1220px; }
.is-admin-route .admin-category-table { min-width: 980px; }
.is-admin-route .admin-security-table { min-width: 760px; }

.is-admin-route .admin-orders-table th:nth-child(1),
.is-admin-route .admin-orders-table td:nth-child(1),
.is-admin-route .admin-orders-table th:nth-child(5),
.is-admin-route .admin-orders-table td:nth-child(5),
.is-admin-route .admin-orders-table th:nth-child(6),
.is-admin-route .admin-orders-table td:nth-child(6) {
  white-space: nowrap;
}

.is-admin-route .admin-orders-table td:nth-child(2) { max-width: 210px; }
.is-admin-route .admin-orders-table td:nth-child(3) { max-width: 290px; }
.is-admin-route .admin-orders-table td:nth-child(7) { max-width: 230px; }

.is-admin-route .admin-ref-code {
  display: inline-block;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: -.015em;
}

.is-admin-route .admin-ref-code-full {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.is-admin-route .admin-users-table td:nth-child(2),
.is-admin-route .admin-downloads-table td:nth-child(6),
.is-admin-route .admin-ads-table td:nth-child(1),
.is-admin-route .admin-ads-table td:nth-child(4),
.is-admin-route .admin-ads-table td:nth-child(5) {
  max-width: 260px;
}

.is-admin-route .admin-requests-table td:nth-child(4),
.is-admin-route .admin-materials-table td:nth-child(1) {
  max-width: 320px;
}

.is-admin-route .admin-security-table td:nth-child(3) {
  max-width: 720px;
}

html[data-theme="dark"] .is-admin-route .compact-filter-bar,
html[data-theme="dark"] .is-admin-route .admin-orders-filter {
  background: rgba(17, 24, 39, .72);
}

@media (max-width: 860px) {
  .is-admin-route .site-main.container {
    width: min(100vw - 18px, 1320px) !important;
  }
  .is-admin-route .form-card { padding: 17px; }
  .is-admin-route .admin-tabs {
    flex-wrap: nowrap;
    margin-top: 14px;
  }
  .is-admin-route .admin-tabs .button {
    font-size: .76rem;
    padding: 7px 10px;
  }
  .is-admin-route .table {
    font-size: .8rem;
  }
  .is-admin-route .table th,
  .is-admin-route .table td {
    padding: 7px 8px;
  }
  .is-admin-route .actions-cell {
    min-width: 170px;
  }
}

@media (max-width: 560px) {
  .is-admin-route .compact-filter-bar,
  .is-admin-route .admin-orders-filter {
    grid-template-columns: 1fr;
  }
  .is-admin-route .compact-filter-bar label,
  .is-admin-route .compact-filter-bar .button,
  .is-admin-route .admin-orders-filter label,
  .is-admin-route .admin-orders-filter .button {
    width: 100%;
  }
  .is-admin-route .admin-tabs .button {
    flex: 0 0 auto;
  }
}

/* V26.3 payment document / admin technical details polish */
.admin-technical-details {
    margin-top: 0.75rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255,255,255,0.6);
}
.admin-technical-details summary {
    cursor: pointer;
    font-weight: 700;
    font-size: 0.92rem;
}
.admin-technical-details p:last-child {
    margin-bottom: 0;
}
.invoice h1 {
    overflow-wrap: anywhere;
}

/* V26.4 access denied UX polish */
.access-denied-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    max-width: 860px;
    margin: 2rem auto;
    padding: 1.4rem;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--card);
    box-shadow: var(--shadow);
}
.access-denied-icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: rgba(245, 158, 11, .14);
    font-size: 1.55rem;
}
.access-denied-card h1 {
    margin-top: 0.1rem;
    margin-bottom: 0.45rem;
}
.access-denied-card .lead {
    margin-bottom: 1rem;
    color: var(--muted);
}
.notice-list {
    display: grid;
    gap: 0.55rem;
    margin: 1rem 0;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    background: rgba(15, 23, 42, .035);
}
.notice-list p {
    margin: 0;
}
.access-denied-actions {
    margin-top: 1rem;
}
.small-note {
    margin-top: 0.9rem;
    font-size: 0.9rem;
}
html[data-theme="dark"] .notice-list {
    background: rgba(255, 255, 255, .06);
}
@media (max-width: 640px) {
    .access-denied-card {
        grid-template-columns: 1fr;
        margin: 1rem 0;
        padding: 1rem;
    }
    .access-denied-actions .button {
        width: 100%;
    }
}

/* V27 SEO landing pages */
.seo-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  margin: .4rem 0 1rem;
  font-size: .9rem;
  color: var(--muted);
}
.seo-breadcrumb a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.seo-breadcrumb a:hover { color: var(--brand); border-bottom-color: currentColor; }
.seo-landing-head {
  align-items: end;
  gap: 1rem;
}
.seo-landing-head .button { white-space: nowrap; }
.seo-landing-intro {
  display: grid;
  gap: .85rem;
  border-left: 4px solid color-mix(in srgb, var(--brand) 65%, transparent);
}
.seo-related-links {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.seo-related-links a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .45rem .7rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 86%, var(--brand) 4%);
  color: var(--text);
  text-decoration: none;
  font-weight: 700;
  font-size: .88rem;
}
.seo-related-links a:hover {
  border-color: color-mix(in srgb, var(--brand) 55%, var(--line));
  color: var(--brand);
}
.seo-empty-state {
  background: linear-gradient(135deg, color-mix(in srgb, var(--surface) 92%, var(--brand) 6%), var(--surface));
}
@media (max-width: 720px) {
  .seo-landing-head { align-items: start; }
  .seo-landing-head .button { width: 100%; justify-content: center; }
  .seo-related-links a { width: 100%; justify-content: center; }
}

/* V27.3 profile after purchase polish */
.account-page-head {
  align-items: flex-end;
  gap: 1rem;
}
.account-page-head .eyebrow {
  margin-bottom: .25rem;
}
.account-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0 1.4rem;
}
.account-summary-card strong {
  font-size: clamp(1.25rem, 2.2vw, 1.7rem);
  line-height: 1.1;
}

.account-summary-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .28rem;
  min-width: 0;
}
.account-summary-card .account-summary-title {
  display: block;
  color: var(--text);
  font-weight: 800;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.account-summary-card .account-summary-note {
  display: block;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.account-section {
  margin: 1.4rem 0;
}
.account-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .9rem;
}
.account-section-head h2 {
  margin-bottom: .25rem;
}
.account-section-head .muted {
  margin: 0;
}
.account-order-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.account-order-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  min-height: 100%;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) - 2px);
  background: var(--surface);
  box-shadow: 0 12px 30px rgba(31, 41, 55, .06);
}
.account-order-card.paid {
  border-color: color-mix(in srgb, var(--ok) 25%, var(--line));
  background: linear-gradient(135deg, color-mix(in srgb, var(--surface) 92%, var(--ok) 6%), var(--surface));
}
.account-order-card.pending {
  border-color: color-mix(in srgb, var(--warn) 28%, var(--line));
  background: linear-gradient(135deg, color-mix(in srgb, var(--surface) 91%, var(--warn) 7%), var(--surface));
}
.account-order-card h3 {
  margin: .55rem 0 .35rem;
  font-size: 1.02rem;
  line-height: 1.28;
}
.account-order-card h3 a {
  color: var(--text);
  text-decoration: none;
}
.account-order-card h3 a:hover {
  color: var(--brand);
}
.account-order-card .small {
  font-size: .88rem;
}
.account-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.account-order-actions .button {
  padding: .62rem .85rem;
  min-height: 38px;
  font-size: .9rem;
}
.account-section-pending .account-section-head {
  padding: .9rem 1rem;
  border: 1px solid color-mix(in srgb, var(--warn) 28%, var(--line));
  border-radius: calc(var(--radius) - 4px);
  background: color-mix(in srgb, var(--surface) 90%, var(--warn) 7%);
}
.account-empty-state {
  padding: 1.2rem;
  border-radius: calc(var(--radius) - 4px);
}
.account-empty-state h3 {
  margin-top: 0;
}
.account-history-table {
  margin-top: .6rem;
}
.account-history-table .table {
  font-size: .93rem;
}
.button.danger,
.button.ghost.danger {
  color: var(--error) !important;
  border-color: color-mix(in srgb, var(--error) 34%, var(--line));
}
.button.ghost.danger:hover {
  background: color-mix(in srgb, var(--error) 9%, transparent);
}
html[data-theme="dark"] .account-order-card,
html[data-theme="dark"] .account-section-pending .account-section-head {
  background: #0f172a;
  box-shadow: none;
}
html[data-theme="dark"] .account-order-card.paid {
  background: linear-gradient(135deg, rgba(45,212,191,.08), #0f172a);
}
html[data-theme="dark"] .account-order-card.pending {
  background: linear-gradient(135deg, rgba(251,191,36,.08), #0f172a);
}
@media (max-width: 860px) {
  .account-summary-grid,
  .account-order-grid {
    grid-template-columns: 1fr;
  }
  .account-page-head,
  .account-section-head {
    align-items: stretch;
    flex-direction: column;
  }
  .account-actions,
  .account-order-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .account-section-head .button,
  .account-order-actions .button,
  .account-section-pending .inline-form .button {
    width: 100%;
  }
}

/* V27.5 Dropdown Controls Polish */
.catalog-filter-drawer > summary {
  position: relative !important;
  gap: 12px !important;
}
.catalog-filter-drawer > summary span:first-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.catalog-filter-drawer > summary small {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.filter-drawer-icon {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 82px !important;
  height: 30px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--brand) 30%, var(--line) 70%) !important;
  background: color-mix(in srgb, var(--brand-soft) 88%, #fff 12%) !important;
  color: var(--brand-dark) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  font-size: 0 !important;
  line-height: 1 !important;
  transform: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65) !important;
}
.filter-drawer-icon::before {
  content: "Покажи";
  font-size: .74rem !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}
.filter-drawer-icon::after {
  content: "⌄";
  display: inline-block !important;
  font-size: .86rem !important;
  font-weight: 900 !important;
  transform: translateY(-1px) !important;
  transition: transform .16s ease !important;
}
.catalog-filter-drawer[open] .filter-drawer-icon {
  transform: none !important;
  background: color-mix(in srgb, var(--brand) 12%, var(--surface) 88%) !important;
}
.catalog-filter-drawer[open] .filter-drawer-icon::before { content: "Скрий"; }
.catalog-filter-drawer[open] .filter-drawer-icon::after { transform: rotate(180deg) translateY(1px) !important; }
.catalog-filter-drawer > summary:hover .filter-drawer-icon,
.catalog-filter-drawer > summary:focus-visible .filter-drawer-icon {
  border-color: color-mix(in srgb, var(--brand) 48%, var(--line) 52%) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-soft) 70%, transparent) !important;
}

/* Shared native details controls */
.admin-technical-details > summary,
.row-edit-details > summary,
.ad-positions-details-v13 summary,
.account-2fa details > summary,
.profile-menu > summary {
  cursor: pointer;
  user-select: none;
}
.admin-technical-details > summary,
.account-2fa details > summary,
.ad-positions-details-v13 summary {
  position: relative;
  list-style: none;
}
.admin-technical-details > summary::-webkit-details-marker,
.account-2fa details > summary::-webkit-details-marker,
.ad-positions-details-v13 summary::-webkit-details-marker { display: none; }

.admin-technical-details > summary::after,
.account-2fa details > summary::after {
  content: "Покажи";
  margin-left: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface-soft);
  color: var(--muted);
  font-size: .72rem;
  font-weight: 900;
  vertical-align: middle;
}
.admin-technical-details[open] > summary::after,
.account-2fa details[open] > summary::after { content: "Скрий"; }

.row-edit-details > summary.link-inline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 28px !important;
  padding: 5px 10px !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  background: var(--surface-soft) !important;
  text-decoration: none !important;
  color: var(--brand-dark) !important;
  font-weight: 900 !important;
}
.row-edit-details > summary.link-inline::after {
  content: "⌄";
  display: inline-block;
  font-size: .78rem;
  transition: transform .16s ease;
}
.row-edit-details[open] > summary.link-inline::after { transform: rotate(180deg); }
.row-edit-details > summary.link-inline:hover,
.row-edit-details > summary.link-inline:focus-visible {
  border-color: color-mix(in srgb, var(--brand) 36%, var(--line) 64%) !important;
  background: color-mix(in srgb, var(--brand-soft) 72%, var(--surface) 28%) !important;
}

.ad-positions-details-v13 summary::after {
  width: auto !important;
  min-width: 78px !important;
  height: 30px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--brand) 30%, var(--line) 70%) !important;
  background: var(--brand-soft) !important;
  color: var(--brand-dark) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  content: "Покажи ⌄" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
}
.ad-positions-details-v13[open] summary::after {
  content: "Скрий ⌃" !important;
  transform: none !important;
}

html[data-theme="dark"] .filter-drawer-icon,
html[data-theme="dark"] .admin-technical-details > summary::after,
html[data-theme="dark"] .account-2fa details > summary::after,
html[data-theme="dark"] .row-edit-details > summary.link-inline,
html[data-theme="dark"] .ad-positions-details-v13 summary::after {
  background: #172033 !important;
  border-color: #2d3a4e !important;
  color: #dbeafe !important;
}
html[data-theme="dark"] .catalog-filter-drawer[open] .filter-drawer-icon { background: #1e293b !important; }

@media (max-width: 720px) {
  .catalog-filter-drawer > summary {
    align-items: center !important;
  }
  .catalog-filter-drawer > summary span:first-child {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
  }
  .filter-drawer-icon {
    min-width: 68px !important;
    height: 28px !important;
    padding: 0 8px !important;
  }
  .filter-drawer-icon::before { font-size: .68rem !important; }
  .ad-positions-details-v13 summary::after {
    min-width: 68px !important;
    height: 28px !important;
  }
}

/* V27.6 Global UI consistency + elegant dropdown/header icons */
.ui-icon-svg {
  width: 1.1em;
  height: 1.1em;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.theme-icon-sun { stroke-width: 1.75; }
.theme-icon-moon { stroke-width: 1.75; }
.nav-icon,
.theme-toggle-icon,
.cart-icon-wrap {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
}
.nav .nav-menu {
  align-items: center;
}
.nav .nav-menu a,
.nav .nav-menu summary,
.nav .nav-menu button {
  -webkit-tap-highlight-color: transparent;
}
.nav .nav-menu .theme-toggle,
.nav .nav-menu a.cart-nav-icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 14px !important;
  border: 1px solid color-mix(in srgb, var(--line) 80%, var(--brand) 20%) !important;
  background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%) !important;
  color: var(--brand-dark) !important;
  box-shadow: 0 8px 18px rgba(31, 95, 139, .08) !important;
  position: relative;
  overflow: visible;
}
.nav .nav-menu .theme-toggle:hover,
.nav .nav-menu .theme-toggle:focus-visible,
.nav .nav-menu a.cart-nav-icon:hover,
.nav .nav-menu a.cart-nav-icon:focus-visible,
.nav .nav-menu a.cart-nav-icon.nav-active {
  transform: translateY(-1px);
  background: color-mix(in srgb, var(--surface) 76%, var(--brand) 24%) !important;
  border-color: color-mix(in srgb, var(--brand) 55%, var(--line) 45%) !important;
  box-shadow: 0 12px 26px rgba(31, 95, 139, .14) !important;
  text-decoration: none;
}
.nav .nav-menu a.cart-nav-icon .cart-icon-wrap {
  width: 22px;
  height: 22px;
}
.nav .nav-menu a.cart-nav-icon .cart-svg {
  width: 22px;
  height: 22px;
  stroke-width: 1.72;
}
.nav .nav-menu .theme-toggle .ui-icon-svg {
  width: 20px;
  height: 20px;
}
.nav .nav-menu .profile-nav-link,
.nav .nav-menu .profile-menu summary {
  gap: 8px !important;
  border-radius: 14px !important;
  min-height: 40px;
  border: 1px solid transparent;
}
.nav .nav-menu .profile-nav-link .nav-icon,
.nav .nav-menu .profile-menu summary .nav-icon {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--surface) 82%, var(--brand) 18%);
  color: var(--brand-dark);
  border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%);
}
.nav .nav-menu .profile-nav-link .ui-icon-svg,
.nav .nav-menu .profile-menu summary .ui-icon-svg {
  width: 17px;
  height: 17px;
}
.nav .nav-menu .profile-nav-link:hover .nav-icon,
.nav .nav-menu .profile-nav-link:focus-visible .nav-icon,
.nav .nav-menu .profile-menu summary:hover .nav-icon,
.nav .nav-menu .profile-menu summary:focus-visible .nav-icon,
.nav .nav-menu .profile-menu[open] summary .nav-icon {
  background: color-mix(in srgb, var(--brand) 14%, var(--surface) 86%);
  border-color: color-mix(in srgb, var(--brand) 48%, var(--line) 52%);
}
.cart-badge {
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  font-size: .67rem !important;
  line-height: 18px !important;
  display: inline-grid !important;
  place-items: center !important;
  top: -6px !important;
  right: -7px !important;
  box-shadow: 0 8px 18px rgba(31, 95, 139, .22), 0 0 0 2px var(--surface);
}
/* Unified chevron-only dropdown affordance */
details > summary {
  cursor: pointer;
}
.catalog-filter-drawer > summary,
.ad-positions-details-v13 > summary,
.admin-technical-details > summary,
.row-edit-details > summary,
details.mt > summary {
  list-style: none;
}
.catalog-filter-drawer > summary::-webkit-details-marker,
.ad-positions-details-v13 > summary::-webkit-details-marker,
.admin-technical-details > summary::-webkit-details-marker,
.row-edit-details > summary::-webkit-details-marker,
details.mt > summary::-webkit-details-marker { display: none; }
.catalog-filter-drawer > summary::marker,
.ad-positions-details-v13 > summary::marker,
.admin-technical-details > summary::marker,
.row-edit-details > summary::marker,
details.mt > summary::marker { content: ""; }
.filter-drawer-icon,
.ad-positions-details-v13 > summary::after,
.admin-technical-details > summary::after,
.row-edit-details > summary::after,
details.mt > summary::after {
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  margin-left: auto;
  border: 1px solid color-mix(in srgb, var(--line) 78%, var(--brand) 22%);
  background: color-mix(in srgb, var(--surface) 86%, var(--brand) 14%);
  color: var(--brand-dark);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 6px 16px rgba(31, 95, 139, .08);
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}
.ad-positions-details-v13 > summary::after,
.admin-technical-details > summary::after,
.row-edit-details > summary::after,
details.mt > summary::after {
  content: "⌄";
}
.catalog-filter-drawer > summary:hover .filter-drawer-icon,
.catalog-filter-drawer > summary:focus-visible .filter-drawer-icon,
.ad-positions-details-v13 > summary:hover::after,
.ad-positions-details-v13 > summary:focus-visible::after,
.admin-technical-details > summary:hover::after,
.admin-technical-details > summary:focus-visible::after,
.row-edit-details > summary:hover::after,
.row-edit-details > summary:focus-visible::after,
details.mt > summary:hover::after,
details.mt > summary:focus-visible::after {
  background: color-mix(in srgb, var(--surface) 72%, var(--brand) 28%);
  border-color: color-mix(in srgb, var(--brand) 55%, var(--line) 45%);
  box-shadow: 0 10px 22px rgba(31, 95, 139, .13);
}
.catalog-filter-drawer[open] .filter-drawer-icon,
.ad-positions-details-v13[open] > summary::after,
.admin-technical-details[open] > summary::after,
.row-edit-details[open] > summary::after,
details.mt[open] > summary::after {
  transform: rotate(180deg);
}
.admin-technical-details > summary,
.row-edit-details > summary,
details.mt > summary {
  display: flex;
  align-items: center;
  gap: 10px;
}
.row-edit-details > summary.link-inline {
  width: fit-content;
  min-width: 128px;
  padding: 6px 7px 6px 12px !important;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--line) 78%, var(--brand) 22%);
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
  color: var(--brand-dark);
  font-weight: 800;
  text-decoration: none;
}
.row-edit-details > summary.link-inline::after {
  width: 26px;
  height: 26px;
  min-width: 26px;
  border-radius: 9px;
  box-shadow: none;
}
.ad-positions-details-v13 > summary {
  align-items: center;
}
/* Button hierarchy refinement */
.button,
button.button {
  min-height: 42px;
  border-radius: 14px;
  letter-spacing: -.005em;
}
.button.secondary {
  background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%) !important;
  color: var(--brand-dark) !important;
}
.button.secondary:hover,
.button.secondary:focus-visible {
  background: color-mix(in srgb, var(--surface) 84%, var(--brand) 16%) !important;
}
.button.ghost,
.clear-filters-link {
  border-radius: 12px;
}
.button.small,
.admin-tabs .button,
.admin-table .button,
.table .button {
  min-height: 34px;
  border-radius: 11px;
}
/* Homepage and card CTA polish */
.hero-actions-clean .button,
.home-search-form .button,
.custom-request-soft .button,
.material-card .button,
.cart-summary .button {
  box-shadow: 0 10px 24px rgba(31,95,139,.16);
}
.material-card .button.secondary,
.cart-summary .button.secondary,
.custom-request-soft .button.secondary {
  box-shadow: none;
}
/* Focus states: visible but elegant */
.button:focus-visible,
button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--brand) 28%, transparent);
  outline-offset: 3px;
}
html[data-theme="dark"] .nav .nav-menu .theme-toggle,
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon,
html[data-theme="dark"] .nav .nav-menu .profile-nav-link .nav-icon,
html[data-theme="dark"] .nav .nav-menu .profile-menu summary .nav-icon,
html[data-theme="dark"] .filter-drawer-icon,
html[data-theme="dark"] .ad-positions-details-v13 > summary::after,
html[data-theme="dark"] .admin-technical-details > summary::after,
html[data-theme="dark"] .row-edit-details > summary::after,
html[data-theme="dark"] details.mt > summary::after {
  background: #162235 !important;
  border-color: #2b3a52 !important;
  color: #dbeafe !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}
html[data-theme="dark"] .nav .nav-menu .theme-toggle:hover,
html[data-theme="dark"] .nav .nav-menu .theme-toggle:focus-visible,
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon:hover,
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon:focus-visible,
html[data-theme="dark"] .catalog-filter-drawer > summary:hover .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer > summary:focus-visible .filter-drawer-icon,
html[data-theme="dark"] .ad-positions-details-v13 > summary:hover::after,
html[data-theme="dark"] .ad-positions-details-v13 > summary:focus-visible::after,
html[data-theme="dark"] .admin-technical-details > summary:hover::after,
html[data-theme="dark"] .admin-technical-details > summary:focus-visible::after,
html[data-theme="dark"] .row-edit-details > summary:hover::after,
html[data-theme="dark"] .row-edit-details > summary:focus-visible::after,
html[data-theme="dark"] details.mt > summary:hover::after,
html[data-theme="dark"] details.mt > summary:focus-visible::after {
  background: #1d304c !important;
  border-color: #3b82f6 !important;
}
html[data-theme="dark"] .button.secondary {
  background: #172033 !important;
  color: #dbeafe !important;
  border-color: #2b3a52 !important;
}
@media (max-width: 860px) {
  .nav .nav-menu .theme-toggle,
  .nav .nav-menu a.cart-nav-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 13px !important;
  }
  .nav .nav-menu .profile-nav-link .nav-icon,
  .nav .nav-menu .profile-menu summary .nav-icon {
    width: 26px;
    height: 26px;
  }
  .filter-drawer-icon,
  .ad-positions-details-v13 > summary::after,
  .admin-technical-details > summary::after,
  .row-edit-details > summary::after,
  details.mt > summary::after {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 11px;
  }
}
@media (max-width: 560px) {
  .catalog-filter-drawer > summary {
    align-items: center;
  }
  .catalog-filter-drawer > summary small {
    white-space: normal;
  }
  .button,
  button.button {
    min-height: 40px;
  }
}

/* V27.6.1 Filter dropdown icon-only final override
   The catalog filter drawer previously inherited V27.5 pill text styles.
   This block intentionally comes last and uses !important to restore the elegant icon-only control. */
.catalog-filter-drawer > summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 12px 14px !important;
}
.catalog-filter-drawer > summary span:first-child {
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  align-items: baseline !important;
  gap: 9px !important;
}
.catalog-filter-drawer > summary strong,
.catalog-filter-drawer > summary small {
  min-width: 0 !important;
}
.catalog-filter-drawer .filter-drawer-icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  padding: 0 !important;
  flex: 0 0 34px !important;
  margin-left: auto !important;
  border-radius: 12px !important;
  border: 1px solid color-mix(in srgb, var(--line) 76%, var(--brand) 24%) !important;
  background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%) !important;
  color: var(--brand-dark) !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(31, 95, 139, .08) !important;
  transform: none !important;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease !important;
}
.catalog-filter-drawer .filter-drawer-icon::before {
  content: "" !important;
  display: none !important;
}
.catalog-filter-drawer .filter-drawer-icon::after {
  content: "⌄" !important;
  display: inline-block !important;
  font-size: 1.04rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
  transition: transform .18s ease !important;
}
.catalog-filter-drawer[open] .filter-drawer-icon {
  background: color-mix(in srgb, var(--brand) 13%, var(--surface) 87%) !important;
  border-color: color-mix(in srgb, var(--brand) 48%, var(--line) 52%) !important;
  box-shadow: 0 10px 22px rgba(31, 95, 139, .12) !important;
  transform: none !important;
}
.catalog-filter-drawer[open] .filter-drawer-icon::after {
  content: "⌄" !important;
  transform: rotate(180deg) translateY(1px) !important;
}
.catalog-filter-drawer > summary:hover .filter-drawer-icon,
.catalog-filter-drawer > summary:focus-visible .filter-drawer-icon {
  background: color-mix(in srgb, var(--surface) 78%, var(--brand) 22%) !important;
  border-color: color-mix(in srgb, var(--brand) 60%, var(--line) 40%) !important;
  color: var(--brand-dark) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-soft) 72%, transparent), 0 10px 22px rgba(31, 95, 139, .12) !important;
}
html[data-theme="dark"] .catalog-filter-drawer .filter-drawer-icon {
  background: #162235 !important;
  border-color: #2b3a52 !important;
  color: #dbeafe !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}
html[data-theme="dark"] .catalog-filter-drawer[open] .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer > summary:hover .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer > summary:focus-visible .filter-drawer-icon {
  background: #1d304c !important;
  border-color: #3b82f6 !important;
}
@media (max-width: 560px) {
  .catalog-filter-drawer > summary {
    padding: 11px 12px !important;
    gap: 10px !important;
  }
  .catalog-filter-drawer > summary span:first-child {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
  }
  .catalog-filter-drawer .filter-drawer-icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    flex-basis: 32px !important;
    border-radius: 11px !important;
  }
}

/* V27.6.2 Final catalog filter drawer polish
   Goal: make the filter drawer toggle visually identical to the clean icon-only dropdowns,
   remove any older "Покажи/Скрий" pill text, and restore high contrast in dark mode. */
.catalog-filter-drawer > summary {
  cursor: pointer !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 12px 16px !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%) !important;
}
.catalog-filter-drawer > summary::-webkit-details-marker { display: none !important; }
.catalog-filter-drawer > summary::marker { content: "" !important; }
.catalog-filter-drawer > summary > span:first-child {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.catalog-filter-drawer > summary strong {
  color: var(--text) !important;
  font-size: .95rem !important;
  font-weight: 900 !important;
  letter-spacing: -.012em !important;
}
.catalog-filter-drawer > summary small {
  color: var(--muted) !important;
  font-size: .78rem !important;
  font-weight: 650 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.catalog-filter-drawer > summary .filter-drawer-icon,
.catalog-filter-drawer .filter-drawer-icon,
.filter-drawer-icon {
  inline-size: 32px !important;
  block-size: 32px !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  flex: 0 0 32px !important;
  margin-left: auto !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%) !important;
  background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%) !important;
  color: var(--brand-dark) !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 8px 18px rgba(31,95,139,.08) !important;
  transform: none !important;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease !important;
}
.catalog-filter-drawer > summary .filter-drawer-icon::before,
.catalog-filter-drawer .filter-drawer-icon::before,
.filter-drawer-icon::before {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
}
.catalog-filter-drawer > summary .filter-drawer-icon::after,
.catalog-filter-drawer .filter-drawer-icon::after,
.filter-drawer-icon::after {
  content: "" !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translate(-1px, -1px) !important;
  transform-origin: center !important;
  transition: transform .18s ease !important;
  text-indent: 0 !important;
}
.catalog-filter-drawer[open] > summary .filter-drawer-icon,
.catalog-filter-drawer[open] .filter-drawer-icon {
  background: color-mix(in srgb, var(--surface) 82%, var(--brand) 18%) !important;
  border-color: color-mix(in srgb, var(--brand) 52%, var(--line) 48%) !important;
  color: var(--brand-dark) !important;
  transform: none !important;
}
.catalog-filter-drawer[open] > summary .filter-drawer-icon::after,
.catalog-filter-drawer[open] .filter-drawer-icon::after {
  transform: rotate(225deg) translate(-1px, -1px) !important;
}
.catalog-filter-drawer > summary:hover .filter-drawer-icon,
.catalog-filter-drawer > summary:focus-visible .filter-drawer-icon {
  background: color-mix(in srgb, var(--surface) 78%, var(--brand) 22%) !important;
  border-color: color-mix(in srgb, var(--brand) 62%, var(--line) 38%) !important;
  color: var(--brand-dark) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-soft) 76%, transparent), 0 10px 22px rgba(31,95,139,.12) !important;
}
.catalog-filter-drawer .catalog-filter-form,
.catalog-filter-drawer .catalog-filter-panel,
.catalog-filter-drawer .catalog-filter-panel-compact,
.catalog-filter-drawer .compact-filter-grid {
  color: var(--text) !important;
}
.catalog-filter-drawer .filter-section-title,
.catalog-filter-drawer label,
.catalog-filter-drawer .filter-field,
.catalog-filter-drawer .filter-price-field,
.catalog-filter-drawer .filter-sort-field {
  color: var(--text) !important;
}
.catalog-filter-drawer input,
.catalog-filter-drawer select,
.catalog-filter-drawer textarea {
  color: var(--text) !important;
  background: var(--surface) !important;
  border-color: var(--line) !important;
}
.catalog-filter-drawer select:disabled,
.catalog-filter-drawer input:disabled {
  color: var(--muted) !important;
  background: color-mix(in srgb, var(--surface) 85%, var(--line) 15%) !important;
  opacity: .72 !important;
}
.catalog-filter-drawer select option {
  color: #132033;
  background: #ffffff;
}

html[data-theme="dark"] .catalog-filter-drawer {
  background: #0f172a !important;
  border-color: #263244 !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.26) !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary {
  background: #111c2f !important;
  color: #f8fafc !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary strong {
  color: #f8fafc !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary small {
  color: #b6c2d6 !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer .filter-drawer-icon,
html[data-theme="dark"] .filter-drawer-icon {
  background: #18243a !important;
  border-color: #334155 !important;
  color: #dbeafe !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 22px rgba(0,0,0,.22) !important;
}
html[data-theme="dark"] .catalog-filter-drawer[open] > summary .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer[open] .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer > summary:hover .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer > summary:focus-visible .filter-drawer-icon {
  background: #223653 !important;
  border-color: #60a5fa !important;
  color: #eff6ff !important;
}
html[data-theme="dark"] .catalog-filter-drawer .catalog-filter-form,
html[data-theme="dark"] .catalog-filter-drawer .catalog-filter-panel,
html[data-theme="dark"] .catalog-filter-drawer .catalog-filter-panel-compact,
html[data-theme="dark"] .catalog-filter-drawer .compact-filter-grid {
  background: #0f172a !important;
  color: #f8fafc !important;
}
html[data-theme="dark"] .catalog-filter-drawer .filter-section-title,
html[data-theme="dark"] .catalog-filter-drawer label,
html[data-theme="dark"] .catalog-filter-drawer .filter-field,
html[data-theme="dark"] .catalog-filter-drawer .filter-price-field,
html[data-theme="dark"] .catalog-filter-drawer .filter-sort-field,
html[data-theme="dark"] .catalog-filter-drawer .price-mini-field span,
html[data-theme="dark"] .catalog-filter-drawer p,
html[data-theme="dark"] .catalog-filter-drawer small {
  color: #cbd5e1 !important;
}
html[data-theme="dark"] .catalog-filter-drawer input,
html[data-theme="dark"] .catalog-filter-drawer select,
html[data-theme="dark"] .catalog-filter-drawer textarea {
  color: #f8fafc !important;
  background: #111827 !important;
  border-color: #334155 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
html[data-theme="dark"] .catalog-filter-drawer input::placeholder {
  color: #94a3b8 !important;
}
html[data-theme="dark"] .catalog-filter-drawer select:disabled,
html[data-theme="dark"] .catalog-filter-drawer input:disabled {
  color: #94a3b8 !important;
  background: #172033 !important;
  border-color: #293548 !important;
  opacity: .82 !important;
}
html[data-theme="dark"] .catalog-filter-drawer select option {
  color: #f8fafc !important;
  background: #111827 !important;
}
html[data-theme="dark"] .catalog-filter-drawer .button,
html[data-theme="dark"] .catalog-filter-drawer button.button {
  color: #ffffff !important;
}

@media (max-width: 560px) {
  .catalog-filter-drawer > summary {
    min-height: 50px !important;
    padding: 11px 12px !important;
    gap: 10px !important;
  }
  .catalog-filter-drawer > summary > span:first-child {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
  }
  .catalog-filter-drawer > summary .filter-drawer-icon,
  .catalog-filter-drawer .filter-drawer-icon,
  .filter-drawer-icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    flex-basis: 32px !important;
  }
}

/* =========================================================
   V27.6.3 — Filter drawer toggle: match native filter selects
   Goal: the right-side filter drawer control must look like the
   Type/Category/Level dropdowns, not like a separate pill button.
   ========================================================= */
.catalog-filter-drawer > summary {
  align-items: center !important;
}

.catalog-filter-drawer > summary .filter-drawer-icon,
.catalog-filter-drawer .filter-drawer-icon,
.filter-drawer-icon {
  /* same visual language as .catalog-filter-drawer select */
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  inline-size: 40px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  block-size: 34px !important;
  flex: 0 0 40px !important;
  margin-left: auto !important;
  padding: 0 !important;
  border-radius: 10px !important;
  border: 1px solid var(--line) !important;
  background: var(--surface) !important;
  color: var(--text) !important;
  box-shadow: none !important;
  display: inline-grid !important;
  place-items: center !important;
  overflow: hidden !important;
  text-indent: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  font-weight: 900 !important;
  appearance: none !important;
  transform: none !important;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, color .16s ease !important;
}

/* remove all older generated labels: “Покажи/Скрий”, “Покажи ⌄”, etc. */
.catalog-filter-drawer > summary .filter-drawer-icon::before,
.catalog-filter-drawer .filter-drawer-icon::before,
.filter-drawer-icon::before {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* draw the same minimal dropdown arrow feeling as the select fields */
.catalog-filter-drawer > summary .filter-drawer-icon::after,
.catalog-filter-drawer .filter-drawer-icon::after,
.filter-drawer-icon::after {
  content: "" !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translate(-1px, -1px) !important;
  transform-origin: center !important;
  transition: transform .16s ease !important;
  opacity: .78 !important;
}

.catalog-filter-drawer[open] > summary .filter-drawer-icon,
.catalog-filter-drawer[open] .filter-drawer-icon {
  background: var(--surface) !important;
  border-color: color-mix(in srgb, var(--brand) 38%, var(--line) 62%) !important;
  color: var(--text) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-soft) 70%, transparent) !important;
  transform: none !important;
}
.catalog-filter-drawer[open] > summary .filter-drawer-icon::after,
.catalog-filter-drawer[open] .filter-drawer-icon::after {
  transform: rotate(225deg) translate(-1px, -1px) !important;
}
.catalog-filter-drawer > summary:hover .filter-drawer-icon,
.catalog-filter-drawer > summary:focus-visible .filter-drawer-icon {
  background: var(--surface) !important;
  border-color: color-mix(in srgb, var(--brand) 46%, var(--line) 54%) !important;
  color: var(--text) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-soft) 72%, transparent) !important;
}

/* Make the whole filter drawer match the internal controls more quietly */
.catalog-filter-drawer > summary {
  background: var(--surface) !important;
  color: var(--text) !important;
  border-bottom-color: var(--line) !important;
}
.catalog-filter-drawer > summary:hover,
.catalog-filter-drawer[open] > summary {
  background: color-mix(in srgb, var(--surface) 95%, var(--brand) 5%) !important;
}

/* Dark mode: do not allow the grey/grey unreadable state. */
html[data-theme="dark"] .catalog-filter-drawer,
html[data-theme="dark"] .catalog-filter-drawer > summary,
html[data-theme="dark"] .catalog-filter-drawer .catalog-filter-form,
html[data-theme="dark"] .catalog-filter-drawer .catalog-filter-panel,
html[data-theme="dark"] .catalog-filter-drawer .catalog-filter-panel-compact,
html[data-theme="dark"] .catalog-filter-drawer .compact-filter-grid {
  background: #0f172a !important;
  color: #f8fafc !important;
  border-color: #263244 !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary:hover,
html[data-theme="dark"] .catalog-filter-drawer[open] > summary {
  background: #111827 !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary strong,
html[data-theme="dark"] .catalog-filter-drawer .filter-section-title,
html[data-theme="dark"] .catalog-filter-drawer label {
  color: #f8fafc !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary small,
html[data-theme="dark"] .catalog-filter-drawer .filter-help,
html[data-theme="dark"] .catalog-filter-drawer p,
html[data-theme="dark"] .catalog-filter-drawer small,
html[data-theme="dark"] .catalog-filter-drawer .price-mini-field span {
  color: #cbd5e1 !important;
}
html[data-theme="dark"] .catalog-filter-drawer input,
html[data-theme="dark"] .catalog-filter-drawer select,
html[data-theme="dark"] .catalog-filter-drawer textarea,
html[data-theme="dark"] .catalog-filter-drawer > summary .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer .filter-drawer-icon,
html[data-theme="dark"] .filter-drawer-icon {
  background: #111827 !important;
  color: #f8fafc !important;
  border-color: #334155 !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .catalog-filter-drawer input:disabled,
html[data-theme="dark"] .catalog-filter-drawer select:disabled {
  background: #182235 !important;
  color: #94a3b8 !important;
  border-color: #293548 !important;
  opacity: 1 !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary:hover .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer > summary:focus-visible .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer[open] > summary .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer[open] .filter-drawer-icon {
  background: #111827 !important;
  color: #f8fafc !important;
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 3px rgba(96,165,250,.18) !important;
}

@media (max-width: 560px) {
  .catalog-filter-drawer > summary .filter-drawer-icon,
  .catalog-filter-drawer .filter-drawer-icon,
  .filter-drawer-icon {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    flex-basis: 40px !important;
  }
}

/* V27.6.4 Filter toggle open-state icon bugfix
   Keep the filter drawer toggle visually identical to native select controls.
   Native select arrows do not flip when a panel is open, so this icon stays stable too. */
.catalog-filter-drawer > summary .filter-drawer-icon,
.catalog-filter-drawer .filter-drawer-icon,
.catalog-filter-drawer[open] > summary .filter-drawer-icon,
.catalog-filter-drawer[open] .filter-drawer-icon {
  transform: none !important;
  rotate: 0deg !important;
}

.catalog-filter-drawer > summary .filter-drawer-icon::before,
.catalog-filter-drawer .filter-drawer-icon::before,
.catalog-filter-drawer[open] > summary .filter-drawer-icon::before,
.catalog-filter-drawer[open] .filter-drawer-icon::before {
  content: none !important;
  display: none !important;
}

.catalog-filter-drawer > summary .filter-drawer-icon::after,
.catalog-filter-drawer .filter-drawer-icon::after,
.catalog-filter-drawer[open] > summary .filter-drawer-icon::after,
.catalog-filter-drawer[open] .filter-drawer-icon::after {
  content: "" !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translate(-1px, -1px) !important;
  transform-origin: center !important;
  opacity: .78 !important;
}

/* Active/open state should be indicated by the container, not by a broken/flipped glyph. */
.catalog-filter-drawer[open] > summary .filter-drawer-icon,
.catalog-filter-drawer[open] .filter-drawer-icon {
  background: var(--surface) !important;
  color: var(--text) !important;
  border-color: color-mix(in srgb, var(--brand) 38%, var(--line) 62%) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-soft) 62%, transparent) !important;
}

html[data-theme="dark"] .catalog-filter-drawer[open] > summary .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer[open] .filter-drawer-icon {
  background: #111827 !important;
  color: #f8fafc !important;
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 3px rgba(96,165,250,.16) !important;
}


/* V27.6.5 Filter drawer summary as one large select-like button
   Make "Филтри и подреждане" behave visually like the native select controls:
   one whole clickable control, same visual language, no detached pill icon. */
.catalog-filter-drawer {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.catalog-filter-drawer > summary {
  min-height: 44px !important;
  padding: 8px 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: var(--surface) !important;
  box-shadow: none !important;
}
.catalog-filter-drawer > summary:hover,
.catalog-filter-drawer > summary:focus-visible,
.catalog-filter-drawer[open] > summary {
  background: var(--surface) !important;
  border-color: color-mix(in srgb, var(--brand) 24%, var(--line) 76%) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-soft) 64%, transparent) !important;
}
.catalog-filter-drawer > summary span:first-child {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.catalog-filter-drawer > summary strong {
  font-size: .94rem !important;
  color: var(--text) !important;
}
.catalog-filter-drawer > summary small {
  color: var(--muted) !important;
  font-size: .78rem !important;
}
.catalog-filter-drawer > summary .filter-drawer-icon,
.catalog-filter-drawer .filter-drawer-icon,
.catalog-filter-drawer[open] > summary .filter-drawer-icon,
.catalog-filter-drawer[open] .filter-drawer-icon {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  flex-basis: 18px !important;
  display: inline-grid !important;
  place-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--muted) !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
.catalog-filter-drawer > summary:hover .filter-drawer-icon,
.catalog-filter-drawer > summary:focus-visible .filter-drawer-icon,
.catalog-filter-drawer[open] > summary .filter-drawer-icon {
  color: var(--text) !important;
}
.catalog-filter-drawer > summary .filter-drawer-icon::after,
.catalog-filter-drawer .filter-drawer-icon::after,
.catalog-filter-drawer[open] > summary .filter-drawer-icon::after,
.catalog-filter-drawer[open] .filter-drawer-icon::after {
  width: 8px !important;
  height: 8px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translate(-1px, -1px) !important;
  opacity: .82 !important;
}
.catalog-filter-drawer .catalog-filter-form {
  margin-top: 10px !important;
  border: 1px solid color-mix(in srgb, var(--line) 83%, var(--brand) 17%) !important;
  border-radius: 16px !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary {
  background: #111827 !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary:hover,
html[data-theme="dark"] .catalog-filter-drawer > summary:focus-visible,
html[data-theme="dark"] .catalog-filter-drawer[open] > summary {
  background: #111827 !important;
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 3px rgba(96,165,250,.16) !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary strong { color: #f8fafc !important; }
html[data-theme="dark"] .catalog-filter-drawer > summary small,
html[data-theme="dark"] .catalog-filter-drawer > summary .filter-drawer-icon {
  color: #cbd5e1 !important;
}
html[data-theme="dark"] .catalog-filter-drawer > summary:hover .filter-drawer-icon,
html[data-theme="dark"] .catalog-filter-drawer[open] > summary .filter-drawer-icon {
  color: #f8fafc !important;
}
@media (max-width: 640px) {
  .catalog-filter-drawer > summary span:first-child {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
  }
}

/* V28.1 Account settings + 2FA recovery codes */
.account-settings-grid { align-items: start; }
.clean-list { margin: 0; padding-left: 18px; color: var(--muted); line-height: 1.65; }
.clean-list li + li { margin-top: 6px; }
.recovery-codes-box {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--brand) 24%, var(--line) 76%);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%);
}
.recovery-codes-box h2 { margin: 0 0 8px; font-size: 1.12rem; }
.recovery-code-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0;
}
.recovery-code-grid code {
  display: block;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-align: center;
}
.twofa-management-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}
.subtle-card {
  background: color-mix(in srgb, var(--surface) 97%, var(--brand) 3%);
}
html[data-theme="dark"] .recovery-codes-box {
  background: #0f172a;
  border-color: #334155;
}
html[data-theme="dark"] .recovery-code-grid code,
html[data-theme="dark"] .subtle-card {
  background: #111827;
  border-color: #334155;
  color: #f8fafc;
}
@media (max-width: 720px) {
  .twofa-management-grid,
  .recovery-code-grid { grid-template-columns: 1fr; }
}

/* V28.2 Profile settings + billing details polish */
.account-settings-grid-v28 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.account-settings-card {
  min-height: 100%;
}
.account-settings-card .eyebrow {
  margin-bottom: 4px;
}
.account-settings-card h2 {
  margin-top: 0;
}
.account-settings-card textarea {
  resize: vertical;
}
.account-settings-card input:disabled,
.account-settings-card textarea:disabled,
.account-settings-card button:disabled {
  opacity: .68;
  cursor: not-allowed;
}
.account-settings-card .form-stack {
  gap: 11px;
}
.account-settings-card .button {
  width: fit-content;
}
html[data-theme="dark"] .account-settings-card input:disabled,
html[data-theme="dark"] .account-settings-card textarea:disabled {
  background: #182235;
  color: #94a3b8;
  border-color: #293548;
}
@media (max-width: 860px) {
  .account-settings-grid-v28 {
    grid-template-columns: 1fr;
  }
  .account-settings-card .button {
    width: 100%;
  }
}

/* V29.0.9 visual polish + label cleanup: premium material cards, badges, richer empty states */
.cards,
.home-materials-grid,
.catalog-results-wide .catalog-cards {
  gap: 22px !important;
}
.catalog-results-wide .catalog-cards {
  grid-template-columns: repeat(auto-fill, minmax(275px, 1fr)) !important;
  align-items: stretch;
}
.catalog-results-wide .material-card,
.home-material-card {
  position: relative;
  overflow: hidden;
  padding: 20px !important;
  border-radius: 23px !important;
  border: 1px solid color-mix(in srgb, var(--line) 78%, var(--brand) 22%) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--brand) 9%, transparent) 0, transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 98%, var(--brand) 2%), var(--surface));
  box-shadow: 0 16px 42px rgba(31,41,51,.07) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.catalog-results-wide .material-card:hover,
.home-material-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--brand) 42%, var(--line)) !important;
  box-shadow: 0 22px 56px rgba(31,41,51,.115) !important;
}
.material-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.material-card-top .tag {
  margin: 0 !important;
  max-width: min(100%, 220px);
}
.material-card-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  min-width: 86px;
}
.material-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--line) 72%, var(--brand) 28%);
  background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%);
  color: var(--brand-dark);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .01em;
  line-height: 1;
  white-space: nowrap;
}
.material-badge-new {
  background: color-mix(in srgb, var(--brand) 14%, var(--surface) 86%);
  border-color: color-mix(in srgb, var(--brand) 45%, var(--line));
}
.material-badge-file {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}
.material-badge-level {
  color: var(--text);
}
.catalog-results-wide .material-card h3,
.home-material-card h3 {
  margin-top: 8px !important;
  letter-spacing: -.018em;
}
.catalog-results-wide .material-card p,
.home-material-card p {
  color: var(--muted);
  line-height: 1.55;
}
.material-mini-meta {
  display: flex !important;
  gap: 7px !important;
  margin-top: auto !important;
  padding-top: 12px !important;
}
.material-mini-meta span {
  min-height: 27px;
  border-color: color-mix(in srgb, var(--line) 78%, var(--brand) 22%) !important;
  background: color-mix(in srgb, var(--surface) 90%, var(--brand) 10%) !important;
  color: color-mix(in srgb, var(--text) 74%, var(--muted) 26%) !important;
}
.catalog-results-wide .material-card .card-foot,
.home-material-card .card-foot {
  border-top: 1px solid color-mix(in srgb, var(--line) 76%, transparent) !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
}
.catalog-results-wide .material-card .card-foot strong,
.home-material-card .card-foot strong {
  font-size: 1.08rem !important;
}
.empty-state,
.catalog-empty-state-v15,
.seo-empty-state {
  position: relative;
  overflow: hidden;
  border-style: solid !important;
  border-radius: 24px !important;
  padding: 28px !important;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--brand) 12%, transparent) 0, transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--surface) 94%, var(--brand) 6%), var(--surface)) !important;
  box-shadow: 0 18px 46px rgba(31,41,51,.06);
}
.catalog-empty-state-v15::before,
.seo-empty-state::before {
  content: "✦";
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: color-mix(in srgb, var(--brand) 13%, var(--surface) 87%);
  color: var(--brand-dark);
  font-weight: 900;
  margin-bottom: 2px;
}
.empty-state-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 2px;
}
.empty-state-suggestions span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%);
  border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%);
  color: var(--muted);
  font-size: .82rem;
  font-weight: 800;
}
.popular-category-grid {
  gap: 14px !important;
}
.popular-category-card {
  border-radius: 19px !important;
  box-shadow: 0 12px 32px rgba(31,41,51,.045);
}
html[data-theme="dark"] .catalog-results-wide .material-card,
html[data-theme="dark"] .home-material-card {
  background:
    radial-gradient(circle at top right, rgba(96,165,250,.12) 0, transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 94%, var(--brand) 6%), var(--surface));
  box-shadow: 0 18px 46px rgba(0,0,0,.24) !important;
}
html[data-theme="dark"] .material-badge,
html[data-theme="dark"] .empty-state-suggestions span {
  background: color-mix(in srgb, #0f172a 78%, var(--brand) 22%);
}
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .catalog-empty-state-v15,
html[data-theme="dark"] .seo-empty-state {
  box-shadow: 0 18px 46px rgba(0,0,0,.22);
}
@media (max-width: 720px) {
  .cards,
  .home-materials-grid,
  .catalog-results-wide .catalog-cards { gap: 14px !important; }
  .catalog-results-wide .catalog-cards { grid-template-columns: 1fr !important; }
  .material-card-top { flex-direction: column; align-items: flex-start; }
  .material-card-badges { justify-content: flex-start; min-width: 0; }
  .empty-state,
  .catalog-empty-state-v15,
  .seo-empty-state { padding: 20px !important; }
  .empty-state-suggestions { flex-direction: column; }
  .empty-state-suggestions span { width: 100%; justify-content: center; }
}

/* V29.1 Admin Refunds & Disputes Workflow */
.admin-refund-card {
    border-color: rgba(245, 158, 11, .28);
}
.refund-status-panel {
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: rgba(245, 158, 11, .06);
    margin-bottom: 1rem;
}
.refund-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}
.refund-form textarea,
.refund-form input,
.refund-form select {
    margin-top: .35rem;
}
.refund-history {
    margin-top: 1rem;
}
.refund-history-list article {
    border-left: 3px solid rgba(245, 158, 11, .45);
}
.status-badge.neutral {
    background: rgba(100, 116, 139, .12);
    color: #475569;
}
.status-badge.danger {
    background: rgba(239, 68, 68, .12);
    color: #b91c1c;
}
.status-badge.small {
    display: inline-flex;
    margin-top: .25rem;
    font-size: .72rem;
    padding: .18rem .45rem;
}
.notice.success {
    border-color: rgba(34, 197, 94, .25);
    background: rgba(34, 197, 94, .08);
}
@media (max-width: 760px) {
    .refund-action-grid { grid-template-columns: 1fr; }
}


/* R4E_CUSTOMER_ORDER_STATUS_POLISH_V29_2 */
.account-section-refunds {
  border: 1px solid rgba(245, 158, 11, 0.22);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,251,235,.72));
  border-radius: 24px;
  padding: clamp(18px, 3vw, 28px);
}
.account-order-card.refund {
  border-color: rgba(245, 158, 11, 0.28);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,251,235,.86));
}
.account-status-note {
  display: block;
  margin-top: 8px;
  padding: 9px 11px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.04);
  color: var(--muted);
  line-height: 1.45;
}
.account-status-note.customer-note {
  background: rgba(37, 99, 235, 0.08);
  color: var(--text);
  border: 1px solid rgba(37, 99, 235, 0.12);
}
.refund-order-grid {
  margin-top: 14px;
}
.status-badge.neutral {
  background: rgba(100, 116, 139, 0.12);
  color: #475569;
}
@media (prefers-color-scheme: dark) {
  .account-section-refunds,
  .account-order-card.refund {
    background: linear-gradient(180deg, rgba(15,23,42,.86), rgba(69,46,5,.32));
    border-color: rgba(245, 158, 11, 0.28);
  }
  .account-status-note {
    background: rgba(148, 163, 184, 0.10);
  }
  .account-status-note.customer-note {
    background: rgba(96, 165, 250, 0.12);
    border-color: rgba(96, 165, 250, 0.20);
  }
  .status-badge.neutral {
    background: rgba(148, 163, 184, 0.18);
    color: #cbd5e1;
  }
}
/* R4E_CONTROLLED_LAUNCH_FINAL_POLISH_V29_3 */
.manual-payment-note-v293,
.checkout-pending-note-v293 {
    border: 1px solid rgba(217, 119, 6, .24);
    background: rgba(255, 251, 235, .76);
    border-radius: 18px;
    padding: 14px 16px;
    color: var(--text, #1f2937);
}
.manual-payment-note-v293 strong,
.checkout-pending-note-v293 strong { display: block; margin-bottom: 4px; }

/* R4E_DROPDOWN_CONSISTENCY_POLISH_V29_3_1
   Unifies public/admin disclosure dropdowns and replaces rotated text glyphs with clean chevrons. */

/* Shared disclosure reset for real <details>/<summary> dropdowns, without touching native <select>. */
.admin-technical-details > summary,
.refund-history > summary,
.ad-positions-details-v13 > summary,
details.mt > summary,
.row-edit-details > summary,
.nav .nav-menu .profile-menu summary,
.catalog-filter-drawer > summary {
    list-style: none;
}
.admin-technical-details > summary::-webkit-details-marker,
.refund-history > summary::-webkit-details-marker,
.ad-positions-details-v13 > summary::-webkit-details-marker,
details.mt > summary::-webkit-details-marker,
.row-edit-details > summary::-webkit-details-marker,
.nav .nav-menu .profile-menu summary::-webkit-details-marker,
.catalog-filter-drawer > summary::-webkit-details-marker { display: none; }
.admin-technical-details > summary::marker,
.refund-history > summary::marker,
.ad-positions-details-v13 > summary::marker,
details.mt > summary::marker,
.row-edit-details > summary::marker,
.nav .nav-menu .profile-menu summary::marker,
.catalog-filter-drawer > summary::marker { content: ""; }

/* Card-like dropdowns: technical payment data, refund history, 2FA manual URI, ad positions. */
.admin-technical-details,
.refund-history,
details.mt,
.ad-positions-details-v13 {
    border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%);
    border-radius: 16px;
    background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%);
    overflow: clip;
    box-shadow: 0 8px 22px rgba(31, 41, 51, .045);
}
.admin-technical-details { margin-top: 14px; }
.refund-history { margin-top: 14px; }
details.mt { margin-top: 14px !important; }
.admin-technical-details > summary,
.refund-history > summary,
details.mt > summary,
.ad-positions-details-v13 > summary {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    cursor: pointer;
    user-select: none;
    color: var(--text);
    font-weight: 900;
    letter-spacing: -.01em;
    line-height: 1.2;
    border-radius: 15px;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease;
}
.ad-positions-details-v13 > summary { align-items: flex-start; }
.ad-positions-details-v13 > summary small { display: block; margin-top: 3px; color: var(--muted); font-weight: 700; }
.admin-technical-details > summary:hover,
.admin-technical-details > summary:focus-visible,
.refund-history > summary:hover,
.refund-history > summary:focus-visible,
details.mt > summary:hover,
details.mt > summary:focus-visible,
.ad-positions-details-v13 > summary:hover,
.ad-positions-details-v13 > summary:focus-visible {
    background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%);
    color: var(--brand-dark);
    outline: none;
}
.admin-technical-details[open] > summary,
.refund-history[open] > summary,
details.mt[open] > summary,
.ad-positions-details-v13[open] > summary {
    border-bottom: 1px solid var(--line);
    border-radius: 15px 15px 0 0;
    background: color-mix(in srgb, var(--surface) 90%, var(--brand) 10%);
    color: var(--brand-dark);
}
.admin-technical-details > summary::after,
.refund-history > summary::after,
details.mt > summary::after,
.ad-positions-details-v13 > summary::after,
.row-edit-details > summary::after,
.nav .nav-menu .profile-menu summary::after {
    content: "" !important;
    width: 8px;
    height: 8px;
    margin-left: auto;
    flex: 0 0 auto;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    opacity: .7;
    transform: rotate(45deg) translateY(-1px);
    transition: transform .16s ease, opacity .16s ease;
}
.admin-technical-details[open] > summary::after,
.refund-history[open] > summary::after,
details.mt[open] > summary::after,
.ad-positions-details-v13[open] > summary::after,
.row-edit-details[open] > summary::after,
.nav .nav-menu .profile-menu[open] summary::after {
    transform: rotate(-135deg) translateY(-1px);
    opacity: .95;
}
.admin-technical-details > :not(summary),
.refund-history > :not(summary),
details.mt > :not(summary) {
    margin-left: 14px;
    margin-right: 14px;
}
.admin-technical-details > :last-child,
.refund-history > :last-child,
details.mt > :last-child { margin-bottom: 14px; }
.admin-technical-details .admin-ref-code-full {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Admin table edit dropdowns: make them look like small actions, not mismatched links. */
.row-edit-details {
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}
.row-edit-details > summary.link-inline,
.row-edit-details > summary {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 10px;
    border: 1px solid color-mix(in srgb, var(--line) 78%, var(--brand) 22%);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
    color: var(--brand-dark) !important;
    font-size: .86rem;
    font-weight: 900;
    line-height: 1;
    text-decoration: none !important;
    cursor: pointer;
}
.row-edit-details > summary:hover,
.row-edit-details > summary:focus-visible,
.row-edit-details[open] > summary {
    background: color-mix(in srgb, var(--surface) 84%, var(--brand) 16%);
    border-color: color-mix(in srgb, var(--line) 55%, var(--brand) 45%);
    outline: none;
}
.row-edit-details[open] {
    display: block;
    margin: 0 0 10px;
}
.row-edit-details .row-edit-form { margin-top: 9px; }

/* Catalog drawer: replace the rotated "⌄" glyph with a crisp chevron so it never looks like upside-down text. */
.catalog-filter-drawer .filter-drawer-icon {
    font-size: 0 !important;
    position: relative;
    transform: none !important;
    transition: background-color .16s ease, color .16s ease;
}
.catalog-filter-drawer .filter-drawer-icon::before {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    transition: transform .16s ease, opacity .16s ease;
    opacity: .76;
}
.catalog-filter-drawer[open] .filter-drawer-icon { transform: none !important; }
.catalog-filter-drawer[open] .filter-drawer-icon::before {
    transform: rotate(-135deg) translateY(-1px);
    opacity: .95;
}

/* Header profile menu: keep same chevron language as the rest of the site. */
.nav .nav-menu .profile-menu summary::after {
    font-size: 0 !important;
    margin-left: 3px;
    transform: rotate(45deg) translateY(-1px) !important;
}
.nav .nav-menu .profile-menu[open] summary::after {
    transform: rotate(-135deg) translateY(-1px) !important;
}

/* Dark mode / low contrast polish. */
html[data-theme="dark"] .admin-technical-details,
html[data-theme="dark"] .refund-history,
html[data-theme="dark"] details.mt,
html[data-theme="dark"] .ad-positions-details-v13,
html[data-theme="dark"] .row-edit-details > summary {
    background: #0f172a;
    border-color: #273244;
    box-shadow: none;
}
html[data-theme="dark"] .admin-technical-details > summary:hover,
html[data-theme="dark"] .admin-technical-details > summary:focus-visible,
html[data-theme="dark"] .refund-history > summary:hover,
html[data-theme="dark"] .refund-history > summary:focus-visible,
html[data-theme="dark"] details.mt > summary:hover,
html[data-theme="dark"] details.mt > summary:focus-visible,
html[data-theme="dark"] .ad-positions-details-v13 > summary:hover,
html[data-theme="dark"] .ad-positions-details-v13 > summary:focus-visible,
html[data-theme="dark"] .admin-technical-details[open] > summary,
html[data-theme="dark"] .refund-history[open] > summary,
html[data-theme="dark"] details.mt[open] > summary,
html[data-theme="dark"] .ad-positions-details-v13[open] > summary,
html[data-theme="dark"] .row-edit-details > summary:hover,
html[data-theme="dark"] .row-edit-details > summary:focus-visible,
html[data-theme="dark"] .row-edit-details[open] > summary {
    background: #172033;
    color: #dbeafe !important;
    border-color: #334155;
}

@media (max-width: 640px) {
    .admin-technical-details > summary,
    .refund-history > summary,
    details.mt > summary,
    .ad-positions-details-v13 > summary {
        min-height: 44px;
        padding: 11px 12px;
    }
    .row-edit-details { display: block; margin: 0 0 8px; }
    .row-edit-details > summary { width: fit-content; }
}

/* R4E_DROPDOWN_CLEAN_HOTFIX_V29_3_2
   Fixes V29.3.1 oversized/rotated disclosure icons and standardizes all dropdown summaries
   to the clean select-like Referat4e style. CSS-only. */

/* 1) Universal disclosure marker cleanup for all real dropdown/disclosure summaries used by the site. */
.admin-technical-details > summary,
.refund-history > summary,
.ad-positions-details-v13 > summary,
details.mt > summary,
.row-edit-details > summary,
.catalog-filter-drawer > summary,
.nav .nav-menu .profile-menu summary {
    list-style: none !important;
}
.admin-technical-details > summary::-webkit-details-marker,
.refund-history > summary::-webkit-details-marker,
.ad-positions-details-v13 > summary::-webkit-details-marker,
details.mt > summary::-webkit-details-marker,
.row-edit-details > summary::-webkit-details-marker,
.catalog-filter-drawer > summary::-webkit-details-marker,
.nav .nav-menu .profile-menu summary::-webkit-details-marker { display: none !important; }
.admin-technical-details > summary::marker,
.refund-history > summary::marker,
.ad-positions-details-v13 > summary::marker,
details.mt > summary::marker,
.row-edit-details > summary::marker,
.catalog-filter-drawer > summary::marker,
.nav .nav-menu .profile-menu summary::marker { content: "" !important; }

/* 2) Clean card/select-like style for larger disclosure blocks. */
.admin-technical-details,
.refund-history,
.ad-positions-details-v13,
details.mt {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    margin-top: 14px !important;
}
.admin-technical-details > summary,
.refund-history > summary,
.ad-positions-details-v13 > summary,
details.mt > summary {
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    border: 1px solid color-mix(in srgb, var(--line) 86%, var(--brand) 14%) !important;
    border-radius: 16px !important;
    background: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%) !important;
    color: var(--text) !important;
    box-shadow: 0 10px 24px rgba(31, 41, 51, .055) !important;
    cursor: pointer !important;
    user-select: none !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
    line-height: 1.2 !important;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease !important;
}
.admin-technical-details > summary:hover,
.admin-technical-details > summary:focus-visible,
.refund-history > summary:hover,
.refund-history > summary:focus-visible,
.ad-positions-details-v13 > summary:hover,
.ad-positions-details-v13 > summary:focus-visible,
details.mt > summary:hover,
details.mt > summary:focus-visible,
.admin-technical-details[open] > summary,
.refund-history[open] > summary,
.ad-positions-details-v13[open] > summary,
details.mt[open] > summary {
    background: color-mix(in srgb, var(--surface) 91%, var(--brand) 9%) !important;
    border-color: color-mix(in srgb, var(--line) 64%, var(--brand) 36%) !important;
    color: var(--brand-dark) !important;
    box-shadow: 0 12px 26px rgba(31, 41, 51, .075) !important;
    outline: none !important;
}
.admin-technical-details > :not(summary),
.refund-history > :not(summary),
.ad-positions-details-v13 > :not(summary),
details.mt > :not(summary) {
    margin-left: 14px !important;
    margin-right: 14px !important;
}
.admin-technical-details > summary + *,
.refund-history > summary + *,
.ad-positions-details-v13 > summary + *,
details.mt > summary + * { margin-top: 14px !important; }
.admin-technical-details > :last-child,
.refund-history > :last-child,
.ad-positions-details-v13 > :last-child,
details.mt > :last-child { margin-bottom: 8px !important; }

/* 3) The important fix: reset every pseudo-arrow property first, then draw a tiny chevron.
      This prevents the giant diamond/rounded-square effect from inherited button/icon styles. */
.admin-technical-details > summary::after,
.refund-history > summary::after,
.ad-positions-details-v13 > summary::after,
details.mt > summary::after,
.row-edit-details > summary::after,
.nav .nav-menu .profile-menu summary::after,
.catalog-filter-drawer > summary::after {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    min-height: 8px !important;
    max-width: 8px !important;
    max-height: 8px !important;
    padding: 0 !important;
    margin: 0 2px 0 auto !important;
    flex: 0 0 8px !important;
    aspect-ratio: auto !important;
    border: 0 !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    border-left: 0 !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: .72 !important;
    transform: rotate(45deg) translateY(-1px) !important;
    transform-origin: center !important;
    transition: transform .16s ease, opacity .16s ease !important;
}
.admin-technical-details[open] > summary::after,
.refund-history[open] > summary::after,
.ad-positions-details-v13[open] > summary::after,
details.mt[open] > summary::after,
.row-edit-details[open] > summary::after,
.nav .nav-menu .profile-menu[open] summary::after,
.catalog-filter-drawer[open] > summary::after {
    transform: rotate(-135deg) translateY(-1px) !important;
    opacity: .95 !important;
}

/* 4) Catalog filter button keeps the approved select-like layout. Hide old glyph safely. */
.catalog-filter-drawer > summary {
    list-style: none !important;
}
.catalog-filter-drawer .filter-drawer-icon {
    font-size: 0 !important;
    line-height: 0 !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
.catalog-filter-drawer .filter-drawer-icon::before {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border: 0 !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: rotate(45deg) translateY(-1px) !important;
    opacity: .76 !important;
}
.catalog-filter-drawer[open] .filter-drawer-icon::before {
    transform: rotate(-135deg) translateY(-1px) !important;
    opacity: .95 !important;
}
.catalog-filter-drawer > summary::after { display: none !important; }

/* 5) Small admin row dropdowns: compact pill style, same chevron but no huge icon. */
.row-edit-details {
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 8px !important;
}
.row-edit-details > summary,
.row-edit-details > summary.link-inline {
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 6px 11px !important;
    border: 1px solid color-mix(in srgb, var(--line) 80%, var(--brand) 20%) !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%) !important;
    color: var(--brand-dark) !important;
    box-shadow: none !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}
.row-edit-details > summary::after,
.row-edit-details > summary.link-inline::after {
    margin-left: 2px !important;
    flex-basis: 7px !important;
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    min-height: 7px !important;
    max-width: 7px !important;
    max-height: 7px !important;
}
.row-edit-details > summary:hover,
.row-edit-details > summary:focus-visible,
.row-edit-details[open] > summary {
    background: color-mix(in srgb, var(--surface) 86%, var(--brand) 14%) !important;
    border-color: color-mix(in srgb, var(--line) 56%, var(--brand) 44%) !important;
    outline: none !important;
}
.row-edit-details[open] { display: block !important; margin: 0 0 10px !important; }
.row-edit-details .row-edit-form { margin-top: 9px !important; }

/* 6) Header profile menu: do not let the global disclosure CSS change its size. */
.nav .nav-menu .profile-menu summary::after {
    margin-left: 6px !important;
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    min-height: 7px !important;
    max-width: 7px !important;
    max-height: 7px !important;
    flex: 0 0 7px !important;
}

/* 7) Dark mode. */
html[data-theme="dark"] .admin-technical-details > summary,
html[data-theme="dark"] .refund-history > summary,
html[data-theme="dark"] .ad-positions-details-v13 > summary,
html[data-theme="dark"] details.mt > summary,
html[data-theme="dark"] .row-edit-details > summary {
    background: #0f172a !important;
    border-color: #273244 !important;
    color: #e5e7eb !important;
    box-shadow: none !important;
}
html[data-theme="dark"] .admin-technical-details > summary:hover,
html[data-theme="dark"] .admin-technical-details > summary:focus-visible,
html[data-theme="dark"] .admin-technical-details[open] > summary,
html[data-theme="dark"] .refund-history > summary:hover,
html[data-theme="dark"] .refund-history > summary:focus-visible,
html[data-theme="dark"] .refund-history[open] > summary,
html[data-theme="dark"] .ad-positions-details-v13 > summary:hover,
html[data-theme="dark"] .ad-positions-details-v13 > summary:focus-visible,
html[data-theme="dark"] .ad-positions-details-v13[open] > summary,
html[data-theme="dark"] details.mt > summary:hover,
html[data-theme="dark"] details.mt > summary:focus-visible,
html[data-theme="dark"] details.mt[open] > summary,
html[data-theme="dark"] .row-edit-details > summary:hover,
html[data-theme="dark"] .row-edit-details > summary:focus-visible,
html[data-theme="dark"] .row-edit-details[open] > summary {
    background: #172033 !important;
    border-color: #334155 !important;
    color: #dbeafe !important;
}

@media (max-width: 640px) {
    .admin-technical-details > summary,
    .refund-history > summary,
    .ad-positions-details-v13 > summary,
    details.mt > summary {
        min-height: 48px !important;
        padding: 12px 14px !important;
        border-radius: 14px !important;
    }
    .row-edit-details { display: block !important; margin: 0 0 8px !important; }
    .row-edit-details > summary { width: fit-content !important; }
}

/* R4E_DROPDOWN_SELECT_ADMIN_CLEANUP_V29_3_3
   Final CSS-only cleanup for native selects and admin row edit dropdown panels.
   No database or index.php changes. */

/* 1) Native select controls: make them match the clean Referat4e select-like dropdown style. */
select:not([multiple]) {
    -webkit-appearance: none !important;
    appearance: none !important;
    min-height: 44px !important;
    width: 100%;
    padding: 10px 42px 10px 14px !important;
    border: 1px solid color-mix(in srgb, var(--line) 88%, var(--brand) 12%) !important;
    border-radius: 14px !important;
    background-color: var(--surface) !important;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%230f172a' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 13px center !important;
    background-size: 16px 16px !important;
    color: var(--text) !important;
    font: inherit !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    box-shadow: 0 8px 20px rgba(31, 41, 51, .035) !important;
    cursor: pointer !important;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease !important;
}
select:not([multiple]):hover,
select:not([multiple]):focus {
    border-color: color-mix(in srgb, var(--line) 55%, var(--brand) 45%) !important;
    background-color: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 13%, transparent), 0 10px 24px rgba(31, 41, 51, .05) !important;
    outline: none !important;
}
select:not([multiple]) option { font-weight: 700; }

/* Keep small inline selects compact where the UI needs it. */
.filters select:not([multiple]),
.filter-grid select:not([multiple]),
.catalog-filter-drawer select:not([multiple]),
.row-edit-form select:not([multiple]) {
    min-height: 42px !important;
    border-radius: 13px !important;
}

/* 2) Admin category/type/level row edit panel: turn the broken narrow dropdown into a clean edit card. */
.actions-cell-wide {
    min-width: 330px !important;
    vertical-align: top !important;
}
.actions-cell-wide > form {
    display: inline-flex !important;
    align-items: center !important;
    margin: 6px 6px 0 0 !important;
}
.actions-cell-wide > form .link-inline,
.actions-cell-wide > form button.link-inline {
    min-height: 34px !important;
    padding: 7px 11px !important;
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--line) 84%, var(--brand) 16%) !important;
    background: var(--surface) !important;
    text-decoration: none !important;
    line-height: 1 !important;
    font-weight: 850 !important;
}
.actions-cell-wide > form button.link-inline.danger,
.actions-cell-wide > form .link-inline.danger {
    border-color: color-mix(in srgb, #ef4444 45%, var(--line) 55%) !important;
    background: color-mix(in srgb, var(--surface) 92%, #ef4444 8%) !important;
}

.row-edit-details {
    display: inline-block !important;
    margin: 0 7px 7px 0 !important;
    vertical-align: top !important;
}
.row-edit-details[open] {
    display: block !important;
    width: min(430px, 92vw) !important;
    margin: 0 0 12px !important;
}
.row-edit-details > summary,
.row-edit-details > summary.link-inline {
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 9px !important;
    padding: 8px 13px !important;
    border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%) !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--surface) 95%, var(--brand) 5%) !important;
    color: var(--brand-dark) !important;
    font-size: .9rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: 0 8px 18px rgba(31, 41, 51, .035) !important;
    cursor: pointer !important;
    user-select: none !important;
}
.row-edit-details[open] > summary,
.row-edit-details > summary:hover,
.row-edit-details > summary:focus-visible {
    background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%) !important;
    border-color: color-mix(in srgb, var(--line) 58%, var(--brand) 42%) !important;
    outline: none !important;
}
.row-edit-details[open] > summary {
    border-radius: 16px !important;
}
.row-edit-details .row-edit-form {
    width: 100% !important;
    margin-top: 10px !important;
    padding: 14px !important;
    border: 1px solid color-mix(in srgb, var(--line) 86%, var(--brand) 14%) !important;
    border-radius: 18px !important;
    background: color-mix(in srgb, var(--surface) 98%, var(--brand) 2%) !important;
    box-shadow: 0 16px 36px rgba(31, 41, 51, .085) !important;
}
.row-edit-details .row-edit-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
    align-items: start !important;
}
.row-edit-details .row-edit-grid label {
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--text) !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}
.row-edit-details .row-edit-grid input,
.row-edit-details .row-edit-grid textarea,
.row-edit-details .row-edit-grid select {
    width: 100% !important;
    margin-top: 6px !important;
}
.row-edit-details .row-edit-wide {
    grid-column: 1 / -1 !important;
}
.row-edit-details .compact-check,
.row-edit-details label.check.compact-check {
    grid-column: 1 / -1 !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border: 1px solid color-mix(in srgb, var(--line) 88%, var(--brand) 12%) !important;
    border-radius: 14px !important;
    background: var(--surface) !important;
    color: var(--text) !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
}
.row-edit-details .compact-check input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 0 !important;
    accent-color: var(--brand) !important;
}
.row-edit-details .row-edit-form > .button.small,
.row-edit-details .row-edit-form button[type="submit"].button {
    margin-top: 12px !important;
    min-height: 40px !important;
    padding: 9px 16px !important;
    border-radius: 13px !important;
    box-shadow: 0 10px 22px rgba(31, 113, 155, .16) !important;
}

/* 3) Normalize other summary/dropdown controls to the same calm chevron, without giant icon artifacts. */
summary { -webkit-tap-highlight-color: transparent; }
summary::-webkit-details-marker { display: none; }
summary::marker { content: ""; }
.admin-technical-details > summary,
.refund-history > summary,
.ad-positions-details-v13 > summary,
details.mt > summary {
    border-radius: 15px !important;
}
.admin-technical-details > summary::after,
.refund-history > summary::after,
.ad-positions-details-v13 > summary::after,
details.mt > summary::after,
.row-edit-details > summary::after {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 8px !important;
    border: 0 !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: rotate(45deg) translateY(-1px) !important;
    transition: transform .16s ease, opacity .16s ease !important;
    opacity: .78 !important;
}
.admin-technical-details[open] > summary::after,
.refund-history[open] > summary::after,
.ad-positions-details-v13[open] > summary::after,
details.mt[open] > summary::after,
.row-edit-details[open] > summary::after {
    transform: rotate(-135deg) translateY(-1px) !important;
    opacity: .95 !important;
}

/* 4) Mobile/tablet protection for edit panels. */
@media (max-width: 900px) {
    .actions-cell-wide { min-width: 300px !important; }
    .row-edit-details[open] { width: min(360px, 88vw) !important; }
}
@media (max-width: 640px) {
    .actions-cell-wide { min-width: 280px !important; }
    .row-edit-details[open] { width: min(320px, 86vw) !important; }
    .row-edit-details .row-edit-grid { grid-template-columns: 1fr !important; }
    select:not([multiple]) { min-height: 42px !important; border-radius: 13px !important; }
}

/* 5) Dark mode. */
html[data-theme="dark"] select:not([multiple]) {
    background-color: #0f172a !important;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23e5e7eb' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    border-color: #273244 !important;
    color: #e5e7eb !important;
    box-shadow: none !important;
}
html[data-theme="dark"] select:not([multiple]):hover,
html[data-theme="dark"] select:not([multiple]):focus {
    background-color: #172033 !important;
    border-color: #334155 !important;
    box-shadow: 0 0 0 4px rgba(96, 165, 250, .14) !important;
}
html[data-theme="dark"] .row-edit-details .row-edit-form,
html[data-theme="dark"] .row-edit-details .compact-check,
html[data-theme="dark"] .actions-cell-wide > form .link-inline {
    background: #0f172a !important;
    border-color: #273244 !important;
    color: #e5e7eb !important;
}
html[data-theme="dark"] .row-edit-details > summary,
html[data-theme="dark"] .row-edit-details > summary.link-inline {
    background: #0f172a !important;
    border-color: #273244 !important;
    color: #dbeafe !important;
}
html[data-theme="dark"] .row-edit-details[open] > summary,
html[data-theme="dark"] .row-edit-details > summary:hover,
html[data-theme="dark"] .row-edit-details > summary:focus-visible {
    background: #172033 !important;
    border-color: #334155 !important;
}

/* R4E_CREATIVE_UI_POLISH_V29_3_4
   Final creative UI polish before full backup.
   Scope: visual-only CSS. No database, no index.php, no payment logic changes.
   Goal: remove the LEGO/boxy feeling from admin taxonomy panels, catalog filters and home CTA buttons. */

:root {
    --r4e-soft-shadow: 0 18px 45px rgba(15, 23, 42, .075);
    --r4e-card-shadow: 0 14px 34px rgba(15, 23, 42, .055);
    --r4e-line-soft: color-mix(in srgb, var(--line) 78%, transparent);
    --r4e-brand-soft: color-mix(in srgb, var(--brand) 8%, transparent);
    --r4e-surface-warm: color-mix(in srgb, var(--surface) 96%, #fff7ed 4%);
}

/* A. HOME / CTA BUTTONS — calmer, more premium, less blocky. */
.hero-v13 .button,
.home-search-panel .button,
.home-section-head + .process-strip + .home-section-head .button,
.latest-materials .button,
.material-card .button,
.empty-card .button,
.catalog-empty .button {
    border-radius: 999px !important;
    min-height: 43px !important;
    padding: 11px 18px !important;
    letter-spacing: -.01em !important;
    box-shadow: 0 14px 28px rgba(31, 113, 155, .16) !important;
    transform: translateZ(0) !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease !important;
}
.hero-v13 .button:hover,
.home-search-panel .button:hover,
.material-card .button:hover,
.empty-card .button:hover,
.catalog-empty .button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 18px 36px rgba(31, 113, 155, .20) !important;
}
.hero-v13 .button.secondary,
.home-search-panel .button.secondary,
.material-card .button.secondary,
.empty-card .button.secondary,
.catalog-empty .button.secondary {
    background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%) !important;
    border-color: color-mix(in srgb, var(--line) 78%, var(--brand) 22%) !important;
    color: var(--brand-dark) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .055) !important;
}
.hero-pills span,
.home-search-trust span {
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%) !important;
    border: 1px solid color-mix(in srgb, var(--line) 76%, var(--brand) 24%) !important;
    box-shadow: 0 9px 18px rgba(15, 23, 42, .035) !important;
}
.home-search-panel {
    border-radius: 26px !important;
    border-color: color-mix(in srgb, var(--line) 82%, var(--brand) 18%) !important;
    background:
        radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--brand) 11%, transparent) 0, transparent 28%),
        linear-gradient(135deg, color-mix(in srgb, var(--surface) 96%, var(--brand) 4%), var(--surface)) !important;
    box-shadow: var(--r4e-card-shadow) !important;
}
.home-search-form input {
    border-radius: 999px !important;
    min-height: 48px !important;
    padding-inline: 17px !important;
    background: color-mix(in srgb, var(--surface) 97%, var(--brand) 3%) !important;
}

/* B. CATALOG FILTER PANEL — two-row elegant filter rhythm instead of crowded controls. */
.catalog-filter-drawer {
    border-radius: 24px !important;
    border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%) !important;
    background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 98%, var(--brand) 2%), var(--surface)) !important;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .055) !important;
    overflow: hidden !important;
}
.catalog-filter-drawer > summary {
    min-height: 58px !important;
    padding: 16px 18px !important;
    border-radius: 22px !important;
    background: transparent !important;
    border: 0 !important;
}
.catalog-filter-drawer[open] > summary {
    border-bottom: 1px solid color-mix(in srgb, var(--line) 80%, transparent) !important;
    border-radius: 22px 22px 0 0 !important;
}
.catalog-filter-drawer > summary strong {
    letter-spacing: -.02em !important;
}
.catalog-filter-drawer > summary small {
    color: var(--muted) !important;
    font-weight: 700 !important;
}
.catalog-filter-form {
    padding: 16px 18px 18px !important;
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--brand) 7%, transparent) 0, transparent 28%),
        color-mix(in srgb, var(--surface) 98%, var(--brand) 2%) !important;
}
.compact-filter-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
    gap: 13px 14px !important;
    align-items: start !important;
}
.filter-field {
    min-width: 0 !important;
}
.filter-field .filter-section-title,
.filter-section-title {
    display: block !important;
    margin: 0 0 7px !important;
    color: color-mix(in srgb, var(--muted) 86%, var(--text) 14%) !important;
    font-size: .73rem !important;
    font-weight: 850 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
}
.filter-field-subcategory,
.filter-price-field {
    grid-column: span 2 !important;
}
.filter-sort-field {
    grid-column: span 1 !important;
}
.filter-help {
    display: block !important;
    margin-top: 7px !important;
    color: color-mix(in srgb, var(--muted) 88%, var(--brand) 12%) !important;
    font-size: .78rem !important;
    line-height: 1.35 !important;
}
.filter-price-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}
.price-mini-field {
    position: relative !important;
    display: block !important;
}
.price-mini-field span {
    position: absolute !important;
    top: 50% !important;
    left: 13px !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    color: var(--muted) !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    pointer-events: none !important;
    z-index: 1 !important;
}
.price-mini-field input {
    min-height: 42px !important;
    padding-left: 38px !important;
    border-radius: 13px !important;
}
.filter-panel-actions,
.filter-panel-actions-inline {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 15px !important;
    padding-top: 14px !important;
    border-top: 1px solid color-mix(in srgb, var(--line) 76%, transparent) !important;
}
.filter-panel-actions .button {
    min-height: 42px !important;
    border-radius: 999px !important;
    padding-inline: 19px !important;
}
.catalog-filter-form select:not([multiple]),
.catalog-filter-form input {
    min-height: 42px !important;
    border-radius: 13px !important;
    box-shadow: none !important;
}

/* C. ADMIN TAXONOMY CREATE CARDS — less LEGO, more light admin cockpit. */
.admin-manage-grid,
.admin-manage-grid-four {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
    gap: 16px !important;
    align-items: stretch !important;
    margin-bottom: 26px !important;
}
.compact-admin-form.form-card,
.form-card.compact-admin-form {
    position: relative !important;
    padding: 18px !important;
    border-radius: 26px !important;
    border: 1px solid color-mix(in srgb, var(--line) 83%, var(--brand) 17%) !important;
    background:
        radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--brand) 8%, transparent) 0, transparent 28%),
        linear-gradient(180deg, color-mix(in srgb, var(--surface) 98%, var(--brand) 2%), var(--surface)) !important;
    box-shadow: var(--r4e-card-shadow) !important;
    overflow: hidden !important;
}
.compact-admin-form h2 {
    margin: 0 0 12px !important;
    font-size: 1.02rem !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
}
.compact-admin-form form {
    display: grid !important;
    gap: 10px !important;
}
.compact-admin-form label {
    margin: 0 !important;
    color: color-mix(in srgb, var(--text) 90%, var(--muted) 10%) !important;
    font-size: .87rem !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}
.compact-admin-form input,
.compact-admin-form textarea,
.compact-admin-form select {
    margin-top: 6px !important;
    min-height: 42px !important;
    border-radius: 14px !important;
    background: color-mix(in srgb, var(--surface) 98%, var(--brand) 2%) !important;
    border-color: color-mix(in srgb, var(--line) 84%, var(--brand) 16%) !important;
    box-shadow: none !important;
}
.compact-admin-form textarea {
    min-height: 76px !important;
    resize: vertical !important;
}
.compact-admin-form .grid.two.compact-grid,
.compact-grid {
    display: grid !important;
    grid-template-columns: minmax(96px, .72fr) minmax(165px, 1.28fr) !important;
    gap: 10px !important;
    align-items: end !important;
}
.compact-admin-form label.check.compact-check,
.compact-admin-form .compact-check,
.row-edit-details .compact-check,
.row-edit-details label.check.compact-check {
    min-height: 42px !important;
    padding: 10px 12px !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%) !important;
    border: 1px solid color-mix(in srgb, var(--line) 78%, var(--brand) 22%) !important;
    color: color-mix(in srgb, var(--text) 92%, var(--brand) 8%) !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    font-size: .84rem !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
}
.compact-admin-form .compact-check input[type="checkbox"],
.row-edit-details .compact-check input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    margin: 0 !important;
    accent-color: var(--brand) !important;
}
.compact-admin-form .button {
    justify-self: start !important;
    min-height: 40px !important;
    border-radius: 999px !important;
    padding: 10px 16px !important;
    margin-top: 2px !important;
    box-shadow: 0 12px 24px rgba(31, 113, 155, .14) !important;
}

/* D. ADMIN TAXONOMY TABLES — calm rows, elegant actions, less “form inside a spreadsheet”. */
.admin-category-table {
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    background: transparent !important;
}
.admin-category-table thead th {
    padding: 8px 13px !important;
    color: var(--muted) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    border: 0 !important;
    background: transparent !important;
}
.admin-category-table tbody tr {
    background: var(--surface) !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .035) !important;
}
.admin-category-table tbody td {
    padding: 13px !important;
    border-top: 1px solid color-mix(in srgb, var(--line) 82%, transparent) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 82%, transparent) !important;
    vertical-align: top !important;
}
.admin-category-table tbody td:first-child {
    border-left: 1px solid color-mix(in srgb, var(--line) 82%, transparent) !important;
    border-radius: 16px 0 0 16px !important;
}
.admin-category-table tbody td:last-child {
    border-right: 1px solid color-mix(in srgb, var(--line) 82%, transparent) !important;
    border-radius: 0 16px 16px 0 !important;
}
.admin-category-table td strong {
    letter-spacing: -.015em !important;
}
.actions-cell-wide {
    min-width: 360px !important;
    width: 360px !important;
}
.actions-cell-wide > form {
    display: inline-flex !important;
    margin: 0 6px 6px 0 !important;
}
.actions-cell-wide .link-inline,
.actions-cell-wide button.link-inline,
.row-edit-details > summary.link-inline,
.row-edit-details > summary {
    min-height: 34px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--line) 80%, var(--brand) 20%) !important;
    background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%) !important;
    color: var(--brand-dark) !important;
    font-size: .84rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}
.actions-cell-wide .link-inline:hover,
.row-edit-details > summary:hover {
    background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%) !important;
    border-color: color-mix(in srgb, var(--line) 58%, var(--brand) 42%) !important;
}
.actions-cell-wide .link-inline.danger,
.actions-cell-wide button.link-inline.danger {
    color: #b91c1c !important;
    background: color-mix(in srgb, var(--surface) 93%, #ef4444 7%) !important;
    border-color: color-mix(in srgb, var(--line) 60%, #ef4444 40%) !important;
}
.row-edit-details {
    margin: 0 6px 6px 0 !important;
}
.row-edit-details[open] {
    display: block !important;
    width: min(560px, calc(100vw - 72px)) !important;
    margin: 0 0 10px !important;
}
.row-edit-details[open] > summary {
    margin-bottom: 10px !important;
    border-radius: 16px !important;
}
.row-edit-details .row-edit-form {
    padding: 16px !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--brand) 7%, transparent) 0, transparent 30%),
        color-mix(in srgb, var(--surface) 98%, var(--brand) 2%) !important;
    border: 1px solid color-mix(in srgb, var(--line) 80%, var(--brand) 20%) !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .10) !important;
}
.row-edit-details .row-edit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
}
.row-edit-details .row-edit-grid label {
    font-size: .84rem !important;
    font-weight: 850 !important;
}
.row-edit-details .row-edit-grid input,
.row-edit-details .row-edit-grid textarea,
.row-edit-details .row-edit-grid select {
    min-height: 40px !important;
    border-radius: 13px !important;
    box-shadow: none !important;
}
.row-edit-details .row-edit-wide,
.row-edit-details .compact-check {
    grid-column: 1 / -1 !important;
}
.row-edit-details .row-edit-form > .button,
.row-edit-details .row-edit-form > button.button {
    margin-top: 12px !important;
    border-radius: 999px !important;
    min-height: 40px !important;
    padding-inline: 17px !important;
}
.admin-section-title {
    margin: 28px 0 11px !important;
    padding: 0 2px !important;
}
.admin-section-title h2 {
    letter-spacing: -.025em !important;
}
.status-badge {
    border-radius: 999px !important;
    padding: 5px 9px !important;
    font-weight: 850 !important;
}

/* E. General field softening — only form controls, not theme/person icons. */
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
textarea,
select:not([multiple]) {
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease !important;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):focus,
textarea:focus,
select:not([multiple]):focus {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 12%, transparent) !important;
}

/* F. Responsive: admin forms should stack gracefully instead of becoming narrow LEGO bricks. */
@media (max-width: 1180px) {
    .compact-filter-grid { grid-template-columns: repeat(3, minmax(150px, 1fr)) !important; }
    .filter-field-subcategory,
    .filter-price-field { grid-column: span 2 !important; }
    .admin-manage-grid,
    .admin-manage-grid-four { grid-template-columns: repeat(2, minmax(260px, 1fr)) !important; }
}
@media (max-width: 820px) {
    .compact-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .filter-field-subcategory,
    .filter-price-field,
    .filter-sort-field { grid-column: span 2 !important; }
    .admin-manage-grid,
    .admin-manage-grid-four { grid-template-columns: 1fr !important; }
    .actions-cell-wide { min-width: 300px !important; width: 300px !important; }
    .row-edit-details[open] { width: min(430px, calc(100vw - 44px)) !important; }
}
@media (max-width: 560px) {
    .catalog-filter-form { padding: 14px !important; }
    .compact-filter-grid { grid-template-columns: 1fr !important; }
    .filter-field-subcategory,
    .filter-price-field,
    .filter-sort-field { grid-column: auto !important; }
    .filter-price-row { grid-template-columns: 1fr 1fr !important; }
    .filter-panel-actions { justify-content: stretch !important; }
    .filter-panel-actions .button { flex: 1 1 auto !important; }
    .compact-admin-form.form-card { padding: 15px !important; }
    .compact-admin-form .grid.two.compact-grid { grid-template-columns: 1fr !important; align-items: stretch !important; }
    .actions-cell-wide { min-width: 260px !important; width: 260px !important; }
    .row-edit-details[open] { width: min(320px, calc(100vw - 34px)) !important; }
    .row-edit-details .row-edit-grid { grid-template-columns: 1fr !important; }
}

/* G. Dark mode polish. */
html[data-theme="dark"] .home-search-panel,
html[data-theme="dark"] .catalog-filter-drawer,
html[data-theme="dark"] .compact-admin-form.form-card,
html[data-theme="dark"] .row-edit-details .row-edit-form,
html[data-theme="dark"] .admin-category-table tbody tr {
    background: #0f172a !important;
    border-color: #273244 !important;
    box-shadow: none !important;
}
html[data-theme="dark"] .admin-category-table tbody td {
    border-color: #273244 !important;
}
html[data-theme="dark"] .compact-admin-form input,
html[data-theme="dark"] .compact-admin-form textarea,
html[data-theme="dark"] .compact-admin-form select,
html[data-theme="dark"] .catalog-filter-form input,
html[data-theme="dark"] .catalog-filter-form select,
html[data-theme="dark"] .row-edit-details .row-edit-grid input,
html[data-theme="dark"] .row-edit-details .row-edit-grid textarea,
html[data-theme="dark"] .row-edit-details .row-edit-grid select {
    background-color: #111827 !important;
    border-color: #273244 !important;
    color: #e5e7eb !important;
}
html[data-theme="dark"] .compact-admin-form .compact-check,
html[data-theme="dark"] .row-edit-details .compact-check,
html[data-theme="dark"] .actions-cell-wide .link-inline,
html[data-theme="dark"] .row-edit-details > summary {
    background: #111827 !important;
    border-color: #273244 !important;
    color: #dbeafe !important;
}
html[data-theme="dark"] .home-search-trust span,
html[data-theme="dark"] .hero-pills span {
    background: #111827 !important;
    border-color: #273244 !important;
}

/* R4E_ADMIN_TAXONOMY_CART_POLISH_V29_3_5
   Final focused UI fix before handoff/backup.
   Scope: CSS-only. Fixes Admin -> Categories edit dropdown layout, taxonomy create cards,
   header cart button, and keeps select-like dropdown logic clean. */

:root {
    --r4e-admin-popover-shadow: 0 24px 70px rgba(15, 23, 42, .16);
    --r4e-admin-soft-shadow: 0 16px 42px rgba(15, 23, 42, .075);
    --r4e-admin-soft-line: color-mix(in srgb, var(--line) 78%, var(--brand) 22%);
}

/* 1) ADMIN TAXONOMY CREATE CARDS — softer, more mature, less LEGO. */
.admin-manage-grid.admin-manage-grid-four {
    align-items: stretch !important;
    gap: 18px !important;
}
.admin-manage-grid-four .compact-admin-form,
.compact-admin-form {
    border-radius: 24px !important;
    padding: 22px !important;
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--brand) 6%, transparent) 0, transparent 30%),
        linear-gradient(180deg, color-mix(in srgb, var(--surface) 98%, var(--brand) 2%), var(--surface)) !important;
    border: 1px solid color-mix(in srgb, var(--line) 84%, var(--brand) 16%) !important;
    box-shadow: var(--r4e-admin-soft-shadow) !important;
    min-height: 0 !important;
}
.compact-admin-form h2 {
    margin: 0 0 16px !important;
    font-size: 1.25rem !important;
    letter-spacing: -.025em !important;
}
.compact-admin-form form {
    display: grid !important;
    gap: 12px !important;
}
.compact-admin-form label {
    margin: 0 !important;
    gap: 6px !important;
    color: color-mix(in srgb, var(--text) 88%, var(--muted) 12%) !important;
    font-size: .92rem !important;
    font-weight: 820 !important;
}
.compact-admin-form input,
.compact-admin-form select,
.compact-admin-form textarea {
    min-height: 44px !important;
    border-radius: 15px !important;
    border-color: color-mix(in srgb, var(--line) 86%, var(--brand) 14%) !important;
    background: color-mix(in srgb, var(--surface) 97%, var(--brand) 3%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.compact-admin-form textarea { min-height: 92px !important; resize: vertical !important; }
.compact-admin-form .compact-grid {
    display: grid !important;
    grid-template-columns: minmax(90px, .8fr) minmax(150px, 1.2fr) !important;
    gap: 10px !important;
    align-items: end !important;
}
.compact-admin-form .compact-grid > label { margin: 0 !important; }
.compact-admin-form .compact-check,
.row-edit-form .compact-check,
.row-edit-form label.check,
label.check.compact-check {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid color-mix(in srgb, var(--line) 86%, var(--brand) 14%) !important;
    border-radius: 15px !important;
    background: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%) !important;
    box-shadow: none !important;
    line-height: 1.25 !important;
    font-size: .9rem !important;
    text-align: left !important;
}
.compact-admin-form .compact-check input,
.row-edit-form .compact-check input,
.row-edit-form label.check input,
label.check.compact-check input {
    width: 17px !important;
    min-width: 17px !important;
    height: 17px !important;
    min-height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: var(--brand) !important;
}
.compact-admin-form .button {
    justify-self: start !important;
    min-height: 42px !important;
    border-radius: 15px !important;
    padding: 10px 16px !important;
    box-shadow: 0 13px 28px rgba(31, 95, 139, .18) !important;
}

/* 2) ADMIN CATEGORY TABLE — clean rows; edit panel becomes a controlled popover, not a row-breaker. */
.table-scroll {
    overflow: visible !important;
}
.table.admin-category-table,
.admin-category-table {
    overflow: visible !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    background: transparent !important;
    box-shadow: none !important;
    margin-top: 6px !important;
}
.admin-category-table thead th {
    background: transparent !important;
    border: 0 !important;
    padding: 10px 14px !important;
    color: color-mix(in srgb, var(--muted) 88%, var(--text) 12%) !important;
    font-size: .78rem !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}
.admin-category-table tbody tr {
    position: relative !important;
}
.admin-category-table tbody td {
    background: color-mix(in srgb, var(--surface) 98%, var(--brand) 2%) !important;
    border-top: 1px solid color-mix(in srgb, var(--line) 88%, var(--brand) 12%) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 88%, var(--brand) 12%) !important;
    padding: 14px 16px !important;
    vertical-align: middle !important;
}
.admin-category-table tbody td:first-child {
    border-left: 1px solid color-mix(in srgb, var(--line) 88%, var(--brand) 12%) !important;
    border-radius: 18px 0 0 18px !important;
}
.admin-category-table tbody td:last-child {
    border-right: 1px solid color-mix(in srgb, var(--line) 88%, var(--brand) 12%) !important;
    border-radius: 0 18px 18px 0 !important;
}
.admin-category-table tbody tr:hover td {
    background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%) !important;
}
.admin-category-table .status-badge,
.status-badge {
    border-radius: 999px !important;
    padding: 5px 11px !important;
    font-size: .8rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}
.admin-category-table td.actions-cell-wide,
.admin-category-table .actions-cell-wide {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-width: 340px !important;
    overflow: visible !important;
    z-index: 2 !important;
}
.admin-category-table tr:has(.row-edit-details[open]) td.actions-cell-wide,
.admin-category-table .actions-cell-wide:has(.row-edit-details[open]) {
    z-index: 60 !important;
}
.admin-category-table .row-edit-details {
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    z-index: 61 !important;
}
.admin-category-table .row-edit-details > summary,
.admin-category-table .row-edit-details > summary.link-inline {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 14px !important;
    border: 1px solid color-mix(in srgb, var(--line) 78%, var(--brand) 22%) !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 90%, var(--brand) 10%), color-mix(in srgb, var(--surface) 98%, var(--brand) 2%)) !important;
    color: var(--brand-dark) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .055), inset 0 1px 0 rgba(255,255,255,.62) !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    list-style: none !important;
    white-space: nowrap !important;
}
.admin-category-table .row-edit-details > summary::-webkit-details-marker { display: none !important; }
.admin-category-table .row-edit-details > summary::marker { content: "" !important; }
.admin-category-table .row-edit-details > summary::after {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) translateY(-1px) !important;
    transition: transform .16s ease !important;
    margin-left: 2px !important;
}
.admin-category-table .row-edit-details[open] > summary {
    background: linear-gradient(135deg, var(--brand), var(--brand-dark)) !important;
    color: #fff !important;
    border-color: color-mix(in srgb, var(--brand) 75%, #fff 25%) !important;
    box-shadow: 0 14px 30px rgba(31, 95, 139, .24) !important;
}
.admin-category-table .row-edit-details[open] > summary::after {
    transform: rotate(-135deg) translate(-1px, -1px) !important;
}
.admin-category-table .row-edit-form {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    z-index: 80 !important;
    width: min(460px, calc(100vw - 48px)) !important;
    padding: 16px !important;
    border: 1px solid color-mix(in srgb, var(--line) 70%, var(--brand) 30%) !important;
    border-radius: 22px !important;
    background: color-mix(in srgb, var(--surface) 97%, var(--brand) 3%) !important;
    box-shadow: var(--r4e-admin-popover-shadow) !important;
    display: grid !important;
    gap: 12px !important;
}
.admin-category-table .row-edit-form::before {
    content: "" !important;
    position: absolute !important;
    top: -8px !important;
    right: 42px !important;
    width: 14px !important;
    height: 14px !important;
    transform: rotate(45deg) !important;
    background: inherit !important;
    border-left: 1px solid color-mix(in srgb, var(--line) 70%, var(--brand) 30%) !important;
    border-top: 1px solid color-mix(in srgb, var(--line) 70%, var(--brand) 30%) !important;
}
.admin-category-table .row-edit-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 110px !important;
    gap: 11px !important;
    align-items: end !important;
}
.admin-category-table .row-edit-grid label {
    margin: 0 !important;
    gap: 6px !important;
    font-size: .88rem !important;
    font-weight: 850 !important;
}
.admin-category-table .row-edit-grid .row-edit-wide,
.admin-category-table .row-edit-form .row-edit-wide {
    grid-column: 1 / -1 !important;
}
.admin-category-table .row-edit-grid .compact-check,
.admin-category-table .row-edit-form .compact-check {
    grid-column: 1 / -1 !important;
}
.admin-category-table .row-edit-form input,
.admin-category-table .row-edit-form textarea,
.admin-category-table .row-edit-form select {
    min-height: 42px !important;
    border-radius: 14px !important;
    background: var(--surface) !important;
}
.admin-category-table .row-edit-form textarea {
    min-height: 68px !important;
    resize: vertical !important;
}
.admin-category-table .row-edit-form .button.small {
    justify-self: start !important;
    min-height: 39px !important;
    padding: 9px 16px !important;
    border-radius: 14px !important;
}
.admin-category-table .actions-cell-wide > form {
    margin: 0 !important;
    display: inline-flex !important;
}
.admin-category-table .actions-cell-wide .link-inline:not(summary) {
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 13px !important;
    border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%) !important;
    border-radius: 999px !important;
    background: var(--surface) !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, .035) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    font-weight: 850 !important;
}
.admin-category-table .actions-cell-wide .link-inline.danger:not(summary) {
    color: var(--error) !important;
    border-color: color-mix(in srgb, var(--error) 30%, var(--line)) !important;
    background: color-mix(in srgb, #fff 92%, var(--error) 8%) !important;
}
.admin-category-table .actions-cell-wide .link-inline:hover:not(summary),
.admin-category-table .actions-cell-wide .link-inline:focus-visible:not(summary) {
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .065) !important;
    text-decoration: none !important;
}

/* 3) HEADER / CART — more premium, less toy-like. User/profile/theme buttons stay conceptually intact. */
.nav .nav-menu {
    gap: 8px !important;
}
.nav .nav-menu a:not(.button):not(.cart-nav-icon):not(.nav-cta),
.nav .nav-menu .theme-toggle,
.nav .nav-menu .profile-menu summary,
.nav .nav-menu .profile-nav-link {
    border-radius: 999px !important;
}
.nav .nav-menu a.cart-nav-icon,
a.cart-nav-icon,
.nav a[href*="cart"].cart-nav-icon {
    width: 46px !important;
    min-width: 46px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background:
        radial-gradient(circle at 32% 18%, rgba(255,255,255,.85), transparent 32%),
        linear-gradient(180deg, color-mix(in srgb, var(--surface) 82%, var(--brand) 18%), color-mix(in srgb, var(--surface) 96%, var(--brand) 4%)) !important;
    border: 1px solid color-mix(in srgb, var(--brand) 25%, var(--line)) !important;
    color: var(--brand-dark) !important;
    box-shadow: 0 9px 22px rgba(31, 95, 139, .10), inset 0 1px 0 rgba(255,255,255,.78) !important;
    transform: translateZ(0) !important;
}
.nav .nav-menu a.cart-nav-icon:hover,
.nav .nav-menu a.cart-nav-icon:focus-visible,
.nav .nav-menu a.cart-nav-icon.nav-active,
a.cart-nav-icon:hover,
a.cart-nav-icon:focus-visible {
    background:
        radial-gradient(circle at 32% 18%, rgba(255,255,255,.28), transparent 34%),
        linear-gradient(135deg, var(--brand), var(--brand-dark)) !important;
    color: #fff !important;
    border-color: color-mix(in srgb, var(--brand) 72%, #fff 28%) !important;
    box-shadow: 0 16px 34px rgba(31, 95, 139, .24), inset 0 1px 0 rgba(255,255,255,.22) !important;
    transform: translateY(-1px) !important;
}
.cart-icon-wrap {
    width: 25px !important;
    height: 25px !important;
}
.cart-svg {
    width: 24px !important;
    height: 24px !important;
}
.cart-rail,
.cart-body { stroke-width: 2 !important; }
.cart-wheel { stroke-width: 1.9 !important; }
.cart-load { opacity: .16 !important; stroke-width: 1.9 !important; }
.cart-nav-icon.cart-has-items {
    background:
        radial-gradient(circle at 30% 18%, rgba(255,255,255,.30), transparent 34%),
        linear-gradient(135deg, #2563eb, var(--brand-dark)) !important;
    color: #fff !important;
    box-shadow: 0 15px 36px rgba(37, 99, 235, .28), inset 0 1px 0 rgba(255,255,255,.20) !important;
}
.cart-badge {
    top: -5px !important;
    right: -5px !important;
    min-width: 19px !important;
    height: 19px !important;
    padding: 0 5px !important;
    font-size: .68rem !important;
    border-width: 2px !important;
    box-shadow: 0 8px 17px rgba(239, 68, 68, .28) !important;
}
.cart-nav-icon::before,
.cart-nav-icon::after {
    display: none !important;
}

/* 4) SMALL SCREENS / TABLE FALLBACK — popover becomes in-flow when space is limited. */
@media (max-width: 980px) {
    .admin-manage-grid.admin-manage-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .admin-category-table td.actions-cell-wide,
    .admin-category-table .actions-cell-wide { min-width: 300px !important; }
}
@media (max-width: 720px) {
    .admin-manage-grid.admin-manage-grid-four { grid-template-columns: 1fr !important; }
    .compact-admin-form .compact-grid { grid-template-columns: 1fr !important; }
    .admin-category-table .row-edit-form {
        position: static !important;
        width: min(360px, 100%) !important;
        margin-top: 10px !important;
        box-shadow: 0 16px 42px rgba(15, 23, 42, .12) !important;
    }
    .admin-category-table .row-edit-form::before { display: none !important; }
    .admin-category-table .actions-cell-wide {
        display: grid !important;
        grid-template-columns: 1fr !important;
        min-width: 260px !important;
    }
    .admin-category-table .row-edit-grid { grid-template-columns: 1fr !important; }
}

/* 5) DARK MODE COMPATIBILITY. */
html[data-theme="dark"] .compact-admin-form,
html[data-theme="dark"] .admin-category-table tbody td,
html[data-theme="dark"] .admin-category-table .row-edit-form {
    background: color-mix(in srgb, var(--surface) 95%, var(--brand) 5%) !important;
    border-color: color-mix(in srgb, var(--line) 74%, var(--brand) 26%) !important;
}
html[data-theme="dark"] .compact-admin-form input,
html[data-theme="dark"] .compact-admin-form select,
html[data-theme="dark"] .compact-admin-form textarea,
html[data-theme="dark"] .admin-category-table .row-edit-form input,
html[data-theme="dark"] .admin-category-table .row-edit-form textarea,
html[data-theme="dark"] .admin-category-table .row-edit-form select {
    background: color-mix(in srgb, var(--surface) 96%, #000 4%) !important;
}
html[data-theme="dark"] .compact-admin-form .compact-check,
html[data-theme="dark"] .row-edit-form .compact-check,
html[data-theme="dark"] label.check.compact-check {
    background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%) !important;
    border-color: color-mix(in srgb, var(--line) 70%, var(--brand) 30%) !important;
}
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon,
html[data-theme="dark"] a.cart-nav-icon {
    background: linear-gradient(180deg, rgba(96,165,250,.16), rgba(96,165,250,.08)) !important;
    border-color: rgba(96,165,250,.26) !important;
    color: #dbeafe !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon:hover,
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon:focus-visible,
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon.nav-active {
    background: linear-gradient(135deg, #2563eb, var(--brand-dark)) !important;
    color: #fff !important;
}
html[data-theme="dark"] .cart-badge { border-color: #111827 !important; }

/* R4E V29.3.6 HEADER CART + BUTTON SYSTEM SOFT POLISH
   Goal: turn the header cart into a refined pill action and soften the main button system.
   CSS-only. No SQL. No PHP business logic changes. */

:root {
    --r4e-action-shadow: 0 10px 24px rgba(31, 95, 139, .14);
    --r4e-action-shadow-hover: 0 16px 34px rgba(31, 95, 139, .20);
    --r4e-soft-button-bg: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%);
    --r4e-soft-button-border: color-mix(in srgb, var(--line) 76%, var(--brand) 24%);
}

/* 1) Header action cluster: calmer spacing, aligned controls. */
.nav .nav-menu {
    align-items: center !important;
    gap: 9px !important;
}
.nav .nav-menu .theme-toggle,
.nav .nav-menu .profile-nav-link,
.nav .nav-menu .profile-menu summary {
    min-height: 40px !important;
    border-radius: 999px !important;
}

/* 2) Cart becomes a premium pill action: icon + label + compact count. */
.nav .nav-menu a.cart-nav-icon,
a.cart-nav-icon,
.nav a[href*="cart"].cart-nav-icon {
    width: auto !important;
    min-width: 126px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 12px 0 11px !important;
    gap: 8px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    isolation: isolate !important;
    background:
        radial-gradient(circle at 20% 18%, rgba(255,255,255,.78), transparent 30%),
        linear-gradient(180deg, color-mix(in srgb, var(--surface) 88%, var(--brand) 12%), color-mix(in srgb, var(--surface) 97%, var(--brand) 3%)) !important;
    border: 1px solid color-mix(in srgb, var(--brand) 27%, var(--line)) !important;
    color: var(--brand-dark) !important;
    box-shadow: 0 9px 22px rgba(31, 95, 139, .10), inset 0 1px 0 rgba(255,255,255,.74) !important;
    letter-spacing: -.005em !important;
}
.nav .nav-menu a.cart-nav-icon::before,
a.cart-nav-icon::before {
    content: "Кошница" !important;
    order: 2 !important;
    display: inline-flex !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    color: currentColor !important;
    box-shadow: none !important;
    pointer-events: none !important;
    white-space: nowrap !important;
    font-size: .9rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
.nav .nav-menu a.cart-nav-icon::after,
a.cart-nav-icon::after,
.nav .nav-menu a.cart-nav-icon:hover::after,
.nav .nav-menu a.cart-nav-icon:focus-visible::after,
a.cart-nav-icon:hover::after,
a.cart-nav-icon:focus-visible::after {
    content: none !important;
    display: none !important;
}
.cart-icon-wrap {
    order: 1 !important;
    width: 23px !important;
    height: 23px !important;
    flex: 0 0 auto !important;
}
.cart-svg {
    width: 23px !important;
    height: 23px !important;
}
.cart-badge {
    order: 3 !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    min-width: 22px !important;
    height: 22px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--brand) 22%, #fff) !important;
    background: color-mix(in srgb, var(--brand) 12%, #fff 88%) !important;
    color: var(--brand-dark) !important;
    box-shadow: none !important;
    font-size: .76rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
}
.cart-nav-icon.cart-has-items,
.nav .nav-menu a.cart-nav-icon.cart-has-items {
    background:
        radial-gradient(circle at 22% 18%, rgba(255,255,255,.32), transparent 32%),
        linear-gradient(135deg, #2563eb, var(--brand-dark)) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.30) !important;
    box-shadow: 0 14px 32px rgba(37, 99, 235, .25), inset 0 1px 0 rgba(255,255,255,.20) !important;
}
.cart-nav-icon.cart-has-items .cart-badge {
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.36) !important;
}
.cart-nav-icon.cart-has-items .cart-badge::after {
    display: none !important;
    animation: none !important;
}
.nav .nav-menu a.cart-nav-icon:hover,
.nav .nav-menu a.cart-nav-icon:focus-visible,
.nav .nav-menu a.cart-nav-icon.nav-active,
a.cart-nav-icon:hover,
a.cart-nav-icon:focus-visible {
    background:
        radial-gradient(circle at 22% 18%, rgba(255,255,255,.26), transparent 33%),
        linear-gradient(135deg, var(--brand), var(--brand-dark)) !important;
    color: #fff !important;
    border-color: color-mix(in srgb, var(--brand) 65%, #fff 35%) !important;
    box-shadow: var(--r4e-action-shadow-hover), inset 0 1px 0 rgba(255,255,255,.18) !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
}
.nav .nav-menu a.cart-nav-icon:hover .cart-badge,
.nav .nav-menu a.cart-nav-icon:focus-visible .cart-badge,
a.cart-nav-icon:hover .cart-badge,
a.cart-nav-icon:focus-visible .cart-badge {
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.34) !important;
}

/* 3) Button system: softer premium actions without changing behavior. */
.button,
button.button {
    min-height: 42px !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    font-weight: 850 !important;
    letter-spacing: .002em !important;
    box-shadow: var(--r4e-action-shadow) !important;
}
.button:hover,
button.button:hover,
.button:focus-visible,
button.button:focus-visible {
    transform: translateY(-1px) !important;
    box-shadow: var(--r4e-action-shadow-hover) !important;
    text-decoration: none !important;
}
.button.secondary,
button.button.secondary,
.button.ghost {
    background: var(--r4e-soft-button-bg) !important;
    color: var(--brand-dark) !important;
    border: 1px solid var(--r4e-soft-button-border) !important;
    box-shadow: 0 8px 20px rgba(31, 41, 51, .055) !important;
}
.button.secondary:hover,
button.button.secondary:hover,
.button.ghost:hover,
.button.secondary:focus-visible,
button.button.secondary:focus-visible,
.button.ghost:focus-visible {
    background: color-mix(in srgb, var(--surface) 86%, var(--brand) 14%) !important;
    color: var(--brand-dark) !important;
    border-color: color-mix(in srgb, var(--brand) 42%, var(--line)) !important;
    box-shadow: 0 12px 26px rgba(31, 41, 51, .075) !important;
}
.button.small,
button.button.small,
.nav .nav-menu a.button.small {
    min-height: 36px !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    font-size: .86rem !important;
}
.button.full {
    width: 100% !important;
}

/* 4) Home/catalog CTA rhythm. */
.hero .actions .button,
.hero-actions-clean .button,
.custom-request-promo .button,
.custom-request-soft .button,
.home-search-form .button,
.catalog-search-form .button {
    min-height: 46px !important;
    padding-inline: 22px !important;
}
.card-foot .button.small,
.material-card .card-foot .button.small,
.catalog-results-wide .material-card .card-foot .button.small,
.home-material-card .card-foot .button.small {
    min-height: 38px !important;
    padding: 8px 15px !important;
    border-radius: 999px !important;
}
.card-foot {
    gap: 11px !important;
}

/* 5) Admin buttons stay compact and service-like, not oversized. */
.is-admin-route .actions-cell .link-inline,
.is-admin-route .actions-cell a,
.admin-category-table .actions-cell-wide .link-inline:not(summary),
.admin-category-table .row-edit-details > summary {
    min-height: 34px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}
.is-admin-route .button.small,
.is-admin-route button.button.small,
.admin-category-table .row-edit-form .button.small {
    min-height: 34px !important;
    padding: 7px 13px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

/* 6) Dark mode compatibility. */
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon,
html[data-theme="dark"] a.cart-nav-icon {
    background: linear-gradient(180deg, rgba(96,165,250,.16), rgba(96,165,250,.08)) !important;
    border-color: rgba(96,165,250,.28) !important;
    color: #dbeafe !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon:hover,
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon:focus-visible,
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon.nav-active,
html[data-theme="dark"] a.cart-nav-icon:hover,
html[data-theme="dark"] a.cart-nav-icon:focus-visible {
    background: linear-gradient(135deg, #2563eb, var(--brand-dark)) !important;
    color: #fff !important;
    border-color: rgba(147,197,253,.42) !important;
}
html[data-theme="dark"] .cart-badge {
    background: rgba(96,165,250,.16) !important;
    color: #dbeafe !important;
    border-color: rgba(147,197,253,.26) !important;
}
html[data-theme="dark"] .cart-nav-icon:hover .cart-badge,
html[data-theme="dark"] .cart-nav-icon:focus-visible .cart-badge,
html[data-theme="dark"] .cart-nav-icon.cart-has-items .cart-badge {
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.34) !important;
}
html[data-theme="dark"] .button.secondary,
html[data-theme="dark"] button.button.secondary,
html[data-theme="dark"] .button.ghost {
    background: rgba(17,24,39,.78) !important;
    color: #dbeafe !important;
    border-color: rgba(96,165,250,.28) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] .button.secondary:hover,
html[data-theme="dark"] button.button.secondary:hover,
html[data-theme="dark"] .button.ghost:hover,
html[data-theme="dark"] .button.secondary:focus-visible,
html[data-theme="dark"] button.button.secondary:focus-visible,
html[data-theme="dark"] .button.ghost:focus-visible {
    background: rgba(30,41,59,.94) !important;
    color: #dbeafe !important;
    border-color: rgba(96,165,250,.42) !important;
}

/* 7) Responsive: keep the cart readable but not disruptive. */
@media (max-width: 720px) {
    .nav .nav-menu {
        gap: 7px !important;
    }
    .nav .nav-menu a.cart-nav-icon,
    a.cart-nav-icon {
        min-width: 114px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding-inline: 10px !important;
    }
    .nav .nav-menu a.cart-nav-icon::before,
    a.cart-nav-icon::before {
        font-size: .86rem !important;
    }
    .cart-icon-wrap { width: 22px !important; height: 22px !important; }
    .cart-svg { width: 22px !important; height: 22px !important; }
}
@media (max-width: 420px) {
    .nav .nav-menu a.cart-nav-icon,
    a.cart-nav-icon {
        min-width: 106px !important;
        padding-inline: 9px !important;
        gap: 6px !important;
    }
    .nav .nav-menu a.cart-nav-icon::before,
    a.cart-nav-icon::before {
        font-size: .82rem !important;
    }
    .cart-badge {
        min-width: 20px !important;
        height: 20px !important;
        padding-inline: 6px !important;
        font-size: .72rem !important;
    }
}

/* R4E V29.3.7 UNIFIED HEADER BUTTON FAMILY POLISH
   Goal: make header actions, public CTA buttons, profile controls, theme toggle and cart feel like one finished UI family.
   UX decision: cart label is "Количка" for consistency with the existing /kolichka route and cart page.
   UX decision: logout belongs in the profile menu, not as a loud separate primary header action.
   CSS-only. No SQL. No PHP business logic changes. */

:root {
    --r4e-pill-bg: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
    --r4e-pill-bg-hover: color-mix(in srgb, var(--surface) 84%, var(--brand) 16%);
    --r4e-pill-border: color-mix(in srgb, var(--line) 72%, var(--brand) 28%);
    --r4e-pill-shadow: 0 9px 22px rgba(31, 95, 139, .10);
    --r4e-pill-shadow-hover: 0 15px 34px rgba(31, 95, 139, .18);
    --r4e-pill-radius: 999px;
}

/* 1) Header action family: all header controls now share one visual language. */
.nav .nav-menu {
    align-items: center !important;
    gap: 8px !important;
}
.nav .nav-menu > a:not(.cart-nav-icon),
.nav .nav-menu .theme-toggle,
.nav .nav-menu .profile-nav-link,
.nav .nav-menu .profile-menu summary {
    min-height: 40px !important;
    border-radius: var(--r4e-pill-radius) !important;
    border: 1px solid var(--r4e-pill-border) !important;
    background:
        radial-gradient(circle at 18% 16%, rgba(255,255,255,.72), transparent 32%),
        linear-gradient(180deg, var(--r4e-pill-bg), color-mix(in srgb, var(--surface) 98%, var(--brand) 2%)) !important;
    color: var(--text) !important;
    box-shadow: var(--r4e-pill-shadow), inset 0 1px 0 rgba(255,255,255,.58) !important;
    text-decoration: none !important;
}
.nav .nav-menu > a:not(.cart-nav-icon):hover,
.nav .nav-menu > a:not(.cart-nav-icon):focus-visible,
.nav .nav-menu .theme-toggle:hover,
.nav .nav-menu .theme-toggle:focus-visible,
.nav .nav-menu .profile-nav-link:hover,
.nav .nav-menu .profile-nav-link:focus-visible,
.nav .nav-menu .profile-menu summary:hover,
.nav .nav-menu .profile-menu summary:focus-visible,
.nav .nav-menu .profile-menu[open] summary {
    background:
        radial-gradient(circle at 18% 16%, rgba(255,255,255,.64), transparent 33%),
        linear-gradient(180deg, var(--r4e-pill-bg-hover), color-mix(in srgb, var(--surface) 94%, var(--brand) 6%)) !important;
    border-color: color-mix(in srgb, var(--brand) 44%, var(--line)) !important;
    color: var(--brand-dark) !important;
    box-shadow: var(--r4e-pill-shadow-hover), inset 0 1px 0 rgba(255,255,255,.58) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
}
.nav .nav-menu > a.nav-active:not(.cart-nav-icon),
.nav .nav-menu .profile-nav-link.nav-active,
.nav .nav-menu .profile-menu.nav-active summary {
    background: color-mix(in srgb, var(--surface) 82%, var(--brand) 18%) !important;
    border-color: color-mix(in srgb, var(--brand) 48%, var(--line)) !important;
    color: var(--brand-dark) !important;
    box-shadow: 0 10px 24px rgba(31,95,139,.12), inset 0 0 0 1px rgba(255,255,255,.45) !important;
}

/* Theme is an icon action, visually aligned with the same family but still compact. */
.nav .nav-menu .theme-toggle,
.theme-toggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
}
.theme-toggle:hover::after,
.theme-toggle:focus-visible::after {
    border-radius: 13px !important;
    font-size: .82rem !important;
}

/* Profile / login / registration should be clear but calmer than the cart. */
.nav .nav-menu .profile-nav-link,
.nav .nav-menu .profile-menu summary,
.nav .nav-menu a[href*="/login"],
.nav .nav-menu a[href*="?route=login"],
.nav .nav-menu a[href*="/register"],
.nav .nav-menu a[href*="?route=register"] {
    font-weight: 850 !important;
    padding-inline: 13px !important;
}
.profile-menu-panel {
    border-radius: 20px !important;
    padding: 9px !important;
    box-shadow: 0 22px 52px rgba(31, 41, 51, .18) !important;
}
.nav .nav-menu .profile-menu-panel a {
    min-height: 40px !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}
/* If a logout item exists in the profile panel, keep it as a quiet final action, not a loud CTA. */
.profile-menu-panel a[href*="logout"],
.profile-menu-panel a[href*="route=logout"] {
    color: var(--muted) !important;
    border-top: 1px solid color-mix(in srgb, var(--line) 82%, transparent) !important;
    margin-top: 4px !important;
}
.profile-menu-panel a[href*="logout"]:hover,
.profile-menu-panel a[href*="route=logout"]:hover {
    color: var(--error) !important;
    background: color-mix(in srgb, var(--surface) 92%, var(--error) 8%) !important;
}

/* 2) Cart is the strongest header action. It stays in the same family but gets more weight. */
.nav .nav-menu a.cart-nav-icon,
a.cart-nav-icon,
.nav a[href*="cart"].cart-nav-icon {
    width: auto !important;
    min-width: 124px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 13px 0 11px !important;
    gap: 8px !important;
    border-radius: var(--r4e-pill-radius) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    isolation: isolate !important;
    background:
        radial-gradient(circle at 20% 18%, rgba(255,255,255,.78), transparent 30%),
        linear-gradient(180deg, color-mix(in srgb, var(--surface) 84%, var(--brand) 16%), color-mix(in srgb, var(--surface) 96%, var(--brand) 4%)) !important;
    border: 1px solid color-mix(in srgb, var(--brand) 34%, var(--line)) !important;
    color: var(--brand-dark) !important;
    box-shadow: 0 11px 26px rgba(31, 95, 139, .14), inset 0 1px 0 rgba(255,255,255,.72) !important;
    letter-spacing: -.005em !important;
    text-decoration: none !important;
}
.nav .nav-menu a.cart-nav-icon::before,
a.cart-nav-icon::before {
    content: "Количка" !important;
    order: 2 !important;
    display: inline-flex !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    color: currentColor !important;
    box-shadow: none !important;
    pointer-events: none !important;
    white-space: nowrap !important;
    font-size: .9rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}
.nav .nav-menu a.cart-nav-icon::after,
a.cart-nav-icon::after,
.nav .nav-menu a.cart-nav-icon:hover::after,
.nav .nav-menu a.cart-nav-icon:focus-visible::after,
a.cart-nav-icon:hover::after,
a.cart-nav-icon:focus-visible::after,
.cart-nav-icon:hover::before,
.cart-nav-icon:focus-visible::before {
    display: none !important;
}
.cart-icon-wrap {
    order: 1 !important;
    width: 23px !important;
    height: 23px !important;
    flex: 0 0 auto !important;
}
.cart-svg {
    width: 23px !important;
    height: 23px !important;
}
.cart-badge {
    order: 3 !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    min-width: 22px !important;
    height: 22px !important;
    padding: 0 7px !important;
    border-radius: var(--r4e-pill-radius) !important;
    border: 1px solid color-mix(in srgb, var(--brand) 24%, #fff) !important;
    background: rgba(255,255,255,.70) !important;
    color: var(--brand-dark) !important;
    box-shadow: none !important;
    font-size: .76rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
}
.cart-nav-icon.cart-has-items,
.nav .nav-menu a.cart-nav-icon.cart-has-items,
.nav .nav-menu a.cart-nav-icon:hover,
.nav .nav-menu a.cart-nav-icon:focus-visible,
.nav .nav-menu a.cart-nav-icon.nav-active,
a.cart-nav-icon:hover,
a.cart-nav-icon:focus-visible {
    background:
        radial-gradient(circle at 22% 18%, rgba(255,255,255,.28), transparent 33%),
        linear-gradient(135deg, var(--brand), var(--brand-dark)) !important;
    color: #fff !important;
    border-color: color-mix(in srgb, var(--brand) 60%, #fff 40%) !important;
    box-shadow: 0 17px 38px rgba(31, 95, 139, .24), inset 0 1px 0 rgba(255,255,255,.20) !important;
    transform: translateY(-1px) !important;
}
.cart-nav-icon.cart-has-items .cart-badge,
.nav .nav-menu a.cart-nav-icon:hover .cart-badge,
.nav .nav-menu a.cart-nav-icon:focus-visible .cart-badge,
a.cart-nav-icon:hover .cart-badge,
a.cart-nav-icon:focus-visible .cart-badge {
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.34) !important;
}
.cart-nav-icon.cart-has-items .cart-badge::after {
    display: none !important;
    animation: none !important;
}

/* 3) Public button family: same completed style, preserved hierarchy. */
.button,
button.button,
input[type="submit"].button {
    min-height: 42px !important;
    border-radius: var(--r4e-pill-radius) !important;
    padding: 10px 18px !important;
    font-weight: 850 !important;
    letter-spacing: .002em !important;
    box-shadow: 0 10px 24px rgba(31, 95, 139, .14) !important;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease, color .16s ease !important;
}
.button:hover,
button.button:hover,
input[type="submit"].button:hover,
.button:focus-visible,
button.button:focus-visible {
    transform: translateY(-1px) !important;
    box-shadow: 0 16px 34px rgba(31, 95, 139, .20) !important;
    text-decoration: none !important;
}
.button.secondary,
button.button.secondary,
.button.ghost,
button.button.ghost {
    background:
        radial-gradient(circle at 16% 14%, rgba(255,255,255,.72), transparent 30%),
        linear-gradient(180deg, var(--r4e-pill-bg), color-mix(in srgb, var(--surface) 98%, var(--brand) 2%)) !important;
    color: var(--brand-dark) !important;
    border: 1px solid var(--r4e-pill-border) !important;
    box-shadow: var(--r4e-pill-shadow), inset 0 1px 0 rgba(255,255,255,.58) !important;
}
.button.secondary:hover,
button.button.secondary:hover,
.button.ghost:hover,
button.button.ghost:hover,
.button.secondary:focus-visible,
button.button.secondary:focus-visible,
.button.ghost:focus-visible,
button.button.ghost:focus-visible {
    background:
        radial-gradient(circle at 16% 14%, rgba(255,255,255,.64), transparent 33%),
        linear-gradient(180deg, var(--r4e-pill-bg-hover), color-mix(in srgb, var(--surface) 94%, var(--brand) 6%)) !important;
    color: var(--brand-dark) !important;
    border-color: color-mix(in srgb, var(--brand) 44%, var(--line)) !important;
    box-shadow: var(--r4e-pill-shadow-hover), inset 0 1px 0 rgba(255,255,255,.56) !important;
}
.button.small,
button.button.small,
.nav .nav-menu a.button.small {
    min-height: 36px !important;
    padding: 8px 14px !important;
    border-radius: var(--r4e-pill-radius) !important;
    font-size: .86rem !important;
}
.hero .actions .button,
.hero-actions-clean .button,
.custom-request-promo .button,
.custom-request-soft .button,
.home-search-form .button,
.catalog-search-form .button,
.filter-panel-actions-inline .button,
.filter-panel-actions .button,
.cart-summary .button,
.purchase-box .button {
    border-radius: var(--r4e-pill-radius) !important;
}
.card-foot .button.small,
.material-card .card-foot .button.small,
.catalog-results-wide .material-card .card-foot .button.small,
.home-material-card .card-foot .button.small {
    min-height: 38px !important;
    padding: 8px 15px !important;
    border-radius: var(--r4e-pill-radius) !important;
}
.card-foot { gap: 11px !important; }

/* 4) Admin buttons: same family, reduced volume, no table bloat. */
.is-admin-route .actions-cell .link-inline,
.is-admin-route .actions-cell a,
.admin-category-table .actions-cell-wide .link-inline:not(summary),
.admin-category-table .row-edit-details > summary {
    min-height: 32px !important;
    padding: 6px 10px !important;
    border-radius: var(--r4e-pill-radius) !important;
    border: 1px solid color-mix(in srgb, var(--brand) 24%, var(--line)) !important;
    background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%) !important;
    color: var(--brand-dark) !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.is-admin-route .actions-cell .link-inline:hover,
.is-admin-route .actions-cell a:hover,
.admin-category-table .actions-cell-wide .link-inline:not(summary):hover,
.admin-category-table .row-edit-details > summary:hover {
    background: color-mix(in srgb, var(--surface) 86%, var(--brand) 14%) !important;
    border-color: color-mix(in srgb, var(--brand) 42%, var(--line)) !important;
    transform: translateY(-1px) !important;
}
.is-admin-route .actions-cell .link-inline.danger,
.is-admin-route .actions-cell a.danger,
.link-inline.danger,
.link-button.danger {
    color: var(--error) !important;
    border-color: color-mix(in srgb, var(--error) 42%, var(--line)) !important;
    background: color-mix(in srgb, var(--surface) 94%, var(--error) 6%) !important;
}
.is-admin-route .actions-cell .link-inline.danger:hover,
.is-admin-route .actions-cell a.danger:hover,
.link-inline.danger:hover,
.link-button.danger:hover {
    background: color-mix(in srgb, var(--surface) 88%, var(--error) 12%) !important;
}
.is-admin-route .button.small,
.is-admin-route button.button.small,
.admin-category-table .row-edit-form .button.small {
    min-height: 32px !important;
    padding: 6px 12px !important;
    border-radius: var(--r4e-pill-radius) !important;
    box-shadow: none !important;
}

/* 5) Dark mode: same language, no bright white pills. */
html[data-theme="dark"] {
    --r4e-pill-bg: rgba(96,165,250,.12);
    --r4e-pill-bg-hover: rgba(96,165,250,.18);
    --r4e-pill-border: rgba(96,165,250,.25);
    --r4e-pill-shadow: 0 10px 24px rgba(0,0,0,.20);
    --r4e-pill-shadow-hover: 0 16px 34px rgba(0,0,0,.28);
}
html[data-theme="dark"] .nav .nav-menu > a:not(.cart-nav-icon),
html[data-theme="dark"] .nav .nav-menu .theme-toggle,
html[data-theme="dark"] .nav .nav-menu .profile-nav-link,
html[data-theme="dark"] .nav .nav-menu .profile-menu summary,
html[data-theme="dark"] .button.secondary,
html[data-theme="dark"] button.button.secondary,
html[data-theme="dark"] .button.ghost,
html[data-theme="dark"] button.button.ghost {
    background: linear-gradient(180deg, rgba(96,165,250,.13), rgba(96,165,250,.07)) !important;
    border-color: rgba(96,165,250,.25) !important;
    color: #dbeafe !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
html[data-theme="dark"] .nav .nav-menu > a:not(.cart-nav-icon):hover,
html[data-theme="dark"] .nav .nav-menu .theme-toggle:hover,
html[data-theme="dark"] .nav .nav-menu .profile-nav-link:hover,
html[data-theme="dark"] .nav .nav-menu .profile-menu summary:hover,
html[data-theme="dark"] .nav .nav-menu .profile-menu[open] summary,
html[data-theme="dark"] .button.secondary:hover,
html[data-theme="dark"] button.button.secondary:hover,
html[data-theme="dark"] .button.ghost:hover,
html[data-theme="dark"] button.button.ghost:hover {
    background: linear-gradient(180deg, rgba(96,165,250,.20), rgba(96,165,250,.11)) !important;
    border-color: rgba(147,197,253,.36) !important;
    color: #dbeafe !important;
}
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon,
html[data-theme="dark"] a.cart-nav-icon {
    background: linear-gradient(180deg, rgba(96,165,250,.18), rgba(96,165,250,.09)) !important;
    border-color: rgba(96,165,250,.32) !important;
    color: #dbeafe !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
html[data-theme="dark"] .cart-nav-icon.cart-has-items,
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon:hover,
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon:focus-visible,
html[data-theme="dark"] .nav .nav-menu a.cart-nav-icon.nav-active,
html[data-theme="dark"] a.cart-nav-icon:hover,
html[data-theme="dark"] a.cart-nav-icon:focus-visible {
    background: linear-gradient(135deg, #2563eb, var(--brand-dark)) !important;
    color: #fff !important;
    border-color: rgba(147,197,253,.44) !important;
}
html[data-theme="dark"] .cart-badge {
    background: rgba(96,165,250,.16) !important;
    color: #dbeafe !important;
    border-color: rgba(147,197,253,.26) !important;
}
html[data-theme="dark"] .cart-nav-icon.cart-has-items .cart-badge,
html[data-theme="dark"] .cart-nav-icon:hover .cart-badge,
html[data-theme="dark"] .cart-nav-icon:focus-visible .cart-badge {
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.34) !important;
}
html[data-theme="dark"] .profile-menu-panel a[href*="logout"]:hover,
html[data-theme="dark"] .profile-menu-panel a[href*="route=logout"]:hover {
    background: rgba(248,113,113,.10) !important;
    color: #fecaca !important;
}
html[data-theme="dark"] .is-admin-route .actions-cell .link-inline,
html[data-theme="dark"] .is-admin-route .actions-cell a,
html[data-theme="dark"] .admin-category-table .actions-cell-wide .link-inline:not(summary),
html[data-theme="dark"] .admin-category-table .row-edit-details > summary {
    background: rgba(96,165,250,.10) !important;
    border-color: rgba(96,165,250,.22) !important;
    color: #dbeafe !important;
}
html[data-theme="dark"] .is-admin-route .actions-cell .link-inline.danger,
html[data-theme="dark"] .is-admin-route .actions-cell a.danger,
html[data-theme="dark"] .link-inline.danger,
html[data-theme="dark"] .link-button.danger {
    background: rgba(248,113,113,.09) !important;
    border-color: rgba(248,113,113,.26) !important;
    color: #fecaca !important;
}

/* 6) Mobile: keep header controls readable without overcrowding. */
@media (max-width: 720px) {
    .nav .nav-menu { gap: 7px !important; }
    .nav .nav-menu .theme-toggle,
    .theme-toggle {
        width: 40px !important;
        min-width: 40px !important;
        height: 38px !important;
        min-height: 38px !important;
    }
    .nav .nav-menu a.cart-nav-icon,
    a.cart-nav-icon {
        min-width: 112px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding-inline: 10px !important;
    }
    .nav .nav-menu a.cart-nav-icon::before,
    a.cart-nav-icon::before { font-size: .86rem !important; }
    .cart-icon-wrap { width: 22px !important; height: 22px !important; }
    .cart-svg { width: 22px !important; height: 22px !important; }
}
@media (max-width: 480px) {
    .nav .nav-menu > a:not(.cart-nav-icon),
    .nav .nav-menu .profile-nav-link,
    .nav .nav-menu .profile-menu summary {
        min-height: 38px !important;
        padding-inline: 10px !important;
        font-size: .88rem !important;
    }
    .nav .nav-menu a.cart-nav-icon,
    a.cart-nav-icon {
        min-width: 104px !important;
        padding-inline: 9px !important;
        gap: 6px !important;
    }
    .nav .nav-menu a.cart-nav-icon::before,
    a.cart-nav-icon::before { font-size: .82rem !important; }
    .cart-badge {
        min-width: 20px !important;
        height: 20px !important;
        padding-inline: 6px !important;
        font-size: .72rem !important;
    }
}

/* R4E V29.3.8 AUTH ENTRY UX SIMPLIFICATION */
/* R4E V29.3.8 AUTH ENTRY UX SIMPLIFICATION
   UX decision: guest header shows a single direct "Вход" action.
   Registration stays as a clear helper link under the login form.
   Logged-in users keep "Моят профил" as the place for profile, settings, orders and logout.
   CSS fallback included for deployments where app/helpers.php markup differs. */

/* Guest auth fallback: if a separate registration link still exists in the header, hide it there only. */
.nav .nav-menu > a[href*="/register"],
.nav .nav-menu > a[href*="?route=register"],
.nav .nav-menu > a[href$="register"],
.nav .nav-menu .profile-menu-panel a[href*="/register"],
.nav .nav-menu .profile-menu-panel a[href*="?route=register"],
.nav .nav-menu .profile-menu-panel a[href$="register"] {
    display: none !important;
}

/* If older helper markup still renders a guest dropdown containing login/register,
   make its summary visually read as a single login entry. The installer normally
   replaces this with a direct link; this is only a visual safety net. */
.nav .nav-menu .profile-menu:has(.profile-menu-panel a[href*="register"]) summary {
    font-size: 0 !important;
    gap: 0 !important;
}
.nav .nav-menu .profile-menu:has(.profile-menu-panel a[href*="register"]) summary::before {
    content: "👤 Вход";
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .94rem;
    font-weight: 900;
    line-height: 1;
}
.nav .nav-menu .profile-menu:has(.profile-menu-panel a[href*="register"]) summary::after {
    display: none !important;
}

/* Direct login header action: same button family as V29.3.7, but calmer than the cart. */
.nav .nav-menu .auth-login-direct,
.nav .nav-menu a[href*="/login"].auth-login-direct,
.nav .nav-menu a[href*="?route=login"].auth-login-direct {
    min-height: 40px !important;
    padding-inline: 14px !important;
    border-radius: 999px !important;
    font-weight: 900 !important;
    letter-spacing: -.005em !important;
    white-space: nowrap !important;
}
.nav .nav-menu .auth-login-direct.nav-active {
    color: var(--brand-dark) !important;
}

/* Login/register page cross-links: make the intended next step obvious without
   keeping registration as a noisy permanent header action. */
.auth-switch-v16,
.auth-switch-v2938 {
    margin: 16px auto 0 !important;
    padding: 13px 14px !important;
    max-width: 430px;
    border: 1px solid color-mix(in srgb, var(--line) 76%, var(--brand) 24%);
    border-radius: 16px;
    background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%);
    color: var(--muted);
    text-align: center;
    font-weight: 750;
    box-shadow: 0 10px 26px rgba(31, 41, 51, .045);
}
.auth-switch-v16 a,
.auth-switch-v2938 a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    margin-left: 4px;
    padding: 5px 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 86%, var(--brand) 14%);
    border: 1px solid color-mix(in srgb, var(--brand) 30%, var(--line));
    color: var(--brand-dark) !important;
    font-weight: 950;
    text-decoration: none !important;
}
.auth-switch-v16 a:hover,
.auth-switch-v2938 a:hover,
.auth-switch-v16 a:focus-visible,
.auth-switch-v2938 a:focus-visible {
    background: var(--brand);
    color: #fff !important;
    border-color: var(--brand);
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(31, 95, 139, .16);
}
.auth-links-v16 a[href*="forgot"],
.auth-links-v16 a[href*="zabravena-parola"],
.auth-links-v16 a[href*="forgot.password"] {
    font-weight: 850;
}

/* Logout stays quiet inside profile, not a separate loud header CTA. */
.profile-menu-panel a[href*="logout"],
.profile-menu-panel a[href*="route=logout"] {
    color: var(--muted) !important;
    font-weight: 850 !important;
}
.profile-menu-panel a[href*="logout"]::before,
.profile-menu-panel a[href*="route=logout"]::before {
    content: "↪ ";
    opacity: .75;
}

html[data-theme="dark"] .auth-switch-v16,
html[data-theme="dark"] .auth-switch-v2938 {
    background: color-mix(in srgb, var(--surface) 90%, var(--brand) 10%);
    border-color: rgba(96,165,250,.24);
    box-shadow: none;
}
html[data-theme="dark"] .auth-switch-v16 a,
html[data-theme="dark"] .auth-switch-v2938 a {
    background: rgba(96,165,250,.12);
    border-color: rgba(96,165,250,.30);
    color: #dbeafe !important;
}
html[data-theme="dark"] .auth-switch-v16 a:hover,
html[data-theme="dark"] .auth-switch-v2938 a:hover,
html[data-theme="dark"] .auth-switch-v16 a:focus-visible,
html[data-theme="dark"] .auth-switch-v2938 a:focus-visible {
    background: #60a5fa;
    border-color: #60a5fa;
    color: #08111f !important;
}

@media (max-width: 560px) {
    .auth-switch-v16,
    .auth-switch-v2938 {
        display: grid;
        gap: 8px;
        padding: 12px !important;
    }
    .auth-switch-v16 a,
    .auth-switch-v2938 a {
        width: 100%;
        margin-left: 0;
    }
}

/* R4E V29.3.9 AUTH ICON + HEADER SIZE POLISH */
/* R4E V29.3.9 AUTH ICON + HEADER SIZE POLISH
   UX decision: the guest "Вход" action should not use the plain emoji person.
   It now reuses the same refined SVG/icon treatment as the profile control.
   Header actions are unified by height, radius and spacing. Width still follows label length to avoid a heavy, cramped header. */
:root {
    --r4e-header-action-h: 42px;
    --r4e-header-icon-box: 28px;
    --r4e-header-icon-radius: 10px;
    --r4e-header-action-gap: 8px;
}

/* One header action family: same height/radius/padding rhythm. */
.nav .nav-menu {
    align-items: center !important;
    gap: var(--r4e-header-action-gap) !important;
}
.nav .nav-menu .theme-toggle,
.nav .nav-menu .profile-nav-link,
.nav .nav-menu .profile-menu summary,
.nav .nav-menu .auth-login-direct,
.nav .nav-menu a.cart-nav-icon {
    height: var(--r4e-header-action-h) !important;
    min-height: var(--r4e-header-action-h) !important;
    border-radius: 999px !important;
    line-height: 1 !important;
    align-items: center !important;
}
.nav .nav-menu .theme-toggle {
    width: var(--r4e-header-action-h) !important;
    min-width: var(--r4e-header-action-h) !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
}
.nav .nav-menu .profile-nav-link,
.nav .nav-menu .profile-menu summary,
.nav .nav-menu .auth-login-direct {
    display: inline-flex !important;
    gap: 8px !important;
    padding: 0 14px 0 8px !important;
    font-size: .92rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}
.nav .nav-menu .profile-menu summary::after {
    margin-left: 1px !important;
}

/* Guest login: no emoji. Same elegant icon box as "Моят профил". */
.nav .nav-menu .auth-login-direct .nav-icon,
.nav .nav-menu .profile-nav-link .nav-icon,
.nav .nav-menu .profile-menu summary .nav-icon {
    width: var(--r4e-header-icon-box) !important;
    height: var(--r4e-header-icon-box) !important;
    min-width: var(--r4e-header-icon-box) !important;
    border-radius: var(--r4e-header-icon-radius) !important;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    background: color-mix(in srgb, var(--surface) 82%, var(--brand) 18%) !important;
    color: var(--brand-dark) !important;
    border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.52) !important;
}
.nav .nav-menu .auth-login-direct .ui-icon-svg,
.nav .nav-menu .profile-nav-link .ui-icon-svg,
.nav .nav-menu .profile-menu summary .ui-icon-svg {
    width: 17px !important;
    height: 17px !important;
    stroke-width: 1.9 !important;
}
.nav .nav-menu .auth-login-direct:hover .nav-icon,
.nav .nav-menu .auth-login-direct:focus-visible .nav-icon,
.nav .nav-menu .profile-nav-link:hover .nav-icon,
.nav .nav-menu .profile-nav-link:focus-visible .nav-icon,
.nav .nav-menu .profile-menu summary:hover .nav-icon,
.nav .nav-menu .profile-menu summary:focus-visible .nav-icon,
.nav .nav-menu .profile-menu[open] summary .nav-icon {
    background: color-mix(in srgb, var(--brand) 14%, var(--surface) 86%) !important;
    border-color: color-mix(in srgb, var(--brand) 48%, var(--line) 52%) !important;
}
.auth-login-label {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
}

/* CSS fallback for the V29.3.8 markup if helpers.php was not writable: hide the emoji text and paint the same icon + label. */
.nav .nav-menu .auth-login-direct:not(:has(.nav-icon)) {
    font-size: 0 !important;
    gap: 8px !important;
}
.nav .nav-menu .auth-login-direct:not(:has(.nav-icon))::before {
    content: "" !important;
    width: var(--r4e-header-icon-box) !important;
    height: var(--r4e-header-icon-box) !important;
    min-width: var(--r4e-header-icon-box) !important;
    border-radius: var(--r4e-header-icon-radius) !important;
    display: inline-grid !important;
    background-color: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12.25a4.25 4.25 0 1 0 0-8.5 4.25 4.25 0 0 0 0 8.5Z' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.75 20.25a7.25 7.25 0 0 1 14.5 0' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 17px 17px no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12.25a4.25 4.25 0 1 0 0-8.5 4.25 4.25 0 0 0 0 8.5Z' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.75 20.25a7.25 7.25 0 0 1 14.5 0' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 17px 17px no-repeat;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--line) 82%, var(--brand) 18%) !important;
}
.nav .nav-menu .auth-login-direct:not(:has(.nav-icon))::after {
    content: "Вход" !important;
    font-size: .92rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

/* Cart keeps the stronger action weight, but aligns to the same 42px rhythm. */
.nav .nav-menu a.cart-nav-icon,
a.cart-nav-icon {
    height: var(--r4e-header-action-h) !important;
    min-height: var(--r4e-header-action-h) !important;
    min-width: 126px !important;
    padding: 0 14px 0 11px !important;
    gap: 8px !important;
    border-radius: 999px !important;
}
.nav .nav-menu a.cart-nav-icon .cart-icon-wrap,
.cart-icon-wrap {
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 auto !important;
}
.nav .nav-menu a.cart-nav-icon .cart-svg,
.cart-svg {
    width: 23px !important;
    height: 23px !important;
}
.cart-badge {
    min-width: 22px !important;
    height: 22px !important;
    font-size: .74rem !important;
}

/* Public button rhythm: same height family, no accidental oversized auth/header controls. */
.button,
button.button,
input[type="submit"].button {
    min-height: 42px !important;
}
.button.small,
button.button.small,
.nav .nav-menu a.button.small {
    min-height: 36px !important;
}
.auth-card .button.full,
.form-card .button.full,
.cart-summary .button.full,
.purchase-box .button.full {
    min-height: 44px !important;
}

html[data-theme="dark"] .nav .nav-menu .auth-login-direct .nav-icon,
html[data-theme="dark"] .nav .nav-menu .profile-nav-link .nav-icon,
html[data-theme="dark"] .nav .nav-menu .profile-menu summary .nav-icon {
    background: rgba(96,165,250,.14) !important;
    color: #dbeafe !important;
    border-color: rgba(96,165,250,.24) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
html[data-theme="dark"] .nav .nav-menu .auth-login-direct:hover .nav-icon,
html[data-theme="dark"] .nav .nav-menu .auth-login-direct:focus-visible .nav-icon,
html[data-theme="dark"] .nav .nav-menu .profile-nav-link:hover .nav-icon,
html[data-theme="dark"] .nav .nav-menu .profile-nav-link:focus-visible .nav-icon,
html[data-theme="dark"] .nav .nav-menu .profile-menu summary:hover .nav-icon,
html[data-theme="dark"] .nav .nav-menu .profile-menu summary:focus-visible .nav-icon,
html[data-theme="dark"] .nav .nav-menu .profile-menu[open] summary .nav-icon {
    background: rgba(96,165,250,.20) !important;
    border-color: rgba(147,197,253,.40) !important;
}
@media (max-width: 560px) {
    .nav .nav-menu .theme-toggle,
    .nav .nav-menu .profile-nav-link,
    .nav .nav-menu .profile-menu summary,
    .nav .nav-menu .auth-login-direct,
    .nav .nav-menu a.cart-nav-icon {
        height: 40px !important;
        min-height: 40px !important;
    }
    .nav .nav-menu .theme-toggle {
        width: 40px !important;
        min-width: 40px !important;
    }
    .nav .nav-menu .profile-nav-link,
    .nav .nav-menu .profile-menu summary,
    .nav .nav-menu .auth-login-direct {
        padding: 0 12px 0 7px !important;
        font-size: .9rem !important;
    }
    .nav .nav-menu a.cart-nav-icon,
    a.cart-nav-icon {
        min-width: 118px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding-inline: 10px 12px !important;
    }
}

/* R4E V29.4.1 PREVIEW ALIGNMENT CONTROLS */

/* R4E V29.4.1 PREVIEW ALIGNMENT CONTROLS
   Adds safe paragraph alignment to the admin material preview editor and public preview output. */
.preview-formatted .preview-align,
.preview-formatted p.preview-align {
    display: block;
    margin: 0 0 .85rem;
}
.preview-formatted .preview-align-left { text-align: left; }
.preview-formatted .preview-align-center { text-align: center; }
.preview-formatted .preview-align-right { text-align: right; }
.preview-formatted .preview-align-justify {
    text-align: justify;
    text-justify: inter-word;
}
.preview-editor-block-v2941 .preview-editor-toolbar,
.preview-editor-toolbar {
    align-items: center;
}
.preview-editor-toolbar button[data-preview-action^="align-"] {
    background: color-mix(in srgb, var(--surface) 90%, var(--brand) 10%);
    border-color: color-mix(in srgb, var(--brand) 30%, var(--line));
}
.preview-editor-toolbar button[data-preview-action="align-center"],
.preview-editor-toolbar button[data-preview-action="align-right"],
.preview-editor-toolbar button[data-preview-action="align-justify"] {
    min-width: 92px;
}
.preview-editor-help code {
    display: inline-flex;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}
html[data-theme="dark"] .preview-editor-toolbar button[data-preview-action^="align-"] {
    background: rgba(96,165,250,.10);
    border-color: rgba(96,165,250,.26);
}
@media (max-width: 700px) {
    .preview-editor-toolbar button[data-preview-action^="align-"] {
        flex: 1 1 calc(50% - 8px);
        min-width: 0;
    }
}

/* R4E V29.4.2 PREVIEW EDITOR FUNCTIONAL RIBBON HOTFIX
   Functional Word/Writer-like toolbar styling for the admin material preview editor. */
.preview-editor-block {
    border: 1px solid color-mix(in srgb, var(--line) 78%, var(--brand) 22%);
    border-radius: 18px;
    background: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%);
    box-shadow: 0 14px 34px rgba(31, 41, 51, .065);
    padding: 14px;
    margin: 14px 0 16px;
}
.preview-editor-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}
.preview-editor-head strong {
    font-size: 1rem;
}
.preview-editor-toolbar,
.preview-editor-ribbon {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 8px;
    padding: 9px;
    border: 1px solid color-mix(in srgb, var(--line) 82%, var(--brand) 18%);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.46)),
        color-mix(in srgb, var(--surface) 92%, var(--bg) 8%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
    margin-bottom: 10px;
}
.preview-toolbar-group {
    position: relative;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    padding: 19px 7px 7px;
    border: 1px solid color-mix(in srgb, var(--line) 88%, transparent);
    border-radius: 13px;
    background: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%);
}
.preview-toolbar-group::before {
    content: attr(data-group-label);
    position: absolute;
    left: 8px;
    top: 4px;
    color: var(--muted);
    font-size: .62rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.preview-editor-toolbar button,
.preview-editor-ribbon button {
    min-height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 9px;
    border: 1px solid color-mix(in srgb, var(--line) 76%, var(--brand) 24%);
    border-radius: 10px;
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: .82rem;
    font-weight: 850;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 1px 0 rgba(31,41,51,.025);
}
.preview-editor-toolbar button:hover,
.preview-editor-ribbon button:hover,
.preview-editor-toolbar button:focus-visible,
.preview-editor-ribbon button:focus-visible {
    background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%);
    border-color: color-mix(in srgb, var(--brand) 52%, var(--line) 48%);
    color: var(--brand-dark);
    transform: translateY(-1px);
    outline: none;
    box-shadow: 0 8px 18px rgba(31,95,139,.10);
}
.preview-tool-icon {
    display: inline-grid;
    place-items: center;
    min-width: 18px;
    height: 18px;
    color: var(--brand-dark);
    font-weight: 950;
    line-height: 1;
}
.preview-tool-text {
    white-space: nowrap;
}
.preview-editor-toolbar button[data-preview-action^="align-"],
.preview-editor-ribbon button[data-preview-action^="align-"] {
    min-width: 74px;
}
.preview-editor-label {
    display: grid;
    gap: 8px;
    margin: 0;
}
.preview-format-textarea {
    min-height: 260px;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.62;
    resize: vertical;
}
.preview-editor-help {
    margin: 9px 0 0;
}
.preview-editor-help code {
    display: inline-flex;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}
.preview-editor-live {
    margin-top: 12px;
    border: 1px solid color-mix(in srgb, var(--line) 84%, var(--brand) 16%);
    border-radius: 14px;
    overflow: hidden;
    background: var(--surface);
}
.preview-editor-live summary {
    cursor: pointer;
    padding: 10px 12px;
    font-weight: 900;
    color: var(--brand-dark);
}
.preview-editor-live-output {
    margin: 0;
    border: 0;
    border-top: 1px solid var(--line);
    border-radius: 0;
    box-shadow: none;
}
.preview-formatted h3,
.preview-formatted h4 {
    margin: 1rem 0 .5rem;
    line-height: 1.25;
}
.preview-formatted p {
    margin: 0 0 .85rem;
}
.preview-formatted ul,
.preview-formatted ol {
    margin: .6rem 0 .9rem 1.25rem;
    padding-left: 1rem;
}
.preview-formatted blockquote {
    margin: .8rem 0;
    padding: .75rem .9rem;
    border-left: 4px solid color-mix(in srgb, var(--brand) 55%, var(--line));
    border-radius: 12px;
    background: color-mix(in srgb, var(--surface) 86%, var(--brand) 14%);
    color: var(--text);
}
.preview-formatted hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 1rem 0;
}
.preview-formatted .preview-align-left { text-align: left; }
.preview-formatted .preview-align-center { text-align: center; }
.preview-formatted .preview-align-right { text-align: right; }
.preview-formatted .preview-align-justify { text-align: justify; text-justify: inter-word; }
html[data-theme="dark"] .preview-editor-block,
html[data-theme="dark"] .preview-toolbar-group,
html[data-theme="dark"] .preview-editor-live {
    background: rgba(17,24,39,.72);
    border-color: #273244;
}
html[data-theme="dark"] .preview-editor-toolbar,
html[data-theme="dark"] .preview-editor-ribbon {
    background: #0f172a;
    border-color: #273244;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .preview-editor-toolbar button,
html[data-theme="dark"] .preview-editor-ribbon button {
    background: #111827;
    border-color: #273244;
    color: var(--text);
}
html[data-theme="dark"] .preview-editor-toolbar button:hover,
html[data-theme="dark"] .preview-editor-ribbon button:hover,
html[data-theme="dark"] .preview-editor-toolbar button:focus-visible,
html[data-theme="dark"] .preview-editor-ribbon button:focus-visible {
    background: rgba(96,165,250,.14);
    border-color: rgba(96,165,250,.32);
    color: #dbeafe;
}
html[data-theme="dark"] .preview-tool-icon,
html[data-theme="dark"] .preview-editor-live summary { color: var(--brand); }
html[data-theme="dark"] .preview-formatted blockquote { background: rgba(96,165,250,.09); }
@media (max-width: 820px) {
    .preview-editor-head { display: grid; }
    .preview-editor-toolbar,
    .preview-editor-ribbon { gap: 7px; padding: 8px; }
    .preview-toolbar-group { flex: 1 1 100%; }
    .preview-editor-toolbar button,
    .preview-editor-ribbon button { flex: 1 1 auto; }
}
@media (max-width: 520px) {
    .preview-tool-text { display: none; }
    .preview-editor-toolbar button,
    .preview-editor-ribbon button { min-width: 38px; }
    .preview-editor-toolbar button[data-preview-action^="align-"],
    .preview-editor-ribbon button[data-preview-action^="align-"] { min-width: 38px; }
}
/* R4E V29.4.3 PREVIEW WYSIWYG EDITOR HOTFIX
   Turns the admin material preview editor into a visual Word/Writer-like surface.
   The real textarea remains synced in the background with safe text syntax. */
.preview-editor-block.preview-editor-v2943-ready,
.preview-editor-block {
    position: relative;
}
.preview-editor-source-label {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.preview-source-textarea {
    min-height: 1px !important;
}
.preview-wysiwyg-surface {
    min-height: 280px;
    margin: 10px 0 6px;
    padding: 18px 20px;
    border: 1px solid color-mix(in srgb, var(--line) 72%, var(--brand) 28%);
    border-radius: 14px;
    background: var(--surface);
    color: var(--text);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 8px 22px rgba(31,41,51,.045);
    line-height: 1.7;
    white-space: normal;
    overflow-wrap: anywhere;
    outline: none;
}
.preview-wysiwyg-surface:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 4px rgba(31,95,139,.13), inset 0 1px 0 rgba(255,255,255,.55);
}
.preview-wysiwyg-surface:empty::before {
    content: attr(data-placeholder);
    color: var(--muted);
    pointer-events: none;
}
.preview-wysiwyg-error {
    border-color: var(--error) !important;
    box-shadow: 0 0 0 4px rgba(185,28,28,.13) !important;
}
.preview-wysiwyg-surface h3,
.preview-wysiwyg-surface h4 {
    margin: .65rem 0 .45rem;
    line-height: 1.25;
}
.preview-wysiwyg-surface h3 { font-size: 1.35rem; }
.preview-wysiwyg-surface h4 { font-size: 1.12rem; }
.preview-wysiwyg-surface p { margin: 0 0 .85rem; }
.preview-wysiwyg-surface ul,
.preview-wysiwyg-surface ol { margin: .65rem 0 .9rem 1.35rem; padding-left: 1rem; }
.preview-wysiwyg-surface blockquote {
    margin: .85rem 0;
    padding: .75rem .95rem;
    border-left: 4px solid color-mix(in srgb, var(--brand) 55%, var(--line));
    border-radius: 12px;
    background: color-mix(in srgb, var(--surface) 86%, var(--brand) 14%);
}
.preview-wysiwyg-surface hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 1rem 0;
}
.preview-wysiwyg-surface .preview-align-center,
.preview-formatted .preview-align-center { text-align: center; }
.preview-wysiwyg-surface .preview-align-right,
.preview-formatted .preview-align-right { text-align: right; }
.preview-wysiwyg-surface .preview-align-justify,
.preview-formatted .preview-align-justify { text-align: justify; text-justify: inter-word; }
.preview-editor-mode-note {
    margin: 7px 0 10px;
}
.preview-editor-ribbon,
.preview-editor-toolbar {
    align-items: stretch;
}
.preview-editor-toolbar button[data-preview-action],
.preview-editor-ribbon button[data-preview-action] {
    user-select: none;
}
html[data-theme="dark"] .preview-wysiwyg-surface {
    background: #0f172a;
    color: var(--text);
    border-color: #273244;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .preview-wysiwyg-surface:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 4px rgba(96,165,250,.18), inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .preview-wysiwyg-surface blockquote {
    background: rgba(96,165,250,.09);
}
@media (max-width: 700px) {
    .preview-wysiwyg-surface {
        min-height: 240px;
        padding: 14px;
    }
}

/* R4E_INVOICE_PRINT_PDF_BUTTON_V29_4_4
   Functional print/PDF polish for payment documents. The button opens the browser print dialog;
   users can print or choose Save as PDF / Запази като PDF. */
.invoice-print-actions {
  align-items: center;
}
.invoice-print-button {
  white-space: nowrap;
}
.invoice-print-noscript {
  margin: 8px 0 0;
  font-size: .88rem;
  color: var(--muted);
}
@media print {
  @page { margin: 14mm; }
  html,
  body {
    background: #fff !important;
  }
  .site-header,
  .site-footer,
  .no-print,
  .cookie-banner,
  .cookie-modal-backdrop,
  .global-ad-slot,
  .mobile-ad-slot,
  .side-ad {
    display: none !important;
  }
  .site-main.container,
  .container,
  .global-ad-slot {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .invoice {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #111827 !important;
  }
  .invoice h1,
  .invoice h2,
  .invoice h3,
  .invoice p,
  .invoice strong,
  .invoice span,
  .invoice td,
  .invoice th {
    color: #111827 !important;
  }
  .invoice .table {
    display: table !important;
    width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border-collapse: collapse !important;
  }
  .invoice .table thead { display: table-header-group !important; }
  .invoice .table tbody { display: table-row-group !important; }
  .invoice .table tr { display: table-row !important; }
  .invoice .table th,
  .invoice .table td {
    display: table-cell !important;
    border: 1px solid #d1d5db !important;
    padding: 8px 10px !important;
    vertical-align: top !important;
  }
  .invoice-parties {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
    page-break-inside: avoid;
  }
}


/* V30.0 Launch Center + SuperUser Admin Controls */
.admin-launch-head,.admin-superuser-head,.superuser-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.v30-launch-card,.superuser-admin-card{width:100%;margin:18px 0}.superuser-tab{border-color:color-mix(in srgb,var(--brand) 38%,var(--line))!important;background:color-mix(in srgb,var(--surface) 86%,var(--brand) 14%)!important}.superuser-owner-note code{font-weight:900}.superuser-admin-list{display:grid;gap:16px}.superuser-card-head h2{margin:0 0 4px}.superuser-toggle{margin:0 0 12px!important}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.permission-tile{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:start;margin:0!important;padding:12px;border:1px solid color-mix(in srgb,var(--line) 78%,var(--brand) 22%);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,var(--brand) 4%)}.permission-tile input{width:16px;height:16px;margin-top:2px}.permission-tile span{display:grid;gap:4px}.permission-tile small{color:var(--muted);line-height:1.35;font-weight:650}.permission-tile:has(input:checked){border-color:color-mix(in srgb,var(--brand) 58%,var(--line));background:color-mix(in srgb,var(--surface) 88%,var(--brand) 12%)}html[data-theme="dark"] .permission-tile,html[data-theme="dark"] .superuser-tab{background:color-mix(in srgb,var(--surface) 88%,var(--brand) 12%)!important;border-color:#273244!important}@media(max-width:1100px){.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.admin-launch-head,.admin-superuser-head,.superuser-card-head{flex-direction:column}.permission-grid{grid-template-columns:1fr}}
/* /V30.0 Launch Center + SuperUser Admin Controls */

/* V30.0.2 legal/footer cleanup polish */
.footer-section-title,
.footer-column > strong:first-child,
.footer-brand-block > strong:first-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-bottom: 4px;
  color: var(--text);
  font-size: .88rem;
  font-weight: 950;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.footer-section-title::after,
.footer-column > strong:first-child::after {
  content: "";
  width: 32px;
  height: 2px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand) 58%, var(--line));
}
.footer-column a,
.footer-brand-block a {
  line-height: 1.45;
}
html[data-theme="dark"] .footer-section-title::after,
html[data-theme="dark"] .footer-column > strong:first-child::after {
  background: color-mix(in srgb, var(--brand) 68%, #273244);
}

/* V30.0.5: final footer visual polish + useful links heading consistency */
.site-footer {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 0%, rgba(31,95,139,.08), transparent 28%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 94%, var(--brand) 6%), var(--surface));
}
.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(31,95,139,.10) 1px, transparent 1px);
  background-size: 18px 18px;
  opacity: .32;
  mask-image: linear-gradient(90deg, #000, transparent 58%);
}
.site-footer .container { position: relative; z-index: 1; }
.footer-grid,
.footer-grid-v12 {
  gap: 18px !important;
}
.footer-brand-block,
.footer-column,
.footer-partner-card {
  background: color-mix(in srgb, var(--surface) 84%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--line) 78%, var(--brand) 22%) !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 30px rgba(31,41,51,.045) !important;
}
.footer-column > strong,
.footer-brand-block > strong,
.footer-partner-card > strong,
.footer-section-title {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  margin: 0 0 4px;
  color: var(--brand-dark) !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  letter-spacing: .075em;
  text-transform: uppercase;
  line-height: 1.2;
}
.footer-column > strong::before,
.footer-brand-block > strong::before,
.footer-partner-card > strong::before,
.footer-section-title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--brand);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 13%, transparent);
}
.footer-column a,
.footer-brand-block a,
.footer-button,
.footer-partner-email {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  border-radius: 999px;
  padding: 2px 0;
  color: var(--muted) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}
.footer-column a:hover,
.footer-brand-block a:hover,
.footer-button:hover,
.footer-partner-email:hover {
  color: var(--brand-dark) !important;
  transform: translateX(2px);
}
.footer-partner-card {
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 42%),
    color-mix(in srgb, var(--surface) 88%, var(--brand) 12%) !important;
}
.footer-bottom {
  margin-top: 18px !important;
  padding-top: 16px !important;
  border-top: 1px solid color-mix(in srgb, var(--line) 82%, transparent) !important;
  color: var(--muted);
}
html[data-theme="dark"] .site-footer {
  background:
    radial-gradient(circle at 8% 0%, rgba(96,165,250,.11), transparent 30%),
    #0f172a;
}
html[data-theme="dark"] .footer-brand-block,
html[data-theme="dark"] .footer-column,
html[data-theme="dark"] .footer-partner-card {
  background: rgba(17,24,39,.78) !important;
  border-color: #273244 !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .footer-column > strong,
html[data-theme="dark"] .footer-brand-block > strong,
html[data-theme="dark"] .footer-partner-card > strong,
html[data-theme="dark"] .footer-section-title {
  color: #dbeafe !important;
}
html[data-theme="dark"] .footer-column a:hover,
html[data-theme="dark"] .footer-brand-block a:hover,
html[data-theme="dark"] .footer-button:hover,
html[data-theme="dark"] .footer-partner-email:hover {
  color: #dbeafe !important;
}
@media (max-width: 720px) {
  .footer-brand-block,
  .footer-column,
  .footer-partner-card {
    border-radius: 18px !important;
  }
  .footer-column a,
  .footer-brand-block a,
  .footer-button,
  .footer-partner-email {
    width: 100%;
  }
}

/* V30.0.8: minimal footer + useful links page */
.site-footer {
  margin-top: 54px !important;
  padding: 30px 0 24px !important;
  background: color-mix(in srgb, var(--surface) 96%, var(--bg) 4%) !important;
  border-top: 1px solid color-mix(in srgb, var(--line) 82%, transparent) !important;
  box-shadow: none !important;
}
.site-footer .footer-grid,
.site-footer .footer-grid-v12 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr) !important;
  gap: clamp(20px, 4vw, 42px) !important;
  align-items: start !important;
  padding: 0 !important;
}
.site-footer .footer-brand-block,
.site-footer .footer-brand-block + .footer-column {
  display: none !important;
}
.site-footer .footer-column,
.site-footer .footer-partner-card {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.site-footer .footer-column {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 16px !important;
  align-content: start !important;
}
.site-footer .footer-section-title,
.site-footer .footer-column > strong {
  flex: 0 0 100% !important;
  width: 100% !important;
  margin: 0 0 2px !important;
  padding: 0 0 8px !important;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 80%, transparent) !important;
  color: var(--text) !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  letter-spacing: .075em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
.site-footer .footer-section-title:hover,
.site-footer .footer-section-link:hover {
  color: var(--brand-dark) !important;
  text-decoration: none !important;
}
.site-footer .footer-section-title::before,
.site-footer .footer-column > strong::before {
  display: none !important;
}
/* The footer keeps mandatory/legal links; the full navigation now lives at /polezni-vrazki. */
.site-footer .footer-section-link + a {
  display: none !important; /* hides Контакти from the minimal legal footer */
}
.site-footer .footer-column a,
.site-footer .footer-button,
.site-footer .footer-partner-email {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--muted) !important;
  font-size: .9rem !important;
  font-weight: 740 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.site-footer .footer-column a:hover,
.site-footer .footer-button:hover,
.site-footer .footer-partner-email:hover {
  color: var(--brand-dark) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  transform: none !important;
}
.site-footer .footer-partner-card {
  display: grid !important;
  justify-items: start !important;
  align-content: start !important;
  gap: 9px !important;
}
.site-footer .footer-partner-card > span:first-child,
.site-footer .footer-partner-kicker,
.site-footer .footer-partner-card p {
  display: none !important;
}
.site-footer .footer-partner-card strong {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--text) !important;
  font-size: .98rem !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: -.012em !important;
  text-transform: none !important;
}
.site-footer .footer-partner-card strong::before {
  display: none !important;
}
.site-footer .footer-partner-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 !important;
}
.site-footer .footer-partner-actions .button,
.site-footer .footer-partner-card .button {
  min-height: 34px !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--brand-dark) !important;
  border: 1px solid color-mix(in srgb, var(--line) 74%, var(--brand) 26%) !important;
  box-shadow: none !important;
  font-size: .86rem !important;
}
.site-footer .footer-partner-actions .button:hover,
.site-footer .footer-partner-card .button:hover {
  background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%) !important;
  transform: translateY(-1px) !important;
}
.site-footer .footer-bottom {
  margin-top: 22px !important;
  padding-top: 14px !important;
  border-top: 1px solid color-mix(in srgb, var(--line) 82%, transparent) !important;
  color: var(--muted) !important;
  font-size: .88rem !important;
}
.useful-links-head {
  margin-bottom: 20px !important;
}
.useful-links-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0 44px;
}
.useful-link-card {
  min-height: 0 !important;
}
.useful-link-card h2 {
  margin: 8px 0 12px !important;
  font-size: 1.15rem !important;
}
.useful-link-card a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  padding: 8px 0;
  border-top: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  color: var(--text);
  font-weight: 820;
  text-decoration: none;
}
.useful-link-card a::after {
  content: '›';
  color: var(--muted);
  font-weight: 900;
}
.useful-link-card a:hover {
  color: var(--brand-dark);
  text-decoration: none;
}
html[data-theme="dark"] .site-footer {
  background: #0f172a !important;
  border-top-color: #273244 !important;
}
html[data-theme="dark"] .site-footer .footer-section-title,
html[data-theme="dark"] .site-footer .footer-column > strong {
  border-bottom-color: #273244 !important;
  color: #e5e7eb !important;
}
html[data-theme="dark"] .site-footer .footer-partner-card strong {
  color: #e5e7eb !important;
}
html[data-theme="dark"] .site-footer .footer-column a,
html[data-theme="dark"] .site-footer .footer-button,
html[data-theme="dark"] .site-footer .footer-partner-email {
  color: #9ca3af !important;
}
html[data-theme="dark"] .site-footer .footer-partner-actions .button,
html[data-theme="dark"] .site-footer .footer-partner-card .button {
  color: #dbeafe !important;
  border-color: rgba(96,165,250,.24) !important;
}
html[data-theme="dark"] .useful-link-card a {
  border-top-color: #273244;
}
@media (max-width: 860px) {
  .site-footer .footer-grid,
  .site-footer .footer-grid-v12 {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .useful-links-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 560px) {
  .site-footer .footer-column {
    display: grid !important;
    gap: 8px !important;
  }
  .site-footer .footer-section-title,
  .site-footer .footer-column > strong {
    margin-bottom: 4px !important;
  }
  .site-footer .footer-partner-actions {
    align-items: stretch !important;
    flex-direction: column !important;
    width: 100% !important;
  }
  .site-footer .footer-partner-actions .button,
  .site-footer .footer-partner-email {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* V30.0.9: refined minimal footer frame — elegant, light, no dash clutter */
.site-footer {
  margin-top: 58px !important;
  padding: 28px 0 24px !important;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 94%, var(--bg) 6%), color-mix(in srgb, var(--surface) 98%, var(--bg) 2%)) !important;
  border-top: 1px solid color-mix(in srgb, var(--line) 76%, transparent) !important;
  box-shadow: none !important;
}
.site-footer .container {
  position: relative !important;
}
/* One shared frame around the whole footer, not separate heavy cards. */
.site-footer .footer-grid,
.site-footer .footer-grid-v12 {
  position: relative !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .56fr) !important;
  gap: clamp(18px, 4vw, 42px) !important;
  align-items: center !important;
  margin: 0 !important;
  padding: clamp(17px, 2.4vw, 24px) clamp(18px, 3vw, 30px) !important;
  border: 1px solid color-mix(in srgb, var(--line) 78%, var(--brand) 12%) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--brand) 7%, transparent), transparent 34%),
    color-mix(in srgb, var(--surface) 88%, transparent) !important;
  box-shadow: 0 18px 44px rgba(31, 41, 51, .045) !important;
  overflow: hidden !important;
}
.site-footer .footer-grid::before,
.site-footer .footer-grid-v12::before {
  content: "";
  position: absolute;
  left: clamp(14px, 2vw, 22px);
  right: clamp(14px, 2vw, 22px);
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--brand) 34%, transparent), transparent);
  pointer-events: none;
}
.site-footer .footer-brand-block,
.site-footer .footer-brand-block + .footer-column {
  display: none !important;
}
.site-footer .footer-column,
.site-footer .footer-partner-card {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* Useful links: title becomes a quiet text link; no dashes/long separator lines. */
.site-footer .footer-column {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px 15px !important;
  min-width: 0 !important;
}
.site-footer .footer-section-title,
.site-footer .footer-column > strong,
.site-footer .footer-section-link {
  flex: 0 0 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  max-width: max-content !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  color: var(--text) !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  letter-spacing: .085em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.site-footer .footer-section-title::before,
.site-footer .footer-section-title::after,
.site-footer .footer-column > strong::before,
.site-footer .footer-column > strong::after,
.site-footer .footer-section-link::before,
.site-footer .footer-section-link::after {
  display: none !important;
  content: none !important;
}
.site-footer .footer-section-link:hover,
.site-footer .footer-section-title:hover {
  color: var(--brand-dark) !important;
  text-decoration: none !important;
}
/* Remove any dash-like bullets or list markers inherited from older footer layers. */
.site-footer .footer-column a::before,
.site-footer .footer-column a::after,
.site-footer .footer-button::before,
.site-footer .footer-button::after,
.site-footer li::marker,
.useful-links-grid li::marker,
.useful-link-card a::before {
  display: none !important;
  content: none !important;
}
.site-footer ul,
.site-footer ol,
.useful-links-grid ul,
.useful-links-grid ol {
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}
.site-footer .footer-column a,
.site-footer .footer-button,
.site-footer .footer-partner-email {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 25px !important;
  width: fit-content !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: color-mix(in srgb, var(--muted) 86%, var(--text) 14%) !important;
  font-size: .9rem !important;
  font-weight: 740 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.site-footer .footer-column a:hover,
.site-footer .footer-button:hover,
.site-footer .footer-partner-email:hover {
  color: var(--brand-dark) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  transform: none !important;
}
/* Advertising CTA becomes a compact right-aligned micro CTA inside the same frame. */
.site-footer .footer-partner-card {
  display: grid !important;
  justify-items: end !important;
  align-content: center !important;
  gap: 9px !important;
  text-align: right !important;
}
.site-footer .footer-partner-card > span:first-child,
.site-footer .footer-partner-kicker,
.site-footer .footer-partner-card p {
  display: none !important;
}
.site-footer .footer-partner-card strong {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--text) !important;
  font-size: clamp(.98rem, 1.2vw, 1.08rem) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: -.012em !important;
  text-transform: none !important;
}
.site-footer .footer-partner-card strong::before,
.site-footer .footer-partner-card strong::after {
  display: none !important;
  content: none !important;
}
.site-footer .footer-partner-actions {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 0 !important;
}
.site-footer .footer-partner-actions .button,
.site-footer .footer-partner-card .button {
  min-height: 34px !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%) !important;
  color: var(--brand-dark) !important;
  border: 1px solid color-mix(in srgb, var(--line) 70%, var(--brand) 30%) !important;
  box-shadow: none !important;
  font-size: .85rem !important;
  font-weight: 850 !important;
}
.site-footer .footer-partner-actions .button:hover,
.site-footer .footer-partner-card .button:hover {
  background: color-mix(in srgb, var(--surface) 84%, var(--brand) 16%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(31,95,139,.09) !important;
}
.site-footer .footer-bottom {
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 0 4px !important;
  border: 0 !important;
  display: flex !important;
  gap: 10px 18px !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  color: var(--muted) !important;
  font-size: .86rem !important;
}
html[data-theme="dark"] .site-footer {
  background: #0f172a !important;
  border-top-color: #273244 !important;
}
html[data-theme="dark"] .site-footer .footer-grid,
html[data-theme="dark"] .site-footer .footer-grid-v12 {
  background:
    radial-gradient(circle at 100% 0%, rgba(96,165,250,.10), transparent 34%),
    rgba(17,24,39,.68) !important;
  border-color: #273244 !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .site-footer .footer-section-title,
html[data-theme="dark"] .site-footer .footer-section-link,
html[data-theme="dark"] .site-footer .footer-column > strong,
html[data-theme="dark"] .site-footer .footer-partner-card strong {
  color: #e5e7eb !important;
}
html[data-theme="dark"] .site-footer .footer-column a,
html[data-theme="dark"] .site-footer .footer-button,
html[data-theme="dark"] .site-footer .footer-partner-email,
html[data-theme="dark"] .site-footer .footer-bottom {
  color: #9ca3af !important;
}
html[data-theme="dark"] .site-footer .footer-column a:hover,
html[data-theme="dark"] .site-footer .footer-button:hover,
html[data-theme="dark"] .site-footer .footer-partner-email:hover {
  color: #dbeafe !important;
}
html[data-theme="dark"] .site-footer .footer-partner-actions .button,
html[data-theme="dark"] .site-footer .footer-partner-card .button {
  background: rgba(96,165,250,.10) !important;
  color: #dbeafe !important;
  border-color: rgba(96,165,250,.24) !important;
}
@media (max-width: 860px) {
  .site-footer .footer-grid,
  .site-footer .footer-grid-v12 {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }
  .site-footer .footer-partner-card {
    justify-items: start !important;
    text-align: left !important;
    padding-top: 12px !important;
    border-top: 1px solid color-mix(in srgb, var(--line) 82%, transparent) !important;
  }
  .site-footer .footer-partner-actions {
    justify-content: flex-start !important;
  }
}
@media (max-width: 560px) {
  .site-footer {
    padding-top: 22px !important;
  }
  .site-footer .footer-grid,
  .site-footer .footer-grid-v12 {
    padding: 15px !important;
    border-radius: 20px !important;
  }
  .site-footer .footer-column {
    display: flex !important;
    gap: 7px 12px !important;
  }
  .site-footer .footer-column a,
  .site-footer .footer-button {
    font-size: .88rem !important;
  }
  .site-footer .footer-partner-actions,
  .site-footer .footer-partner-actions .button,
  .site-footer .footer-partner-email {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .site-footer .footer-bottom {
    display: grid !important;
    justify-items: center !important;
    text-align: center !important;
  }
}

/* V30.0.11: footer minimal metallic rescue
   Цел: един компактен footer правоъгълник с основните задължителни връзки + рекламен линк.
   Не връща тежките карти и не пипа валута/плащания/SQL. */
.site-footer {
  margin-top: 46px !important;
  padding: 22px 0 18px !important;
  background: transparent !important;
  border-top: 0 !important;
  box-shadow: none !important;
}
.site-footer > .container {
  width: min(1120px, calc(100vw - 32px)) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.site-footer .footer-grid,
.site-footer .footer-grid-v12 {
  width: min(920px, 100%) !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 13px 16px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px 16px !important;
  grid-template-columns: none !important;
  border: 1px solid color-mix(in srgb, var(--line) 62%, #a7b0ba 38%) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(245,247,249,.56)),
    color-mix(in srgb, var(--surface) 90%, #d7dde3 10%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 12px 28px rgba(31, 41, 51, .055) !important;
  overflow: visible !important;
}
/* Скриваме старите тежки блокове/колони. */
.site-footer .footer-brand-block,
.site-footer .footer-brand-block + .footer-column,
.site-footer .footer-column.footer-materials,
.site-footer .footer-column[data-footer-section="materials"] {
  display: none !important;
}
.site-footer .footer-column,
.site-footer .footer-partner-card {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px 13px !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* Без „Полезни връзки“, без декоративни тирета/линии/заглавия. */
.site-footer .footer-section-title,
.site-footer .footer-section-link,
.site-footer .footer-column > strong,
.site-footer .footer-column > span,
.site-footer .footer-partner-card > span:first-child,
.site-footer .footer-partner-kicker,
.site-footer .footer-partner-card strong,
.site-footer .footer-partner-card p,
.site-footer .footer-partner-email,
.site-footer .footer-section-title::before,
.site-footer .footer-section-title::after,
.site-footer .footer-column > strong::before,
.site-footer .footer-column > strong::after {
  display: none !important;
}
/* По подразбиране скриваме всички footer линкове, после връщаме само избраните. */
.site-footer .footer-column a,
.site-footer .footer-button,
.site-footer .footer-partner-actions,
.site-footer .footer-partner-actions a,
.site-footer .footer-partner-actions .button,
.site-footer .footer-partner-card > a,
.site-footer .footer-partner-card .button {
  display: none !important;
}
.site-footer .footer-column a[href="/kontakti"],
.site-footer .footer-column a[href$="/kontakti"],
.site-footer .footer-column a[href="/contact"],
.site-footer .footer-column a[href$="/contact"],
.site-footer .footer-column a[href="/obshti-usloviya"],
.site-footer .footer-column a[href$="/obshti-usloviya"],
.site-footer .footer-column a[href="/terms"],
.site-footer .footer-column a[href$="/terms"],
.site-footer .footer-column a[href="/poveritelnost"],
.site-footer .footer-column a[href$="/poveritelnost"],
.site-footer .footer-column a[href="/privacy"],
.site-footer .footer-column a[href$="/privacy"],
.site-footer .footer-column a[href="/biskvitki"],
.site-footer .footer-column a[href$="/biskvitki"],
.site-footer .footer-column a[href="/cookies"],
.site-footer .footer-column a[href$="/cookies"],
.site-footer .footer-button,
.site-footer .footer-partner-actions,
.site-footer .footer-partner-actions a[href="/reklama"],
.site-footer .footer-partner-actions a[href$="/reklama"],
.site-footer .footer-partner-card > a[href="/reklama"],
.site-footer .footer-partner-card > a[href$="/reklama"],
.site-footer .footer-partner-card .button[href="/reklama"],
.site-footer .footer-partner-card .button[href$="/reklama"] {
  display: inline-flex !important;
}
.site-footer .footer-column a,
.site-footer .footer-button,
.site-footer .footer-partner-actions a,
.site-footer .footer-partner-card > a,
.site-footer .footer-partner-card .button {
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 30px !important;
  padding: 5px 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: color-mix(in srgb, var(--text) 72%, var(--muted) 28%) !important;
  box-shadow: none !important;
  font-size: .88rem !important;
  font-weight: 760 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: -.006em !important;
  white-space: nowrap !important;
  transform: none !important;
  transition: background-color .16s ease, color .16s ease, transform .16s ease !important;
}
.site-footer .footer-partner-actions a,
.site-footer .footer-partner-card > a,
.site-footer .footer-partner-card .button {
  color: var(--brand-dark) !important;
  font-weight: 880 !important;
}
.site-footer .footer-column a:hover,
.site-footer .footer-button:hover,
.site-footer .footer-partner-actions a:hover,
.site-footer .footer-partner-card > a:hover,
.site-footer .footer-partner-card .button:hover {
  background: color-mix(in srgb, var(--brand) 9%, transparent) !important;
  color: var(--brand-dark) !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}
.site-footer .footer-bottom {
  width: min(920px, 100%) !important;
  max-width: 920px !important;
  margin: 10px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px 14px !important;
  flex-wrap: wrap !important;
  color: var(--muted) !important;
  font-size: .78rem !important;
  line-height: 1.35 !important;
  text-align: center !important;
}
.site-footer .footer-bottom a,
.site-footer .footer-bottom button {
  color: var(--muted) !important;
  font-size: inherit !important;
}
html[data-theme="dark"] .site-footer .footer-grid,
html[data-theme="dark"] .site-footer .footer-grid-v12 {
  border-color: rgba(148, 163, 184, .28) !important;
  background:
    linear-gradient(135deg, rgba(30,41,59,.72), rgba(15,23,42,.62)),
    #0f172a !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 14px 32px rgba(0,0,0,.22) !important;
}
html[data-theme="dark"] .site-footer .footer-column a,
html[data-theme="dark"] .site-footer .footer-button,
html[data-theme="dark"] .site-footer .footer-partner-actions a,
html[data-theme="dark"] .site-footer .footer-partner-card > a,
html[data-theme="dark"] .site-footer .footer-partner-card .button {
  color: #cbd5e1 !important;
}
html[data-theme="dark"] .site-footer .footer-partner-actions a,
html[data-theme="dark"] .site-footer .footer-partner-card > a,
html[data-theme="dark"] .site-footer .footer-partner-card .button {
  color: #bfdbfe !important;
}
html[data-theme="dark"] .site-footer .footer-column a:hover,
html[data-theme="dark"] .site-footer .footer-button:hover,
html[data-theme="dark"] .site-footer .footer-partner-actions a:hover,
html[data-theme="dark"] .site-footer .footer-partner-card > a:hover,
html[data-theme="dark"] .site-footer .footer-partner-card .button:hover {
  background: rgba(96,165,250,.13) !important;
  color: #dbeafe !important;
}
@media (max-width: 720px) {
  .site-footer {
    padding: 18px 0 16px !important;
  }
  .site-footer > .container {
    width: min(100vw - 18px, 1120px) !important;
  }
  .site-footer .footer-grid,
  .site-footer .footer-grid-v12 {
    width: 100% !important;
    padding: 12px !important;
    gap: 6px 8px !important;
    border-radius: 18px !important;
  }
  .site-footer .footer-column,
  .site-footer .footer-partner-card {
    gap: 6px 8px !important;
  }
  .site-footer .footer-column a,
  .site-footer .footer-button,
  .site-footer .footer-partner-actions a,
  .site-footer .footer-partner-card > a,
  .site-footer .footer-partner-card .button {
    min-height: 30px !important;
    padding: 5px 7px !important;
    font-size: .84rem !important;
  }
}
@media (max-width: 480px) {
  .site-footer .footer-grid,
  .site-footer .footer-grid-v12 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-items: center !important;
  }
  .site-footer .footer-column,
  .site-footer .footer-partner-card,
  .site-footer .footer-partner-actions {
    display: contents !important;
  }
  .site-footer .footer-column a,
  .site-footer .footer-button,
  .site-footer .footer-partner-actions a,
  .site-footer .footer-partner-card > a,
  .site-footer .footer-partner-card .button {
    width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

/* V30.0.15: footer force single row
   Финален footer fix: линковете са един хоризонтален ред, без каре.
   Под тях: © 2026 Referat4e. Всички права запазени. */
.site-footer {
  margin-top: 46px !important;
  padding: 18px 0 20px !important;
  border-top: 1px solid color-mix(in srgb, var(--line) 82%, transparent) !important;
  background: color-mix(in srgb, var(--surface) 88%, transparent) !important;
  box-shadow: 0 -8px 24px rgba(31, 41, 51, .026) !important;
  backdrop-filter: blur(10px) !important;
}
.site-footer > .container {
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;
  text-align: center !important;
}

/* The footer navigation must behave like ONE text line, not columns/cards. */
.site-footer .footer-grid,
.site-footer .footer-grid-v12 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: block !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}
.site-footer .footer-grid::-webkit-scrollbar,
.site-footer .footer-grid-v12::-webkit-scrollbar {
  display: none !important;
}
.site-footer .footer-grid::before,
.site-footer .footer-grid-v12::before,
.site-footer .footer-grid::after,
.site-footer .footer-grid-v12::after {
  content: none !important;
  display: none !important;
}

/* Hide legacy blocks completely. */
.site-footer .footer-brand-block,
.site-footer .footer-brand-block + .footer-column,
.site-footer .footer-column.footer-materials,
.site-footer .footer-column[data-footer-section="materials"],
.site-footer .footer-section-title,
.site-footer .footer-section-link,
.site-footer .footer-column > strong,
.site-footer .footer-column > span,
.site-footer .footer-partner-card > span:first-child,
.site-footer .footer-partner-kicker,
.site-footer .footer-partner-card strong,
.site-footer .footer-partner-card p,
.site-footer .footer-partner-email,
.site-footer .footer-section-title::before,
.site-footer .footer-section-title::after,
.site-footer .footer-column > strong::before,
.site-footer .footer-column > strong::after {
  display: none !important;
}

/* Flatten the remaining wrappers into inline text flow. */
.site-footer .footer-column,
.site-footer .footer-partner-card,
.site-footer .footer-partner-actions,
.site-footer .footer-links {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  vertical-align: baseline !important;
}

/* Hide all footer links/buttons first. */
.site-footer a,
.site-footer button.footer-button,
.site-footer .footer-button,
.site-footer .button,
.site-footer .link-button {
  display: none !important;
  visibility: hidden !important;
}

/* Restore only the final wanted links, inline, in this one text row. */
.site-footer a[href="/kontakti"],
.site-footer a[href$="/kontakti"],
.site-footer a[href="/contact"],
.site-footer a[href$="/contact"],
.site-footer a[href="/obshti-usloviya"],
.site-footer a[href$="/obshti-usloviya"],
.site-footer a[href="/terms"],
.site-footer a[href$="/terms"],
.site-footer a[href="/poveritelnost"],
.site-footer a[href$="/poveritelnost"],
.site-footer a[href="/privacy"],
.site-footer a[href$="/privacy"],
.site-footer a[href="/biskvitki"],
.site-footer a[href$="/biskvitki"],
.site-footer a[href="/cookies"],
.site-footer a[href$="/cookies"],
.site-footer a[href="/reklama"],
.site-footer a[href$="/reklama"] {
  display: inline !important;
  visibility: visible !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: color-mix(in srgb, var(--text) 72%, var(--muted) 28%) !important;
  font-size: .9rem !important;
  font-weight: 740 !important;
  line-height: 1.5 !important;
  letter-spacing: -.004em !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  transform: none !important;
  transition: color .16s ease, text-decoration-color .16s ease !important;
}
.site-footer a[href="/kontakti"]:hover,
.site-footer a[href$="/kontakti"]:hover,
.site-footer a[href="/contact"]:hover,
.site-footer a[href$="/contact"]:hover,
.site-footer a[href="/obshti-usloviya"]:hover,
.site-footer a[href$="/obshti-usloviya"]:hover,
.site-footer a[href="/terms"]:hover,
.site-footer a[href$="/terms"]:hover,
.site-footer a[href="/poveritelnost"]:hover,
.site-footer a[href$="/poveritelnost"]:hover,
.site-footer a[href="/privacy"]:hover,
.site-footer a[href$="/privacy"]:hover,
.site-footer a[href="/biskvitki"]:hover,
.site-footer a[href$="/biskvitki"]:hover,
.site-footer a[href="/cookies"]:hover,
.site-footer a[href$="/cookies"]:hover,
.site-footer a[href="/reklama"]:hover,
.site-footer a[href$="/reklama"]:hover {
  background: transparent !important;
  box-shadow: none !important;
  color: var(--brand-dark) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  transform: none !important;
}

/* Dot separators. */
.site-footer a[href="/kontakti"]::after,
.site-footer a[href$="/kontakti"]::after,
.site-footer a[href="/contact"]::after,
.site-footer a[href$="/contact"]::after,
.site-footer a[href="/obshti-usloviya"]::after,
.site-footer a[href$="/obshti-usloviya"]::after,
.site-footer a[href="/terms"]::after,
.site-footer a[href$="/terms"]::after,
.site-footer a[href="/poveritelnost"]::after,
.site-footer a[href$="/poveritelnost"]::after,
.site-footer a[href="/privacy"]::after,
.site-footer a[href$="/privacy"]::after,
.site-footer a[href="/biskvitki"]::after,
.site-footer a[href$="/biskvitki"]::after,
.site-footer a[href="/cookies"]::after,
.site-footer a[href$="/cookies"]::after {
  content: " · " !important;
  display: inline !important;
  margin: 0 !important;
  color: color-mix(in srgb, var(--muted) 66%, transparent) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.site-footer a[href="/reklama"]::after,
.site-footer a[href$="/reklama"]::after {
  content: "" !important;
  display: none !important;
}

/* Exact copyright text under the one-line footer links. */
.site-footer .footer-bottom {
  width: 100% !important;
  max-width: 100% !important;
  margin: 7px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: block !important;
  text-align: center !important;
  font-size: 0 !important;
  line-height: 1.35 !important;
  color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}
.site-footer .footer-bottom > * {
  display: none !important;
}
.site-footer .footer-bottom::before {
  content: "© 2026 Referat4e. Всички права запазени." !important;
  display: inline !important;
  color: var(--muted) !important;
  font-size: .78rem !important;
  font-weight: 640 !important;
  letter-spacing: -.002em !important;
}

html[data-theme="dark"] .site-footer {
  border-top-color: rgba(148, 163, 184, .18) !important;
  background: rgba(15, 23, 42, .82) !important;
  box-shadow: 0 -8px 24px rgba(0,0,0,.12) !important;
}
html[data-theme="dark"] .site-footer .footer-grid,
html[data-theme="dark"] .site-footer .footer-grid-v12,
html[data-theme="dark"] .site-footer .footer-column,
html[data-theme="dark"] .site-footer .footer-partner-card,
html[data-theme="dark"] .site-footer .footer-partner-actions,
html[data-theme="dark"] .site-footer .footer-links {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .site-footer a[href="/kontakti"],
html[data-theme="dark"] .site-footer a[href$="/kontakti"],
html[data-theme="dark"] .site-footer a[href="/contact"],
html[data-theme="dark"] .site-footer a[href$="/contact"],
html[data-theme="dark"] .site-footer a[href="/obshti-usloviya"],
html[data-theme="dark"] .site-footer a[href$="/obshti-usloviya"],
html[data-theme="dark"] .site-footer a[href="/terms"],
html[data-theme="dark"] .site-footer a[href$="/terms"],
html[data-theme="dark"] .site-footer a[href="/poveritelnost"],
html[data-theme="dark"] .site-footer a[href$="/poveritelnost"],
html[data-theme="dark"] .site-footer a[href="/privacy"],
html[data-theme="dark"] .site-footer a[href$="/privacy"],
html[data-theme="dark"] .site-footer a[href="/biskvitki"],
html[data-theme="dark"] .site-footer a[href$="/biskvitki"],
html[data-theme="dark"] .site-footer a[href="/cookies"],
html[data-theme="dark"] .site-footer a[href$="/cookies"],
html[data-theme="dark"] .site-footer a[href="/reklama"],
html[data-theme="dark"] .site-footer a[href$="/reklama"] {
  color: #cbd5e1 !important;
}
html[data-theme="dark"] .site-footer a:hover {
  color: #dbeafe !important;
}
html[data-theme="dark"] .site-footer .footer-bottom::before {
  color: #94a3b8 !important;
}
html[data-theme="dark"] .site-footer a::after {
  color: rgba(148,163,184,.64) !important;
}

@media (max-width: 720px) {
  .site-footer {
    padding: 16px 0 18px !important;
  }
  .site-footer > .container {
    width: min(100vw - 18px, 1120px) !important;
  }
  .site-footer .footer-grid,
  .site-footer .footer-grid-v12 {
    white-space: nowrap !important;
  }
  .site-footer a[href="/kontakti"],
  .site-footer a[href$="/kontakti"],
  .site-footer a[href="/contact"],
  .site-footer a[href$="/contact"],
  .site-footer a[href="/obshti-usloviya"],
  .site-footer a[href$="/obshti-usloviya"],
  .site-footer a[href="/terms"],
  .site-footer a[href$="/terms"],
  .site-footer a[href="/poveritelnost"],
  .site-footer a[href$="/poveritelnost"],
  .site-footer a[href="/privacy"],
  .site-footer a[href$="/privacy"],
  .site-footer a[href="/biskvitki"],
  .site-footer a[href$="/biskvitki"],
  .site-footer a[href="/cookies"],
  .site-footer a[href$="/cookies"],
  .site-footer a[href="/reklama"],
  .site-footer a[href$="/reklama"] {
    font-size: .86rem !important;
  }
}
@media (max-width: 420px) {
  .site-footer .footer-bottom::before {
    font-size: .76rem !important;
  }
}

/* V30.0.16 Footer Link Spacing Tuning */
.site-footer {
  padding-top: 22px !important;
  padding-bottom: 18px !important;
}

/* Minimal footer: one calm row with more air between text links. */
.site-footer .footer-grid,
.site-footer .footer-grid-v12 {
  width: min(980px, 100%) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: clamp(15px, 2.45vw, 32px) !important;
  row-gap: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
}
.site-footer .footer-grid::-webkit-scrollbar,
.site-footer .footer-grid-v12::-webkit-scrollbar {
  display: none !important;
}

.site-footer .footer-column,
.site-footer .footer-partner-card,
.site-footer .footer-partner-actions {
  display: contents !important;
}

.site-footer .footer-column a[href],
.site-footer .footer-partner-actions a[href],
.site-footer .footer-partner-card > a[href],
.site-footer .footer-partner-card .button[href] {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 28px !important;
  padding: 4px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  text-align: center !important;
  text-decoration: none !important;
}

.site-footer .footer-column a[href]:hover,
.site-footer .footer-partner-actions a[href]:hover,
.site-footer .footer-partner-card > a[href]:hover,
.site-footer .footer-partner-card .button[href]:hover {
  background: transparent !important;
  text-decoration: none !important;
  transform: none !important;
}

.site-footer .footer-bottom {
  width: min(980px, 100%) !important;
  margin: 7px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
  color: var(--muted) !important;
  font-size: .78rem !important;
  line-height: 1.35 !important;
}

@media (max-width: 720px) {
  .site-footer .footer-grid,
  .site-footer .footer-grid-v12 {
    justify-content: flex-start !important;
    column-gap: 18px !important;
    padding-inline: 4px !important;
  }
  .site-footer .footer-bottom {
    margin-top: 9px !important;
  }
}

/* === V30.0.17 Mobile Dark Select Arrow Fix START === */
/* Fix: mobile dark theme repeated select chevrons in catalog filters.
   Cause: custom select arrow gradients were inherited without forced no-repeat
   after multiple responsive/dark catalog filter overrides. */
.catalog-filter-drawer select,
.catalog-filter-panel select,
.catalog-filter-card select,
.filters-advanced select,
.filters select {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image:
    linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%) !important;
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50% !important;
  background-size:
    6px 6px,
    6px 6px !important;
  background-repeat: no-repeat, no-repeat !important;
  padding-right: 42px !important;
}

html[data-theme="dark"] .catalog-filter-drawer select,
html[data-theme="dark"] .catalog-filter-panel select,
html[data-theme="dark"] .catalog-filter-card select,
html[data-theme="dark"] .filters-advanced select,
html[data-theme="dark"] .filters select {
  background-repeat: no-repeat, no-repeat !important;
  background-color: #0f172a !important;
  color: var(--text) !important;
}

.catalog-filter-drawer select:disabled,
.catalog-filter-panel select:disabled,
.catalog-filter-card select:disabled {
  background-repeat: no-repeat, no-repeat !important;
  opacity: .72;
}

@media (max-width: 760px) {
  .catalog-filter-drawer select,
  .catalog-filter-panel select,
  .catalog-filter-card select,
  .filters-advanced select,
  .filters select {
    background-position:
      calc(100% - 17px) 50%,
      calc(100% - 11px) 50% !important;
    background-size:
      6px 6px,
      6px 6px !important;
    background-repeat: no-repeat, no-repeat !important;
    padding-right: 42px !important;
  }
}
/* === V30.0.17 Mobile Dark Select Arrow Fix END === */
