
/* Aldrich & header */
body, h1, h2, h3, .navbar-brand, .btn, .form-control, .form-select { font-family: 'Aldrich', sans-serif; }
.navbar{ background:#000 !important; border-bottom:1px solid rgba(255,255,255,.08); height:var(--nav-h) }
.navbar .navbar-brand{ color:#fff !important; font-size:26px; letter-spacing:.5px }
.navbar .nav-link{ color:#e6e6e6 !important; padding:14px 18px!important }
.navbar .nav-link.active, .navbar .nav-link:hover{ color:#d4b26f !important }

/* Home hero only */
body.index{ background:#000; color:#fff }
.hero{ min-height:100vh; background:url('/assets/img/bg-main.jpg') center/cover no-repeat; display:flex; align-items:flex-start; }
.hero .container{ padding-top: calc(var(--nav-h) + 40px); }
.hero .display-4{ font-weight:700; letter-spacing:.2px; text-shadow:0 4px 12px rgba(0,0,0,.6); position: relative;top: -100px; }

/* Inner pages white */
body:not(.index){ background:#fff; color:#222 }
.form-control,.form-select{ background:#fff; color:#222; border:1px solid #d5dbe4; border-radius:12px; }
.form-control:focus{ border-color:#d4b26f; box-shadow:0 0 0 .2rem rgba(212,178,111,.2) }
.btn-primary{ background:#6aa6ff; border-color:#6aa6ff; border-radius:12px }

/* Page title bar (shop etc.) */
.page-title-wrap{ background:#000; color:#fff; padding:46px 0 20px; margin-bottom:36px }
.page-title-wrap .breadcrumb-mini{ color:#cfcfcf; font-size:14px }
.page-title-wrap .breadcrumb-mini a{ color:#fff; text-decoration:none }

/* Shop cards: golden band */
.kitten-card{ background:#f6f7f9; border-radius:6px; overflow:hidden;}
.kitten-card .thumb{ aspect-ratio: 3 / 3; width:100%; object-fit:cover; border:3px solid #d4b26f33 }
.kitten-card .gold-band{ background:#d4b26f; color:#fff; text-align:center; padding:14px 10px }
.kitten-card .gold-band .title{ font-size:18px; letter-spacing:.6px }
.kitten-card .price-row{ text-align:center; padding:16px 10px; color:#333; background:#f4f2ee }
.kitten-card .price-row .price{ font-size:20px }

/* Admin light */
.admin body{ background:#f7f9fc }
.admin .card{ background:#fff; color:#222; border:1px solid #e7ebf0 }
.admin .table{ color:#222 }
.admin .form-control,.admin .form-select{ background:#fff; color:#222; border-color:#d5dbe4 }

.product-gallery .thumbs{ margin-top:8px; gap:6px }
.product-gallery .thumbs img{ width:50px; height:50px; object-fit:cover; border-radius:4px; border:1px solid transparent; cursor:pointer; display:block }
.product-gallery .thumbs img:hover{ border-color:#d4b26f }
@media (max-width:576px){ .product-gallery .thumbs img{ width:40px; height:40px } }

/* === Happy Clients: большие фото в сетке === */
.hc-item { border-radius: 8px; overflow: hidden; }
.hc-img{
  display:block; width:100%;
  aspect-ratio: 3 / 4;        /* одинаковая высота картинок как на примере */
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
@media (max-width: 576px){
  .hc-img{ aspect-ratio: 4 / 5; }      /* чуть выше на мобилках */
}

/* Dark info panel on contact page */
.contact-dark{
  background:#0f1114;
  color:#fff;
  box-shadow: 0 12px 32px rgba(0,0,0,.25);
}
.contact-dark .c-row{
  display:flex; gap:16px; align-items:flex-start;
  padding:12px 0; border-bottom:1px solid rgba(255,255,255,.08);
}
.contact-dark .c-row:last-child{ border-bottom:0; }
.contact-dark .c-row i{
  font-size:28px; width:32px; display:inline-block; color:#d4b26f;
  line-height:1; margin-top:2px;
}
.contact-dark .c-row a{
  color:#e9eef6; text-decoration:none; word-break:break-all;
}
.contact-dark .c-row a:hover{ text-decoration:underline; }
.contact-dark .c-title{ font-size:20px; margin-bottom:2px }
.text-light-50{ color:rgba(255,255,255,.75) }

/* About: image left, text right */
.about-photo{
  width:100%;
  aspect-ratio: 3 / 4;         /* высокий вертикальный кадр как на сайте */
  object-fit: cover;
  border-radius: 12px;
  background:#f6f7f9;
}
.about-photo--placeholder{
  width:100%;
  aspect-ratio: 3 / 4;
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px #e5e8ee;
}
@media (max-width: 767px){
  .about-photo{ aspect-ratio: 4 / 5; }  /* на мобилке чуть выше */
}

/* --- Унификация форм и кнопок --- */

/* Все поля форм без скруглений */
.form-control,
.form-select,
textarea,
input,
select {
  border-radius: 0 !important;
}

/* Все кнопки без скруглений */
.btn {
  border-radius: 0 !important;
  font-weight: 500;
}

/* Основной брендовый цвет */
.btn-primary,
.btn-success,
.btn-warning,
.btn-danger,
.btn-dark,
.btn-outline-dark,
.btn-outline-secondary {
  background-color: #d4b26f !important;
  border-color: #d4b26f !important;
  color: #fff !important;
}

.btn-primary:hover,
.btn-success:hover,
.btn-warning:hover,
.btn-danger:hover,
.btn-dark:hover,
.btn-outline-dark:hover,
.btn-outline-secondary:hover {
  background-color: #b89b59 !important; /* чуть темнее при наведении */
  border-color: #b89b59 !important;
}

/* --- Статусные стикеры на фото (top-right) --- */
.status-badge{
  position:absolute;
  top:10px; right:10px;
  z-index:3;
  padding:6px 10px;
  font-size:12px;
  letter-spacing:.5px;
  text-transform:uppercase;
  border-radius:0;           /* прямоугольные, как ты просил */
  line-height:1;
  box-shadow: 0 4px 14px rgba(0,0,0,.25);
}
.status-badge.is-sold{
  background:#111;           /* SOLD — чёрный */
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
}
.status-badge.is-reserved{
  background:#d4b26f;        /* Reserved — фирменное золото */
  color:#111;
  border:1px solid #b89b59;
}

/* контейнер с фото должен быть относительным */
.thumb-wrap, .photo-frame{
  position:relative;
}

/* ===== Mobile navbar overlay (≤ lg) ===== */
@media (max-width: 991.98px){
  .site-main {padding-top: 60px;}

  .site-header .navbar {
    --nav-h: 64px;
    min-height: var(--nav-h);
  }
  .site-header .navbar .navbar-brand{
    font-size: 28px;
    line-height: 1;
  }
  /* делаем collapse полноэкранным и над контентом */
  .site-header .navbar .navbar-collapse{
    position: fixed !important;
    top: var(--nav-h);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    background: rgba(6,6,6,.97);
    padding: 20px 24px 32px;
    overflow-y: auto;
  }
  /* небольшой «бекдроп» за меню (полоса под шапкой) */
  .site-header .navbar .navbar-collapse::before{
    content: "";
    position: fixed;
    top: 0; left: 0; right: 0;
    height: var(--nav-h);
    background: #0b0b0b;
    z-index: -1;
  }
  /* пункты меню — крупные и читабельные */
  .site-header .navbar .nav-link{
    font-size: 22px;
    padding: 12px 0;
    color: #fff !important;
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  .site-header .navbar .nav-link.active{
    color: #d4b26f !important;
  }
  /* когда меню открыто — отключаем прокрутку страницы */
  body.has-nav-open { overflow: hidden; }
}

.shop-seo p { margin-bottom: 0.8rem; }
.shop-seo h2, .shop-seo h3 { margin-top: 1rem; }
.shop-seo a { color: #d4b26f; text-decoration: underline; }
.shop-seo a:hover { text-decoration: none; }

/* ===== Pagination custom ===== */
.pagination {
  --bs-pagination-padding-x: 0.9rem;
  --bs-pagination-padding-y: 0.5rem;
  --bs-pagination-color: #d4b26f;
  --bs-pagination-bg: #fff;
  --bs-pagination-border-color: #d4b26f;
  --bs-pagination-border-radius: 0;
  --bs-pagination-hover-color: #fff;
  --bs-pagination-hover-bg: #d4b26f;
  --bs-pagination-hover-border-color: #d4b26f;
  --bs-pagination-focus-color: #fff;
  --bs-pagination-focus-bg: #b89b59;
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #d4b26f;
  --bs-pagination-active-border-color: #d4b26f;
}

.page-link {
  color: #d4b26f;
  border: 1px solid #d4b26f;
  background-color: #fff;
  font-weight: 500;
}
.page-link:hover {
  color: #fff;
  background-color: #d4b26f;
  border-color: #d4b26f;
}
.page-item.active .page-link {
  color: #fff;
  background-color: #d4b26f;
  border-color: #d4b26f;
}
.page-item.disabled .page-link {
  color: #ccc;
  border-color: #eee;
  background-color: #f9f9f9;
}