/* ============================================================
   Mila's Violin — глобальный лист темы.
   Основа: <style> из <helmet> raw/*.dc.html (дизайн 1:1).
   :root ниже — статичный fallback Ivory & Gold; фактические палитры
   (включая правки из админки) эмитит layout.php (#mv-theme-vars),
   он идёт после этого файла и выигрывает по порядку.
   ============================================================ */

*{box-sizing:border-box}
html,body{margin:0;padding:0}
:root{
  --bg:#f6f1e8; --bg2:#ece2d2; --panel:#fffdf8;
  --cream:#2c2521; --muted:#6f6454; --muted2:#a99c87;
  --gold:#9c7322; --gold2:#b8893a;
  --line:rgba(44,37,33,0.13); --scrim-rgb:246,241,232; --on-gold:#fff8ec;
  --hero-dim:0.42; /* heroMood «Subtle» из DC-пресета */
}
body{background:var(--bg);color:var(--cream);font-family:'Mulish',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
::selection{background:var(--gold);color:var(--on-gold)}

/* --- Анимации из дизайна --- */
@keyframes floatNote{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-10px);opacity:1}}
@keyframes riseIn{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
[data-rise]{animation:riseIn 1s cubic-bezier(.16,1,.3,1) both}
[data-reveal]{animation:riseIn 1s cubic-bezier(.16,1,.3,1) both;animation-timeline:view();animation-range:entry 0% cover 34%}
[data-fade]{animation:fadeIn 1.1s ease both;animation-timeline:view();animation-range:entry 0% cover 32%}
@supports not (animation-timeline:view()){[data-reveal],[data-fade]{animation:none}}
@keyframes slowZoom{from{transform:scale(1.08)}to{transform:scale(1)}}

::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:#e9e0cf}
::-webkit-scrollbar-thumb{background:#cbbfa6;border-radius:8px}

/* --- Заголовки: курсивное золото переживает санитайзер как <em> --- */
h1 em,h2 em,h3 em{font-style:italic;color:var(--gold2)}

/* --- Утилиты вместо style-hover из DC --- */
.hov-cream{transition:color .3s ease}
.hov-cream:hover{color:var(--cream)}
.hov-gold{transition:color .3s ease}
.hov-gold:hover{color:var(--gold2)}
.btn-solid{transition:background .3s ease}
.btn-solid:hover{background:var(--gold2) !important}
.btn-ghost{transition:border-color .3s ease,color .3s ease}
.btn-ghost:hover{border-color:var(--gold) !important;color:var(--gold2) !important}
.card-lift{transition:transform .5s ease,border-color .5s ease}
.card-lift:hover{transform:translateY(-6px);border-color:var(--gold) !important}

/* --- Хром: гамбургер и «наверх» --- */
.nav-toggle{display:none;border:1px solid var(--line);background:var(--panel);border-radius:3px;cursor:pointer;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.to-top{position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:60;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--gold);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;box-shadow:0 8px 24px rgba(44,37,33,0.16);transition:opacity .35s ease,transform .35s ease;transform:translateY(12px)}
.to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}

/* --- Мобильный оверлей меню (разметка в partials/header.php) --- */
.mv-menu{display:none}
.mv-menu.is-open{display:flex}
body.mv-menu-open{overflow:hidden}

/* --- Переключатель палитры сайта в админ-баре (admin-palette.js) --- */
.mv-palette{position:relative;display:inline-flex}
.mv-palette__pop{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;min-width:210px;padding:8px;background:#fffdf8;border:1px solid rgba(44,37,33,0.16);border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,0.28);display:flex;flex-direction:column;gap:2px}
.mv-palette__pop[hidden]{display:none}
.mv-swatch{display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;border:none;background:none;border-radius:7px;cursor:pointer;font-size:13px;color:#2c2521;text-align:left;transition:background .15s ease}
.mv-swatch:hover{background:rgba(44,37,33,0.06)}
.mv-swatch.is-active{background:rgba(156,115,34,0.12)}
.mv-swatch__chip{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid rgba(120,120,120,0.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.4)}
.mv-swatch__name{font-weight:500;letter-spacing:0.01em}
.mv-swatch.is-active .mv-swatch__name::after{content:" ✓";color:#9c7322}

/* --- Тайлы галереи: ховер-зум как в дизайне (style-hover) --- */
.mv-gtile img,.mv-vtile img{transition:transform .7s cubic-bezier(.16,1,.3,1),filter .4s ease}
.mv-gtile{transition:box-shadow .5s ease}
.mv-gtile:hover{box-shadow:0 14px 34px rgba(44,37,33,0.2)}
.mv-gtile:hover img{transform:scale(1.05);filter:brightness(1.05)}
.mv-vtile:hover img{transform:scale(1.04)}

/* --- Галерея-страница (блок gallerypage) --- */
.g-filter{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;justify-content:space-between;margin:0 0 40px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.g-chips{display:flex;flex-wrap:wrap;gap:8px}
.g-chip{background:none;border:1px solid var(--line);border-radius:40px;padding:9px 18px;cursor:pointer;color:var(--muted);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;transition:color .3s ease,border-color .3s ease,background .3s ease}
.g-chip:hover{color:var(--cream);border-color:var(--gold)}
.g-chip.is-active{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
.g-chips--type .g-chip{padding:9px 14px}

.g-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.g-tile{margin:0;position:relative;border-radius:2px;overflow:hidden;background:var(--bg2)}
.g-tile[hidden]{display:none}
.g-hit{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;position:relative;line-height:0}
.g-img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1),filter .4s ease}
/* Плитка-видео: нативный кадр из <video> (грузится лениво в nav.js) */
.g-vthumb{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:var(--bg2);opacity:0;transition:opacity .5s ease,transform .7s cubic-bezier(.16,1,.3,1),filter .4s ease}
.g-vthumb.is-ready{opacity:1}
.g-vthumb-wrap{position:relative;aspect-ratio:4/5;border-radius:2px;overflow:hidden;background:var(--bg2)}
.mv-vtile:hover .g-vthumb{transform:scale(1.05);filter:brightness(1.05)}

/* ---------- Блог: тело статьи ---------- */
.art-body__inner{max-width:720px;margin:0 auto;font-size:17px;line-height:1.85;color:var(--cream);font-weight:300}
.art-body__inner > *:first-child{margin-top:0}
.art-body__inner h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(26px,3.4vw,38px);line-height:1.15;margin:48px 0 18px}
.art-body__inner h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:23px;margin:36px 0 12px}
.art-body__inner p{margin:0 0 22px}
.art-body__inner a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px;transition:color .3s ease}
.art-body__inner a:hover{color:var(--gold)}
.art-body__inner ul,.art-body__inner ol{margin:0 0 22px;padding-left:22px}
.art-body__inner li{margin:0 0 10px}
.art-body__inner blockquote{margin:34px 0;padding:4px 0 4px 28px;border-left:2px solid var(--gold);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(22px,2.8vw,30px);line-height:1.4;color:var(--cream)}
.art-body__inner strong{font-weight:600}
.art-body__inner hr{border:none;border-top:1px solid var(--line);width:60px;margin:40px auto}
.art-body__inner figure{margin:34px 0}
.art-body__inner figcaption{font-size:13px;color:var(--muted2);text-align:center;margin-top:10px;font-style:italic}
.art-body__inner img{width:100%;border-radius:2px;display:block}
.art-head em{font-style:italic}

/* ---------- Блог: карточки индекса ---------- */
.bl-feat__img,.bl-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.bl-feat picture,.bl-card__media picture,.bl-feat > div:first-child picture{display:block;height:100%}
.bl-card__media{aspect-ratio:3/2;overflow:hidden;background:var(--bg2)}
.bl-feat > div:first-child{overflow:hidden;background:var(--bg2)}
.bl-card:hover .bl-card__img,.bl-feat:hover .bl-feat__img{transform:scale(1.04)}
a.g-chip{text-decoration:none}

@media (max-width:820px){
  .bl-feat{grid-template-columns:1fr !important}
  .bl-feat > div:first-child{min-height:220px !important}
  .bl-feat > div:last-child{padding:28px !important}
  .bl-grid{grid-template-columns:1fr !important}
}
.g-hit{box-shadow:0 2px 10px rgba(44,37,33,0.08);transition:box-shadow .5s ease}
.g-hit:hover{box-shadow:0 14px 34px rgba(44,37,33,0.2)}
.g-hit:hover .g-img{transform:scale(1.05);filter:brightness(1.05)}
.g-hit:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* значок «play» на видео-тайле */
.g-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:rgba(255,253,248,0.94);box-shadow:0 10px 30px rgba(0,0,0,0.32);pointer-events:none}
.g-play::after{content:"";position:absolute;top:50%;left:52%;transform:translate(-50%,-50%);width:0;height:0;border-left:18px solid var(--gold);border-top:11px solid transparent;border-bottom:11px solid transparent}
.g-tile--video .g-img{filter:brightness(.92)}

