:root{
  --kotel: #0f766e;
  --kotel-2: #16a34a;
  --kotel-soft: rgba(15,118,110,.10);
  --text: #0b1220;
  --muted: rgba(11,18,32,.62);
  --card-radius: 20px;
}
body{ background:#fff; color: var(--text); }
a{ color: inherit; }
.brand{ letter-spacing:-0.02em; }
.nav-glass{ background: rgba(255,255,255,.78); backdrop-filter: blur(10px); }

.btn-kotel{
  --bs-btn-color:#fff;
  --bs-btn-bg: var(--kotel);
  --bs-btn-border-color: var(--kotel);
  --bs-btn-hover-bg: #0b5f59;
  --bs-btn-hover-border-color: #0b5f59;
  --bs-btn-focus-shadow-rgb: 15,118,110;
  border-radius: 999px;
}
.btn-kotel-outline{
  --bs-btn-color: var(--kotel);
  --bs-btn-border-color: rgba(15,118,110,.35);
  --bs-btn-hover-bg: var(--kotel-soft);
  --bs-btn-hover-border-color: rgba(15,118,110,.55);
  border-radius: 999px;
}

.hero{ position: relative; padding: 68px 0 40px; overflow:hidden; }
.hero::before{
  content:""; position:absolute; inset:-120px -120px auto -120px; height: 420px;
  background: radial-gradient(closest-side, rgba(15,118,110,.18), transparent 70%),
              radial-gradient(closest-side, rgba(22,163,74,.14), transparent 70%);
  transform: translateY(-30px); pointer-events:none;
}
.hero-card{
  border-radius: 26px;
  border: 1px solid rgba(11,18,32,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.82));
  box-shadow: 0 18px 60px rgba(11,18,32,.08);
}
.badge-soft{
  background: rgba(15,118,110,.10);
  color: #0b5f59;
  border: 1px solid rgba(15,118,110,.22);
  border-radius: 999px;
  padding: .45rem .7rem;
  font-weight: 700;
  font-size: .82rem;
}
.section-title{ letter-spacing: -0.03em; }
.k-card {
  border-radius: var(--card-radius);
  border: 1px solid rgba(11,18,32,.10);
  background: #fff;

  height: 360px;        /* фиксированная высота */
  overflow: hidden;    /* ничего не выходит за рамки */
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s ease, transform .2s ease;
}

.k-card:hover{ box-shadow: 0 18px 60px rgba(11,18,32,.08); transform: translateY(-1px); transition: .2s ease; }
.k-shadow{ box-shadow: 0 18px 60px rgba(11,18,32,.08); }
.icon-pill{
  width:44px;height:44px; border-radius: 16px;
  background: rgba(15,118,110,.12);
  border: 1px solid rgba(15,118,110,.20);
  display:flex;align-items:center;justify-content:center;
}
.muted{ color: var(--muted); }

.banner{
  border-radius: 26px;
  border: 1px solid rgba(11,18,32,.10);
  background: linear-gradient(135deg, rgba(15,118,110,.10), rgba(22,163,74,.07));
  overflow:hidden;
}
.banner img{ width:100%; height:100%; object-fit: cover; opacity:.95; }

.admin-shell{ min-height: 100vh; background: linear-gradient(180deg, rgba(15,118,110,.05), rgba(255,255,255,1) 280px); }
.admin-card{
  border-radius: 22px;
  border: 1px solid rgba(11,18,32,.10);
  box-shadow: 0 14px 50px rgba(11,18,32,.06);
}
.small-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: .86rem;
}
.thumb{
  width: 48px; height: 40px; border-radius: 10px; object-fit: cover;
  border: 1px solid rgba(11,18,32,.10);
  background: rgba(11,18,32,.04);
}


/* Navbar fixes */
.navbar .nav-link{ white-space: nowrap; }
.navbar .navbar-brand{ white-space: nowrap; }
.navbar .btn{ white-space: nowrap; }

/* Mobile floating actions (bottom-right) */
.floating-actions{
  position: fixed;
  right: calc(16px + env(safe-area-inset-right));
  bottom: calc(16px + env(safe-area-inset-bottom));
  z-index: 2000;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.floating-actions .fab{
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  box-shadow: 0 18px 60px rgba(11,18,32,.20);
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(10px);
}
.floating-actions .fab:active{ transform: translateY(1px); }
.floating-actions .fab-wa{
  background: linear-gradient(180deg, rgba(15,118,110,.95), rgba(15,118,110,.88));
  color: #ffffff;
}
.floating-actions .fab-call{
  background: linear-gradient(180deg, rgba(22,163,74,.92), rgba(22,163,74,.84));
  color: #ffffff;
}
/* ===== Карточка бренда ===== */

.k-card {
  border-radius: 12px;
  border: 1px solid rgba(11,18,32,.10);
  background: #fff;

  display: flex;
  flex-direction: column;
  overflow: hidden;

  transition: box-shadow .2s ease, transform .2s ease;
}

.k-card:hover {
  box-shadow: 0 18px 60px rgba(11,18,32,.08);
  transform: translateY(-1px);
}

/* ===== Изображение ===== */

.k-card__image {
  aspect-ratio: 4 / 3;
  background: #0b1220;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;
}

.k-card__image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  padding: 12px;
  display: block;

  filter: drop-shadow(0 12px 22px rgba(0,0,0,.35));
}

/* Заглушка */
.k-card__placeholder {
  color: rgba(255,255,255,.45);
  font-size: 14px;
}

/* ===== Низ карточки ===== */

.k-card__footer {
  background: rgba(15,118,110,.10);
  border-top: 1px solid rgba(255,255,255,.06);

  padding: 12px 14px;

  display: flex;
  align-items: center;
}

.k-card__title {
  font-weight: 600;
  color: #0b1220;
  line-height: 1.2;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===== Выравнивание высоты только на десктопе ===== */

@media (min-width: 992px) {
  .k-card {
    height: 100%;
  }
}

