/* Generated by scripts/ui-build.py; edit services/web/app/globals.css */
@import './tokens.css';
@import './brand.css';
.site-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--lampeya-space-5); padding-block: var(--lampeya-space-6); color: var(--lampeya-text-secondary); }
.footer-links,.site-nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lampeya-space-5); }
.site-nav a { display: inline-flex; min-height: var(--lampeya-layout-target-min); align-items: center; text-decoration: none; }
.content,.home-section { padding-block: var(--lampeya-space-12); }
.lead { font-size: var(--lampeya-size-heading-m); }
.eyebrow { font-size: var(--lampeya-size-overline); letter-spacing: var(--lampeya-ls-overline); text-transform: uppercase; }
.catalog-count,.catalog-note,.product-meta,.breadcrumbs,.stock-label { color: var(--lampeya-text-secondary); }
.state-card { padding: var(--lampeya-space-6); border: var(--lampeya-layout-border-width) solid var(--lampeya-border-default); border-radius: var(--lampeya-radius-xl); background: var(--lampeya-surface-card); max-width: var(--lampeya-layout-reading-max); }
.product-grid { list-style: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--lampeya-space-4); padding: 0; margin-block: var(--lampeya-space-8); }
.product-card { background: var(--lampeya-surface-card); border: var(--lampeya-layout-border-width) solid var(--lampeya-border-subtle); border-radius: var(--lampeya-radius-xl); overflow: hidden; }
.product-card a { display: block; height: 100%; text-decoration: none; }
.product-card h2 { font-size: var(--lampeya-size-heading-m); }
.product-photo { aspect-ratio: 1; background: var(--lampeya-surface-photo); display: grid; place-items: center; }
.product-photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* Four thumbnail slots and main/slot swap requested by the owner on 18.10.2026.
   Existing photo frames, spacing and focus tokens; no new classes or tokens. */
[data-product-gallery] { min-width: 0; }
[data-product-gallery] .product-photo { position: relative; }
[data-product-gallery] .product-photo img { position: absolute; inset: 0; }
[data-gallery-thumbnails] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--lampeya-space-2); margin-top: var(--lampeya-space-2); }
[data-gallery-photo] { min-width: 0; overflow: hidden; }
.product-copy { padding: var(--lampeya-space-4); }
.product-meta,.stock-label { font-size: var(--lampeya-size-caption); }
.product-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--lampeya-space-8); }
/* Product typography reduced at the owner's request on 18.10.2026. */
.lampeya-ui .product-page h1 { font-size: var(--lampeya-website-h2-font-size-2); line-height: var(--lampeya-lh-heading-m); letter-spacing: var(--lampeya-ls-heading-m); }
.lampeya-ui .product-page h2 { font-size: var(--lampeya-size-heading-m); line-height: var(--lampeya-lh-heading-m); }
.lampeya-ui .product-page .lead { font-size: var(--lampeya-size-body); line-height: var(--lampeya-lh-body); font-style: normal; }
.product-facts { border-top: var(--lampeya-layout-border-width) solid var(--lampeya-border-default); }
.product-facts div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: baseline; gap: var(--lampeya-space-2); padding-block: var(--lampeya-space-3); border-bottom: var(--lampeya-layout-border-width) solid var(--lampeya-border-subtle); }
.product-facts dt { color: var(--lampeya-text-secondary); }
.product-facts dd { margin: 0; overflow-wrap: anywhere; }
@media (min-width: 768px) { .product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--lampeya-space-6); } .product-layout { grid-template-columns: repeat(2,minmax(0,1fr)); } }

.content-text { white-space: pre-wrap; }

/* Legal document layout requested by the owner on 17.10.2026: section hierarchy,
   paragraph spacing and a Yandex-style contents column, using existing brand tokens. */
.content-page[data-legal-document] { padding-block: var(--lampeya-space-12); }
.content-page [data-legal-header] { margin-bottom: var(--lampeya-space-12); }
.content-page [data-legal-header] h1 { margin: 0; font-size: var(--lampeya-size-heading-l); line-height: var(--lampeya-lh-heading-m); text-wrap: pretty; }
.content-page [data-legal-header] p { margin: var(--lampeya-space-6) 0 0; color: var(--lampeya-text-secondary); }
.content-page [data-legal-layout] { display: grid; gap: var(--lampeya-space-12); align-items: start; }
.content-page [data-legal-body] { min-width: 0; max-width: var(--lampeya-layout-reading-max); }
.content-page[data-legal-document] .content-text { white-space: normal; }
.content-page [data-legal-body] section:empty { display: none; }
.content-page [data-legal-body] section + section { margin-top: var(--lampeya-space-12); }
.content-page [data-legal-body] section:empty + section { margin-top: 0; }
.content-page [data-legal-body] h2 { margin: 0 0 var(--lampeya-space-6); font-size: var(--lampeya-size-heading-m); line-height: var(--lampeya-lh-caption); text-wrap: pretty; scroll-margin-top: calc(var(--lampeya-layout-header-height) + var(--lampeya-space-6)); }
.content-page [data-legal-body] p { margin: 0 0 var(--lampeya-space-6); line-height: var(--lampeya-lh-body); }
.content-page [data-legal-body] p:last-child { margin-bottom: 0; }
.content-page [data-legal-toc] { min-width: 0; border-left: var(--lampeya-layout-border-width) solid var(--lampeya-border-default); padding-left: var(--lampeya-space-5); }
.content-page [data-legal-toc] summary { min-height: var(--lampeya-layout-target-min); font-weight: var(--lampeya-weight-accent); cursor: pointer; }
.content-page [data-legal-toc] ol { list-style: none; margin: 0; padding: 0; }
.content-page [data-legal-toc] a { display: flex; align-items: center; min-height: var(--lampeya-layout-target-min); padding-block: var(--lampeya-space-2); font-size: var(--lampeya-size-caption); line-height: var(--lampeya-lh-caption); text-decoration: none; }
.content-page [data-legal-toc] a:hover { text-decoration: underline; }
.content-page [data-legal-links] { margin-top: var(--lampeya-space-12); padding-top: var(--lampeya-space-6); border-top: var(--lampeya-layout-border-width) solid var(--lampeya-border-subtle); }
@media (min-width: 1024px) {
  .content-page [data-legal-layout]:has([data-legal-toc]) { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }
  .content-page [data-legal-toc] { grid-column: 2; grid-row: 1; position: sticky; top: calc(var(--lampeya-layout-header-height) + var(--lampeya-space-6)); max-height: calc(100dvh - var(--lampeya-layout-header-height) - var(--lampeya-space-12)); overflow-y: auto; }
  .content-page [data-legal-body] { grid-column: 1; grid-row: 1; }
}
