/* icon + text pairing */
.ico {
    display: inline-block;
    vertical-align: -0.18em;
    flex: none;
}
.ico-text {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.ico-text .ico { margin: 0; }
.btn,
.header-cta,
.news-more,
.cat-go,
.p-links a,
.gems-panel-meta a,
.gems-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.btn .ico,
.header-cta .ico,
.news-more .ico,
.cat-go .ico,
.p-links a .ico,
.gems-panel-meta a .ico,
.section-more .ico,
.gems-tab .ico {
    margin: 0;
}
.section-more .btn { display: inline-flex; }

.stat-ico {
    width: 36px;
    height: 36px;
    margin: 0 auto 10px;
    border: 1px solid var(--border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
}
.stats-grid { text-align: center; }
.stats-grid > div { text-align: center; }

/* restore service icons (was hidden in layout overlay) */
.svc-band-item .svc-ico {
    display: flex !important;
    width: 48px;
    height: 48px;
    margin: 0 0 14px;
    border: 1px solid var(--gold);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    background: rgba(255,255,255,.12);
}
.svc-band-grid { text-align: left; }
.svc-band-item h4 {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-contact p,
.contact-line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.footer-contact p .ico,
.contact-line .ico {
    margin-top: 4px;
    color: var(--gold);
}
.footer h4,
.side-box h4 {
    display: flex;
    align-items: center;
    gap: 8px;
}
.footer h4 .ico,
.side-box h4 .ico { color: var(--gold); }

.gems-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.gems-tab .ico { color: var(--gold); }

.cx-way-num,
.cx-fact strong,
.cx-after b,
.cx-step-top b,
.cx-way-body h3,
.cx-note h3 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* CMS content strips <svg>; use CSS mask icons instead */
.cx-ico-clock strong::before,
.cx-ico-tool strong::before,
.cx-ico-metal strong::before,
.cx-ico-shield strong::before,
h3.cx-ico-image::before,
h3.cx-ico-gem::before,
h3.cx-ico-pen::before,
h3.cx-ico-alert::before,
h3.cx-ico-clock::before,
b.cx-ico-shield::before,
b.cx-ico-clean::before,
b.cx-ico-tool::before,
b.cx-ico-pen::before,
b.cx-ico-alert::before,
b.cx-ico-truck::before {
    content: "";
    width: 15px;
    height: 15px;
    flex: none;
    background: var(--gold);
    -webkit-mask: var(--cx-ico) center / contain no-repeat;
    mask: var(--cx-ico) center / contain no-repeat;
}
.cx-ico-clock { --cx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.cx-ico-tool { --cx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.8-3.8a6 6 0 0 1-7.9 7.9l-6.9 6.9a2.1 2.1 0 0 1-3-3l6.9-6.9a6 6 0 0 1 7.9-7.9z'/%3E%3C/svg%3E"); }
.cx-ico-metal { --cx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='9' cy='9.2' r='1.2' fill='black' stroke='none'/%3E%3Ccircle cx='15' cy='9.2' r='1.2' fill='black' stroke='none'/%3E%3Ccircle cx='9.3' cy='15' r='1.2' fill='black' stroke='none'/%3E%3Ccircle cx='14.7' cy='15' r='1.2' fill='black' stroke='none'/%3E%3C/svg%3E"); }
.cx-ico-shield { --cx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 5-3.5 8.2-7 9-3.5-.8-7-4-7-9V6l7-3z'/%3E%3C/svg%3E"); }
.cx-ico-image { --cx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.5'/%3E%3Cpath d='m21 16-5-5-4 4-2-2-5 5'/%3E%3C/svg%3E"); }
.cx-ico-gem { --cx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5 18 8 12 21.5 6 8z'/%3E%3Cpath d='M6 8h12'/%3E%3Cpath d='M9.4 8 12 21.5l2.6-13.5'/%3E%3C/svg%3E"); }
.cx-ico-pen { --cx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z'/%3E%3C/svg%3E"); }
.cx-ico-alert { --cx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3Cpath d='M10.3 4.2 1.8 19a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 4.2a2 2 0 0 0-3.4 0z'/%3E%3C/svg%3E"); }
.cx-ico-clean { --cx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v3'/%3E%3Cpath d='M5.5 7.5 7.5 9.5'/%3E%3Cpath d='M3 14h3'/%3E%3Cpath d='M18.5 7.5 16.5 9.5'/%3E%3Cpath d='M21 14h-3'/%3E%3Cpath d='M8 18c1.2-2 2.8-3 4-3s2.8 1 4 3'/%3E%3Cpath d='M7 21h10'/%3E%3C/svg%3E"); }
.cx-ico-truck { --cx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 7h13v10H1z'/%3E%3Cpath d='M14 10h4l3 3v4h-7z'/%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E"); }

.gallery-trigger .zoom-badge {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: var(--gold);
    border: 1px solid rgba(184,149,106,.35);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 1;
}

.fixed-right {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.fixed-btn .ico { margin: 0; }

.p-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}
.p-meta .ico { color: var(--gold); }

.news-date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.contact-line b { min-width: 3em; }

@media (max-width: 768px) {
    .stat-ico { width: 32px; height: 32px; }
}
