/* nordluxnew modern visual layer: new product-first catalogue on top of VamShop Smarty data. */
:root {
  --paper: #f5f5f2;
  --surface: #ffffff;
  --surface-muted: #ececea;
  --ink: #222326;
  --muted: #6b6d70;
  --line: #d9d9d5;
  --accent: #96322f;
  --accent-dark: #702421;
  --container: 1240px;
  --ease: cubic-bezier(.23,1,.32,1);
}

* { box-sizing: border-box; }
html, body { min-width: 0; margin: 0; padding: 0; }
body { background: var(--paper); color: var(--ink); font: 14px/1.45 Arial, Helvetica, sans-serif; text-align: left; }
img { max-width: 100%; border: 0; }
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--accent); }

.nordlux-shell { width: min(var(--container), calc(100% - 36px)); margin: 0 auto; }
.nordlux-header { border-bottom: 1px solid var(--line); background: var(--surface); }
.nordlux-brand { display: block; line-height: 0; }
.nordlux-brand img { display: block; width: 100%; height: auto; max-height: 208px; object-fit: contain; object-position: center; }
.nordlux-nav { display: flex; align-items: center; justify-content: space-between; min-height: 48px; gap: 22px; border-top: 1px solid var(--line); }
.nordlux-nav-links { display: flex; align-items: center; min-width: 0; overflow-x: auto; }
.nordlux-nav-links a { flex: 0 0 auto; padding: 15px 13px 14px; border-right: 1px solid var(--line); color: #4a4c4f; font-size: 12px; line-height: 1; white-space: nowrap; }
.nordlux-nav-links a:first-child { padding-left: 2px; }
.nordlux-nav-links a:hover, .nordlux-nav-links a.is-current { color: var(--accent); }
.nordlux-search { flex: 0 0 auto; max-width: 230px; }
.nordlux-search form { display: flex; align-items: center; gap: 6px; margin: 0; }
.nordlux-search input[type="text"], .nordlux-search input[type="search"] { width: 180px; padding: 7px 9px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); font: 12px Arial, sans-serif; }
.nordlux-search input[type="image"] { width: 18px; height: 18px; object-fit: contain; }

.nordlux-main { display: grid; grid-template-columns: minmax(0, 1fr) 248px; gap: 30px; align-items: start; padding: 32px 0 48px; }
.nordlux-content { min-width: 0; }
.nordlux-content > *:first-child { margin-top: 0; }
.nordlux-content h1, .nordlux-content h2 { margin: 0 0 22px; color: var(--ink); font: 400 26px/1.12 Arial, Helvetica, sans-serif; letter-spacing: -.02em; }
.nordlux-content h1#bg_content_top, .nordlux-content h2#bg_content_top { display: block; padding: 0 0 15px; border: 0; background: transparent !important; color: var(--ink) !important; text-align: left; text-transform: none; }
.nordlux-content .page { margin: 0; }
.nordlux-content .pageItem { width: 100%; }
.nordlux-content .clear { clear: both; }

