/* Utah Military Vehicles Club - Custom Styles */
/* Preserves original design aesthetic with modern Bootstrap 5 */

:root {
  --umvc-brown: #967E56;
  --umvc-dark-brown: #483C29;
  --umvc-tan: #B3B09E;
  --umvc-gold: #C78C2D;
  --umvc-text: #383838;
  --umvc-text-muted: #666666;
}

/* Global Styles */
* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

body {
  font-size: 14px;
  color: var(--umvc-text);
  background: url('/images/camoPattern.jpg') repeat;
  display: flex;
  justify-content: center;
}

a {
  color: var(--umvc-brown);
}

a:hover {
  color: var(--umvc-dark-brown);
}

h1, h2, h3, h4, h5, h6, p {
  padding: 5px;
  margin: 0;
  color: var(--umvc-text);
}

h1 {
  font-size: 2em;
  padding-bottom: 10px;
}

h2 {
  font-size: 1.5em;
}

/* Site Container - Centered */
.site-container {
  width: 100%;
  max-width: 950px;
  min-height: 100vh;
  background: url('/images/shadow.png') repeat-y left;
  display: flex;
  flex-direction: column;
}

/* Header */
#header {
  background: #d4cfc0;
  border-radius: 0 0 5px 5px;
  overflow: hidden;
}

.header-content {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.header-image {
  padding-left: 40px;
  flex-shrink: 0;
}

.header-image img {
  max-width: 434px;
  height: auto;
  display: block;
}

.header-nav {
  background: url('/images/navBackground.jpg') no-repeat center left;
  height: 216px;
  width: 289px;
  flex-shrink: 0;
}

.header-nav ul {
  padding-top: 45px;
  padding-left: 25px;
  margin: 1.5em 1.5em 1.5em 0;
  list-style: none;
}

.header-nav li {
  letter-spacing: 1px;
  margin-bottom: 5px;
}

.header-nav a {
  font-size: 14px;
  text-decoration: none;
  color: #333;
  border-bottom: 2px dotted var(--umvc-gold);
}

.header-nav a:hover {
  color: var(--umvc-brown);
}

.login-links {
  width: 100%;
  text-align: right;
  padding: 10px 40px;
  font-size: 12px;
  background: #c9c4b5;
}

.login-links a {
  text-decoration: underline;
  font-size: 12px;
}

.welcome-message {
  margin-bottom: 5px;
}

.admin-badge {
  color: #990000;
  font-weight: bold;
}

/* Main Content */
#content {
  padding: 20px 40px;
  background: #d4cfc0;
  flex: 1;
}

/* Content Panel */
.content-panel {
  background: #e8e4d8;
  padding: 20px;
  border-radius: 5px;
  margin-bottom: 20px;
}

/* Sidebar */
.sidebar-panel {
  padding-right: 15px;
}

.sidebar-block {
  background: #e8e4d8;
  padding: 15px;
  border-radius: 5px;
  margin-bottom: 15px;
}

.sidebar-block img {
  max-width: 100%;
  height: auto;
}

.login-block {
  background: #d4cfc0;
}

.login-block .form-control {
  background-color: var(--umvc-tan);
  border: 1px solid var(--umvc-dark-brown);
}

.latest-image {
  margin: 10px 0;
}

.latest-image img {
  max-width: 100%;
  border: 2px solid var(--umvc-dark-brown);
}

/* Page Image Headers */
.page-image {
  margin-bottom: 15px;
}

.page-image img {
  max-width: 100%;
  height: auto;
}

/* Tables */
.table {
  background: #fff;
}

.table th {
  text-align: center;
  background: var(--umvc-tan);
}

.table td {
  text-align: center;
  vertical-align: middle;
}

.table-striped tbody tr:nth-of-type(even) {
  background-color: var(--umvc-tan);
}

.image-col {
  width: 120px;
}

.image-col img {
  max-width: 100px;
  height: auto;
}

.no-image {
  color: #999;
  font-style: italic;
}

/* Forms */
.form-control {
  background-color: var(--umvc-tan);
  border: 1px solid var(--umvc-dark-brown);
}

.form-control:focus {
  background-color: #c5c2b3;
  border-color: var(--umvc-brown);
  box-shadow: 0 0 0 0.2rem rgba(150, 126, 86, 0.25);
}

textarea.form-control {
  min-height: 100px;
}

.btn-image {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.form-actions {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #ccc;
}

/* Buttons */
.btn-primary {
  background-color: var(--umvc-brown);
  border-color: var(--umvc-dark-brown);
}

.btn-primary:hover {
  background-color: var(--umvc-dark-brown);
  border-color: var(--umvc-dark-brown);
}

.btn-secondary {
  background-color: var(--umvc-tan);
  border-color: var(--umvc-dark-brown);
  color: var(--umvc-text);
}

.btn-secondary:hover {
  background-color: #a3a08e;
  border-color: var(--umvc-dark-brown);
  color: var(--umvc-text);
}

/* Admin Links */
.admin-links {
  text-align: right;
}

.admin-links a {
  color: #990000;
}

.action-links a {
  color: #990000;
}

/* Gallery */
#gallery {
  padding: 15px 0;
}

.gallery-image {
  margin-bottom: 15px;
}

.gallery-image img {
  border: 2px solid var(--umvc-dark-brown);
  max-width: 100%;
}

