.koc-single-wrap {
max-width: 1100px;
margin: 0 auto;
padding: 9rem 16px 48px;
font-family: inherit;
color: inherit;
--koc-accent:      #1a6fb5;
--koc-accent-dark: #125091;
--koc-premium:     #d4a017;
--koc-border:      rgba(0,0,0,.14);
--koc-bg-input:    #fff;
--koc-bg-subtle:   rgba(0,0,0,.04);
--koc-muted:       rgba(0,0,0,.55);
--koc-radius:      8px;
--koc-shadow:      0 2px 8px rgba(0,0,0,.10);
} @media (prefers-color-scheme: dark) {
.koc-single-wrap {
--koc-border:    rgba(255,255,255,.18);
--koc-bg-input:  rgba(255,255,255,.06);
--koc-bg-subtle: rgba(255,255,255,.06);
--koc-muted:     rgba(255,255,255,.55);
--koc-shadow:    0 2px 8px rgba(0,0,0,.45);
}
}
body.dark-bg .koc-single-wrap {
--koc-border:    rgba(255,255,255,.18);
--koc-bg-input:  rgba(255,255,255,.06);
--koc-bg-subtle: rgba(255,255,255,.06);
--koc-muted:     rgba(255,255,255,.55);
--koc-shadow:    0 2px 8px rgba(0,0,0,.45);
}
.koc-single-inner { display: flex; flex-direction: column; gap: 24px; } .koc-single-breadcrumb {
font-size: 13px;
color: inherit;
margin-bottom: 10px;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 4px;
}
.koc-single-breadcrumb a { color: var(--koc-accent); text-decoration: none; }
.koc-single-breadcrumb a:hover { text-decoration: underline; }
.koc-single-title {
font-size: 28px;
font-weight: 800;
margin: 0 0 10px;
line-height: 1.2;
display: flex;
align-items: center;
gap: 10px;
}
.koc-premium-badge {
font-size: 20px;
color: var(--koc-premium);
}
.koc-single-address {
font-size: 15px;
color: inherit;
margin: 0 0 8px;
display: flex;
align-items: center;
gap: 5px;
}
.koc-single-address .dashicons { color: var(--koc-accent); }
.koc-single-cats { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.koc-cat-chip {
font-size: 12px;
background: rgba(26,111,181,.12);
color: var(--koc-accent);
border-radius: 20px;
padding: 3px 12px;
font-weight: 600;
} .koc-single-body {
display: grid;
grid-template-columns: 1fr 320px;
gap: 28px;
align-items: start;
} .koc-single-description {
line-height: 1.7;
font-size: 15px;
}
.koc-single-description p { margin: 0 0 12px; }
.koc-section-title {
font-size: 18px;
font-weight: 700;
margin: 24px 0 12px;
padding-bottom: 6px;
border-bottom: 2px solid var(--koc-accent);
color: inherit;
} .koc-gallery-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
gap: 8px;
}
.koc-gallery-thumb {
display: block;
border-radius: 6px;
overflow: hidden;
border: 1px solid var(--koc-border);
transition: box-shadow .15s;
cursor: pointer;
}
.koc-gallery-thumb:hover { box-shadow: var(--koc-shadow); }
.koc-gallery-thumb img {
width: 100%;
height: 120px;
object-fit: cover;
display: block;
} .koc-lightbox {
position: fixed;
inset: 0;
background: rgba(0,0,0,.9);
z-index: 99999;
display: flex;
align-items: center;
justify-content: center;
}
.koc-lightbox[hidden] { display: none; }
.koc-lightbox-img-wrap {
max-width: 90vw;
max-height: 85vh;
display: flex;
align-items: center;
justify-content: center;
}
.koc-lightbox-img-wrap img {
max-width: 100%;
max-height: 85vh;
object-fit: contain;
border-radius: 4px;
display: block;
}
.koc-lightbox-close,
.koc-lightbox-prev,
.koc-lightbox-next {
position: absolute;
background: rgba(255,255,255,.15);
border: none;
color: #fff;
cursor: pointer;
border-radius: 50%;
width: 44px;
height: 44px;
font-size: 20px;
display: flex;
align-items: center;
justify-content: center;
transition: background .15s;
}
.koc-lightbox-close:hover,
.koc-lightbox-prev:hover,
.koc-lightbox-next:hover { background: rgba(255,255,255,.3); }
.koc-lightbox-close { top: 16px; right: 16px; font-size: 24px; }
.koc-lightbox-prev  { left: 16px; top: 50%; transform: translateY(-50%); }
.koc-lightbox-next  { right: 16px; top: 50%; transform: translateY(-50%); }
.koc-lightbox-counter {
position: absolute;
bottom: 16px;
left: 50%;
transform: translateX(-50%);
color: rgba(255,255,255,.7);
font-size: 13px;
} .koc-pdf-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.koc-pdf-item { margin: 0; }
.koc-pdf-link {
display: flex;
align-items: center;
gap: 10px;
padding: 12px 16px;
background: inherit;
border: 1px solid var(--koc-border);
border-radius: var(--koc-radius);
text-decoration: none;
color: inherit;
transition: all .15s;
}
.koc-pdf-link:hover { border-color: var(--koc-accent); background: rgba(26,111,181,.06); }
.koc-pdf-icon { color: #e63946; flex-shrink: 0; }
.koc-pdf-name { flex: 1; font-size: 14px; font-weight: 500; }
.koc-pdf-download {
font-size: 12px;
font-weight: 700;
color: var(--koc-accent);
white-space: nowrap;
} .koc-single-aside { display: flex; flex-direction: column; gap: 20px; }
.koc-contact-card {
background: inherit;
border: 1px solid var(--koc-border);
border-radius: var(--koc-radius);
padding: 20px;
box-shadow: var(--koc-shadow);
}
.koc-contact-row {
display: flex;
align-items: center;
gap: 10px;
padding: 8px 0;
border-bottom: 1px solid var(--koc-border);
font-size: 14px;
}
.koc-contact-row:last-of-type { border-bottom: none; }
.koc-contact-row .dashicons { color: var(--koc-accent); flex-shrink: 0; }
.koc-contact-row a { color: inherit; text-decoration: none; word-break: break-all; }
.koc-contact-row a:hover { color: var(--koc-accent); }
.koc-btn-directions {
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
margin-top: 14px;
padding: 10px;
background: var(--koc-accent);
color: #fff;
text-decoration: none;
border-radius: 6px;
font-size: 14px;
font-weight: 600;
transition: background .15s;
}
.koc-btn-directions:hover { background: var(--koc-accent-dark); }
.koc-single-map {
height: 220px;
border-radius: var(--koc-radius);
overflow: hidden;
border: 1px solid var(--koc-border);
} @media (max-width: 768px) {
.koc-single-body {
grid-template-columns: 1fr;
}
.koc-single-aside {
order: -1;
}
.koc-gallery-grid {
grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
}
}