.nordlux-sidebar { min-width: 0; }
.nordlux-eyebrow, .shop-kicker { margin: 0 0 8px; color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nordlux-marketplaces, .nordlux-contact-card { padding: 19px; }
.nordlux-marketplaces { background: var(--accent); color: #fff; }
.nordlux-marketplaces h2, .nordlux-contact-card h2 { margin: 0 0 16px; font: 400 22px/1.08 Arial, Helvetica, sans-serif; letter-spacing: -.02em; }
.nordlux-marketplaces h2 { color: #fff; }
.nordlux-marketplaces .nordlux-eyebrow { color: rgba(255,255,255,.68); }
.nordlux-marketplaces a { display: flex; align-items: center; gap: 8px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.25); color: #fff; font-size: 12px; }
.nordlux-marketplaces a span { display: inline-grid; place-items: center; min-width: 25px; height: 20px; padding: 0 3px; background: rgba(0,0,0,.22); font-size: 9px; font-weight: 700; }
.nordlux-marketplaces a b { margin-left: auto; font-weight: 400; }
.nordlux-contact-card { margin-top: 18px; border: 1px solid var(--line); background: var(--surface); }
.nordlux-contact-card h2 { color: var(--ink); }
.nordlux-contact-card .nordlux-eyebrow { color: var(--muted); }
.nordlux-contact-card a { display: block; padding: 8px 0; border-top: 1px solid var(--line); color: var(--ink); font-size: 12px; }
.nordlux-contact-card a:hover { color: var(--accent); }
.nordlux-compat-modules { margin-top: 18px; }
.nordlux-compat-modules > * { margin: 0 0 18px; }
.nordlux-compat-modules #boxCategories, .nordlux-compat-modules #boxContent, .nordlux-compat-modules #boxInformation, .nordlux-compat-modules #boxReviews, .nordlux-compat-modules #boxLatestNews, .nordlux-compat-modules #boxAuthors, .nordlux-compat-modules #boxSpecials { width: auto; margin: 0 0 18px; padding: 16px; border: 1px solid var(--line); background: var(--surface); }
.nordlux-compat-modules h5 { width: auto !important; height: auto !important; margin: 0 0 10px !important; padding: 0 !important; background: none !important; color: var(--ink) !important; font: 700 11px/1.2 Arial, sans-serif !important; letter-spacing: .1em; text-align: left !important; text-transform: uppercase; }
.nordlux-compat-modules ul { margin: 0; padding: 0; list-style: none; }
.nordlux-compat-modules li { padding: 6px 0; border-top: 1px solid var(--line); font-size: 12px; }

#bg_content, #bg_content1 { background: transparent; }
#bg_content_bottom, #bg_content_bottom1 { padding: 0; background: transparent; }
#bg_content > .page, #bg_content1 > .page { margin: 0; }

.katalog_tov { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 18px; width: 100%; }
.katalog_tov td { border: 0; }
.book-card { display: flex; min-width: 0; flex-direction: column; }
.book-card-cover { display: flex; align-items: center; justify-content: center; height: 270px; padding: 12px; background: var(--surface-muted); }
.book-card-cover img { width: 100%; height: 100%; object-fit: contain; }
.book-card-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.book-card-author { margin-top: 12px; color: var(--accent); font-size: 10px; font-weight: 700; line-height: 1.25; letter-spacing: .07em; text-transform: uppercase; }
.book-card-title { display: block; margin-top: 5px; color: var(--ink) !important; font-size: 14px; line-height: 1.25; }
.book-card-title:hover { color: var(--accent) !important; }
.book-card-description { min-height: 4.1em; margin: 8px 0 12px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.book-card-buy { align-self: flex-start; margin-top: auto; padding: 7px 9px; border: 1px solid var(--line); color: var(--ink) !important; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.book-card-buy:hover { border-color: var(--accent); color: var(--accent) !important; }
.book-card-buy span { margin-left: 6px; color: var(--accent); }

.navigation { display: flex; justify-content: space-between; gap: 12px; margin-top: 36px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.navigation a { color: var(--ink); }

.product-layout { display: grid; grid-template-columns: minmax(190px, 280px) minmax(0, 1fr); gap: 34px; align-items: start; }
.product-cover-column { min-width: 0; }
.product-cover { display: block; width: 100%; max-height: 560px; object-fit: contain; background: var(--surface-muted); }
.product-question { margin-top: 14px; color: var(--muted); font-size: 12px; }
.product-copy { min-width: 0; }
.product-copy h1 { margin: 4px 0 18px; color: var(--ink); font: 400 38px/1.05 Arial, Helvetica, sans-serif; letter-spacing: -.035em; }
.product-author { color: var(--accent); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.product-subtitle { margin: 0 0 18px; color: #4f5155; font-size: 16px; line-height: 1.45; }
.product-description { color: #404246; font-size: 14px; line-height: 1.65; }
.product-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; margin: 25px 0; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-meta dt { color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.product-meta dd { margin: 3px 0 0; color: var(--ink); font-size: 12px; }
.product-buy-block { margin-top: 25px; padding: 17px; background: var(--surface-muted); }
.product-buy-links { display: flex; flex-wrap: wrap; gap: 7px; }
.market-action { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid var(--line); background: var(--surface); color: var(--ink) !important; font-size: 10px; text-transform: uppercase; }
.market-action:hover { border-color: var(--accent); color: var(--accent) !important; }
.market-badge { display: inline-grid; place-items: center; min-width: 21px; height: 18px; background: var(--accent); color: #fff; font-size: 8px; font-weight: 700; }

.product-back { display: inline-block; margin-bottom: 22px; color: var(--muted); font-size: 12px; }
.product-back:hover { color: var(--accent); }

.nordlux-footer { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0 26px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
#vk_community_messages { position: fixed; right: 16px; bottom: 16px; z-index: 5; }

@media (max-width: 1080px) {
  .nordlux-shell { width: min(var(--container), calc(100% - 28px)); }
  .katalog_tov { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .book-card-cover { height: 240px; }
}
@media (max-width: 820px) {
  .nordlux-main { grid-template-columns: 1fr; gap: 30px; }
  .nordlux-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .nordlux-contact-card { margin-top: 0; }
  .nordlux-compat-modules { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 0; }
  .nordlux-compat-modules > * { margin-bottom: 0; }
  .katalog_tov { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .book-card-cover { height: 250px; }
  .product-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 22px; }
  .product-copy h1 { font-size: 31px; }
}
@media (max-width: 560px) {
  .nordlux-shell { width: calc(100% - 20px); }
  .nordlux-brand img { max-height: none; }
  .nordlux-nav { display: block; padding: 0; }
  .nordlux-nav-links { min-height: 43px; }
  .nordlux-nav-links a { padding: 14px 10px; font-size: 11px; }
  .nordlux-nav-links a:first-child { padding-left: 0; }
  .nordlux-search { display: none; }
  .nordlux-main { padding-top: 22px; }
  .nordlux-content h1, .nordlux-content h2 { font-size: 23px; }
  .nordlux-sidebar { display: block; }
  .nordlux-contact-card { margin-top: 14px; }
  .nordlux-compat-modules { display: block; }
  .nordlux-compat-modules > * { margin-bottom: 14px; }
  .book-card-cover { height: 205px; padding: 8px; }
  .book-card-title { font-size: 13px; }
  .book-card-description { min-height: 0; font-size: 11px; }
  .book-card-buy { padding: 6px 7px; font-size: 9px; }
  .product-layout { grid-template-columns: 1fr; gap: 18px; }
  .product-cover { max-height: 430px; }
  .product-copy h1 { font-size: 32px; }
  .product-meta { grid-template-columns: 1fr 1fr; }
  .nordlux-footer { display: block; }
  .nordlux-footer span { display: block; margin-top: 4px; }
}
@media (prefers-reduced-motion: no-preference) {
  .book-card-cover img, .book-card-buy, .market-action, .nordlux-nav-links a { transition: transform 180ms var(--ease), color 180ms var(--ease), border-color 180ms var(--ease); }
  .book-card:hover .book-card-cover img { transform: scale(1.025); }
}

.category-intro { display: grid; grid-template-columns: minmax(0, 1fr) 170px; gap: 24px; align-items: start; margin-bottom: 30px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.category-intro-copy h1, .catalog-heading h1 { margin: 0; color: var(--ink); font: 400 34px/1.05 Arial, Helvetica, sans-serif; letter-spacing: -.03em; }
.category-description { margin-top: 14px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.category-image { width: 100%; max-height: 150px; object-fit: contain; background: var(--surface-muted); }
.catalog-heading { margin-bottom: 24px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.category-links { display: flex; flex-wrap: wrap; gap: 7px; margin: -10px 0 23px; }
.category-links a { padding: 7px 9px; border: 1px solid var(--line); background: var(--surface); color: var(--muted); font-size: 11px; }
.category-links a:hover { border-color: var(--accent); color: var(--accent); }
.catalog-controls { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 18px; margin-bottom: 22px; color: var(--muted); font-size: 11px; }
.catalog-controls a { color: var(--ink); }
.catalog-controls a:hover { color: var(--accent); }
@media (max-width: 560px) {
  .category-intro { grid-template-columns: 1fr; gap: 15px; }
  .category-image { max-height: 120px; order: -1; }
  .category-intro-copy h1, .catalog-heading h1 { font-size: 28px; }
  .catalog-controls { display: block; }
  .catalog-controls span { display: block; margin-bottom: 6px; }
}

/* Review and related-product compatibility layer: old VamShop modules remain functional but follow the modern product flow. */
.nordlux-product-page > .headers { display: block; clear: both; width: 100%; margin: 34px 0 12px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--ink); font: 700 11px/1.2 Arial, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.nordlux-product-page > .headers + .page { width: 100%; margin: 0 0 9px; padding: 16px 18px; border: 1px solid var(--line); background: var(--surface); }
.nordlux-product-page > .headers + .page .pagecontent { width: 100%; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.nordlux-product-page > .headers + .page + a { display: inline-block; margin: 0 0 2px; color: var(--accent); font-size: 12px; }
.nordlux-product-page > .headers + .page + a:hover { color: var(--accent-dark); }
.nordlux-product-page > .pagecontentfooter { clear: both; height: 0; margin: 0; padding: 0; }
.nordlux-product-page .pagecontent table.katalog_tov { width: 100%; margin: 0; border-collapse: separate; border-spacing: 0 12px; }
.nordlux-product-page .pagecontent table.katalog_tov tr { background: var(--surface); }
.nordlux-product-page .pagecontent table.katalog_tov td { padding: 12px; border: 1px solid var(--line); vertical-align: top; }
.nordlux-product-page .pagecontent table.katalog_tov td + td { border-left: 0; }
.nordlux-product-page .pagecontent table.katalog_tov .katalog_tov_left { width: 104px; text-align: center; }
.nordlux-product-page .pagecontent table.katalog_tov .katalog_tov_left img { width: 80px; height: 112px; object-fit: contain; }
.nordlux-product-page .pagecontent table.katalog_tov .katalog_tov_center { color: var(--muted); font-size: 12px; line-height: 1.45; }
.nordlux-product-page .pagecontent table.katalog_tov .katalog_tov_center #products_link { display: block; margin-bottom: 5px; color: var(--ink); font-size: 14px; line-height: 1.25; }
.nordlux-product-page .pagecontent table.katalog_tov .katalog_tov_center p { margin: 0; }
@media (max-width: 560px) {
  .nordlux-product-page > .headers { margin-top: 26px; }
  .nordlux-product-page .pagecontent table.katalog_tov .katalog_tov_left { width: 86px; }
  .nordlux-product-page .pagecontent table.katalog_tov .katalog_tov_left img { width: 62px; height: 90px; }
  .nordlux-product-page .pagecontent table.katalog_tov td { padding: 8px; }
}

/* Related products: replace the legacy narrow table with a full-width responsive card grid. */
.related-products { clear: both; width: 100%; margin: 30px 0 0; }
.related-products > .headers { display: block; width: 100%; margin: 0 0 14px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--ink); font: 700 11px/1.2 Arial, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; width: 100%; }
.related-card { display: grid; grid-template-columns: 86px minmax(0, 1fr); min-width: 0; min-height: 150px; background: var(--surface); border: 1px solid var(--line); }
.related-card-cover { display: flex; align-items: flex-start; justify-content: center; padding: 12px; background: var(--surface-alt); }
.related-card-cover img { display: block; width: 62px; height: 96px; object-fit: contain; }
.related-card-copy { min-width: 0; padding: 12px 12px 11px; color: var(--muted); font-size: 12px; line-height: 1.42; }
.related-card-title { display: block; margin-bottom: 6px; color: var(--ink); font-size: 14px; font-weight: 700; line-height: 1.25; }
.related-card-copy p { margin: 0; }
@media (max-width: 760px) {
  .related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .related-card { grid-template-columns: 74px minmax(0, 1fr); min-height: 128px; }
  .related-card-cover { padding: 8px; }
  .related-card-cover img { width: 52px; height: 82px; }
  .related-card-copy { padding: 9px; font-size: 11px; }
  .related-card-title { font-size: 13px; }
}

/* Sidebar cleanup: search and newsletter boxes use the modern shell instead of legacy image/button geometry. */
.nordlux-search #boxSearch, .nordlux-search #boxSearchContent { width: 100%; margin: 0; padding: 0; background: transparent; }
.nordlux-search #quick_find { display: flex; align-items: center; gap: 6px; margin: 0; }
.nordlux-search #quick_find_keyword { width: clamp(120px, 17vw, 190px); height: 32px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 0; background: var(--surface); color: var(--ink); font: 12px Arial, sans-serif; }
.nordlux-search #quick_find input[type="image"] { width: 32px; height: 32px; margin: 0; padding: 7px; border: 1px solid var(--line); background: var(--surface-muted); object-fit: contain; }
.nordlux-search #quick_find input[type="image"]:hover { border-color: var(--accent); }
.nordlux-compat-modules #boxNewsletter { width: auto; margin: 0 0 18px; padding: 16px; border: 1px solid var(--line); background: var(--surface); }
.nordlux-compat-modules #boxNewsletter h5 { width: auto !important; height: auto !important; margin: 0 0 12px !important; padding: 0 !important; background: none !important; color: var(--ink) !important; font: 700 11px/1.2 Arial, sans-serif !important; letter-spacing: .1em; text-align: left !important; text-transform: uppercase; }
.nordlux-compat-modules #boxNewsletterContent { width: 100%; margin: 0; padding: 0; background: transparent; }
.nordlux-compat-modules #boxNewsletterContent h3 { margin: 0 0 7px; color: var(--muted); font: 11px/1.2 Arial, sans-serif; text-align: left; }
.nordlux-compat-modules #boxNewsletterContent .newsletterform { margin: 0 0 7px; }
.nordlux-compat-modules #boxNewsletterContent #emlfrm { display: block; width: 100%; height: 32px; padding: 7px 9px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); font: 12px Arial, sans-serif; }
.nordlux-compat-modules #boxNewsletterContent input[type="image"] { display: block; width: auto; min-width: 86px; height: 30px; margin: 0; padding: 6px 12px; border: 1px solid var(--accent); background: var(--accent); object-fit: contain; }
.nordlux-compat-modules #boxNewsletterContent input[type="image"]:hover { background: var(--accent-dark); }
@media (max-width: 820px) {
  .nordlux-search { max-width: 205px; }
  .nordlux-search #quick_find_keyword { width: 150px; }
}

.nordlux-compat-modules #boxNewsletterContent label { display: block; margin: 0 0 7px; color: var(--muted); font-size: 11px; }
.nordlux-compat-modules #boxNewsletterContent .nordlux-newsletter-submit { display: inline-block; min-width: 92px; height: 30px; margin: 0; padding: 6px 12px; border: 1px solid var(--accent); border-radius: 0; background: var(--accent); color: #fff; cursor: pointer; font: 700 10px/1 Arial, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.nordlux-compat-modules #boxNewsletterContent .nordlux-newsletter-submit:hover { background: var(--accent-dark); }
.nordlux-compat-modules #boxNewsletterContent .nordlux-newsletter-submit:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Mobile hardening for legacy browsers without a viewport meta tag. */
@media (max-device-width: 820px) {
  .nordlux-shell { width: calc(100% - 20px); }
  .nordlux-main { grid-template-columns: 1fr; gap: 22px; padding-top: 16px; }
  .nordlux-sidebar { display: block; }
  .nordlux-nav { display: block; padding: 0; }
  .nordlux-nav-links { width: 100%; min-height: 42px; overflow-x: auto; }
  .nordlux-nav-links a { padding: 13px 10px; font-size: 10px; }
  .nordlux-search { display: block; width: 100%; max-width: none; padding: 8px 0; border-top: 1px solid var(--line); }
  .nordlux-search #boxSearchContent { width: 100%; }
  .nordlux-search #quick_find { width: 100%; }
  .nordlux-search #quick_find_keyword { flex: 1 1 auto; width: auto; min-width: 0; height: 34px; }
  .nordlux-search #quick_find input[type="image"] { flex: 0 0 34px; width: 34px; height: 34px; }
  .product-layout { display: block !important; width: 100%; }
  .product-cover-column, .product-copy { display: block; width: 100%; max-width: none; }
  .product-cover { width: 100%; max-width: 310px; max-height: 460px; margin: 0 auto 18px; }
  .product-copy h1 { font-size: 29px; line-height: 1.08; }
  .product-meta { grid-template-columns: 1fr 1fr; }
  .nordlux-product-page > .headers,
  .nordlux-product-page > .page,
  .nordlux-product-page > .pagecontentfooter { display: none !important; }
}

/* Moto S50 mobile scale: readable controls and type at 360–390 CSS px. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.nordlux-search-submit { display: inline-flex; align-items: center; justify-content: center; min-width: 72px; height: 34px; padding: 0 12px; border: 1px solid var(--accent); border-radius: 0; background: var(--accent); color: #fff; cursor: pointer; font: 700 12px/1 Arial, sans-serif; }
.nordlux-search-submit:hover, .nordlux-search-submit:focus-visible { background: var(--accent-dark); }
@media (max-device-width: 820px), (max-width: 560px) {
  body { font-size: 16px; line-height: 1.55; }
  .nordlux-shell { width: calc(100% - 20px); }
  .nordlux-nav-links { min-height: 48px; }
  .nordlux-nav-links a { padding: 15px 12px; font-size: 13px; line-height: 1.2; }
  .nordlux-search { padding: 10px 0; }
  .nordlux-search #boxSearchContent form { display: flex; align-items: stretch; width: 100%; gap: 8px; }
  .nordlux-search #quick_find_keyword { flex: 1 1 auto; width: auto; min-width: 0; height: 42px; padding: 9px 11px; font-size: 16px; }
  .nordlux-search .nordlux-search-submit { flex: 0 0 auto; min-width: 78px; height: 42px; font-size: 13px; }
  .nordlux-content h1, .nordlux-content h2 { font-size: 26px; line-height: 1.15; }
  .nordlux-sidebar { font-size: 16px; }
  .nordlux-marketplaces, .nordlux-contact-card { padding: 18px; }
  .nordlux-marketplaces h2, .nordlux-contact-card h2 { font-size: 24px; }
  .nordlux-marketplaces a, .nordlux-contact-card a { padding: 12px 0; font-size: 14px; }
  .nordlux-compat-modules li { padding: 9px 0; font-size: 14px; line-height: 1.4; }
  .book-card-author { font-size: 12px; }
  .book-card-title { font-size: 16px; line-height: 1.3; }
  .book-card-description { font-size: 14px; line-height: 1.5; }
  .book-card-buy, .market-action { padding: 9px 11px; font-size: 12px; }
  .product-copy h1 { font-size: 31px; }
  .product-author { font-size: 12px; }
  .product-subtitle { font-size: 17px; line-height: 1.5; }
  .product-description { font-size: 16px; line-height: 1.65; }
  .product-meta dt { font-size: 11px; }
  .product-meta dd { font-size: 14px; }
  .product-buy-block { padding: 16px; }
  .related-card-copy { font-size: 14px; }
  .related-card-title { font-size: 16px; }
  .nordlux-footer { font-size: 13px; }
}

/* Phone catalog override: beat the legacy 3-column rule when the browser reports a desktop CSS viewport. */
@media (max-device-width: 820px) {
  .nordlux-content .katalog_tov,
  .nordlux-content .featured-catalog,
  .nordlux-content .product-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 22px !important; width: 100% !important; }
  .nordlux-content .book-card { width: 100% !important; min-width: 0 !important; }
  .nordlux-content .book-card-cover { height: 250px !important; }
  .nordlux-content .book-card-title { font-size: 17px !important; }
  .nordlux-content .book-card-description { font-size: 15px !important; line-height: 1.5 !important; }
}

/* Compact phone catalogue: two readable cards per row. */
@media (max-device-width: 820px) {
  .nordlux-nav { margin-bottom: 14px; }
  .nordlux-nav-links { margin-bottom: 10px; border-bottom: 1px solid var(--line); }
  .nordlux-search { padding-top: 10px; }
  .nordlux-content .katalog_tov,
  .nordlux-content .featured-catalog,
  .nordlux-content .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
  .nordlux-content .book-card-cover { height: 170px !important; padding: 8px !important; }
  .nordlux-content .book-card-title { font-size: 14px !important; line-height: 1.25 !important; }
  .nordlux-content .book-card-description { font-size: 12px !important; line-height: 1.42 !important; }
  .nordlux-content .book-card-buy { padding: 8px 7px !important; font-size: 10px !important; }
}
@media (max-width: 420px) {
  .nordlux-content .book-card-cover { height: 155px !important; }
}

/* Final mobile repair: remove the legacy sidebar/grid offset before sizing cards. */
@media (max-device-width: 1080px), (max-width: 820px) {
  .nordlux-main { display: block !important; width: 100% !important; }
  .nordlux-content { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .nordlux-sidebar { display: block !important; width: 100% !important; max-width: none !important; margin: 24px 0 0 !important; }
  .nordlux-content .katalog_tov,
  .nordlux-content .featured-catalog,
  .nordlux-content .featured-grid,
  .nordlux-content .product-grid { display: grid !important; width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 24px 14px !important; }
  .nordlux-content .book-card { display: flex !important; width: auto !important; min-width: 0 !important; float: none !important; margin: 0 !important; }
  .nordlux-content .book-card-cover { width: 100% !important; height: 190px !important; padding: 10px !important; }
  .nordlux-content .book-card-author { font-size: 13px !important; line-height: 1.3 !important; }
  .nordlux-content .book-card-title { font-size: 16px !important; line-height: 1.3 !important; }
  .nordlux-content .book-card-description { min-height: 0 !important; margin: 8px 0 12px !important; font-size: 14px !important; line-height: 1.5 !important; }
  .nordlux-content .book-card-buy { padding: 10px 11px !important; font-size: 12px !important; line-height: 1.2 !important; }
  .nordlux-nav { margin-bottom: 16px !important; }
  .nordlux-search { margin-top: 12px !important; }
}
@media (max-device-width: 500px), (max-width: 500px) {
  .nordlux-content .katalog_tov,
  .nordlux-content .featured-catalog,
  .nordlux-content .featured-grid,
  .nordlux-content .product-grid { gap: 22px 12px !important; }
  .nordlux-content .book-card-cover { height: 175px !important; }
}

/* No-viewport fallback for real phones: the browser may expose a ~980px CSS viewport. */
@media screen and (max-width: 1100px) {
  .nordlux-main { display: block !important; width: 100% !important; }
  .nordlux-content { display: block !important; width: 100% !important; max-width: none !important; }
  .nordlux-content .featured-catalog,
  .nordlux-content .katalog_tov,
  .nordlux-content .featured-grid,
  .nordlux-content .product-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; gap: 28px !important; }
  .nordlux-content .book-card { width: 100% !important; min-width: 0 !important; float: none !important; }
  .nordlux-content .book-card-cover { height: 260px !important; padding: 14px !important; }
  .nordlux-content .book-card-author { font-size: 15px !important; line-height: 1.35 !important; }
  .nordlux-content .book-card-title { font-size: 19px !important; line-height: 1.3 !important; }
  .nordlux-content .book-card-description { min-height: 0 !important; margin: 10px 0 14px !important; font-size: 16px !important; line-height: 1.55 !important; }
  .nordlux-content .book-card-buy { padding: 12px 14px !important; font-size: 14px !important; line-height: 1.2 !important; }
  .nordlux-search { margin-top: 16px !important; }
}

/* Mobile refinement: compact image stage, readable copy remains unchanged. */
@media screen and (max-width: 1100px) {
  .nordlux-content .featured-catalog,
  .nordlux-content .katalog_tov,
  .nordlux-content .featured-grid,
  .nordlux-content .product-grid { gap: 20px !important; }
  .nordlux-content .book-card-cover { height: 205px !important; padding: 10px !important; }
  .nordlux-content .book-card-copy { padding-bottom: 0 !important; }
  .nordlux-content .book-card-author { margin-top: 9px !important; }
  .nordlux-content .book-card-description { margin-top: 7px !important; margin-bottom: 10px !important; }
}

/* Desktop header repair: keep the search control inside the nav row. */
@media screen and (min-width: 821px) {
  .nordlux-nav { min-width: 0; gap: 16px; padding: 0 12px; }
  .nordlux-nav-links { flex: 1 1 auto; min-width: 0; }
  .nordlux-nav-links a:first-child { padding-left: 12px; }
  .nordlux-search { flex: 0 0 260px; width: 260px; max-width: 260px; min-width: 0; }
  .nordlux-search form { width: 100%; min-width: 0; }
  .nordlux-search #quick_find_keyword { flex: 1 1 auto; width: auto; min-width: 0; }
  .nordlux-search .nordlux-search-submit { flex: 0 0 72px; width: 72px; }
}

/* Mobile only: hide the duplicate legacy news box in the sidebar; keep main news intact. */
@media screen and (max-width: 1100px) {
  .nordlux-compat-modules #boxNews { display: none !important; }
}

/* Mobile header cleanup: no divider between menu and search; modest first-item inset. */
@media screen and (max-width: 1100px) {
  .nordlux-nav-links { border-bottom: 0 !important; }
  .nordlux-search { border-top: 0 !important; }
  .nordlux-nav-links a:first-child { padding-left: 8px !important; }
}

/* Product page mobile cleanup: keep inline purchase links, hide only the red sidebar block. */
@media screen and (max-width: 1100px) {
  body:has(.nordlux-product-page) .nordlux-sidebar .nordlux-marketplaces { display: none !important; }
}

/* Mobile catalog pages: match product-page cover scale on authors, specials and unavailable listings. */
@media screen and (max-width: 1100px) {
  .nordlux-content .katalog_tov .book-card-cover { height: 360px !important; padding: 16px !important; }
  .nordlux-content .katalog_tov .book-card-cover img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
}

/* Contact icons and compact newsletter control. */
.nordlux-contact-card a { display: flex; align-items: center; gap: 10px; }
.nordlux-contact-card .contact-icon { display: inline-flex; flex: 0 0 24px; width: 24px; height: 24px; align-items: center; justify-content: center; border-radius: 50%; background: var(--accent); color: #fff; font: 700 9px/1 Arial, sans-serif; letter-spacing: -.03em; }
.nordlux-contact-card .contact-icon-email { font-size: 15px; }
.nordlux-compat-modules #boxNewsletterContent form { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0; }
.nordlux-compat-modules #boxNewsletterContent form label { flex: 0 0 100%; }
.nordlux-compat-modules #boxNewsletterContent #emlfrm { flex: 1 1 auto; min-width: 0; width: auto; }
.nordlux-compat-modules #boxNewsletterContent .nordlux-newsletter-submit { flex: 0 0 42px; width: 42px; min-width: 42px; height: 32px; padding: 0; font-size: 20px; line-height: 1; }
@media screen and (max-width: 1100px) {
  .nordlux-compat-modules #boxNewsletterContent .nordlux-newsletter-submit { flex-basis: 46px; width: 46px; min-width: 46px; height: 42px; font-size: 22px; }
  .nordlux-compat-modules #boxNewsletterContent #emlfrm { height: 42px; font-size: 16px; }
}

/* Final alignment override: force newsletter control row and flush news content to the shell edge. */
.nordlux-compat-modules #boxNewsletterContent form { display: grid !important; grid-template-columns: minmax(0, 1fr) 42px !important; align-items: stretch !important; column-gap: 0 !important; row-gap: 0 !important; }
.nordlux-compat-modules #boxNewsletterContent form label { grid-column: 1 / -1 !important; display: block !important; }
.nordlux-compat-modules #boxNewsletterContent #emlfrm { grid-column: 1 !important; grid-row: 2 !important; display: block !important; width: 100% !important; min-width: 0 !important; }
.nordlux-compat-modules #boxNewsletterContent .nordlux-newsletter-submit { grid-column: 2 !important; grid-row: 2 !important; display: block !important; width: 42px !important; min-width: 42px !important; height: 32px !important; margin: 0 !important; padding: 0 !important; }
.nordlux-content .itemLatestNewsDefault,
.nordlux-content .itemLatestNewsDefault dt,
.nordlux-content .itemLatestNewsDefault dd,
.nordlux-content .itemLatestNewsDefault p,
.nordlux-content .itemLatestNewsDefault ul,
.nordlux-content .itemLatestNewsDefault ol { margin-left: 0 !important; padding-left: 0 !important; }
.nordlux-content .itemLatestNewsDefault { width: 100% !important; margin-right: 0 !important; }
.nordlux-content .itemLatestNewsDefault li { margin-left: 0 !important; }
@media screen and (max-width: 1100px) {
  .nordlux-compat-modules #boxNewsletterContent form { grid-template-columns: minmax(0, 1fr) 46px !important; }
  .nordlux-compat-modules #boxNewsletterContent .nordlux-newsletter-submit { width: 46px !important; min-width: 46px !important; height: 42px !important; }
}

/* Mobile cleanup: reviews are intentionally suppressed on homepage and product pages. */
@media screen and (max-width: 1100px) {
  #boxReviews,
  #boxReviewsContent { display: none !important; }
}

/* News page alignment: reset browser DL/DD indentation for symmetric mobile margins. */
.nordlux-content .itemLatestNews,
.nordlux-content .itemLatestNews dt,
.nordlux-content .itemLatestNews dd,
.nordlux-content .itemLatestNews .itemNews {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.nordlux-content .itemLatestNews {
  width: 100% !important;
}

/* News headlines and the home-page all-news action. */
.nordlux-content .itemLatestNews dt.itemNews + dd.itemNews a,
.nordlux-content .itemLatestNews dd.itemNews strong a,
.nordlux-content .itemLatestNews dd.itemNews a.red {
  color: var(--accent) !important;
}
.nordlux-compat-modules #boxNews .boxNewsContent > p:last-child {
  margin: 18px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.nordlux-compat-modules #boxNews .boxNewsContent > p:last-child a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--accent);
  background: var(--accent);
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
}
.nordlux-compat-modules #boxNews .boxNewsContent > p:last-child a:hover,
.nordlux-compat-modules #boxNews .boxNewsContent > p:last-child a:focus-visible {
  background: #7d2424;
  border-color: #7d2424;
}

/* Keep the home-page all-news action compact, right-aligned and single-line. */
.nordlux-compat-modules #boxNews .boxNewsContent > p:last-child {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100% !important;
  white-space: nowrap !important;
  text-align: right !important;
  overflow: visible !important;
}
.nordlux-compat-modules #boxNews .boxNewsContent > p:last-child a {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* The highlighted blue icon is the Uptolike share/follow block, not VK Community Messages. */
.uptolike-buttons {
  display: none !important;
}

/* Final all-news CTA: one line, right edge, bold and high contrast. */
#boxNews .boxNewsContent > p:last-of-type,
#boxNews .boxNewsContent > p:last-child {
  display: block !important;
  width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
  overflow: visible !important;
}
#boxNews .boxNewsContent > p:last-of-type a,
#boxNews .boxNewsContent > p:last-child a {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  padding: 8px 12px !important;
  background: var(--accent) !important;
  border: 1px solid var(--accent) !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Template-level all-news CTA: no legacy inline styles or wrapping. */
#boxNews .boxNewsContent .all-news-cta {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
}
#boxNews .boxNewsContent .all-news-cta a {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  padding: 8px 12px !important;
  background: var(--accent) !important;
  border: 1px solid var(--accent) !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Active latest_news_default template CTA: one right-aligned line. */
.latest-news-page .latest-news-cta,
.latest-news-page .all-news-cta {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
}
.latest-news-page .latest-news-cta a,
.latest-news-page .all-news-cta a {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  padding: 8px 12px !important;
  background: var(--accent) !important;
  border: 1px solid var(--accent) !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
.latest-news-page .news-headline {
  color: var(--accent) !important;
}

/* Search box horizontal rhythm: align its inner controls with nav text padding. */
.nordlux-search {
  box-sizing: border-box !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}
.nordlux-search #boxSearchContent,
.nordlux-search #boxSearchContent form {
  width: 100% !important;
  min-width: 0 !important;
}
@media screen and (max-width: 500px) {
  .nordlux-search {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* Product catalogue policy: keep legacy review widget out of cards and sidebar. */
.nordlux-compat-modules #boxReviews {
  display: none !important;
}

/* News hierarchy: make linked headlines the visual anchor, while dates and summaries stay quiet. */
.nordlux-content .itemLatestNewsDefault .news-headline,
.nordlux-content .itemLatestNewsDefault dd.itemNews a {
  display: inline-block;
  color: var(--accent) !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}
.nordlux-content .itemLatestNewsDefault .news-headline:hover,
.nordlux-content .itemLatestNewsDefault .news-headline:focus-visible {
  color: var(--accent-dark) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.nordlux-content .itemLatestNewsDefault .date,
.nordlux-content .itemLatestNewsDefault dd.itemNews:last-child {
  color: var(--muted);
}
.nordlux-compat-modules #boxNews .boxNewsContent > p a.red,
.nordlux-compat-modules #boxNews .boxNewsContent > p:nth-of-type(2n) a {
  color: var(--accent) !important;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}
.nordlux-compat-modules #boxNews .boxNewsContent > p a.red:hover,
.nordlux-compat-modules #boxNews .boxNewsContent > p a.red:focus-visible {
  color: var(--accent-dark) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Keep the transparent maintenance/login link usable, but remove its visible trailing divider. */
.nordlux-nav-links a[href$="login.php"] {
  border-right: 0 !important;
}

/* Catalogue quick-buy row: compact marketplace badges keep the book link primary. */
.book-card-marketplaces {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-top: auto;
  padding-top: 10px;
}
.book-card-market {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 24px;
  padding: 0 6px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--muted) !important;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
  text-decoration: none;
  transition: border-color 180ms var(--ease), color 180ms var(--ease), background 180ms var(--ease), transform 180ms var(--ease);
}
.book-card-market span { display: none; }
.book-card-market:hover,
.book-card-market:focus-visible {
  border-color: var(--accent);
  background: var(--accent);
  color: #fff !important;
  transform: translateY(-1px);
}
.book-card-market-t { color: var(--accent) !important; }
.book-card-market-oz { color: #6b4b93 !important; }
.book-card-market-wb { color: #8a3e86 !important; }
.book-card-market-yam { color: #b07920 !important; }
@media (max-width: 560px) {
  .book-card-marketplaces { gap: 6px; padding-top: 10px; }
  .book-card-market { min-width: 32px; height: 28px; padding: 0 7px; font-size: 10px; }
}

/* Mobile quick-buy refinement: stronger touch targets with a short action label. */
.book-card-buy-label {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin-right: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
}
@media (max-width: 560px) {
  .book-card-marketplaces { gap: 7px; padding-top: 12px; }
  .book-card-buy-label { min-height: 34px; margin-right: 2px; font-size: 12px; }
  .book-card-market { min-width: 40px; height: 34px; padding: 0 9px; font-size: 12px; }
}

/* Catalogue quick-buy buttons now mirror the product-card purchase block. */
.book-card-buy-label {
  color: var(--accent) !important;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
}
.catalog-market-action {
  min-height: 30px;
  padding: 6px 9px;
  background: var(--surface) !important;
  color: var(--ink) !important;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.catalog-market-action:hover,
.catalog-market-action:focus-visible {
  border-color: var(--accent) !important;
  background: var(--surface) !important;
  color: var(--accent) !important;
}
.catalog-market-action .market-badge {
  min-width: 22px;
  height: 20px;
  background: var(--accent);
  color: #fff;
  font-size: 8px;
}
.catalog-market-short {
  min-width: 55px;
  gap: 5px;
}
@media (max-width: 560px) {
  .book-card-buy-label { min-height: 34px; color: var(--accent) !important; font-size: 12px; }
  .catalog-market-action { min-height: 36px; padding: 7px 10px; font-size: 11px; }
  .catalog-market-action .market-badge { min-width: 25px; height: 22px; font-size: 9px; }
  .catalog-market-short { min-width: 62px; }
}

/* Safe SEO breadcrumbs: visible navigation and schema.org Microdata. */
.nordlux-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 14px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}
.nordlux-breadcrumbs a { color: var(--muted); text-decoration: none; }
.nordlux-breadcrumbs a:hover,
.nordlux-breadcrumbs a:focus-visible { color: var(--accent); text-decoration: underline; }
.nordlux-breadcrumbs [itemprop="name"] { overflow-wrap: anywhere; }
