
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&family=Playfair+Display:wght@400;500&display=swap');
:root{--bg:#f5f3ef;--text:#171715;--muted:#77746d;--line:#d8d4cc;--max:1420px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",Arial,sans-serif;font-weight:400;line-height:1.45}
a{color:inherit;text-decoration:none}
.wrap{width:min(calc(100% - 72px),var(--max));margin:auto}

/* Navigation: starts naturally at the top, then becomes pinned while scrolling */
header{position:relative;z-index:50;background:rgba(245,243,239,.96);border-bottom:1px solid transparent;padding:16px 0 15px;transition:box-shadow .25s ease,background .25s ease}
header.is-stuck{position:fixed;top:0;left:0;right:0;box-shadow:0 8px 24px rgba(0,0,0,.06)}
body.nav-stuck{padding-top:76px}
.nav{display:grid;grid-template-columns:180px repeat(4,minmax(0,1fr));gap:32px;align-items:center}
.nav-logo{display:block;width:150px;height:42px;object-fit:contain;object-position:left center}
.nav-links{display:contents}
.nav a{font-size:12px;line-height:1.15;text-transform:none}
.nav small{display:block;color:var(--muted);font-size:10px;margin-top:5px}
.brand{font-size:13px;letter-spacing:.08em;text-transform:uppercase}

/* Large photographic hero — horizontal gallery + pinned image while scrolling */
.hero{position:relative;min-height:155vh;margin:0;overflow:clip;background:#b9b4aa}
.hero-image{position:sticky;top:0;height:100vh;min-height:680px;overflow:hidden;background:#b9b4aa}
.hero-track{position:absolute;inset:0;display:flex;width:300%;height:100%;transform:translateX(0);transition:transform 1.1s cubic-bezier(.77,0,.18,1);will-change:transform}
.hero-slide{position:relative;flex:0 0 33.333333%;height:100%;background-size:cover;background-position:center;transform:none!important;opacity:1!important}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,10,.14) 0%,rgba(12,12,10,.02) 55%,rgba(12,12,10,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.16),transparent 42%);pointer-events:none}
.hero-content{position:absolute;z-index:2;left:0;right:0;top:58vh;width:min(calc(100% - 72px),var(--max));margin:auto;display:flex;align-items:flex-end}
.hero-panel{max-width:900px;padding:30px 38px 34px;background:rgba(0,0,0,.20)}
.hero .kicker{margin-bottom:18px;color:#fff}
.hero h1{font-family:"DM Sans",Arial,sans-serif;color:#fff;font-size:42px;font-weight:400;line-height:1.08;letter-spacing:-.025em;max-width:850px;margin:0}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:28px;max-width:850px}
.intro p{font-size:14px;line-height:1.5;max-width:620px;margin:0;color:#fff}
.kicker{font-size:14px;line-height:1.4;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

/* projects: identical cards, identical image ratio, identical text structure */
.projects{padding:15px 0 120px}
.section-head{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:15px;margin-bottom:42px}
.section-head h2{font-family:"DM Sans",Arial,sans-serif;font-size:42px;line-height:1.08;font-weight:400;margin:0}
.section-head span{font-size:14px;line-height:1.4;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 34px}
.project{min-width:0}
.project:nth-child(n+3){display:none}
.projects.is-expanded .project:nth-child(n+3){display:block}
.projects-toggle{display:block;margin:42px auto 0;border:0;border-bottom:1px solid rgba(23,23,21,.45);background:none;color:var(--text);font:inherit;font-size:14px;line-height:1.4;padding:0 0 5px;cursor:pointer}
.projects-toggle span{display:inline-block;margin-left:10px;transition:transform .25s ease}

.project:nth-child(2n){padding-top:0}
.photo{position:relative;overflow:hidden;background:#d8d4cc;aspect-ratio:16/9}
.ph{position:absolute;inset:0;background:
linear-gradient(135deg,rgba(255,255,255,.12),transparent 45%),
linear-gradient(160deg,#bbb5aa 0%,#dedbd4 48%,#a8a197 100%)}
.ph:after{content:"FOTOGRAFIE PROJEKTU";position:absolute;left:20px;bottom:18px;color:rgba(255,255,255,.75);font-size:14px;letter-spacing:.08em}
.project-info{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:24px;padding-top:13px;min-height:63px}
.project-title{font-size:20px;line-height:1.25;font-weight:500;margin:0 0 6px}
.project-meta{font-size:14px;color:var(--muted);text-align:right;line-height:1.4;text-transform:uppercase;letter-spacing:.04em}

/* consistent editorial sections */
.about{padding:125px 0;border-top:1px solid var(--line)}
.about-grid{display:block;align-items:start}
.about-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start}
.about-photo{position:relative;overflow:hidden;aspect-ratio:16/9;background:#d8d4cc;width:100%;max-width:none;justify-self:stretch}
.about-photo:after{content:"FOTOGRAFIE";position:absolute;left:16px;bottom:14px;color:rgba(255,255,255,.78);font-size:12px;letter-spacing:.08em}
.about-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 45%),linear-gradient(160deg,#bbb5aa 0%,#dedbd4 48%,#a8a197 100%)}
.about h2{font-family:"DM Sans",Arial,sans-serif;font-size:42px;line-height:1.08;margin:0 0 28px;font-weight:400;max-width:520px}
.about p{font-size:14px;line-height:1.5;max-width:760px;margin:0 0 25px}
.services{padding:80px 0 130px}
.service-category{font-size:20px;font-weight:500;line-height:1.25;margin:34px 0 0;padding:0 0 14px}
.service-category:first-of-type{margin-top:8px}
.service{display:grid;grid-template-columns:52px minmax(160px,1fr) minmax(0,1.55fr) minmax(120px,.65fr) 130px;gap:20px;border-top:1px solid var(--line);padding:20px 0;align-items:start}
.service:last-child{border-bottom:1px solid var(--line)}
.service-price{font-size:14px;line-height:1.5;color:#4e4b46;text-align:right}.service-more{font-size:14px;line-height:1.5;white-space:nowrap;text-decoration:underline;text-decoration-color:rgba(23,23,21,.4);text-underline-offset:4px}.service-more:hover{text-decoration-color:var(--text)}
.service-table-head{display:grid;grid-template-columns:52px minmax(160px,1fr) minmax(0,1.55fr) minmax(120px,.65fr) 130px;gap:20px;padding:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.service-table-head span:nth-last-child(2){text-align:right}
.service .num{font-size:14px;line-height:1.4;color:var(--muted)}
.service h3{font-family:"DM Sans",Arial,sans-serif;font-size:20px;line-height:1.25;font-weight:500;margin:0}
.service p{font-size:14px;line-height:1.5;margin:0;max-width:600px;color:#4e4b46}
/* reviews: slim horizontal strip with expandable full review */
.reviews{padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg)}
.review-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;min-height:118px}
.review-viewport{min-width:0;overflow:hidden}.review-track{display:flex;width:500%;transition:transform 1.05s cubic-bezier(.77,0,.18,1);will-change:transform;min-width:0;cursor:grab;touch-action:pan-y}
.review-slide{flex:0 0 20%;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:26px;align-items:center;padding:20px 0}
.review-num{font-size:14px;color:var(--muted)}
.review-copy{min-width:0}.review-click{cursor:pointer}.review-prev,.review-next{border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:var(--text);padding:8px 0 8px 14px}
.review-quote{font-size:14px;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:900px;cursor:pointer}
.review-author{font-size:12px;line-height:1.4;color:var(--muted);margin-top:7px}
.review-prev{font-size:20px;line-height:1;cursor:pointer;color:var(--text);padding:8px 14px 8px 0}.review-prev:disabled,.review-next:disabled{opacity:.25;cursor:default}.review-write{display:inline-block;margin:0 0 0 26px;font-size:12px;white-space:nowrap;border-bottom:1px solid rgba(23,23,21,.4);padding-bottom:3px}
.review-modal{position:fixed;inset:0;background:rgba(23,23,21,.38);display:flex;align-items:center;justify-content:center;padding:30px;z-index:100;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.review-modal.is-open{opacity:1;visibility:visible}
.review-modal-box{width:min(720px,100%);background:#f5f3ef;padding:42px;position:relative}
.review-modal-box p{font-size:16px;line-height:1.55;margin:0 0 18px}
.review-modal-author{font-size:12px;color:var(--muted)}
.review-close{position:absolute;right:22px;top:18px;font-size:20px;line-height:1;background:none;border:0;cursor:pointer;color:var(--text)}
.contact{padding:70px 0 48px;background:#D5C08A;color:#171715}
.contact-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:55px}
.contact h2{font-family:"DM Sans",Arial,sans-serif;font-size:42px;font-weight:400;line-height:1.08;letter-spacing:-.025em;margin:0}
.contact p{color:#3f3a31;max-width:420px;font-size:14px;line-height:1.5}
.contact a{display:inline-block;margin-top:28px;border-bottom:1px solid rgba(23,23,21,.45);padding-bottom:4px}
footer{padding:22px 0;display:flex;justify-content:space-between;font-size:14px;line-height:1.4;color:#4b4438;background:#D5C08A}.footer-social{display:flex;gap:24px;align-items:center}.footer-social .social-link{display:inline-flex;align-items:center;gap:8px;border:0;font-size:15px;font-weight:500}.social-link svg{width:26px;height:26px;display:block;flex:none}.social-link:hover{opacity:.68}.footer-location{cursor:default}.contact .contact-email{display:block;margin-top:12px;border-bottom:1px solid rgba(23,23,21,.35);width:max-content}.contact a{transition:background .22s ease,color .22s ease,border-color .22s ease}

@media(max-width:760px){
 .wrap{width:min(calc(100% - 36px),var(--max))}
 header{padding:10px 0 9px}.nav{grid-template-columns:105px repeat(2,minmax(0,1fr));grid-auto-rows:minmax(28px,auto);gap:7px 14px;align-items:center}.nav-logo{width:92px;height:48px}.nav a{font-size:11px;line-height:1.1}.nav small{display:none}.nav-logo-link{grid-row:1 / span 2;align-self:center}.nav-logo-link .nav-logo{object-position:left center}
 body.nav-stuck{padding-top:70px}
 .hero{min-height:145vh}.hero-image{height:100vh;min-height:620px}.hero-content{left:0;right:0;top:55vh;width:min(calc(100% - 36px),var(--max))}
 .hero-panel{padding:24px 24px 27px;width:100%;}
 .hero h1{font-size:36px;line-height:1.08}
 .intro{grid-template-columns:1fr;margin-top:24px}.intro p{font-size:14px}
 .grid{grid-template-columns:1fr;gap:58px}.projects-toggle{margin-top:34px}
 .section-head h2{font-size:36px}
 .project-info{grid-template-columns:minmax(0,1fr) 100px}
 .project-title{font-size:19px}
 .about{padding:85px 0}.about-grid{display:block}.about h2{font-size:36px;margin-bottom:24px}.about p{font-size:14px}.about-copy{grid-template-columns:1fr;gap:26px}.about-photo{width:100%;aspect-ratio:16/9;justify-self:stretch}
 .service-table-head{display:none}.service{grid-template-columns:34px minmax(0,1fr) minmax(100px,.7fr);gap:12px}.service p{grid-column:2 / -1;grid-row:2}.service-price{grid-column:3;grid-row:1;text-align:right;font-size:12px}.service-more{grid-column:2 / -1;grid-row:3;justify-self:start;margin-top:3px;font-size:13px}.service h3{font-size:19px}.service-category{font-size:19px;margin-top:28px}
 .review-inner{min-height:132px;grid-template-columns:minmax(0,1fr) auto}.review-slide{grid-template-columns:40px minmax(0,1fr);gap:16px;padding:18px 0}.review-controls{display:flex}.review-prev,.review-next{padding:8px 6px}.review-write{grid-column:1 / -1;justify-self:end;margin:0 0 10px}.review-modal{padding:18px}.review-modal-box{padding:34px 24px 28px}.review-modal-box p{font-size:14px}
 .contact{padding-top:55px}.contact-grid{grid-template-columns:1fr;gap:38px}
 footer{flex-direction:column;gap:14px}.footer-social{flex-wrap:wrap;gap:14px 22px}.social-link svg{width:28px;height:28px}
}
.hero-panel, .hero-panel *{color:#fff;}
.hero .kicker,.hero h1,.hero .intro p{color:#fff;}
/* WordPress integration */
.project-image{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.empty-note{grid-column:1/-1;color:var(--muted);font-size:14px}
.single-realizace main{padding-top:50px}
.detail-wrap{width:min(calc(100% - 72px),var(--max));margin:0 auto;padding:40px 0 100px}
.detail-wrap h1{font-size:clamp(32px,4vw,54px);font-weight:400;line-height:1.1}
.detail-wrap .detail-featured img{width:100%;height:auto;display:block;margin:32px 0}
.detail-wrap .entry-content{max-width:850px;font-size:16px;line-height:1.7}
@media(max-width:700px){.detail-wrap{width:calc(100% - 36px)}}

/* Version 42: detail pages retain the v41 editorial layout */
.service-detail-main{padding:65px 0 110px}
.service-detail-main .service-detail-content{max-width:100%;}
.service-detail-main .service-detail-content p{margin:0 0 16px}
.service-detail-main .service-detail-content h2{font-size:20px;font-weight:500;line-height:1.25;margin:0 0 16px}
.service-detail-main .service-detail-content .service-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:60px;align-items:center;border-top:1px solid var(--line);padding:38px 0 58px}
.service-detail-main .service-detail-content .service-block:nth-of-type(odd) .service-photo{order:2}
.service-detail-main .service-detail-content .service-copy{display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;align-items:start}
.service-detail-main .service-detail-content .service-photo{aspect-ratio:4/3;overflow:hidden;position:relative;background:linear-gradient(135deg,#c9c2b6 0%,#e2ded6 48%,#aaa397 100%)}
.service-detail-main .service-detail-content .service-photo img{width:100%;height:100%;object-fit:cover;display:block}
.service-detail-main .service-detail-content .end-nav{border-top:1px solid var(--line);margin-top:20px;padding-top:22px;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.service-detail-main .service-detail-content .end-nav a:last-child{display:inline-block;background:#D5C08A;color:#171715;padding:13px 20px;text-decoration:none}
.single-realizace .detail-wrap{padding-top:56px}
.single-realizace .detail-hero img{display:block;width:100%;height:auto;max-height:720px;object-fit:cover;margin:0 0 56px}
.single-realizace .detail-hero-placeholder{aspect-ratio:2.85/1;background:linear-gradient(135deg,#bbb5aa,#dedbd4,#a8a197);margin-bottom:56px}
.single-realizace .intro-row,.single-realizace .editorial-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:60px;border-top:1px solid var(--line);padding:24px 0 58px}
.single-realizace .editorial-block{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;padding:35px 0 65px}
.single-realizace .editorial-block:nth-of-type(even) .block-photo{order:2}
.single-realizace .block-photo img{width:100%;height:100%;object-fit:cover;display:block}
.single-realizace .block-photo{aspect-ratio:4/3;background:linear-gradient(135deg,#c9c2b6,#e2ded6,#aaa397);overflow:hidden}
.single-realizace .gallery{border-top:1px solid var(--line);padding-top:24px;margin-top:10px}
.single-realizace .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.single-realizace .gallery-grid img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.review-empty{font-size:14px;color:var(--muted);padding:28px 0}
@media(max-width:760px){.service-detail-main{padding:40px 0 70px}.service-detail-main h1{font-size:36px}.service-detail-main .lead{font-size:14px;margin-bottom:42px}.service-detail-main .service-detail-content .service-block{grid-template-columns:1fr;gap:22px;padding:26px 0 38px}.service-detail-main .service-detail-content .service-block:nth-of-type(odd) .service-photo{order:0}.service-detail-main .service-detail-content .service-copy{grid-template-columns:38px minmax(0,1fr);gap:12px}.service-detail-main .service-detail-content .end-nav{flex-direction:column}.single-realizace .intro-row,.single-realizace .editorial-block{grid-template-columns:1fr;gap:20px;padding:22px 0 40px}.single-realizace .editorial-block:nth-of-type(even) .block-photo{order:0}.single-realizace .detail-hero img,.single-realizace .detail-hero-placeholder{aspect-ratio:1.65/1;margin-bottom:38px}.single-realizace .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* v43 — CTA "Domluvit konzultaci": approved ochre-to-page-background interaction */
.vd-cta,
.service-detail-main .service-detail-content .end-nav a:last-child,
.single-realizace .end-nav a:last-child{
  --cta-bg:#D5C08A;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:58px;
  padding:17px 24px;
  border:0 !important;
  border-radius:0;
  background:var(--cta-bg);
  color:#171715 !important;
  font:inherit;
  text-decoration:none !important;
  line-height:1.25;
  cursor:pointer;
  transition:background-color .32s ease,color .32s ease, padding .32s ease;
}
.vd-cta::after,
.service-detail-main .service-detail-content .end-nav a:last-child::after,
.single-realizace .end-nav a:last-child::after{
  content:"→";
  display:inline-block;
  color:currentColor;
  transform:translateX(0);
  transition:transform .32s cubic-bezier(.2,.7,.2,1);
}
.vd-cta:hover,
.vd-cta:active,
.service-detail-main .service-detail-content .end-nav a:last-child:hover,
.single-realizace .end-nav a:last-child:hover{
  background:#F5F3EF !important;
  color:#171715 !important;
  border:0 !important;
}
.vd-cta:hover::after,
.service-detail-main .service-detail-content .end-nav a:last-child:hover::after,
.single-realizace .end-nav a:last-child:hover::after{
  transform:translateX(6px);
}
.vd-cta:focus,
.vd-cta:focus-visible,
.service-detail-main .service-detail-content .end-nav a:last-child:focus,
.single-realizace .end-nav a:last-child:focus{
  outline:none;
  box-shadow:none;
}
#kontakt{scroll-margin-top:88px}
@media (prefers-reduced-motion:reduce){
 .vd-cta,.vd-cta::after,
 .service-detail-main .service-detail-content .end-nav a:last-child,
 .service-detail-main .service-detail-content .end-nav a:last-child::after,
 .single-realizace .end-nav a:last-child,
 .single-realizace .end-nav a:last-child::after{transition:none}
}

/* v44: CTA only belongs on detail pages; the service overview keeps its original More information links. */
.service-detail-main .service-detail-content .end-nav a:last-child{display:inline-flex;align-items:center;gap:12px;background:#D5C08A;color:#171715;border:0;padding:13px 20px;text-decoration:none;transition:background .22s ease,color .22s ease;}
.service-detail-main .service-detail-content .end-nav a:last-child:hover{background:#f5f3ef;color:#171715;}
.service-detail-main .service-detail-content .end-nav a:last-child:hover:after{transform:translateX(4px);}
.service-detail-main .service-detail-content .end-nav a:first-child{text-decoration:underline;text-decoration-color:rgba(23,23,21,.35);text-underline-offset:4px;}

/* v45: editable placeholder areas for project photography */
.vd-image-placeholder,.vd-gallery-placeholder{position:relative;min-height:280px;width:100%;height:100%;background:linear-gradient(135deg,#e4e0d8 0%,#c8c1b5 52%,#b1a99d 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.vd-image-placeholder span,.vd-gallery-placeholder span{font-size:12px;letter-spacing:.12em;color:rgba(23,23,21,.58)}
.vd-gallery-placeholder{aspect-ratio:4/3;min-height:160px}
.detail-hero-placeholder{min-height:360px;background:linear-gradient(135deg,#e4e0d8 0%,#c8c1b5 52%,#b1a99d 100%);display:flex;align-items:center;justify-content:center}
.detail-hero-placeholder:after{content:"FOTOGRAFIE PROJEKTU";font-size:12px;letter-spacing:.12em;color:rgba(23,23,21,.58)}

/* v46 fixes: one CTA arrow and consistent right alignment */
.single-realizace .end-nav{
 width:100%;
 box-sizing:border-box;
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:24px;
}
.single-realizace .end-nav a:last-child{
 margin-left:auto;
 flex:0 0 auto;
 white-space:nowrap;
}
.service-detail-main .service-detail-content .end-nav a:last-child::after{
 content:"";
}
@media(max-width:760px){
 .single-realizace .end-nav{flex-direction:column;align-items:stretch}
 .single-realizace .end-nav a:last-child{align-self:flex-end;margin-left:0}
}

/* v47: align the realization footer divider with the service detail footer */
.single-realizace .end-nav{
 border-top:1px solid var(--line);
 margin-top:20px;
 padding-top:22px;
}

/* v49 fix: only the arrow glyph changes direction; never rotate the button label */
.projects-toggle .projects-toggle-label{display:inline-block;transform:none!important;}
.projects-toggle .projects-toggle-arrow{display:inline-block;transform:none!important;transition:none!important;}


/* v50 responsive refinement: hero typography/panel and project detail image sizing */
@media (max-width: 760px) {
  .hero { min-height: 112svh; min-height: 112vh; }
  .hero-image { height: 78svh; height: 78vh; min-height: 470px; }
  .hero-content {
    top: auto;
    bottom: 7vh;
    width: calc(100% - 32px);
    max-width: var(--max);
    align-items: flex-end;
  }
  .hero-panel {
    width: min(100%, 560px);
    max-width: 100%;
    box-sizing: border-box;
    padding: 18px 18px 20px;
    background: rgba(0,0,0,.30);
  }
  .hero .kicker { font-size: 10px; line-height: 1.35; margin-bottom: 10px; }
  .hero h1 { font-size: clamp(25px, 6.4vw, 32px); line-height: 1.08; overflow-wrap: anywhere; }
  .hero .intro { grid-template-columns: 1fr; gap: 12px; margin-top: 16px; }
  .hero .intro p { font-size: 12px; line-height: 1.45; }
  .single-realizace .detail-wrap,
  .single-realizace .detail-hero,
  .single-realizace .detail-hero img,
  .single-realizace .detail-hero-placeholder { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
  .single-realizace .detail-hero img {
    display: block;
    height: auto;
    aspect-ratio: 1.65 / 1;
    object-fit: cover;
    object-position: center;
  }
  .single-realizace .detail-hero-placeholder {
    aspect-ratio: 1.65 / 1;
    min-height: 0;
    height: auto;
  }
  .single-realizace .gallery-grid { grid-template-columns: minmax(0, 1fr); }
}


/* v51 mobile refinements based on screenshots */
@media (max-width: 760px) {
  /* Keep a comfortable gutter around project/service detail text and images.
     The previous width:100% rule removed the page margins on mobile. */
  .single-realizace .detail-wrap {
    width: calc(100% - 36px) !important;
    max-width: var(--max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
  .single-realizace .detail-hero,
  .single-realizace .detail-hero img,
  .single-realizace .detail-hero-placeholder {
    width: 100%;
    max-width: 100%;
  }
  /* Put the small descriptor clearly below the section title. */
  .section-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 30px;
  }
  .section-head h2 { margin: 0; }
  .section-head span {
    display: block;
    align-self: flex-start;
    margin: 0 0 0 2px;
    max-width: 100%;
    line-height: 1.5;
  }
}

/* v54 contact anchor spacing */
#kontakt{scroll-margin-top:100px}
@media(max-width:760px){#kontakt{scroll-margin-top:88px}}

/* v56: images selected for any detail page */
.service-detail-main .service-photo img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover}
@media(max-width:760px){.service-detail-main .service-photo img{min-height:0;max-height:420px;aspect-ratio:4/3;object-fit:cover}}
.detail-wrap>.detail-hero img{display:block;width:100%;height:auto;max-width:100%;object-fit:cover}
