/* MOVA theme — palette, type and marks from the brand book (04-logo-varianty.html).
   Loaded after app.css only when SITE_THEME=mova; app.css stays the shared base,
   so SITE_THEME=classic gives back the original look untouched.
   Tailwind colour families are remapped to brand tones in base.html. */

:root {
  --forest-deep:   #17301E;
  --forest:        #2A4A34;
  --moss:          #4A6B3A;
  --moss-lt:       #7A9163;
  --sage:          #B7C5A6;
  --sage-soft:     #D8DFC9;
  --terracotta:    #B85040;
  --terracotta-dp: #8F3B2E;
  --terracotta-lt: #E8B8AC;
  --river:         #4C6572;
  --gold:          #C9A24E;
  --ash:           #6B7062;
  --bg:            #F1F3EA;
  --paper:         #E4E8D6;
  --line:          rgba(23, 48, 30, .13);
  --line-soft:     rgba(23, 48, 30, .07);

  --serif: 'Fraunces', Georgia, serif;
  --sans:  'Inter', system-ui, sans-serif;

  --shadow-carved:
    0 1px 2px rgba(23, 48, 30, .06),
    3px 6px 14px rgba(23, 48, 30, .10),
    8px 18px 40px rgba(23, 48, 30, .08);
}

/* --- Base ------------------------------------------------------------------ */
body.theme-mova {
  background: var(--bg);
  color: var(--forest-deep);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
.theme-mova h1, .theme-mova h2, .theme-mova h3 {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -.005em;
  color: var(--forest-deep);
}
/* Cards: the brand book's soft "carved" shadow instead of the flat default */
.theme-mova .shadow { box-shadow: var(--shadow-carved); }
.theme-mova .rounded-xl.shadow { border: 1px solid var(--line-soft); }

/* --- Header ---------------------------------------------------------------- */
/* Light header: the site logo (Мини-outdoor, dark-green on transparent) is made for light backgrounds */
.mova-header {
  background: #fff;
  border-bottom: 1px solid var(--line);
  position: relative;
}
.mova-header::after { /* terracotta "terra-line" from the brand book */
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
  background: linear-gradient(to right, transparent, var(--terracotta) 30%, var(--terracotta) 70%, transparent);
  opacity: .55;
}
.mova-brand__logo { height: 52px; width: auto; max-width: 180px; object-fit: contain; }
.mova-brand__mark { width: 56px; height: 56px; border-radius: 50%; }
.mova-brand__name {
  font-family: var(--serif);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .16em;
  color: var(--forest-deep);
}
.mova-header nav a { color: var(--forest); font-weight: 500; }
.mova-header nav a:hover { color: var(--terracotta-dp); text-decoration: none; }
.mova-header nav a.nav-btn {
  background: var(--terracotta); color: #fff;
  padding: .4rem .9rem; border-radius: .5rem;
}
.mova-header nav a.nav-btn:hover { background: var(--terracotta-dp); color: #fff; }

/* Buttons: terracotta (Tailwind bg-brand) with the darker terracotta on hover */
.theme-mova .bg-brand { transition: background-color .2s ease; }
.theme-mova button.bg-brand:hover, .theme-mova a.bg-brand:hover { background-color: var(--terracotta-dp); }

/* --- Footer ---------------------------------------------------------------- */
.mova-footer { background: var(--forest-deep); color: rgba(241, 243, 234, .8); }
.mova-footer__brand {
  font-family: var(--serif); font-size: 1.25rem; letter-spacing: .16em; color: var(--bg);
}
.mova-footer__tag {
  font-family: var(--serif); font-style: italic; font-size: .875rem; color: rgba(241, 243, 234, .6);
}
.mova-footer__phone {
  color: var(--terracotta-lt);
  border-bottom: 1px solid rgba(232, 184, 172, .35);
}
.mova-footer__phone:hover { color: #fff; border-bottom-color: #fff; }

/* --- Forms ----------------------------------------------------------------- */
.theme-mova form input[type=text], .theme-mova form input[type=tel],
.theme-mova form input[type=email], .theme-mova form input[type=date],
.theme-mova form input[type=number], .theme-mova form input[type=password],
.theme-mova form select, .theme-mova form textarea {
  border-color: rgba(23, 48, 30, .2);
  color: var(--forest-deep);
}
.theme-mova form input:focus, .theme-mova form select:focus, .theme-mova form textarea:focus {
  outline: 2px solid rgba(74, 107, 58, .25);
  border-color: var(--moss);
}

.theme-mova .bt-green { border-top-color: var(--moss); }

/* --- Manager month calendar ---------------------------------------------- */
.theme-mova .cal-free    { background: #E3EAD8; color: #2F4527; }
.theme-mova .cal-booked  { background: #F6E0DA; color: var(--terracotta-dp); }
.theme-mova .cal-pending { background: #F5EBCD; color: #6B5226; }
.theme-mova .cal-blocked { /* hatched, so a manual block never reads as "free" */
  background: repeating-linear-gradient(-45deg, #E0E4D4 0 6px, #EEF0E6 6px 12px);
  color: var(--ash);
}
.theme-mova .cal-past    { background: #F6F7F1; color: #C9CFBB; }
.theme-mova .cal-out     { background: #fff; color: #E0E4D4; }

/* --- Booking calendar (client) -------------------------------------------- */
.theme-mova .bkcal__nav { background: var(--paper); color: var(--forest); }
.theme-mova .bkcal__nav:hover { background: var(--sage-soft); }
.theme-mova .bkcal__dow div { color: var(--ash); }
.theme-mova .bkcal__day { background: #F6F7F1; color: var(--ash); }
.theme-mova .bkcal__day--past { background: #fff; color: #C9CFBB; }
.theme-mova .bkcal__day--free { background: #E3EAD8; color: #2F4527; }
.theme-mova .bkcal__day--free:hover { background: var(--sage); }
.theme-mova .bkcal__day--pending { background: #F5EBCD; color: #6B5226; }
.theme-mova .bkcal__day--booked { background: #F6E0DA; color: var(--terracotta-dp); }
.theme-mova .bkcal__day--in { background: var(--sage) !important; color: var(--forest-deep); }
.theme-mova .bkcal__day--ci,
.theme-mova .bkcal__day--co { background: var(--forest) !important; color: var(--bg) !important; }

/* --- Dashboard occupancy -------------------------------------------------- */
.theme-mova .occ__track { background: var(--paper); }
.theme-mova .occ[data-level="low"]  .occ__fill   { background: var(--terracotta); }
.theme-mova .occ[data-level="low"]  .occ__pct,
.theme-mova .occ[data-level="low"]  .occ__label  { color: var(--terracotta); }
.theme-mova .occ[data-level="mid"]  .occ__fill   { background: var(--gold); }
.theme-mova .occ[data-level="mid"]  .occ__pct,
.theme-mova .occ[data-level="mid"]  .occ__label  { color: #86672E; }
.theme-mova .occ[data-level="high"] .occ__fill   { background: var(--moss); }
.theme-mova .occ[data-level="high"] .occ__pct,
.theme-mova .occ[data-level="high"] .occ__label  { color: var(--moss); }

@media (max-width: 640px) {
  .mova-brand__mark { width: 44px; height: 44px; }
  .mova-brand__name { font-size: 1.15rem; letter-spacing: .12em; }
}
