/* Wine Climats - Layout CSS */

html, body {
  height: 100%;
}

.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Header & Top Navbar */
.main-header {
  position: fixed;
  top: 0;
  right: 0;
  left: var(--sidebar-width);
  height: var(--navbar-height);
  z-index: 1030;
  background-color: var(--topbar-bg);
  border-bottom: 1px solid var(--bs-border-color);
  transition: left 0.3s ease-in-out;
}

body.sidebar-collapsed .main-header {
  left: var(--sidebar-collapsed-width);
}

@media (max-width: 1199.98px) {
  .main-header {
    left: var(--sidebar-collapsed-width);
  }
}

@media (max-width: 767.98px) {
  .main-header {
    left: 0;
  }
}

.main-navbar {
  height: 100%;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.navbar-search {
  max-width: 320px;
}

.navbar-search .form-control {
  border-radius: 20px;
  padding-left: 2rem;
  background-color: var(--bs-tertiary-bg);
}

.navbar-search-wrapper {
  position: relative;
}

.navbar-search-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--bs-secondary-color);
  pointer-events: none;
}

/* Content Wrapper */
.content-wrapper {
  margin-top: var(--navbar-height);
  margin-left: var(--sidebar-width);
  flex: 1 0 auto;
  padding: 1.5rem;
  transition: margin-left 0.3s ease-in-out;
  background-color: var(--bs-body-bg);
}

body.sidebar-collapsed .content-wrapper {
  margin-left: var(--sidebar-collapsed-width);
}

@media (max-width: 1199.98px) {
  .content-wrapper {
    margin-left: var(--sidebar-collapsed-width);
  }
}

@media (max-width: 767.98px) {
  .content-wrapper {
    margin-left: 0;
    padding: 1rem;
  }
}

/* Page Header Component */
.page-header-container {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--bs-border-color-translucent);
}

.page-header-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.page-header-subtitle {
  color: var(--bs-secondary-color);
  font-size: 0.875rem;
  margin-bottom: 0;
}

.page-header-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

/* Main Footer */
.main-footer {
  margin-left: var(--sidebar-width);
  padding: 1rem 1.5rem;
  background-color: var(--topbar-bg);
  border-top: 1px solid var(--bs-border-color);
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
  transition: margin-left 0.3s ease-in-out;
}

body.sidebar-collapsed .main-footer {
  margin-left: var(--sidebar-collapsed-width);
}

@media (max-width: 1199.98px) {
  .main-footer {
    margin-left: var(--sidebar-collapsed-width);
  }
}

@media (max-width: 767.98px) {
  .main-footer {
    margin-left: 0;
    text-align: center;
  }
}
