/* sticky menu bar (see dms-fixes.js): the template's jumpy full-header "sticky" mode is switched off */
#header-wrap.sticky { position: static !important; box-shadow: none !important; }
header.sticky + section.main-slider { margin-top: 0 !important; }
.dms-bar-fixed { position: fixed !important; top: 0; left: 0; right: 0; z-index: 1030; box-shadow: 0 2px 14px rgba(40, 40, 40, .10); }

/* appointment modal (#feedback) */
#feedback .modal-dialog { max-width: 470px; }
#feedback .modal-content { border: 0; border-radius: 24px; padding: 28px 30px 30px; box-shadow: 0 20px 60px rgba(40, 40, 40, .18); }
#feedback .modal-header { align-items: flex-start; margin-bottom: 6px; }
#feedback .modal-title { font-size: 26px; line-height: 1.2; font-weight: 400; color: #4e7a3a; text-transform: uppercase; letter-spacing: .01em; }
#feedback .close { font-size: 34px; font-weight: 300; line-height: 1; opacity: .55; padding: 0 0 0 16px; margin: -6px -6px 0 auto; }
#feedback .close:hover { opacity: .9; }
#feedback .dms-sub { color: #6f6f6f; font-size: 15px; margin: 0 0 20px; }
#feedback .dms-field { margin-bottom: 14px; }
#feedback .dms-field input, #feedback .dms-field textarea {
  width: 100%; border: 1px solid #e3ddd8; border-radius: 14px; background: #faf8f6; color: #333;
  padding: 14px 18px; font: inherit; font-size: 16px; outline: none; transition: border-color .15s, background .15s; }
#feedback .dms-field textarea { min-height: 86px; resize: vertical; }
#feedback .dms-field input:focus, #feedback .dms-field textarea:focus { border-color: #a7db91; background: #fff; }
#feedback .dms-field.err input { border-color: #e2758a; background: #fff6f7; }
#feedback .dms-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: #777; margin: 4px 0 20px; line-height: 1.45; cursor: pointer; }
#feedback .dms-check input { margin-top: 3px; accent-color: #8fca6f; width: 16px; height: 16px; flex: none; }
#feedback .dms-check.err { color: #d4364b; }
#feedback .dms-check a { color: #f37a52; }
#feedback .dms-submit { width: 100%; height: 58px; border: 0; border-radius: 50px; cursor: pointer;
  background: linear-gradient(93.55deg, #C4E388 0%, #A7DB91 100%); color: #464748; font-weight: 600; font-size: 17px; transition: filter .15s; }
#feedback .dms-submit:hover { filter: brightness(.97); }
#feedback .dms-or { text-align: center; color: #888; font-size: 14px; margin-top: 16px; }
#feedback .dms-or a { color: #464748; font-weight: 600; white-space: nowrap; }
#feedback .dms-done { text-align: center; padding: 18px 0 6px; }
#feedback .dms-done .ok { width: 64px; height: 64px; border-radius: 50%; margin: 0 auto 18px; background: linear-gradient(93.55deg, #C4E388 0%, #A7DB91 100%);
  display: flex; align-items: center; justify-content: center; }
#feedback .dms-done h6 { font-size: 22px; font-weight: 500; color: #4e7a3a; margin-bottom: 10px; }
#feedback .dms-done p { color: #6f6f6f; margin: 0; }
@media (max-width: 575px) { #feedback .modal-content { padding: 22px 18px 22px; border-radius: 20px; } #feedback .modal-title { font-size: 21px; } }

/* generic thank-you toast for other forms */
#dms-toast { position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  background: #4e7a3a; color: #fff; padding: 14px 24px; border-radius: 14px; font-size: 15px; z-index: 100000;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .18); transition: opacity .25s, transform .25s; }
#dms-toast.on { opacity: 1; transform: translate(-50%, 0); }

/* services index & search pages */
.dms-page { padding: 10px 0 80px; }
.dms-page h1 { margin-bottom: 34px; }
.dms-svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.dms-svc { background: #fff; border-radius: 20px; padding: 26px 26px 22px; box-shadow: 0 4px 24px rgba(60, 50, 40, .06); }
.dms-svc h2 { font-size: 20px; line-height: 1.3; margin: 0 0 14px; text-transform: none; }
.dms-svc h2 a { color: #4e7a3a; text-decoration: none; }
.dms-svc h2 a:hover { color: #f37a52; }
.dms-svc ul { list-style: none; padding: 0; margin: 0; }
.dms-svc li { padding: 5px 0; font-size: 15px; line-height: 1.4; }
.dms-svc li a { color: #464748; text-decoration: none; }
.dms-svc li a:hover { color: #f37a52; }
.dms-svc .more { display: inline-block; margin-top: 12px; font-size: 14px; color: #f37a52; text-decoration: none; }
@media (max-width: 1199px) { .dms-svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .dms-svc-grid { grid-template-columns: 1fr; } }
.dms-search-form { display: flex; gap: 12px; max-width: 720px; margin-bottom: 26px; }
.dms-search-form input { flex: 1; height: 56px; border: 1px solid #e3ddd8; border-radius: 50px; padding: 0 24px; font: inherit; font-size: 17px; background: #fff; outline: none; }
.dms-search-form input:focus { border-color: #a7db91; }
.dms-search-form button { height: 56px; padding: 0 34px; border: 0; border-radius: 50px; cursor: pointer;
  background: linear-gradient(93.55deg, #C4E388 0%, #A7DB91 100%); color: #464748; font-weight: 600; font-size: 16px; }
.dms-search-meta { color: #888; margin-bottom: 18px; }
.dms-result { padding: 20px 0; border-bottom: 1px solid #ece6e1; max-width: 900px; }
.dms-result a.t { font-size: 20px; color: #4e7a3a; text-decoration: none; }
.dms-result a.t:hover { color: #f37a52; }
.dms-result .u { font-size: 13px; color: #a09a95; margin: 4px 0 8px; }
.dms-result p { margin: 0; color: #555; line-height: 1.55; }
.dms-result mark { background: #e9f6dc; padding: 0 2px; border-radius: 3px; }
@media (max-width: 575px) { .dms-search-form { flex-direction: column; } .dms-search-form button { width: 100%; } }

/* cookie notice: opaque, and on phones docked to the bottom instead of covering the first screen */
#cookie_note { background: rgba(255, 255, 255, .98) !important; box-shadow: 0 10px 40px rgba(42, 49, 66, .14) !important; }
@media (max-width: 768px) {
  #cookie_note.show { top: auto !important; bottom: 12px !important; left: 50% !important; transform: translateX(-50%) !important;
    max-height: 46vh; overflow: auto; padding: 38px 14px 14px !important; }
  div#cookie_note p { font-size: 13px; line-height: 20px; }
}
/* legal documents that were never archived: shown as plain text instead of a dead link */
.doc-unavailable { color: inherit; }
/* contacts: static map (no third-party ads), opens Yandex Maps on click */
.dms-map { display: block; width: 100%; height: 100%; min-height: 320px; overflow: hidden; border-radius: inherit; }
.dms-map img { display: block; width: 100%; height: 100%; min-height: 320px; object-fit: cover; transition: transform .4s ease; }
.dms-map:hover img { transform: scale(1.02); }
