/* =========================================================
   admstyle_ver7.css — общий стиль и меню приложения в палитре "Записи на прием".
   Исходник: admstyle.css (не изменен).
   Цвета берутся из app_theme_ver7.css; если тема по какой-то причине
   не загрузилась, срабатывают запасные значения после запятой.
   ========================================================= */
@import url("app_theme_ver7.css");

@font-face {
    font-family: Cuprum;
    src: url(../fonts/Cuprum-Regular.ttf);
}
@font-face {
    font-family: Icomoon;
    src: url(../fonts/icomoon.woff) format("woff"),
    url(../fonts/icomoon.ttf) format("truetype");
    font-display: swap;
}

:root {
    /* старые переменные сохранены — их могут использовать другие стили */
    --base-clr:           var(--app-surface, #ffffff);
    --line-clr:           var(--app-line, #c0d8c0);
    --hover-clr:          var(--app-hover, #d4f7b0);
    --text-clr:           var(--app-text, #2d2d2d);
    --accent-clr:         var(--app-accent, #1e5c1e);
    --secondary-text-clr: var(--app-text-2, #4a4a4a);
    --index: calc(1vw + 1vh);

    /* меню */
    --menu-bar-bg:     var(--app-surface, #ffffff);
    --menu-bar-line:   var(--app-line, #c0d8c0);
    --menu-text:       var(--app-text, #2d2d2d);
    --menu-drop-bg:    var(--app-th-bg, #5a8090);     /* как шапки таблиц */
    --menu-drop-text:  var(--app-th-text, #ffffff);
    --menu-hover-bg:   var(--app-hover, #d4f7b0);     /* как наведение в "Записи" */
    --menu-hover-text: var(--app-accent, #1e5c1e);
}

*, *::before, *::after {
    padding: 0;
    margin: 0;
    border: 0;
    box-sizing: border-box;
}
a { text-decoration: none; }
ul, ol, li { list-style: none; }
img { vertical-align: top; }
h1, h2, h3, h4, h5, h6 {
    font-weight: inherit;
    font-size: inherit;
}
i {
    position: absolute;
    top: .3125rem;
    left: .5rem;
}
input:focus,
select:focus {
    outline: 1px solid var(--app-accent-mid, #3a8f3a);
}
th { font-weight: normal; }
button, input, select, textarea {
    border: 1px solid var(--app-control, #b5cfb5);
}

/* ── Шапка с меню ─────────────────────────── */

header {
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
    font-family: Cuprum, Arial, Helvetica, sans-serif;
    padding: 0;
    z-index: 19;
    position: sticky;
    top: 0;
    background: var(--menu-bar-bg);            /* раньше фона не было — содержимое просвечивало при прокрутке */
    border-bottom: 1px solid var(--menu-bar-line);
    box-shadow: 0 2px 6px rgba(30, 92, 30, .08);
}
menu a { text-decoration: none; }
ul { z-index: 1; }

.menu__list, .menu__drop, .menu__sub__drop {
    min-width: 9rem;
    max-width: 10rem;
    height: 2rem;
    z-index: 11;
}

/* верхний уровень */
.menu {
    display: flex;
    justify-content: center;
    width: 100%;
    z-index: 10;
}
.menu__list > a {
    display: block;
    color: var(--menu-text);
    padding: .3125rem 1.875rem;
    font-size: 1rem;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: background .2s ease, color .2s ease;
    z-index: 10;
}

/* выпадающие пункты */
.menu__drop > li a {
    display: block;
    background: var(--menu-drop-bg);
    color: var(--menu-drop-text);
    padding: .3125rem;
    font-size: 1rem;
    text-decoration: none;
    text-transform: uppercase;
    transition: background .2s ease, color .2s ease;
    z-index: 10;
}

.navmenu > ul li {
    position: relative;
    z-index: 10;
}
.navmenu > ul li > a i.fa {
    position: absolute;
    top: .625rem;
    left: 1.25rem;
    font-size: 1rem;
    letter-spacing: 2px;
}
.navmenu li ul {
    position: absolute;
    z-index: 10;
    transform: rotateX(-90deg);
    visibility: hidden;
    opacity: 0;
    box-shadow: 0 6px 16px rgba(30, 92, 30, .18);
}
/* открытие и мышью, и с клавиатуры (Tab) */
.navmenu li:hover > ul,
.navmenu li:focus-within > ul {
    display: block;
    transition: transform .3s linear, opacity .3s linear;
    transform: rotateX(0);
    visibility: visible;
    opacity: 1;
}
.navmenu li > ul li ul {
    position: absolute;
    right: -11rem;
    top: 0;
    height: 3.4375rem;
    z-index: 10;
}
.navmenu li a:hover,
.navmenu li a:focus-visible {
    background: var(--menu-hover-bg);
    color: var(--menu-hover-text);
    box-shadow: inset 3px 0 0 var(--app-accent, #1e5c1e);
    outline: none;
    transition: background .2s ease, color .2s ease;
}
.navmenu ul li ul li ul li a { height: 1.5rem; }

/* разделители между пунктами подменю */
.navmenu ul li ul li a {
    height: 1.875rem;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

@media (prefers-reduced-motion: reduce) {
    .navmenu li ul,
    .navmenu li:hover > ul,
    .navmenu li:focus-within > ul,
    .menu__list > a,
    .menu__drop > li a { transition: none; }
}
