/**
 * Caversham House brand accent — wine maroon (site-wide).
 * Replaces former Tailwind red-* brand utilities.
 */
.text-ch-maroon {
  color: #a84252;
}
.hover\:text-ch-maroon:hover {
  color: #a84252;
}
.hover\:text-ch-maroon-d:hover {
  color: #97424d;
}
.bg-ch-maroon {
  background-color: #a84252;
}
.hover\:bg-ch-maroon-d:hover {
  background-color: #97424d;
}
.hover\:bg-ch-maroon-50:hover {
  background-color: #fefafb;
}
.bg-ch-maroon-200 {
  background-color: #f5dce1;
}
.bg-ch-maroon-100 {
  background-color: #fceef1;
}
.bg-ch-maroon-50 {
  background-color: #fefafb;
}
.bg-ch-maroon-700 {
  background-color: #97424d;
}
.bg-ch-maroon-800 {
  background-color: #7f3343;
}
.hover\:bg-ch-maroon-800:hover {
  background-color: #7f3343;
}
.text-ch-maroon-200 {
  color: #f5dce1;
}
.text-ch-maroon-100 {
  color: #fceef1;
}
.text-ch-maroon-400 {
  color: #d1667a;
}
.border-ch-maroon-400 {
  border-color: #d1667a;
}
.border-ch-maroon-800 {
  border-color: #7f3343;
}
.focus\:border-ch-maroon-400:focus {
  border-color: #d1667a;
}
.bg-ch-maroon-gradient {
  background-image: linear-gradient(to right, #fefafb, #fceef1);
}
.text-ch-maroon-800 {
  color: #704853;
}
.text-ch-maroon-900 {
  color: #53363d;
}
.text-ch-maroon-700 {
  color: #8a3d49;
}
.text-ch-maroon-500 {
  color: #d1667a;
}
.border-ch-maroon-100 {
  border-color: #f7dfe4;
}
.border-ch-maroon-200 {
  border-color: #f2d0d6;
}
.border-ch-maroon-300 {
  border-color: #e8b8c2;
}
.border-ch-maroon-500 {
  border-color: #d1667a;
}
.border-ch-maroon-600 {
  border-color: #a84252;
}
.hover\:border-ch-maroon-200:hover {
  border-color: #f2d0d6;
}
.hover\:border-ch-maroon-300:hover {
  border-color: #e8b8c2;
}
.hover\:border-ch-maroon-600:hover {
  border-color: #a84252;
}
.focus\:border-ch-maroon:focus {
  border-color: #a84252;
}
.focus\:ring-ch-maroon:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(168, 66, 82, 0.38);
}
.focus\:ring-2.focus\:ring-offset-2.focus\:ring-ch-maroon:focus {
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(168, 66, 82, 0.55);
}
.group:hover .group-hover\:border-ch-maroon-200 {
  border-color: #f2d0d6;
}
.group:hover .group-hover\:bg-ch-maroon-50 {
  background-color: #fefafb;
}
.group:hover .group-hover\:text-ch-maroon {
  color: #a84252;
}

/* Responsive navigation: compact inline links on tablets/laptops, flexible spacing */
nav .flex.justify-between.h-16 {
  gap: 0.5rem;
}

nav .flex.justify-between.h-16 > .flex.items-center:first-child {
  min-width: 0;
  flex-shrink: 0;
}

nav .flex.justify-between.h-16 > .flex.items-center:first-child a,
nav .flex.justify-between.h-16 > .flex.items-center:first-child > span {
  min-width: 0;
}

nav .site-nav-links {
  flex: 1 1 auto;
  min-width: 0;
  justify-content: space-between;
}

nav .site-nav-links a,
nav .site-nav-links button {
  white-space: nowrap;
}

nav .site-nav-links a.bg-ch-maroon,
nav .site-nav-links a.bg-red-600 {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1.25rem;
}

@media (min-width: 768px) {
  nav .flex.justify-between.h-16 {
    justify-content: flex-start;
    gap: 0;
  }

  nav .site-nav-links {
    margin-left: 1rem;
  }

  nav .site-nav-links a,
  nav .site-nav-links button {
    font-size: 0.75rem;
    line-height: 1.25rem;
  }

  nav .site-nav-links button svg {
    width: 0.75rem;
    height: 0.75rem;
    margin-left: 0.125rem;
  }

  nav .text-2xl.font-semibold.flex.items-center {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  nav .text-2xl.font-semibold.flex.items-center img {
    height: 2.25rem;
    width: auto;
  }
}

@media (min-width: 1024px) {
  nav .site-nav-links {
    margin-left: 1.5rem;
  }

  nav .site-nav-links a,
  nav .site-nav-links button {
    font-size: 0.8125rem;
    line-height: 1.25rem;
  }

  nav .site-nav-links a.bg-ch-maroon,
  nav .site-nav-links a.bg-red-600 {
    padding: 0.375rem 0.625rem;
    font-size: 0.8125rem;
  }
}

@media (min-width: 1280px) {
  nav .site-nav-links {
    margin-left: 2rem;
  }

  nav .site-nav-links a,
  nav .site-nav-links button {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  nav .site-nav-links a.bg-ch-maroon,
  nav .site-nav-links a.bg-red-600 {
    padding: 0.5rem 1rem;
    font-size: 1rem;
  }

  nav .site-nav-links button svg {
    width: 1rem;
    height: 1rem;
    margin-left: 0.25rem;
  }

  nav .text-2xl.font-semibold.flex.items-center {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  nav .text-2xl.font-semibold.flex.items-center img {
    height: 2.5rem;
    width: auto;
  }
}

@media (max-width: 767px) {
  nav .text-2xl.font-semibold.flex.items-center {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  nav .text-2xl.font-semibold.flex.items-center img {
    height: 2rem;
    width: auto;
  }
}