.g-empty{text-align:center;color:var(--muted);font-weight:300;font-size:16px;padding:60px 0 20px;margin:0}

/* админ: редактор категорий и мета-полей тайла */
.g-cat-editor{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-24px 0 32px;font-size:13px;color:var(--muted)}
.g-cat-editor__hint{letter-spacing:0.14em;text-transform:uppercase;font-size:11px;font-weight:600;color:var(--gold)}
.g-cat-editor__item{border:1px dashed var(--line);border-radius:40px;padding:6px 14px;min-width:60px;color:var(--cream)}
.g-meta{display:grid;gap:6px;padding:12px;background:var(--panel);border-top:1px solid var(--line);font-size:12px}
.g-meta label{display:grid;grid-template-columns:78px 1fr;gap:8px;align-items:baseline;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;font-size:10px;font-weight:600}
.g-meta__v{border-bottom:1px dashed var(--line);min-height:16px;color:var(--cream);text-transform:none;letter-spacing:0;font-size:13px;font-weight:400}

@media (max-width:820px){
  .g-filter{gap:14px}
  .g-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
}

/* --- Лайтбокс галереи (блок gallery + nav.js) --- */
.mv-lb{position:fixed;inset:0;z-index:80;background:rgba(12,10,8,0.94);display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px)}
.mv-lb.is-open{display:flex}
.mv-lb__media{max-width:min(1080px,92vw);max-height:86vh}
.mv-lb__media img,.mv-lb__media video{max-width:min(1080px,92vw);max-height:86vh;object-fit:contain;border-radius:2px}
.mv-lb__close{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,248,236,0.35);background:transparent;color:#fff8ec;font-size:26px;line-height:1;cursor:pointer}
.mv-lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,248,236,0.35);background:rgba(12,10,8,0.5);color:#fff8ec;font-size:22px;cursor:pointer}
.mv-lb__nav--prev{left:clamp(8px,2vw,24px)}
.mv-lb__nav--next{right:clamp(8px,2vw,24px)}
.mv-lb__hint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,248,236,0.75);font-size:13px;letter-spacing:0.08em;text-align:center;max-width:90vw}

