/* CuadroVidrio Projects — галерея (.cvg), страница проекта (.cvps), лайтбокс (.cvl) */
.cvg,.cvps,.cvl{--pf-navy:#087e77;--pf-blue:#148780;--pf-light:#edf6f1;--pf-line:#cddfd7;--pf-ink:#173f39;--pf-mute:#526961;--pf-r:8px;font-family:inherit;color:var(--pf-ink)}
.cvg *,.cvps *{box-sizing:border-box}
.cvg{width:100%;max-width:1240px;margin:0 auto;padding:0 16px}

/* вкладки */
.cvg-tabs{display:none;gap:8px;margin:0 0 18px;border-bottom:2px solid var(--pf-line)}
.cvg.cvg-js .cvg-tabs{display:flex}
.cvg-tabs button{appearance:none;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:12px 18px;font:inherit;font-weight:700;font-size:16px;color:var(--pf-mute);cursor:pointer;transition:color .15s,border-color .15s,background .15s;border-radius:6px 6px 0 0}
.cvg-tabs button span{display:inline-block;min-width:24px;padding:1px 7px;margin-left:6px;border-radius:12px;background:var(--pf-light);color:var(--pf-navy);font-size:13px;text-align:center}
.cvg-tabs button:hover{color:var(--pf-navy);background:var(--pf-light)}
.cvg-tabs button[aria-selected="true"]{color:var(--pf-navy);border-bottom-color:var(--pf-navy)}
.cvg-tabs button:focus-visible,.cvg-chip:focus-visible,.cvg-more:focus-visible,.cvg-card-link:focus-visible,.cvg-photo a:focus-visible{outline:3px solid var(--pf-blue);outline-offset:2px}

/* фильтры */
.cvg-filters{display:none;flex-direction:column;gap:10px;margin:0 0 14px}
.cvg.cvg-js .cvg-filters{display:flex}
.cvg-group{display:flex;flex-wrap:wrap;gap:8px}
.cvg-chip{appearance:none;border:1px solid var(--pf-line);background:#fff;color:var(--pf-navy);border-radius:999px;padding:8px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .1s}
.cvg-chip:hover:not(:disabled){background:var(--pf-light);border-color:var(--pf-blue)}
.cvg-chip:active:not(:disabled){transform:translateY(1px)}
.cvg-chip.is-on{background:var(--pf-navy);border-color:var(--pf-navy);color:#fff}
.cvg-chip:disabled{opacity:.4;cursor:not-allowed}
.cvg-count{margin:0 0 16px;font-size:14px;color:var(--pf-mute)}
.cvg:not(.cvg-x) .cvg-count:empty{display:none}

/* заголовки панелей: видны без JS, с JS их заменяют вкладки */
.cvg-h{font-size:24px;margin:24px 0 14px;color:var(--pf-navy)}
.cvg.cvg-js .cvg-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cvg-panel[hidden],.cvg-item[hidden],.cvg-empty[hidden],.cvg-more[hidden]{display:none!important}

/* сетка */
.cvg-grid{list-style:none;margin:0;padding:0;display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.cvg-item{margin:0;padding:0;list-style:none;display:flex}
.cvg-card{position:relative;display:flex;flex-direction:column;width:100%;background:#fff;border:1px solid var(--pf-line);border-radius:var(--pf-r);overflow:hidden;transition:box-shadow .2s,transform .2s,border-color .2s}
.cvg-card:hover{box-shadow:0 10px 26px rgba(8,126,119,.16);transform:translateY(-3px);border-color:var(--pf-blue)}
.cvg-card:focus-within{border-color:var(--pf-navy);box-shadow:0 0 0 2px var(--pf-blue)}
.cvg-card-img{aspect-ratio:4/3;background:var(--pf-light);overflow:hidden;position:relative}
/* фото всегда заполняет клетку и центрируется: тема и Elementor задают img{height:auto}, поэтому размеры жёсткие */
.cvg-card-img img{position:absolute!important;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;transition:transform .35s}
.cvg-card:hover .cvg-card-img img{transform:scale(1.04)}
.cvg-card-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}
.cvg-meta{margin:0;font-size:13px;font-weight:600;color:var(--pf-blue);text-transform:uppercase;letter-spacing:.04em;min-height:1em}
.cvg-card-title{margin:0;font-size:19px;line-height:1.25}
.cvg-card-link{color:var(--pf-navy);text-decoration:none}
.cvg-card-link::after{content:"";position:absolute;inset:0}
.cvg-sum{margin:0;font-size:15px;line-height:1.5;color:var(--pf-ink)}
.cvg-specs{list-style:none;margin:0;padding:0;font-size:14px;color:var(--pf-mute)}
.cvg-specs li{margin:0;padding:0}
.cvg-specs span{font-weight:700;color:var(--pf-ink)}
.cvg-tags{margin:0;display:flex;flex-wrap:wrap;gap:6px}
.cvg-tags span{background:var(--pf-light);color:var(--pf-navy);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}
.cvg-go{margin-top:auto;padding-top:6px;font-weight:700;font-size:15px;color:var(--pf-navy)}
.cvg-card:hover .cvg-go{text-decoration:underline}

/* фото */
.cvg-grid-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cvg-photo{margin:0;width:100%;display:flex;flex-direction:column;gap:6px}
.cvg-photo a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--pf-r);background:var(--pf-light);cursor:zoom-in;position:relative}
.cvg-photo img{position:absolute!important;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;transition:transform .3s}
.cvg-photo a:hover img{transform:scale(1.05)}
.cvg-photo a::after{content:"";position:absolute;inset:0;background:rgba(8,126,119,0);transition:background .2s}
.cvg-photo a:hover::after{background:rgba(8,126,119,.14)}
.cvg-photo figcaption{font-size:13px;color:var(--pf-mute);line-height:1.4}

.cvg-empty{padding:30px 0;text-align:center;color:var(--pf-mute)}
.cvg-morewrap{text-align:center;margin:26px 0 0}
.cvg-more{appearance:none;background:var(--pf-navy);color:#fff;border:2px solid var(--pf-navy);border-radius:var(--pf-r);padding:12px 28px;font:inherit;font-weight:700;cursor:pointer;transition:background .15s,color .15s,transform .1s}
.cvg-more:hover{background:#fff;color:var(--pf-navy)}
.cvg-more:active{transform:translateY(1px)}

/* страница проекта */
.cvx-single .site-content .ast-container,.cvx-single #primary{max-width:none;padding:0;margin:0;width:100%}
.cvps{max-width:1180px;margin:0 auto;padding:24px 16px 56px}
.cvps h1{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:8px 0 6px;color:var(--pf-navy)}
.cvps h2{font-size:clamp(22px,2.6vw,28px);margin:0 0 14px;color:var(--pf-navy)}
.cvps section,.cvps .cvps-main{margin:40px 0 0}
.cvps-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:14px;color:var(--pf-mute)}
.cvps-crumbs li+li::before{content:"/";margin-right:6px;color:var(--pf-line)}
.cvps-crumbs a{color:var(--pf-navy);text-decoration:none}
.cvps-crumbs a:hover{text-decoration:underline}
.cvps-place{margin:0 0 10px;font-size:17px;color:var(--pf-blue);font-weight:600}
.cvps-cover{margin:20px 0 0}
.cvps-cover img{display:block;width:100%;height:auto;max-height:640px;object-fit:cover;border-radius:var(--pf-r)}
.cvps-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:36px;align-items:start}
.cvps-lead{font-size:18px;line-height:1.6;margin:0 0 14px}
.cvps-desc{font-size:16px;line-height:1.7}
.cvps-specs{background:var(--pf-light);border-radius:var(--pf-r);padding:22px 24px}
.cvps-specs h2{font-size:20px}
.cvps-specs dl{margin:0}
.cvps-specs dl div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid var(--pf-line)}
.cvps-specs dl div:first-child{border-top:0}
.cvps-specs dt{color:var(--pf-mute);font-size:14px}
.cvps-specs dd{margin:0;font-weight:700;text-align:right}
.cvps-photos .cvg-grid-photos{grid-template-columns:repeat(3,minmax(0,1fr))}
.cvps-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 22px}
.cvps-pair figure{margin:0;position:relative}
.cvps-pair img{display:block;width:100%!important;aspect-ratio:4/3;object-fit:cover!important;border-radius:var(--pf-r)}
.cvps-badge{position:absolute;top:10px;left:10px;background:var(--pf-navy);color:#fff;border-radius:6px;padding:3px 10px;font-size:13px;font-weight:700}
.cvps-cap{margin:8px 0 0;font-size:14px;color:var(--pf-mute)}
.cvps-pair .cvps-cap{grid-column:1/-1;margin:0}
.cvps-video{position:relative;aspect-ratio:16/9;border-radius:var(--pf-r);overflow:hidden;background:#000}
.cvps-video iframe,.cvps-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.cvps-demo{margin:10px 0 0;padding:8px 12px;border-left:4px solid var(--pf-blue);background:var(--pf-light);font-size:14px}
.cvps-links ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cvps-links li{margin:0}
.cvps-links a{display:inline-block;padding:10px 18px;border:1px solid var(--pf-line);border-radius:var(--pf-r);color:var(--pf-navy);font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}
.cvps-links a:hover{background:var(--pf-light);border-color:var(--pf-blue);transform:translateY(-2px)}
.cvps-links a:focus-visible,.cvps-all a:focus-visible,.cvps-crumbs a:focus-visible{outline:3px solid var(--pf-blue);outline-offset:2px}
.cvps-related .cvg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cvps-all{margin:18px 0 0;font-weight:700}
.cvps-all a{color:var(--pf-navy)}
.cvps-form{background:var(--pf-light);border-radius:var(--pf-r);padding:28px clamp(16px,4vw,40px)}

/* лайтбокс */
.cvl{position:fixed;inset:0;z-index:100000;background:rgba(5,22,34,.94);display:flex;align-items:center;justify-content:center;padding:56px 64px}
.cvl[hidden]{display:none}
.cvl-fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
.cvl-fig img{max-width:100%;max-height:calc(100vh - 160px);object-fit:contain;border-radius:4px}
.cvl-fig figcaption{color:#fff;font-size:15px;text-align:center;max-width:760px}
.cvl-n{position:absolute;bottom:14px;left:0;right:0;margin:0;text-align:center;color:#c9d6e0;font-size:13px}
.cvl button{position:absolute;appearance:none;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;width:46px;height:46px;border-radius:50%;font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s}
.cvl button:hover{background:rgba(255,255,255,.28)}
.cvl button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.cvl-close{top:12px;right:12px}
.cvl-prev{left:12px;top:50%;transform:translateY(-50%)}
.cvl-next{right:12px;top:50%;transform:translateY(-50%)}
.cvl button[hidden]{display:none}
html.cvl-open{overflow:hidden}

@media (max-width:1024px){
  .cvg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cvg-grid-photos,.cvps-photos .cvg-grid-photos,.cvps-related .cvg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cvps-main{grid-template-columns:1fr}
}
@media (max-width:600px){
  .cvg-grid,.cvps-related .cvg-grid{grid-template-columns:1fr}
  .cvg-grid-photos,.cvps-photos .cvg-grid-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cvps-pair{grid-template-columns:1fr}
  .cvl{padding:56px 8px}
  .cvl-prev{left:4px}.cvl-next{right:4px}
  .cvg-tabs button{padding:10px 12px;font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  .cvg *,.cvps *{transition:none!important}
  .cvg-card:hover,.cvg-card:hover .cvg-card-img img,.cvg-photo a:hover img{transform:none}
}

.cvg[hidden],.cvg [hidden],.cvl[hidden]{display:none!important}.cvg-photo a.cvg-photo-project{display:block;aspect-ratio:auto;overflow:visible;background:none;cursor:pointer;font-weight:600;margin-top:5px}.cvg-photo-project::after{display:none}.cvps{width:min(1160px,calc(100% - 40px));margin:auto}.cvps iframe{border:0}.cvps-video{max-width:560px}.cvg-card{border-radius:8px;height:100%}.cvg-card:active{border-color:#087e77}.cvg-card:focus-within{outline:3px solid #087e77;outline-offset:3px}.cvx-gallery-page{padding:38px 0 50px;color:#173f39}.cvx-gallery-page>nav,.cvx-gallery-page>h1,.cvx-gallery-page>p{width:min(1160px,calc(100% - 40px));margin-left:auto;margin-right:auto}.cvx-gallery-page>h1{font-size:clamp(32px,4vw,48px);line-height:1.15;margin-top:20px}.cvg-chip,.cvg-tags span{border-radius:5px}.cvps .forminator-textarea{min-height:152px!important}@media(min-width:641px) and (max-width:1024px){.cvg-grid-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}

.cvps-play{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;color:#fff!important;background:#173f39;padding:24px;text-align:center}.cvps-play:hover{background:#087e77}.cvps-play:active{background:#064f49}.cvps-play:focus-visible{outline:3px solid #fff;outline-offset:-6px}.cvx-gallery-page a:active,.cvps a:active{color:#064f49}.cvl button:active{background:#087e77}

/* Owner revision 02.11.2026: retain the former segmented switch and three photo columns. */
.cvg-filter-label{display:block;flex-basis:100%;font-size:13px;font-weight:600;line-height:1.4;color:#526961}
.cvg-tabs{
    width:max-content;max-width:100%;align-self:flex-start;gap:6px;padding:5px;
    margin:0 0 22px;border:1px solid #cddfd7;border-radius:10px;background:#f4f9f6;
}
.cvg-tabs button{
    flex:0 0 auto;margin:0;padding:8px 20px;border:1px solid transparent;border-radius:7px;
    background:transparent;color:#526961;font-size:15px;line-height:1.5;font-weight:500;
}
.cvg-tabs button span{display:none}
.cvg-tabs button[aria-selected="true"]{background:#148780;color:#fff;border-color:#148780}
.cvg-tabs button:hover{background:#d9ece4;color:#173f39}
.cvg-tabs button[aria-selected="true"]:hover{background:#0c7069;color:#fff;border-color:#0c7069}
.cvg-tabs button:active,.cvg-tabs button[aria-selected="true"]:active{background:#095d57;color:#fff;border-color:#095d57}
.cvg .cvg-grid-photos{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1024px){.cvg .cvg-grid-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cvg-tabs button{padding:8px 18px}}

/* Restore the former filter states: pale selected, outlined hover, solid on press. */
.cvg-chip{
    padding:7px 13px;border:1px solid #cddfd7;border-radius:7px;
    background:#fff;color:#526961;font-size:15px;line-height:1.5;font-weight:500;
    transition:color .18s,background-color .18s,border-color .18s;
}
.cvg-chip.is-on,.cvg-chip[aria-pressed="true"]{background:#e4f2eb;color:#096e65;border-color:#148780}
.cvg-chip:hover:not(:disabled){background:#edf6f1;color:#526961;border-color:#148780}
.cvg-chip:active:not(:disabled){background:#148780;color:#fff;border-color:#148780;transform:none}
.cvg-chip:focus-visible{outline:3px solid #148780;outline-offset:4px}

/* Gallery hero: the same full-width pale green, dark heading and muted lead as before. */
.cvx-gallery-page{padding-top:0}
.cvx-gallery-hero{padding:44px 0 38px;background:#edf6f1;border-bottom:1px solid #d9e8e0;color:#173f39}
.cvx-gallery-hero__wrap{width:min(1160px,calc(100% - 48px));margin:0 auto}
.cvx-gallery-hero nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;font-size:14px;line-height:1.65}
.cvx-gallery-hero nav a{color:#087e77;text-underline-offset:4px}
.cvx-gallery-hero nav a:hover{color:#064f49}
.cvx-gallery-hero nav a:active{background:#087e77;color:#fff}
.cvx-gallery-hero h1{font-family:'Work Sans',sans-serif;font-size:clamp(34px,4vw,52px);font-weight:600;line-height:1.2;color:#173f39;margin:0 0 18px}
.cvx-gallery-hero p{max-width:760px;margin:0;font-size:18px;line-height:1.65;color:#526961}
.cvx-gallery-page>#Galeria{padding-top:36px}
.cvx-gallery-page .cvg{max-width:1208px;padding-right:24px;padding-left:24px}
.cvx-gallery-page>.cvx-gallery-footer{width:min(1160px,calc(100% - 48px));margin:32px auto 0}
@media(max-width:767px){
    .cvg-chip{padding:6px 10px;font-size:13px}
    .cvx-gallery-hero{padding:32px 0}
    .cvx-gallery-hero__wrap,.cvx-gallery-page>.cvx-gallery-footer{width:calc(100% - 40px)}
    .cvx-gallery-hero h1{font-size:35px}
    .cvx-gallery-hero p{font-size:17px}
    .cvx-gallery-page>#Galeria{padding-top:26px}
    .cvx-gallery-page .cvg{padding-right:20px;padding-left:20px}
}
