/* Public frontend only. Palette sampled from the live release site's .future theme.
   Keep stock concealment tied to the opaque card surface; never use a gradient there. */
body.public-theme {
  color-scheme: dark;
  --bg: #0b1320; --surface: #101e30; --card-background: #111e31;
  --header: #0c1726; --line: #2e4057; --control-border: #71869c;
  --teal: #83e8d6; --teal-light: #a0f1e7; --orange: #ffc193;
  --ink: #dbe7f3; --text: #dbe7f3; --muted: #adbed0;
  --paper: #111e31; --soft: #0b1320; --dark: #0c1726;
  color: var(--text); background: var(--bg);
}
.public-theme :is(.site-header,.primary-nav,.submenu) { background: var(--header); }
.public-theme .site-header { box-shadow: 0 1px 0 var(--line),0 6px 24px #0003; }
.public-theme .brand { width: 192px; height: 64px; }
.public-theme .brand img { width: 192px; height: 64px; background: transparent; border-radius: 0; object-fit: contain; }
@media(max-width:1180px) { .public-theme .brand, .public-theme .brand img { width: 158.4px; height: 52.8px; } }
.public-theme :is(.submenu a,.primary-nav a,.search-toggle) { border-color: var(--line); }
.public-theme :is(.submenu a:hover,.submenu a:focus) { color: var(--teal); background: var(--surface); }
.public-theme :is(.primary-nav > ul > li:hover > a,.primary-nav > ul > li:focus-within > a,.search-toggle:hover) { color: var(--bg); background: var(--teal); }
.public-theme :is(.services,.value-section,.rent-section,.catalog-section,.product-detail,.content-page,.error-page) { background: var(--bg); }
.public-theme :is(.catalog-section.soft,.news-section) { background: var(--surface); }
.public-theme .value-panel { background: linear-gradient(135deg,#19283d,#0e1827); border: 1px solid var(--line); }
.public-theme :is(.service-card h2,.section-heading h2,.rent-section > h2,.news-card h3,.product-card h3 a,.product-info h1,.product-copy h2,.error-page h1) { color: var(--ink); }
.public-theme :is(.service-card p,.news-card p,.product-card p,.contact-form small,.empty) { color: var(--muted); }
.public-theme :is(.prose,.contact-form label) { color: var(--text); }
.public-theme .value-card h3 { color: var(--orange); }
.public-theme :is(.product-card,.news-card,.product-copy section,.contact-form) { background: var(--card-background); box-shadow: 0 0 0 1px var(--line); }
.public-theme .category-product { --card-background: #111e31; background: var(--card-background); }
.public-theme .category-product .card-stock { color: var(--card-background); background: var(--card-background); }
.public-theme :is(.product-meta,.footer-grid h2,.event-list li,#quote-dialog section) { border-color: var(--line); }
.public-theme :is(.product-image,.product-detail-image,.album-grid img) { background: var(--surface); }
.public-theme :is(.product-card h3 a:hover,.card-specs summary,.quote-trigger) { color: var(--teal); }
.public-theme :is(.button,.quote-trigger.button,.hero-button,.rent-column h3,.rent-column > a,.map-placeholder span,.skip-link) { background: var(--teal); color: var(--bg); }
.public-theme :is(.button:hover,.quote-trigger.button:hover,.hero-button:hover,.rent-links > a:hover) { background: var(--teal-light); color: var(--bg); }
.public-theme .button.ghost { background: transparent; color: var(--teal); border-color: var(--teal); }
.public-theme .button.ghost:hover { background: var(--surface); }
.public-theme .category-breadcrumb-strip { background: var(--header); border-bottom: 1px solid var(--line); }
.public-theme :is(.category-breadcrumb-strip .breadcrumbs,.product-detail > .breadcrumbs) { color: var(--muted); }
.public-theme :is(.category-breadcrumb-strip .breadcrumbs a,.product-detail > .breadcrumbs a) { color: var(--teal); }
.public-theme .page-hero { background: linear-gradient(#0b132099,#0b1320d9),var(--hero-image) center/cover; }
.public-theme .hero-copy { background: #0b1320e8; border: 1px solid var(--line); }
.public-theme .slider-dots button { background: #0b1320; border: 1px solid #adbed0; }
.public-theme .slider-dots button.is-active { background: var(--teal); }
.public-theme .footer-widgets { background: radial-gradient(at right bottom,#24546a,#102235 70%); color: var(--muted); }
.public-theme .footer-grid h2 { color: var(--ink); }
.public-theme .site-footer { background: var(--header); color: var(--muted); border-color: var(--line); }
.public-theme .site-footer nav span { color: var(--muted); }
.public-theme .map-placeholder { background-color: var(--surface); color: var(--text); border-color: var(--line); }
.public-theme .map-placeholder small { background: var(--header); }
.public-theme .back-to-top { background: var(--surface); border: 1px solid var(--control-border); color: var(--teal); }
.public-theme :is(input,textarea,select) { color: var(--ink); background: var(--bg); border: 1px solid var(--control-border); caret-color: var(--teal); }
.public-theme :is(input,textarea)::placeholder { color: var(--muted); opacity: 1; }
.public-theme select option { color: var(--ink); background: var(--bg); }
.public-theme :is(input,textarea,select):user-invalid { border-color: #ffb4ab; }
.public-theme :is(input,textarea,select)[aria-invalid="true"] { border-color: #ffb4ab; }
.public-theme :is(button,input,textarea,select):disabled { color: var(--muted); background: var(--surface); cursor: not-allowed; opacity: 1; }
.public-theme .site-search { background: var(--surface); }
.public-theme .site-search button { background: var(--teal); color: var(--bg); }
.public-theme .notice { background: var(--surface); color: var(--ink); border-color: var(--teal); }
.public-theme .notice.success { background: #102e2b; color: #a0f1d0; }
.public-theme .notice.error { background: #381e28; color: #ffb4ab; border-color: #ffb4ab; }
.public-theme #quote-dialog { background: var(--card-background); color: var(--ink); border: 1px solid var(--control-border); box-shadow: 0 24px 90px #0008; }
.public-theme :is(#quote-dialog button:not(.button),#album-lightbox button,.lightbox-close) { background: var(--surface); color: var(--ink); border: 1px solid var(--control-border); border-radius: 4px; }
.public-theme :is(.product-lightbox,#album-lightbox,.lightbox-status) { background: var(--header); color: var(--ink); }
.public-theme :is(.product-lightbox,#album-lightbox,#quote-dialog)::backdrop { background: #030912d9; }
.public-theme :is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
.public-theme .category-product button.product-image:focus-visible { outline: 3px solid var(--teal); outline-offset: -3px; }
.public-theme .frontend-admin-toolbar :focus-visible { outline-offset: -3px; }
.public-theme .home-category-links { width: min(100%,1560px); margin: 0 auto; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px 36px; }
.public-theme .home-category-links > li > a { font-size: 1.15rem; font-weight: 600; }
.public-theme .home-category-links ul { list-style: none; padding-left: 16px; border-left: 1px solid var(--line); }
.public-theme .home-category-links ul a { color: var(--text); font-size: .95rem; }
.public-theme .footer-map iframe { display: block; width: 100%; max-width: 100%; height: 340px; border: 1px solid var(--line); border-radius: 4px; color-scheme: light; }
.public-theme .footer-map p { font-size: .85rem; overflow-wrap: anywhere; }
@media(max-width:650px) { .public-theme .home-category-links { grid-template-columns: 1fr; } .public-theme .footer-map iframe { height: 280px; } }
.public-theme .home-category-links a { display: inline-flex; align-items: center; min-height: 48px; padding: 8px 12px; text-underline-offset: 6px; }
.public-theme .advertisement > img { width: 100%; height: auto; aspect-ratio: 800/520; object-fit: contain; background: var(--surface); }
.public-theme .advertisement p { white-space: pre-wrap; overflow-wrap: anywhere; }
.public-theme .qr-row > a { display: block; width: min(44%,200px); }
.public-theme .qr-row > a img { width: 100%; }
.public-theme .footer-partner { display: inline-block; }
.public-theme .footer-grid address a { display: inline-block; overflow-wrap: anywhere; }
.public-theme .site-footer nav a { display: inline-flex; min-height: 44px; align-items: center; }
.public-theme .rental-sitemap { padding-top: 36px; padding-bottom: 40px; }
.public-theme .rental-sitemap .home-category-links { display: block; }
.public-theme .rental-sitemap .home-category-links > li > ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px 28px; border: 0; padding: 0; }
.public-theme .rental-sitemap .home-category-links a { min-height: 36px; padding: 3px 10px; line-height: 1.5; }
@media(max-width:650px) { .public-theme .rental-sitemap .home-category-links > li > ul { grid-template-columns: 1fr; gap: 8px; } .public-theme .rental-sitemap .home-category-links a { min-height: 44px; } }
.public-theme .rental-sitemap .home-category-links ul a { min-height: 30px; padding-block: 1.5px; }
@media(max-width:650px) { .public-theme .rental-sitemap .home-category-links ul a { min-height: 34px; } }
.public-theme .home-category-links a:hover { text-decoration: underline; }
@media(max-width:1180px) { .public-theme .submenu a { background: var(--surface); } }
@media(prefers-reduced-motion:reduce) { .public-theme .legal-section { background-attachment: scroll; } .public-theme .reveal { transform: none; } }