.image-container {
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Vehicle Details */
.vehicle-owner {
  font-size: 1.1em;
  margin-bottom: 15px;
}

#vehicle-description {
  background: #fff;
  padding: 15px;
  border-radius: 5px;
}

.vehicle-actions {
  padding: 15px 0;
}

/* Member Details */
.member-details dl {
  margin-top: 15px;
}

.member-details dt {
  font-weight: bold;
}

.member-vehicles .card {
  background: #fff;
}

/* Minutes */
.minutes-list {
  list-style: none;
  padding-left: 20px;
}

.minutes-list li {
  margin-bottom: 8px;
  padding: 5px 0;
  border-bottom: 1px dotted var(--umvc-tan);
}

.minutes-list .admin-actions {
  margin-left: 15px;
}

.minute-content {
  background: #fff;
  padding: 20px;
  border-radius: 5px;
  margin: 15px 0;
}

/* Events */
.upcoming-events {
  background: #fff;
  padding: 15px;
  border-radius: 5px;
}

/* Pagination */
.pagination-container {
  margin-top: 20px;
}

.pagination .page-link {
  color: var(--umvc-brown);
  background-color: #fff;
  border-color: var(--umvc-tan);
}

.pagination .page-item.active .page-link {
  background-color: var(--umvc-brown);
  border-color: var(--umvc-dark-brown);
}

.pagination .page-link:hover {
  color: var(--umvc-dark-brown);
  background-color: var(--umvc-tan);
}

/* Footer */
#footer {
  background: #d4cfc0;
  padding: 20px;
  text-align: center;
  border-radius: 5px 5px 0 0;
  margin-top: auto;
}

.footer-nav {
  margin-bottom: 10px;
}

.footer-nav a {
  text-decoration: none;
  color: #333;
}

.footer-nav a:hover {
  text-decoration: underline;
}

.copyright {
  font-size: 10px;
  color: var(--umvc-text-muted);
}

/* Alerts */
.alert {
  border-radius: 5px;
}

.alert-danger {
  background-color: #ffcccc;
  border-color: #ff0000;
  color: #990000;
}

.alert ul {
  margin-bottom: 0;
}

/* Badge */
.badge {
  font-size: 0.75em;
}

/* Textile content rendering */
.content-panel h1,
.minute-content h1 {
  text-align: center;
  border-bottom: 2px solid var(--umvc-tan);
  padding-bottom: 10px;
  margin-bottom: 15px;
}

/* ============================================
   RESPONSIVE STYLES
   ============================================ */

/* Large screens - keep original layout */
@media (min-width: 992px) {
  .site-container {
    margin: 0 auto;
  }
}

/* Medium screens (tablets) */
@media (max-width: 991px) {
  .site-container {
    max-width: 100%;
    background-image: none;
  }

  .header-content {
    justify-content: center;
  }

  .header-image {
    padding: 10px;
    text-align: center;
  }

  .header-image img {
    max-width: 100%;
    width: 400px;
  }

  .header-nav {
    width: 100%;
    height: auto;
    background: var(--umvc-tan);
    padding: 15px;
  }

  .header-nav ul {
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
  }

  .header-nav li {
    margin: 0;
  }

  .login-links {
    text-align: center;
    padding: 15px;
  }

  #content {
    padding: 20px;
  }

  .sidebar-panel {
    padding-right: 0;
    margin-bottom: 20px;
  }
}

/* Small screens (phones) */
@media (max-width: 767px) {
  body {
    font-size: 13px;
  }

  .header-image {
    padding: 10px;
  }

  .header-image img {
    width: 100%;
    max-width: 300px;
  }

  .header-nav {
    padding: 10px;
  }

  .header-nav ul {
    gap: 10px;
  }

  .header-nav a {
    font-size: 13px;
  }

  .login-links {
    padding: 10px;
    font-size: 11px;
  }

  .user-links {
    margin-top: 5px;
  }

  #content {
    padding: 15px 10px;
  }

  .content-panel {
    padding: 15px;
  }

  h1 {
    font-size: 1.5em;
  }

  h2 {
    font-size: 1.25em;
  }

  /* Tables */
  .table-responsive {
    font-size: 0.85em;
  }

  .image-col {
    width: 60px;
  }

  .image-col img {
    max-width: 50px;
  }

  /* Hide less important columns on mobile */
  .table .hide-mobile {
    display: none;
  }

  /* Footer */
  #footer {
    padding: 15px 10px;
  }

  .footer-nav {
    font-size: 12px;
  }

  .footer-nav a {
    display: inline-block;
    margin: 3px 5px;
  }

  /* Forms */
  .form-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .form-actions .btn {
    width: 100%;
  }

  /* Gallery */
  .gallery-image {
    padding: 5px;
  }

  /* Vehicle actions */
  .vehicle-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .vehicle-actions .btn {
    flex: 1 1 auto;
    min-width: 120px;
  }
}

/* Extra small screens */
@media (max-width: 480px) {
  .header-nav ul {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }

  .row {
    margin-left: 0;
    margin-right: 0;
  }

  .col-md-4, .col-md-6, .col-md-8 {
    padding-left: 5px;
    padding-right: 5px;
  }
}

/* Print styles */
@media print {
  body {
    background: none;
  }

  .site-container {
    background: none;
    max-width: 100%;
  }

  #header,
  #footer,
  .admin-links,
  .btn,
  .form-actions {
    display: none;
  }

  #content {
    background: none;
    padding: 0;
  }

  .content-panel {
    background: none;
    border: 1px solid #ccc;
  }
}