/* --- Фоновые картинки (bc_edit_image → .page-head__bg) --- */
.page-head__bg{position:absolute;inset:0;background-size:cover;background-position:center}

/* --- Форма (блок contactsplit): поля в стиле дизайна --- */
.mv-field{display:flex;flex-direction:column;gap:8px}
.mv-field label{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);font-weight:600}
.mv-field input,.mv-field select,.mv-field textarea{background:var(--bg);border:1px solid var(--line);border-radius:2px;padding:13px 14px;color:var(--cream);font-size:15px;font-weight:300;outline:none;transition:border-color .3s ease}
.mv-field input:focus,.mv-field select:focus,.mv-field textarea:focus{border-color:var(--gold)}
.mv-field textarea{resize:vertical;min-height:110px}
.mv-field input:disabled,.mv-field textarea:disabled{opacity:.6}

/* honeypot: скрыт от людей, доступен ботам (не display:none — часть ботов это учитывает) */
.bc-hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* уведомление над формой (ошибка отправки) */
.mv-note{margin:0 0 24px;padding:14px 16px;border-radius:2px;font-size:14px;line-height:1.6;font-weight:300}
.mv-note--err{background:rgba(158,60,60,0.08);border:1px solid rgba(158,60,60,0.32);color:var(--cream)}
.mv-note[hidden]{display:none}

/* --- Адаптив из дизайна --- */
@media (max-width:820px){
  .nav-links{display:none !important}
  .nav-toggle{display:flex !important}
  .stack-2,.stack-3,.stack-4,.stats{grid-template-columns:1fr !important}
  .stats>div{border-left:none !important;border-right:none !important;border-top:1px solid var(--line) !important;padding-top:26px !important}
  .row-wrap{flex-direction:column !important;align-items:flex-start !important}
}
