/* Glass responsive compatibility layer for the original fixed-width Joomla 3 design.
   Keeps legacy markup while avoiding Bootstrap 3 / jQuery conflicts in Joomla 5/6. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.glass-site { min-width: 0; margin: 0; overflow-x: hidden; }
body.glass-site .body { width: min(100%, 1040px); max-width: 1040px; }
.glass-site .row::before, .glass-site .row::after, .glass-site .clearfix::after { content: ""; display: table; clear: both; }
.glass-site .row { margin-left: -15px; margin-right: -15px; }
.glass-site .row > *, .glass-site [class*="col-xs-"] { box-sizing: border-box; }
.glass-site .col-xs-2 { width: 16.666667%; }
.glass-site .col-xs-3 { width: 25%; }
.glass-site .col-xs-4 { width: 33.333333%; }
.glass-site .col-xs-5 { width: 41.666667%; }
.glass-site .col-xs-6 { width: 50%; }
.glass-site .col-xs-8 { width: 66.666667%; }
.glass-site .col-xs-9 { width: 75%; }
.glass-site .col-xs-12 { width: 100%; }
.glass-site [class*="col-xs-"] { position: relative; min-height: 1px; padding-left: 15px; padding-right: 15px; }
.glass-site .header { display:flex; padding:0 10px; align-items:center; }
.glass-site .header > [class*="col-xs-"] { float: none; }
.glass-site header .phone-block { text-align:center; }
.glass-site header .phone-block .instagram a, .glass-site header .phone-block .whatsapp a { overflow-wrap: anywhere; }
.glass-site .header .worktime span { display: block; }
.glass-site a { text-decoration:none; }
.glass-site .menu-wrapper { float:none; margin: 0 -15px; width: calc(100% + 30px); min-height: 51px; }
.glass-site .menu-wrapper ul { list-style:none; align-items: stretch; margin:0; }
.glass-site .menu-wrapper .nav > li { position:relative; flex: 0 0 auto; }
.glass-site .menu-wrapper ul > li > a, .glass-site .menu-wrapper ul > li > .nav-header { display:flex; align-items:center; height:100%; padding:15px 21px; }
.glass-site .menu-wrapper ul > li > a .menu-img { flex:0 0 16px; }
.glass-site .menu-wrapper ul > li > a .menu-title { white-space:nowrap; }
.glass-site .menu-wrapper .nav-child { position:absolute; z-index:20; left:0; top:100%; display:none; min-width:180px; background:#236caf; padding:0; flex-direction:column; box-shadow:0 6px 12px #0003; }
.glass-site .menu-wrapper li:hover > .nav-child, .glass-site .menu-wrapper li:focus-within > .nav-child { display:flex; }
.glass-site .menu-wrapper .nav-child li { display:block; white-space:normal; width:100%; }
.glass-site .menu-wrapper .nav-child a { color:white; padding:12px 15px; }
.glass-site .menu-wrapper .nav-child .nav-child { top:0; left:100%; }
.glass-site .menu-wrapper .searchbox { z-index: 5; }
.glass-site .menu-wrapper .searchbox form { margin:0; }
.glass-site .burger_menu { display:none; }
.glass-site .hidden_menu { display:none; }
/* Hero */
.glass-site .glass-home-slider { position:relative; }
.glass-site .slider-wrapper { display:flex; flex-wrap:nowrap; margin:0; }
.glass-site .slider-wrapper .glass-slider-main { width: 727px; flex: 0 1 727px; min-width:0; }
.glass-site .slider-wrapper .slider-thumbs { flex:1; min-width:0; background: url(../img/slider-right-img.jpg) no-repeat center center; background-size:cover; }
.glass-site .main-slider { width:100%; height:414px; position:relative; overflow:hidden; background:#23486c; }
.glass-site .main-slider .glass-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .5s ease; pointer-events:none; }
.glass-site .main-slider .glass-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; z-index:1; }
.glass-site .main-slider .glass-slide > img { width:100%; height:100%; display:block; object-fit:cover; }
.glass-site .main-slider .glass-slide:before { z-index:1; pointer-events:none; }
.glass-site .main-slider .glass-slide .caption { position:absolute; bottom:0; z-index:2; padding:15px 30px 47px; }
.glass-site .glass-slider-controls { position:absolute; z-index:3; inset:auto 0 6px; display:flex; align-items:center; justify-content:center; gap:18px; pointer-events:none; }
.glass-site .glass-slider-controls button { pointer-events:auto; cursor:pointer; background:#fff7; color:#fff; border:1px solid #fff; border-radius:50%; }
.glass-site .glass-slider-prev, .glass-site .glass-slider-next { font-size:24px; width:34px; height:34px; line-height:1; }
.glass-site .glass-slider-dots { display:flex; gap:7px; }
.glass-site .glass-slider-dots button { width:12px; height:12px; padding:0; background:transparent; }
.glass-site .glass-slider-dots button.is-active { background:white; }
.glass-site .glass-slider-empty { height:414px; display:grid; place-items:center; color:white; font-family:'Arctika',sans-serif; font-size:34px; background:#236caf url(../img/slider-right-img.jpg) center/cover; text-shadow:0 2px 12px #0009; }
.glass-site .glass-content-shell { width:100%; }
.glass-site .glass-content-area { position:relative; min-height:1280px; }
.glass-site .content-container { margin:0; }
.glass-site .content-container > div > div { position:relative; }
.glass-site .glass-footer { width:calc(100% + 350px); max-width: 1040px; left:-50px; bottom:0; }
.glass-site .glass-footer > .wrapper { display:flex; align-items:flex-start; padding:10px 40px; }
.glass-site .glass-footer .wrapper > [class*="col-xs-"] { float:none; }
.glass-site .glass-footer .wrapper > div:nth-child(2) { width:auto; flex:1; padding-top:30px; }
.glass-site .glass-footer .wrapper > div:last-child { width:285px; }
.glass-site .gallery, .glass-site .glass-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; margin:20px 0; }
.glass-site .gallery-item { display:block; width:100%; aspect-ratio:1/1; overflow:hidden; background:#eee; border:1px solid #ddd; }
.glass-site .gallery-item img { width:100%; height:100%; padding:0; display:block; object-fit:cover; transition:transform .25s ease; }
.glass-site .gallery-item:hover img { transform:scale(1.04); }
.glass-site .gallery_folders { list-style:none; display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:14px; margin:18px 0; padding:0; }
.glass-site .gallery_folders li { text-align:center; width:auto; display:block; }
.glass-site .gallery_folders img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.glass-site .glass-lightbox { width:min(90vw,1000px); max-width:none; max-height:95vh; padding:34px 20px 15px; border:0; border-radius:6px; background:#111; color:white; text-align:center; }
.glass-site .glass-lightbox::backdrop { background:#000d; }
.glass-site .glass-lightbox img { max-height:calc(85vh - 80px); max-width:100%; object-fit:contain; }
.glass-site .glass-lightbox-close { position:absolute; right:8px; top:0; border:0; background:transparent; color:white; font-size:32px; cursor:pointer; }
.glass-site .glass-lightbox p { color:white; margin:8px 0; }
.glass-site input, .glass-site textarea, .glass-site select, .glass-site button { font:inherit; max-width:100%; }
.glass-site .table-responsive { overflow-x:auto; }
.glass-site table { max-width:100%; border-collapse:collapse; }
.glass-site .category-list table { width:100%; }
.glass-site .category-list td, .glass-site .category-list th { padding:8px 6px; border-bottom:1px solid #dedede; }
.glass-site .glass-pagination ul, .glass-site .pagination ul { display:flex; flex-wrap:wrap; gap:5px; list-style:none; padding:0; }
.glass-site .glass-pagination li, .glass-site .pagination li { list-style:none; }
.glass-site .glass-pagination a, .glass-site .pagination a { padding:6px 11px; border:1px solid #ddd; display:block; }
.glass-site :focus-visible { outline:2px solid #00458c; outline-offset:2px; }
@media (max-width: 1040px) {
  .glass-site header { background-size:cover; }
  .glass-site .menu-wrapper { margin:0; width:100%; }
  .glass-site .menu-wrapper .nav > li > a { padding-inline:13px; }
  .glass-site .searchbox { display:none; }
  .glass-site .content-container > div > div { padding-left:30px; padding-right:300px; }
  .glass-site .bubbles { transform:scale(.85); transform-origin:top right; }
  .glass-site .glass-footer { left:-30px; width:calc(100% + 330px); }
}
@media (max-width: 800px) {
  .glass-site .glass-header { height:auto; min-height:160px; }
  .glass-site .header { height:auto; flex-wrap:wrap; justify-content:center; gap:5px; padding:10px; }
  .glass-site .glass-logo-col { flex:0 0 33%; width:33%; }
  .glass-site .glass-slogan-col { flex:0 0 63%; width:63%; }
  .glass-site .phone-block { flex:0 0 100%; width:100%; padding:0; }
  .glass-site .worktime { font-size:14px; }
  .glass-site .phone { font-size:21px; }
  .glass-site .call-now { display:none; }
  .glass-site .phone-block .instagram, .glass-site .phone-block .whatsapp { display:inline-block; font-size:12px; padding-inline:6px; }
  .glass-site .glass-main-navigation { min-height:48px; }
  .glass-site .glass-main-navigation > .moduletable, .glass-site .glass-main-navigation > ul, .glass-site .glass-main-navigation > nav { display:none; }
  .glass-site .burger_menu { display:flex; position:relative; top:auto; right:auto; align-items:center; width:48px; height:48px; margin:0 14px; background:transparent; border:0; color:white; cursor:pointer; }
  .glass-site .burger_menu span, .glass-site .burger_menu span::before, .glass-site .burger_menu span::after { display:block; width:27px; height:3px; background:white; position:relative; }
  .glass-site .burger_menu span::before, .glass-site .burger_menu span::after { content:''; position:absolute; left:0; }
  .glass-site .burger_menu span::before { top:-8px; }
  .glass-site .burger_menu span::after { top:8px; }
  .glass-site .hidden_menu { display:block; opacity:1; pointer-events:auto; right:auto; position:fixed; top:0; left:0; bottom:0; z-index:1000; width:min(300px,80vw); padding:20px; overflow-y:auto; background:#1d619e; transform:translateX(-102%); transition:transform .25s ease; box-shadow:3px 0 18px #0005; }
  .glass-site .hidden_menu.is-open { transform:translateX(0); }
  .glass-site .hidden_menu ul { list-style:none; margin:0; padding:0; display:block; }
  .glass-site .hidden_menu a, .glass-site .hidden_menu .nav-header { display:block; color:white; padding:11px 8px; border-bottom:1px solid #ffffff35; }
  .glass-site .hidden_menu .nav-child { margin-left:15px; }
  .glass-site .hidden_menu .menu-img { display:none; }
  .glass-site .slider-wrapper .glass-slider-main { flex:1; }
  .glass-site .slider-wrapper .slider-thumbs, .glass-site .slider-right-img { display:none; }
  .glass-site .main-slider, .glass-site .glass-slider-empty { height:360px; }
  .glass-site .content-container > div > div { padding:28px 25px 190px; min-height:0; background:none; }
  .glass-site .bubbles { display:none; }
  .glass-site .glass-footer { width:calc(100% + 50px); left:-25px; background:#f1f1f1; height:auto; position:relative; margin-top:30px; }
  .glass-site .glass-footer > .wrapper { flex-wrap:wrap; height:auto; min-height:110px; padding:16px; }
  .glass-site .glass-footer .wrapper > div { min-width:0; }
  .glass-site .glass-footer .wrapper > div:first-child { display:none; }
  .glass-site .glass-footer .wrapper > div:nth-child(2) { flex:1 1 55%; padding:12px 6px; }
  .glass-site .glass-footer .wrapper > div:last-child { width:auto; flex:1 1 40%; padding:12px 6px; }
  .glass-site .how-to-find { min-height:0; }
}
@media (max-width: 520px) {
  .glass-site .header { gap:0; }
  .glass-site .glass-logo-col, .glass-site .glass-slogan-col { width:100%; flex-basis:100%; }
  .glass-site .glass-logo-col h1#logo { text-align:center; }
  .glass-site #logo > a { margin:0; }
  .glass-site .slogan { height:47px; background-size:contain; }
  .glass-site .header .worktime { padding:2px 0; }
  .glass-site .main-slider, .glass-site .glass-slider-empty { height:310px; }
  .glass-site .main-slider .glass-slide .caption { font-size:12px; line-height:1.3; padding:12px 12px 43px; }
  .glass-site .content-container > div > div { padding:15px 15px 30px; }
  .glass-site .glass-footer { width:calc(100% + 30px); left:-15px; }
  .glass-site .glass-footer > .wrapper { display:block; }
  .glass-site .article-item h2, .glass-site .catalog h2, .glass-site .feedback-wrapper h2 { font-size:26px; }
  .glass-site .gallery, .glass-site .glass-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .glass-site *, .glass-site *::before, .glass-site *::after { transition-duration:0s !important; animation-duration:0s !important; }
}

.glass-site .glass-modal-content { max-width:1040px; padding:20px; margin:auto; background:#fff; min-height:100vh; }
.glass-site .glass-error-page { max-width:720px; margin:12vh auto 0; padding:40px; text-align:center; background:white; border-radius:10px; }
.glass-site .glass-error-page h1 { font-size:80px; margin:20px 0; color:#236caf; }
.glass-site .glass-error-logo { display:block; max-width:220px; margin:0 auto; padding-top:75px; background:url(../img/logo.png) center top / contain no-repeat; font-size:0; }

/* Diagnostic output is visible only while Joomla System Debug is enabled. */
.glass-error-page .glass-error-details {max-width:100%; margin:2rem auto 0; padding:1rem; text-align:left; border:1px solid #d5dce4; border-radius:8px; background:#f8fafc; color:#1b293d;}
.glass-error-page .glass-error-details summary {cursor:pointer; font-weight:600;}
.glass-error-page .glass-error-details pre {overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;}

/* Joomla 5/6 breadcrumbs use an ordered list. The legacy theme previously
   relied on Bootstrap 3 to suppress numbering and arrange items in a row. */
.glass-site ol.mod-breadcrumbs, .glass-site ul.mod-breadcrumbs,
.glass-site ol.breadcrumb, .glass-site ul.breadcrumb {
  display:flex; flex-wrap:wrap; align-items:center; gap:0; list-style:none;
  margin:0 0 12px; padding:10px 0; background:transparent;
}
.glass-site .mod-breadcrumbs > li, .glass-site .breadcrumb > li {
  display:inline-flex; align-items:center; list-style:none; padding:0; margin:0;
  font-size:12px; min-width:0;
}
.glass-site .mod-breadcrumbs > li::marker, .glass-site .breadcrumb > li::marker { content:""; }
.glass-site .mod-breadcrumbs > li + li::before, .glass-site .breadcrumb > li + li::before {
  content:"/"; display:inline-block; margin:0 7px; color:#8a9baa; background:none;
}
.glass-site .mod-breadcrumbs > li.mod-breadcrumbs__here,
.glass-site .mod-breadcrumbs > li.mod-breadcrumbs__divider { display:none; }
.glass-site .mod-breadcrumbs > li.mod-breadcrumbs__here + li::before { display:none; }
.glass-site .mod-breadcrumbs a, .glass-site .breadcrumb a { color:#2769a1; }
.glass-site .mod-breadcrumbs .active, .glass-site .breadcrumb .active { color:#555; }
/* Catalog and gallery presentation independent of old Bootstrap styles. */
.glass-site .glass-catalog { max-width:100%; }
.glass-site .glass-catalog .catalog-blog { width:100%; }
.glass-site .glass-catalog .catalog-blog .product-item {
  display:block; margin:0; padding:0; border-bottom:1px solid #e3e3e3;
}
.glass-site .glass-catalog .catalog-blog .product-item .title {
  display:block; padding:10px 8px; color:#236caf; text-decoration:none;
}
.glass-site .glass-catalog .catalog-blog .product-item .title:hover { color:#d02020; }
.glass-site .gallery_folders li a { display:block; color:#202020; text-decoration:none; }
.glass-site .gallery_folders li img {
  display:block; width:100%; height:auto; aspect-ratio:1/1;
  border-radius:3px; background:#edf1f4; object-fit:cover;
}
.glass-site .gallery_folders li p { margin:8px 0 0; overflow-wrap:anywhere; }

/* Glass 1.0.4 — keep the intended narrow article column separate from the
   decorative bubble rail. No Bootstrap dependency or native list tables. */
.glass-site .glass-catalog { position:relative; z-index:2; }
.glass-site .glass-catalog .catalog-blog .product-item { list-style:none; }
.glass-site .glass-catalog .catalog-blog .product-item a.title {
  padding:12px 10px; font-family:'RobotoCondensedRegular',Arial,sans-serif;
  font-size:18px; line-height:1.35; color:#252525; text-align:center;
  text-decoration:underline;
}
.glass-site .glass-catalog .catalog-blog .product-item a.title:hover { color:#cc161e; }
.glass-site .gallery_folders { align-items:start; }
.glass-site .gallery_folders li { min-width:0; overflow:hidden; }
.glass-site .gallery_folders li img { width:100%; height:auto; aspect-ratio:1 / 1; object-fit:cover; display:block; }
.glass-site .gallery_folders li p { font-family:'RobotoCondensedBold',Arial,sans-serif; line-height:1.3; color:#222; }
@media (max-width:520px) { .glass-site .gallery_folders { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } }
