/* Accessible components added to the original STAND EVENT visual system.
   No vendor dependency; keep this file as source, do not append hotfix blocks. */
:root { color-scheme: light; }
html { scroll-padding-top: 100px; }
html.has-scrollbar-gap { scrollbar-gutter: stable; }
html.is-dialog-open { overflow: hidden; }
body { max-width: 100%; }
img { max-width: 100%; height: auto; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, .contact input:focus-visible, .contact textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #9b470d; outline-offset: 5px; }
button { font: inherit; }
[hidden] { display: none; }
.skip-link { position: fixed; z-index: 100001; top: 12px; left: 12px; transform: translateY(-200%); padding: 14px 20px; background: #fff; color: #0c253d; border-radius: 8px; }
.skip-link:focus { transform: none; }
.no-js-note { padding: 24px; background: #fff; font: 17px/1.6 Arial,sans-serif; }
.no-js-note a { text-decoration: underline; }
html:not(.js) .header__menu { display: none; }
.is-dialog-open { overflow: hidden; }
#cursor { top: 0; left: 0; opacity: 0; }
#cursor.cursor-visible { opacity: 1; }
#cursor.cursor-moving { will-change: transform, translate; }
.breadcrumbs { margin: 0 0 24px; font-size: clamp(14px,1.1vw,18px); line-height: 1.5; text-transform: none; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; list-style: none; margin: 0; padding: 0; }
.breadcrumbs li { display: inline-flex; align-items: center; gap: 12px; }
.breadcrumbs li+li::before { content: '/'; opacity: .45; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: .2em; }
.breadcrumbs [aria-current] { opacity: .75; }
.price-scroll { width: 86%; margin: 50px auto 12px; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.price-table { border-collapse: collapse; width: 100%; min-width: 590px; font-size: clamp(16px,1.3vw,21px); line-height: 1.45; text-align: center; }
.price-table caption { text-align: left; font-size: clamp(21px,2vw,32px); margin-bottom: 24px; }
.price-table th,.price-table td { padding: 18px 14px; border-bottom: 1px solid #b8bab9; vertical-align: middle; }
.price-table thead th { font-weight: 500; background: #dedbd6; }
.price-table tbody th { font-weight: 400; white-space: nowrap; }
.map .map-descr { font-size: clamp(16px,1.2vw,20px); line-height: 1.5; }
.selection-guide { margin: 36px 4vw 54px; padding: clamp(24px,3vw,48px); border: 1px solid #bdc3c4; border-radius: 16px; }
.selection-guide h2 { font-size: clamp(24px,2.5vw,40px); line-height: 1.15; font-weight: 400; margin-bottom: 20px; }
.selection-guide p { max-width: 950px; font-size: clamp(17px,1.3vw,21px); line-height: 1.6; }
.selection-guide__links { display: flex; flex-wrap: wrap; gap: 18px 28px; margin-top: 24px; font-size: 17px; }
.selection-guide__links a { text-decoration: underline; text-underline-offset: 4px; }
.catalog-intro { max-width: 1050px; margin: -8px 0 40px; font-size: clamp(18px,1.5vw,23px); line-height: 1.6; text-transform: none; }
.catalog-questions details { border-top: 1px solid #b8bab9; padding: 18px 0; }
.catalog-questions summary { cursor: pointer; font-size: clamp(19px,1.6vw,25px); line-height: 1.45; padding: 6px 0; }
.catalog-questions summary:focus-visible { outline: 3px solid #9b470d; outline-offset: 5px; }
.catalog-questions details p { margin: 16px 0 0; }
.price-help { width: 86%; margin: 14px auto 32px; font-size: 16px; line-height: 1.6; }
.form-availability { margin: 0 0 20px; padding: 16px; background: #f4eee8; color: #293c47; border: 1px solid #b3bbc0; border-radius: 8px; font-size: 16px; line-height: 1.6; }
.form-availability a { color: inherit; text-decoration: underline; overflow-wrap: anywhere; }
.form-availability[hidden] { display: none; }
.contact .contact-right .form-item-checkbox-item { display: flex; align-items: flex-start; gap: 14px; text-transform: none; }
.contact .contact-right .form-item-checkbox-item input { flex: 0 0 22px; width: 22px; height: 22px; padding: 0; margin: 3px 0 0; accent-color: #0c253d; opacity: 1; }
/* Consent is an ordinary label, never a floating text-input label. */
.contact .contact-right .form-item-checkbox-item input + label { position: static; inset: auto; transform: none; flex: 1 1 auto; width: auto; min-width: 0; padding: 0; font-size: clamp(16px,1.15vw,20px); font-weight: 400; line-height: 1.5; text-transform: none; pointer-events: auto; user-select: auto; opacity: 1; cursor: pointer; }
.contact-right .form-item-checkbox-item a,.form-policy-note a { text-decoration: underline; text-underline-offset: 3px; }
.form-policy-note { margin-top: 14px; font-size: clamp(15px,1.05vw,18px); line-height: 1.6; }
.form-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.form-status { font-size: 17px; line-height: 1.5; margin-top: 18px; width: 100%; }
.form-status:empty { display: none; }
.form-status.is-error { padding: 16px; background: #fff2eb; color: #762e15; border-radius: 8px; }
.form-status.is-success { padding: 16px; background: #e8f3ec; color: #16412a; border-radius: 8px; }
.form-btn:disabled { opacity: .55; cursor: not-allowed; }
form[aria-busy=true] .form-btn:disabled { cursor: progress; }
.privacy-links { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 20px; }
.privacy-links a,.privacy-links button { font: inherit; font-size: clamp(15px,1.05vw,18px); line-height: 1.45; color: inherit; background: none; border: 0; padding: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.footer__left-policy p { font-size: clamp(16px,1.15vw,20px); line-height: 1.5; }

.popup__bg {
  visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity .5s ease, visibility 0s linear .5s;
  overflow-y: auto;
  overscroll-behavior: contain;
  height: 100dvh;
  padding: clamp(58px,7dvh,82px) clamp(12px,2vw,28px) clamp(18px,3dvh,34px);
}
.popup__bg.active { visibility: visible; transition: opacity .5s ease, visibility 0s; }
.popup__bg .contact {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  width: min(780px,100%);
  max-height: calc(100dvh - clamp(82px,12dvh,132px));
  overflow-y: auto;
  margin: auto;
  padding: clamp(24px,3vw,42px) clamp(14px,2vw,30px);
  translate: 0 14px;
  transition: translate .42s cubic-bezier(.2,.8,.2,1);
  border-radius: clamp(22px,2.8vw,44px);
  scrollbar-width: thin;
}
.popup__bg.active .contact { translate: 0 0; }
.popup__bg .contact input,.popup__bg .contact textarea { font-size: 18px; }
.popup__bg .contact label { font-size: 17px; }
.popup__bg .contact .contact__inner { width: 100%; }
.popup__bg .contact .contact__inner-text {
  font-size: clamp(23px,2vw,31px);
  width: 100%;
  max-width: none;
  padding: 0 clamp(2px,.7vw,10px);
  margin: 0 auto;
  font-weight: 500;
  line-height: 1.16;
  text-align: center;
  text-wrap: balance;
}
.popup__bg .contact .contact-right { width: 100%; }
.popup__bg .contact .form-item { padding: 14px 0; }
.popup__bg .contact .form-btn { font-size: 18px; padding: 15px 30px; background: #121a24; color: #fff; border-color: #121a24; }
.popup__bg .contact .form-item-checkbox { width: 100%; }
.popup__bg .contact .form-item-checkbox-item input { width: 22px; height: 22px; }
.close-popup { position: fixed; right: 20px; top: 12px; margin: 0; padding: 10px; width: 46px; height: 46px; border: 1px solid #121a24; border-radius: 50%; background: #f4eee8; }
.button-close,.header__menu { min-height: 44px; min-width: 44px; }
.menu-wrap { overflow-y: auto; overscroll-behavior: contain; }
.cookie-consent { position: fixed; z-index: 10000; left: 20px; right: 20px; bottom: 20px; width: min(800px,calc(100% - 40px)); margin: auto; background: #0c253d; color: #fff; padding: 22px 24px; border-radius: 14px; box-shadow: 0 14px 48px #0003; font: 16px/1.5 Rubik,Arial,sans-serif; }
.cookie-consent--necessary-only > p:not(.cookie-consent__availability) { display: none; }
.cookie-consent button[hidden] { display: none; }
.cookie-consent p { margin: 0; }
.cookie-consent a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.cookie-consent__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.cookie-consent button { flex: 1 1 230px; min-height: 48px; padding: 12px 16px; font: inherit; color: #fff; border: 1px solid #fff; background: transparent; border-radius: 8px; cursor: pointer; }
.cookie-consent button:hover { background: #ffffff1a; }

/* Native, dependency-free viewer with the original STAND EVENT / Fancybox visual language. */
.image-viewer {
  position: fixed;
  inset: 0;
  color: #ccc;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  width: 100vw;
  max-width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  max-height: 100dvh;
  margin: 0;
  overflow: hidden;
}
.image-viewer::backdrop { background: rgba(230,222,209,.92); animation: viewer-backdrop-in .32s cubic-bezier(.22,.61,.36,1) both; }
.image-viewer.is-closing::backdrop { animation: viewer-backdrop-out .24s ease both; }
@keyframes viewer-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes viewer-backdrop-out { from { opacity: 1; } to { opacity: 0; } }
.image-viewer__toolbar {
  position: absolute;
  z-index: 8;
  top: 0;
  left: 0;
  right: 0;
  height: 44px;
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin: 0;
  padding: 0;
  pointer-events: none;
}
.image-viewer__count {
  height: 44px;
  min-width: 44px;
  margin-right: auto;
  padding: 0 10px;
  color: #ccc;
  font: 13px/44px Arial,sans-serif;
  letter-spacing: 0;
  mix-blend-mode: difference;
  pointer-events: none;
  user-select: none;
}
.image-viewer__toolbar button {
  position: relative;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #ccc;
  background: rgba(30,30,30,.60);
  font-size: 0;
  line-height: 0;
  box-shadow: none;
  pointer-events: auto;
  transition: color .3s ease, background-color .3s ease;
}
.image-viewer__toolbar button:hover,.image-viewer__toolbar button[aria-pressed=true] { color: #fff; background: rgba(30,30,30,.72); }
.image-viewer__toolbar button::before,.image-viewer__toolbar button::after { content: ''; position: absolute; display: block; box-sizing: border-box; }
.image-viewer__toolbar [data-viewer-zoom]::before { width: 13px; height: 13px; border: 2px solid currentColor; border-radius: 50%; left: 13px; top: 11px; }
.image-viewer__toolbar [data-viewer-zoom]::after { width: 8px; height: 2px; background: currentColor; transform: rotate(45deg); left: 24px; top: 26px; transform-origin: 0 50%; }
.image-viewer__toolbar [data-viewer-play]::before { left: 17px; top: 13px; width: 0; height: 0; border-top: 9px solid transparent; border-bottom: 9px solid transparent; border-left: 13px solid currentColor; }
.image-viewer__toolbar [data-viewer-play][aria-pressed=true]::before { left: 15px; top: 13px; width: 14px; height: 18px; border: 0; border-left: 4px solid currentColor; border-right: 4px solid currentColor; }
.image-viewer__toolbar [data-viewer-thumbs]::before { width: 4px; height: 4px; left: 13px; top: 13px; background: currentColor; box-shadow: 7px 0 currentColor,14px 0 currentColor,0 7px currentColor,7px 7px currentColor,14px 7px currentColor,0 14px currentColor,7px 14px currentColor,14px 14px currentColor; }
.image-viewer__toolbar [data-viewer-close]::before,.image-viewer__toolbar [data-viewer-close]::after { width: 22px; height: 2px; left: 11px; top: 21px; background: currentColor; }
.image-viewer__toolbar [data-viewer-close]::before { transform: rotate(45deg); }
.image-viewer__toolbar [data-viewer-close]::after { transform: rotate(-45deg); }
.image-viewer__stage {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  padding: 44px 0;
  overflow: auto;
  overscroll-behavior: contain;
}
.image-viewer__image { display: block; min-width: 0; max-width: 100%; max-height: calc(100dvh - 88px); width: auto; height: auto; object-fit: contain; margin: auto; user-select: none; }
.image-viewer__image.is-zoomed { max-width: none; max-height: none; width: 140%; flex: none; cursor: zoom-out; }
.image-viewer__image.is-outgoing { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); pointer-events: none; }
.image-viewer__status { position: absolute; z-index: 9; left: 50%; bottom: 18px; translate: -50% 0; margin: 0; padding: 7px 11px; border-radius: 3px; background: rgba(30,30,30,.72); color: #eee; font: 13px/1.4 Arial,sans-serif; pointer-events: none; opacity: 0; transition: opacity .16s ease; }
.image-viewer__stage.is-loading .image-viewer__status,.image-viewer__stage.has-load-error .image-viewer__status { opacity: 1; transition-delay: .18s; }
.image-viewer__stage button {
  position: fixed;
  z-index: 7;
  top: calc(50% - 50px);
  width: clamp(58px,8vw,110px);
  height: clamp(78px,9vw,120px);
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #ccc;
  background: rgba(30,30,30,.50);
  font-size: 0;
  line-height: 0;
  transition: color .3s ease,background-color .3s ease,opacity .2s ease;
}
.image-viewer__stage button:hover { color: #fff; background: rgba(30,30,30,.68); }
.image-viewer__stage [data-viewer-prev] { left: 0; }
.image-viewer__stage [data-viewer-next] { right: 0; }
.image-viewer__stage [data-viewer-prev]::before,.image-viewer__stage [data-viewer-next]::before { content: ''; position: absolute; top: 50%; left: 50%; width: 17px; height: 17px; border-top: 3px solid currentColor; border-right: 3px solid currentColor; }
.image-viewer__stage [data-viewer-prev]::before { transform: translate(-35%,-50%) rotate(-135deg); }
.image-viewer__stage [data-viewer-next]::before { transform: translate(-65%,-50%) rotate(45deg); }
.image-viewer__caption { display: none; }
.image-viewer__thumbs {
  position: absolute;
  z-index: 10;
  top: 44px;
  right: 0;
  bottom: 0;
  width: 220px;
  padding: 4px 3px;
  overflow-y: auto;
  overflow-x: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-content: start;
  gap: 3px;
  background: #ddd;
}
.image-viewer__thumbs[hidden] { display: none; }
.image-viewer__thumbs button { position: relative; width: 100%; aspect-ratio: 1.5; height: auto; padding: 0; border: 0; border-radius: 0; background: #fff; overflow: hidden; }
.image-viewer__thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }
.image-viewer__thumbs [aria-current=true] { outline: 4px solid #ff5268; outline-offset: -4px; }
.image-viewer:has([data-viewer-thumbs][aria-expanded=true]) .image-viewer__stage { right: 220px; width: calc(100% - 220px); }

.kat__item-title,.kat__item h3,.kat__item h5 { font-size: 1.8vw; letter-spacing: -0.06vw; font-weight: 500; max-width: 95%; text-transform: uppercase; opacity: .9; margin: 0 auto .7vw; line-height: 1.12; }
.next__item img { display: block; width: auto; max-width: 72%; height: auto; max-height: 9vw; object-fit: contain; }
.contact .contact-right .form-item-checkbox { width: 100%; }
.contact .contact-right .form-item-checkbox-item + .form-item-checkbox-item { margin-top: 10px; }
.form-status { font-size: 16px; line-height: 1.45; }
.form-btn { transition: background-color .35s ease,color .35s ease,border-color .35s ease; }

@media (max-width:700px) {
  :root { --mobile-page-top: clamp(82px,12svh,112px); }
  body.pop-body #main-container > #second { margin-top: 0 !important; padding-top: 0 !important; }
  body.pop-body #main-container > div:first-child > .pop,
  body.pop-body #main-container > div:first-child > .service,
  body.pop-body #main-container > div:first-child > .adv,
  body.pop-body #main-container > #second > .kat,
  body.pop-body #main-container > #second > .req,
  body.pop-body #main-container > #second > .gal { margin-top: var(--mobile-page-top) !important; }
  body.pop-body #main-container > div:first-child > .adv { padding-top: clamp(18px,5vw,26px); }
  .breadcrumbs { margin-bottom: 20px; }
  .kat__item-title,.kat__item h3,.kat__item h5 { font-size: 4.1vw; line-height: 1.15; font-weight: 500; opacity: .8; margin-top: 1vw; margin-bottom: 1.5vw; }
  .next__item img { width: auto; max-width: 72%; height: auto; max-height: 24vw; object-fit: contain; }
  .popup__bg { align-items: flex-start; padding: max(62px,calc(env(safe-area-inset-top) + 54px)) 10px 18px; }
  .popup__bg .contact { width: 100%; max-height: none; padding: 22px 12px 24px; border-radius: 20px; }
  .popup__bg .contact .contact__inner-text { max-width: none; width: 100%; padding: 0 2px; font-size: clamp(21px,6.2vw,28px); line-height: 1.13; }
  .popup__bg .contact .form-item-checkbox-item input + label { font-size: clamp(13px,3.55vw,16px); line-height: 1.35; }
  .form-status { font-size: 15px; }
  .price-scroll { width: 92%; margin-top: 32px; }
  .price-help { width: 92%; }
  .catalog-intro { margin-bottom: 28px; }
  .cookie-consent { left: 12px; right: 12px; bottom: 12px; width: calc(100% - 24px); padding: 18px; font-size: 15px; }
  .cookie-consent__actions { gap: 10px; }
  .image-viewer__stage button { width: 20vw; height: 30vw; max-width: 76px; max-height: 106px; }
  .image-viewer__image { max-height: calc(100dvh - 56px); }
  .image-viewer__thumbs { width: 110px; grid-template-columns: 1fr; }
  .image-viewer:has([data-viewer-thumbs][aria-expanded=true]) .image-viewer__stage { right: 110px; width: calc(100% - 110px); }
}
@media (max-height:700px) {
  .popup__bg { align-items: flex-start; }
  .popup__bg .contact { margin-top: 0; margin-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .example-topp-wrap,.example-topp,.overlay,.menu-wrap,.menu-wrap.menu-wrap--open,.popup__bg,.popup__bg.active,.header,.header__inner,.intro__inner-link,.kat__item,.kat__item::before,.service__item::before,.service__item::after,.popup__bg .contact,.image-viewer::backdrop,.image-viewer.is-closing::backdrop,.image-viewer__status { animation: none; transition: none; }
 .popup__bg .contact { translate: none; }
 #cursor { display: none; }
}
