/* ═══ SERVICE DETAIL ═══ */
.sd-media{margin:0;position:relative;border-radius:var(--r-lg) var(--r-lg) var(--r-lg) 4px;overflow:hidden;
  border:1px solid var(--line-2);box-shadow:var(--shadow-lg)}
.sd-media img{width:100%;max-height:460px;object-fit:cover}
.sd-media figcaption{position:absolute;left:1.2rem;bottom:1.2rem;background:#fff;border-radius:99px;padding:.45rem 1rem}
.sd-title{margin:2.4rem 0 1.1rem;font-size:clamp(1.8rem,3vw,2.6rem);color:var(--deep)}
.sd-lead{font-size:1.08rem;font-weight:700;color:var(--ink);border-left:3px solid var(--sky);padding-left:1.1rem;margin-bottom:1.6rem}
/* admin rich-body typography */
.sd-body p{color:var(--muted);line-height:1.85;margin-bottom:1.1rem}
.sd-body h1,.sd-body h2,.sd-body h3,.sd-body h4{color:var(--deep);margin:1.7rem 0 .8rem}
.sd-body ul,.sd-body ol{list-style:none;padding:0;margin:0 0 1.4rem}
.sd-body li{position:relative;padding:.45rem 0 .45rem 1.8rem;color:var(--muted)}
.sd-body li::before{content:"\f00c";font-family:"Font Awesome 5 Free";font-weight:900;color:var(--green);position:absolute;left:0;top:.6rem;font-size:.78rem}
.sd-body img{max-width:100%;border-radius:var(--r-md);margin:1rem 0}

/* sidebar */
.sidebar{display:flex;flex-direction:column;gap:1.6rem}
@media (min-width:1200px){.sidebar{position:sticky;top:calc(var(--headH) + 24px)}}
.side-card{border:1px solid var(--line-2);border-radius:var(--r-md) var(--r-md) var(--r-md) 4px;background:#fff;overflow:hidden}
.side-h{margin:0;padding:1.15rem 1.5rem;background:var(--mint);border-bottom:1px solid var(--line);color:var(--deep);font-size: 22px}
.cat-list{list-style:none;margin:0;padding:.6rem}
.cat-list li a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;
  border-radius:10px;color:var(--ink);text-decoration:none;font-weight:700;font-size:18px;transition:.3s}
.cat-list li a i{font-size:.68rem;color:var(--sky);transition:.3s}
.cat-list li a:hover{background:var(--mint);color:var(--green);padding-left:1.3rem}
.cat-list li.active a{background:var(--deep);color:#fff}
.cat-list li.active a i{color:var(--sky)}

.side-contact{position:relative;background:var(--deep);color:#fff;padding:2.6rem 2rem;text-align:center}
.sc-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.16}
.side-contact>*:not(.sc-bg){position:relative}
.sc-ic{width:58px;height:58px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;
  font-size:1.15rem;margin:0 auto 1.1rem;box-shadow:0 12px 26px rgba(0,0,0,.3)}
.side-contact .mono{color:rgba(255,255,255,.75)}
.side-contact h2{font-size:1.55rem;margin:.5rem 0 1.5rem}
.side-contact h2 a{color:#fff;text-decoration:none}
.side-contact h2 a:hover{color:var(--sky)}

@media (max-width:991.98px){
  .sd-media img{max-height:320px}
  .gal-card{flex-basis:280px}.gal-card img{height:280px}
}