/* Behaviour and native controls that replace the old theme's JavaScript. */
[hidden] { display: none !important; }
.ng-pd-btn button { display: block; background: #8154bc; border: 0; border-radius: 0 0 1rem 1rem; padding: 1rem; width: 100%; text-align: center; color: white; font-weight: 900; font-size: 20px; line-height: inherit; min-height: 0; text-transform: none; }
.order-button { line-height: 1.6; min-height: 0; }
.tabs .tab-panel.is-active { opacity: 1; transform: none; }
.carousel { position: relative; }
.carousel-slide { position: relative; width: 100%; }
.carousel-slide:not([hidden]) { opacity: 1; visibility: visible; }
.carousel-wrapper { position: relative; }
.carousel-dots { position: absolute; bottom: 10px; left: 0; right: 0; display: flex; gap: 9px; justify-content: center; padding: 0; }
.carousel-dots button { width: 10px; height: 10px; min-height: 0; padding: 0; border-radius: 50%; border: 1px solid currentColor; background: transparent; color: white; }
.carousel-dots button[aria-current="true"] { background: white; }
.hero-media video { opacity: 1; }
.back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.mobile-toolbar { z-index: 120; }
.nav-list > .has-submenu:hover > .nav-dropdown,
.nav-list > .has-submenu:focus-within > .nav-dropdown { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.mobile-menu-toggle a:focus-visible, a:focus-visible, button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.menu-is-open { overflow: hidden; }
.menu-backdrop.is-open { opacity: 1; visibility: visible; transition: opacity .25s ease, visibility 0s ease; }
.site-logo .ui-logo img { width: 140px; height: auto; max-height: 96px; object-fit: contain; padding: 3px 0; }
.title-1l1r { display: block; max-width: calc(100% - 12px); padding: 12px 18px !important; font-size: 22px; line-height: 1.3; text-align: center; }
.forum-banner { position: relative; z-index: 150; background: #bd286b; color: #fff; }
.forum-banner-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; width: min(100%, 1200px); margin: 0 auto; padding: 10px 20px; }
.forum-banner p { margin: 0; color: inherit; font-size: 15px; line-height: 1.5; font-weight: 600; }
.forum-banner-amount { white-space: nowrap; }
.forum-banner a { display: flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 44px; padding: 10px 20px; border: 1px solid rgba(255,255,255,.8); border-radius: 4px; color: #fff; font-size: 14px; line-height: 1.4; font-weight: 700; text-decoration: none; }
.forum-banner a:hover { background: rgba(255,255,255,.12); }
.has-forum-banner .site-header { top: var(--forum-banner-height, 64px); }
@media (min-width: 768px) {
  .title-1l1r { padding: 12px 32px !important; font-size: 36px; }
}
@media (max-width: 767px) {
  .forum-banner-inner { flex-direction: column; gap: 8px; padding: 10px 16px; text-align: center; }
  .forum-banner a { width: 100%; }
  .has-forum-banner .site-header { top: var(--forum-banner-height, 118px); }
}
.works-gallery { position: relative; }
.work-image { position: absolute; display: block; overflow: hidden; border-radius: 8px; background-size: cover; background-position: center; }
.work-image img { visibility: hidden; display: block; width: 100%; height: auto; transition: transform .25s ease; }
.work-image:hover img { transform: scale(1.025); }
dialog { border: 0; padding: 0; }
dialog::backdrop { background: rgba(0,0,0,.8); }
.dialog-close { position: absolute; z-index: 2; top: 5px; right: 12px; color: inherit; background: transparent; border: 0; font-size: 28px; padding: 4px; min-height: 0; }
.image-dialog { background: transparent; color: white; width: min(1200px,95vw); height: 90vh; overflow: visible; }
.image-dialog img { width: 100%; height: 100%; object-fit: contain; }
.image-dialog .dialog-close { top: -25px; right: 0; }
.gallery-previous,.gallery-next { position: absolute; top: 45%; background: rgba(0,0,0,.4); border: 0; color: white; font-size: 40px; padding: 10px; }
.gallery-previous { left: 0; } .gallery-next { right: 0; }
