/* Д2ДОМ Light UI v2 — shared detail pages for houses and baths. */
/* The global floating control overlaps project facts and calculator results. */
body.single-movie .scroll-to-up-site, body.single-bani .scroll-to-up-site { display:none!important; }
/* Keep the existing legal links readable and tappable on narrow project pages. */
:is(body.single-movie,body.single-bani) .footer__legal { padding-inline:16px; }
:is(body.single-movie,body.single-bani) .footer__legal-link { display:inline-flex; align-items:center; justify-content:center; max-width:100%; min-height:44px; line-height:1.4; text-align:center; }
.dg-project-detail { --detail-canvas:var(--dg-color-canvas,#f4f4f1); --detail-band:var(--dg-color-band,#e5e7e4); --detail-surface:var(--dg-color-surface,#fbfaf6); --detail-ink:#252a2d; --detail-muted:rgba(37,42,45,.68); --detail-line:rgba(37,42,45,.13); --detail-accent:#670009; background:var(--detail-canvas); color:var(--detail-ink); font:400 16px/1.5 "Involve",Arial,sans-serif; }
.dg-project-detail *, .dg-project-detail *::before, .dg-project-detail *::after { box-sizing:border-box; }
.dg-project-detail [hidden] { display:none!important; }
.dg-project-detail :is(h1,h2,h3,p,figure,dl,dd) { margin:0; }
.dg-project-detail :is(h1,h2) { font-family:"Haval","Involve",sans-serif; font-weight:300; line-height:1.17; text-wrap:balance; overflow-wrap:anywhere; hyphens:auto; }
.dg-project-detail h1 { font-size:clamp(34px,4.4vw,64px); }
.dg-project-detail h2 { font-size:clamp(28px,3vw,42px); hyphens:none; }
.dg-project-detail h3 { font:600 23px/1.25 "Involve",sans-serif; overflow-wrap:anywhere; }
.dg-project-detail a { color:inherit; text-decoration:none; }
.dg-project-detail button { font:inherit; cursor:pointer; }
.dg-project-detail :is(a,button,summary,input,select,[tabindex]):focus-visible { outline:3px solid var(--detail-accent); outline-offset:4px; }
.dg-project-detail__shell { width:min(1320px,calc(100% - 48px)); margin-inline:auto; }
.dg-project-detail__breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding-top:16px; font-size:13px; color:var(--detail-muted); }
.dg-project-detail__breadcrumbs a { display:inline-flex; min-height:44px; align-items:center; }
.dg-project-detail__breadcrumbs [aria-current] { overflow-wrap:anywhere; }
.dg-project-detail__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding-block:28px 32px; }
.dg-project-detail__heading > div { min-width:0; }
.dg-project-detail__eyebrow { color:var(--detail-muted); text-transform:uppercase; font-size:11px; letter-spacing:.12em; font-weight:600; }
.dg-project-detail__heading .dg-project-detail__eyebrow { margin-bottom:12px; }
.dg-project-detail__text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; background:transparent!important; border:0; border-bottom:1px solid var(--detail-line); border-radius:0; color:var(--detail-ink)!important; font-size:14px; text-align:left; box-shadow:none!important; }
.dg-project-detail__text-link:hover,.dg-project-detail__breadcrumbs a:hover { color:var(--detail-accent)!important; }
.dg-project-detail__heading > a { flex-shrink:0; }
.dg-project-detail__hero { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:24px; align-items:start; padding-bottom:12px; }
.dg-project-detail__gallery { min-width:0; }
.dg-project-detail__frames { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; border-radius:20px; background:var(--detail-band); scrollbar-width:thin; overscroll-behavior-inline:contain; }
.dg-project-detail__frame { flex:0 0 100%; min-width:0; display:grid; place-items:center; aspect-ratio:4/3; scroll-snap-align:start; overflow:hidden; }
.dg-project-detail__frame img { display:block; width:100%; height:100%; object-fit:contain; }
.dg-project-detail__gallery-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:10px; color:var(--detail-muted); font-size:12px; }
.dg-project-detail__arrows { display:none; align-items:center; gap:12px; flex-shrink:0; }
.dg-project-detail[data-enhanced] .dg-project-detail__arrows { display:flex; }
.dg-project-detail__arrows button { width:44px; height:44px; background:var(--detail-surface); border:1px solid var(--detail-line); border-radius:50%; color:var(--detail-ink); font-size:22px; }
.dg-project-detail__arrows span { min-width:34px; text-align:center; font-variant-numeric:tabular-nums; }
.dg-project-detail__thumbnails { display:none; gap:10px; overflow-x:auto; padding:5px 3px; scrollbar-width:thin; }
.dg-project-detail[data-enhanced] .dg-project-detail__thumbnails { display:flex; }
.dg-project-detail__thumbnails button { flex:0 0 98px; height:72px; border:2px solid transparent; border-radius:20px; padding:3px; background:var(--detail-band); overflow:hidden; opacity:.65; }
.dg-project-detail__thumbnails button[aria-current=true] { border-color:var(--detail-accent); opacity:1; }
.dg-project-detail__thumbnails img { display:block; width:100%; height:100%; object-fit:cover; border-radius:20px; }
.dg-project-detail__empty-media { width:100%; max-width:100%; min-height:360px; aspect-ratio:4/3; border-radius:20px; background:var(--detail-band); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; padding:32px; text-align:center; color:var(--detail-muted); }
.dg-project-detail__empty-media > span { font-size:60px; line-height:1; }
.dg-project-detail__empty-media > :is(p,button) { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.dg-project-detail__empty-media > button { padding-inline:16px; }
.dg-project-detail__image-error { padding:24px; text-align:center; color:var(--detail-muted); }
.dg-project-detail__summary { padding:26px; border:1px solid var(--detail-line); border-radius:20px; background:var(--detail-surface); }
.dg-project-detail__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; margin-block:20px!important; }
.dg-project-detail__facts > div { min-width:0; }
.dg-project-detail__facts dt { margin-bottom:5px; font-size:12px; color:var(--detail-muted); }
.dg-project-detail__facts dd { font-size:16px; line-height:1.4; overflow-wrap:anywhere; }
.dg-project-detail__facts .dg-project-detail__area { grid-column:1/-1; padding-bottom:16px; border-bottom:1px solid var(--detail-line); }
.dg-project-detail__area dd { font-size:36px; line-height:1.2; font-weight:500; }
.dg-project-detail__materials { padding-block:18px; border-top:1px solid var(--detail-line); font-size:14px; }
.dg-project-detail__materials p:first-child { font-size:12px; color:var(--detail-muted); margin-bottom:6px; }
.dg-project-detail__price { border-top:1px solid var(--detail-line); padding-block:20px; }
.dg-project-detail__price > span { color:var(--detail-muted); font-size:12px; }
.dg-project-detail__price strong { display:block; font-size:27px; line-height:1.25; margin-block:6px 12px; font-weight:600; overflow-wrap:anywhere; }
.dg-project-detail__price p { color:var(--detail-muted); font-size:12px; }
.dg-project-detail__button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:50px; padding:14px 24px; border:1px solid var(--detail-accent); border-radius:999px; background:var(--detail-accent); color:#fffdf9!important; font-size:14px!important; line-height:1.3; }
.dg-project-detail__button:hover { background:#7a0110; }
.dg-project-detail__summary .dg-project-detail__button { width:100%; padding-inline:12px; }
.dg-project-detail__summary > .dg-project-detail__text-link { display:flex; margin-top:12px; justify-content:center; }
.dg-project-detail__section { padding-block:clamp(52px,6vw,80px); scroll-margin-top:90px; }
.dg-project-detail__band { background:var(--detail-band); }
.dg-project-detail__description { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:56px; }
.dg-project-detail__prose { max-width:68ch; line-height:1.7; overflow-wrap:anywhere; }
.dg-project-detail__prose > *+* { margin-top:16px; }
.dg-project-detail__prose :is(ul,ol) { padding-left:22px; }
.dg-project-detail__prose li { margin-bottom:6px; }
.dg-project-detail__prose a { text-decoration:underline; text-underline-offset:3px; }
.dg-project-detail__prose img { max-width:100%; height:auto; }
.dg-project-detail__section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:32px; }
.dg-project-detail__section-heading > p { max-width:35ch; color:var(--detail-muted); font-size:14px; }
.dg-project-detail__section-heading .dg-project-detail__eyebrow,.dg-project-detail__split .dg-project-detail__eyebrow { margin-bottom:14px; }
.dg-project-detail__plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.dg-project-detail__plans figure { border-radius:20px; border:1px solid var(--detail-line); background:var(--detail-surface); overflow:hidden; }
.dg-project-detail__plans figure:only-child { max-width:780px; grid-column:1/-1; width:100%; justify-self:center; }
.dg-project-detail__plans a { display:grid; place-items:center; padding:20px; aspect-ratio:4/3; }
.dg-project-detail__plans img { width:100%; height:100%; object-fit:contain; min-height:0; }
.dg-project-detail__split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:64px; }
.dg-project-detail__split > * { min-width:0; }
.dg-project-detail__lead { font-size:20px; line-height:1.5; }
.dg-project-detail__adapt { list-style:none; padding:0; margin:24px 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.dg-project-detail__adapt li { border-top:1px solid var(--detail-line); padding:16px 16px 16px 0; font-size:15px; }
.dg-project-detail__muted { color:var(--detail-muted); font-size:14px; max-width:62ch; }
.dg-project-detail__split h2 + p { margin-top:20px; }
.dg-project-detail__split .dg-project-detail__button { margin-top:24px; }
.dg-project-detail__scope { display:grid; gap:12px; }
.dg-project-detail__scope details { border:1px solid var(--detail-line); background:var(--detail-surface); border-radius:20px; }
.dg-project-detail__scope summary { display:grid; grid-template-columns:28px minmax(0,1fr) 24px; gap:16px; align-items:center; font-size:17px; list-style:none; cursor:pointer; min-height:68px; padding:18px 24px; font-weight:500; }
.dg-project-detail__scope summary::-webkit-details-marker { display:none; }
.dg-project-detail__scope .dg-project-detail__scope-toggle { font-size:24px; flex-shrink:0; }
.dg-project-detail__scope details[open] .dg-project-detail__scope-toggle { font-size:0; }
.dg-project-detail__scope details[open] .dg-project-detail__scope-toggle::after { content:'−'; font-size:24px; }
.dg-project-detail__scope .dg-project-detail__prose { padding:0 24px 24px 68px; font-size:16px; line-height:1.65; }
/* Reuse the theme viewer; its project variant stays on the current page. */
.dg-lightbox.dg-lightbox--project { padding:80px 24px; background:#f4f4f1; color:#252a2d; font-family:"Involve",Arial,sans-serif; }
.dg-lightbox--project [hidden] { display:none!important; }
.dg-lightbox--project .dg-lightbox__stage { width:min(1320px,100%); height:calc(100dvh - 160px); min-height:0; background:#e5e7e4; border-radius:20px; overflow:hidden; }
.dg-lightbox--project .dg-lightbox__image { border-radius:0; box-shadow:none; }
.dg-lightbox--project .dg-lightbox__button { width:48px; height:48px; border:1px solid rgba(37,42,45,.2); background:#fbfaf6; color:#252a2d; font-size:28px; box-shadow:none; }
.dg-lightbox--project .dg-lightbox__button:focus-visible { outline:3px solid #670009; outline-offset:3px; }
.dg-lightbox--project .dg-lightbox__button--close { top:16px; right:24px; }
.dg-lightbox--project .dg-lightbox__button--zoom { top:16px; left:24px; }
.dg-lightbox--project .dg-lightbox__button--prev { top:auto; bottom:16px; left:calc(50% - 120px); transform:none; }
.dg-lightbox--project .dg-lightbox__button--next { top:auto; bottom:16px; right:calc(50% - 120px); transform:none; }
.dg-lightbox--project .dg-lightbox__counter { bottom:20px; background:#fbfaf6; color:#252a2d; min-width:68px; text-align:center; }
.dg-lightbox--project .dg-lightbox__status { padding:24px; text-align:center; font-size:16px; line-height:1.5; }
.dg-lightbox--project.is-zoomed .dg-lightbox__stage { display:block; overflow:auto; overscroll-behavior:contain; }
.dg-lightbox--project.is-zoomed .dg-lightbox__image { width:200%; height:auto; max-width:none; max-height:none; }
@media(max-width:600px) { .dg-lightbox.dg-lightbox--project { padding:72px 12px; } .dg-lightbox--project .dg-lightbox__stage { height:calc(100dvh - 144px); } .dg-lightbox--project .dg-lightbox__button--close { top:12px; right:12px; } .dg-lightbox--project .dg-lightbox__button--zoom { top:12px; left:12px; } }
.dg-project-detail__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.dg-project-detail__cards article { display:grid; grid-template-rows:subgrid; grid-row:span 5; gap:0; min-width:0; border:1px solid var(--detail-line); border-radius:20px; background:var(--detail-surface); overflow:hidden; }
.dg-project-detail__card-photo { display:grid; place-items:center; aspect-ratio:4/3; background:var(--detail-band); overflow:hidden; }
.dg-project-detail__card-photo img { width:100%; height:100%; object-fit:cover; }
.dg-project-detail__card-photo span { color:var(--detail-muted); font-size:14px; }
.dg-project-detail__cards h3 { padding:20px 24px 12px; }
.dg-project-detail__cards article > p { padding:0 24px 20px; color:var(--detail-muted); font-size:14px; }
.dg-project-detail__cards article > strong { padding:20px 24px 0; border-top:1px solid var(--detail-line); font-size:23px; line-height:1.3; overflow-wrap:anywhere; }
.dg-project-detail__card-link { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; padding:14px 24px; font-size:14px; }
/* Preserve the existing calculator, restyle it only inside the project page. */
.dg-project-detail .dg-project-calc { margin:0; padding:26px; border:1px solid var(--detail-line); border-radius:20px; background:var(--detail-surface); color:var(--detail-ink); box-shadow:none; }
.dg-project-detail .dg-project-calc__title { margin-bottom:20px; color:var(--detail-ink); font-size:20px; }
.dg-project-detail .dg-project-calc__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.dg-project-detail [data-dg-construction-only] .dg-project-calc__field:last-child { grid-column:1/-1; }
.dg-project-detail .dg-project-calc__field { min-width:0; display:grid; gap:8px; font-size:13px; color:var(--detail-muted); }
.dg-project-detail .dg-project-calc__field :is(input,select) { min-width:0; width:100%; height:48px; padding:10px 12px; border:1px solid rgba(37,42,45,.2); border-radius:20px; background:var(--detail-canvas); color:var(--detail-ink); font:400 14px "Involve",sans-serif; }
.dg-project-detail .dg-project-calc__extras { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:18px; }
.dg-project-detail [data-dg-construction-only] .dg-project-calc__extras { display:none; }
.dg-project-detail .dg-project-calc__extras label { display:flex; align-items:center; gap:8px; min-height:44px; font-size:14px; color:var(--detail-ink); }
.dg-project-detail .dg-project-calc__extras input { width:20px; height:20px; accent-color:var(--detail-accent); }
.dg-project-detail .dg-project-calc__button { min-height:48px; margin-top:18px; padding:12px 20px; border-radius:999px; border:1px solid var(--detail-accent); background:var(--detail-accent); color:#fffdf9; font:400 14px "Involve",sans-serif; }
.dg-project-detail .dg-project-calc__result { margin-top:24px; padding-top:20px; border-top:1px solid var(--detail-line); background:transparent; color:var(--detail-ink); }
.dg-project-detail .dg-project-calc__result strong { display:block; margin:8px 0; font-size:28px; color:var(--detail-ink); overflow-wrap:anywhere; }
.dg-project-detail .dg-project-calc__result :is(span,small) { color:var(--detail-muted); font-size:13px; }
@media(min-width:1440px) { .dg-project-detail__frame { aspect-ratio:16/11; } }
@media(max-width:1080px) { .dg-project-detail__hero { grid-template-columns:minmax(0,1fr) 330px; gap:20px; } .dg-project-detail__summary { padding:22px; } .dg-project-detail__split,.dg-project-detail__description { gap:32px; } }
@media(max-width:850px) { .dg-project-detail__hero { grid-template-columns:1fr; } .dg-project-detail__summary { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; } .dg-project-detail__summary > .dg-project-detail__eyebrow,.dg-project-detail__facts { grid-column:1; } .dg-project-detail__materials { grid-column:1; } .dg-project-detail__price { grid-column:2; grid-row:1/4; border-top:0; align-self:center; } .dg-project-detail__summary .dg-project-detail__button,.dg-project-detail__summary > .dg-project-detail__text-link { grid-column:2; } .dg-project-detail__split,.dg-project-detail__description { grid-template-columns:1fr; } .dg-project-detail__cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .dg-project-detail__shell { width:calc(100% - 32px); } .dg-project-detail__heading { align-items:flex-start; flex-direction:column; gap:12px; padding-block:22px 24px; } .dg-project-detail h1 { font-size:clamp(32px,9vw,44px); } .dg-project-detail h2 { font-size:clamp(27px,7.7vw,34px); } .dg-project-detail__gallery-bar { font-size:11px; gap:10px; } .dg-project-detail__arrows { gap:6px; } .dg-project-detail__thumbnails button { flex-basis:80px; height:60px; } .dg-project-detail__summary { display:block; padding:24px 20px; } .dg-project-detail__price { border-top:1px solid var(--detail-line); } .dg-project-detail__summary > .dg-project-detail__text-link { display:flex; } .dg-project-detail__section-heading { flex-direction:column; align-items:flex-start; gap:16px; } .dg-project-detail__plans { grid-template-columns:1fr; gap:16px; } .dg-project-detail__plans a { padding:12px; } .dg-project-detail__adapt { grid-template-columns:1fr; } .dg-project-detail__lead { font-size:18px; } .dg-project-detail__cards { grid-template-columns:1fr; } .dg-project-detail__empty-media { min-height:260px; padding:24px; } .dg-project-detail .dg-project-calc { padding:22px 18px; } .dg-project-detail .dg-project-calc__grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .dg-project-detail * { scroll-behavior:auto!important; } }

.dg-project-detail__tags { padding:24px 0; }
.dg-project-detail__tags > p { margin:0 0 12px; font-size:15px; font-weight:600; }
.dg-project-detail__tags > div { display:flex; flex-wrap:wrap; gap:8px; }
.dg-project-detail__tags a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; padding:10px 16px; border:1px solid var(--detail-line); border-radius:999px; background:var(--detail-surface); font-size:14px; line-height:1.4; }
.dg-project-detail__tags a:hover { color:var(--detail-accent); border-color:var(--detail-accent); }

.dg-project-detail__scope-icon { width:28px; height:28px; color:var(--detail-accent); }
.dg-project-detail__scope-title { min-width:0; }
.dg-project-detail__scope-toggle { text-align:center; }
.dg-project-detail__scope .dg-project-detail__prose li + li { margin-top:10px; }
@media (max-width:540px) {
  .dg-project-detail__scope summary { padding:18px 20px; gap:12px; grid-template-columns:24px minmax(0,1fr) 24px; font-size:16px; }
  .dg-project-detail__scope-icon { width:24px; height:24px; }
  .dg-project-detail__scope .dg-project-detail__prose { padding:0 20px 24px; }
}
