.c-tags {
  padding: 2em 0;
  text-align: center;
}

.c-tags .c-tag {
  display: inline-block;
}

.c-hero {
  background-color: #14201e;
}

.c-hero__description,
.c-hero__description h1,
.c-hero__description h2,
.c-hero__description h3,
.c-hero__description p {
  color: #ffffff;
}

.c-archive {
  background-color: #0d2c28;
  color: #ffffff;
}

.c-archive__title,
.c-archive__description {
  color: #ffffff;
}

.c-archive {
  padding: 32px 0 32px;
}

@media (min-width: 40em) {
  .c-archive {
    padding: 50px 0 50px;
  }
}

.c-nav__link {
  color: #ffffff;
}

.c-nav__link:hover,
.c-nav__link:focus {
  color: #f2f7f5;
}

.js-header {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  transform: none !important;
  background-color: #14201e !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  will-change: auto !important;
}

.js-header--unpinned,
.js-header--pinned {
  transform: none !important;
}

.c-post-hero {
  background-color: #14201e;
  color: #ffffff;
  margin-bottom: 0 !important;
}

.c-post-header__title,
.c-post-byline,
.c-post-byline__author,
.c-post-byline__date {
  color: #ffffff;
}

.c-post-hero__content,
.c-post-hero__content p {
  color: #ffffff;
}

.c-post-header__tagline {
  margin-top: 0.75rem;
  color: #f2f7f5;
  font-size: 18px;
  line-height: 1.6;
}

.c-post-hero {
  padding: 32px 0 48px;
}

@media (min-width: 40em) {
  .c-post-hero {
    padding: 60px 0 96px;
  }
}

.c-footer {
  background-color: #060a09;
  color: #ffffff;
  margin-top: 0 !important;
}

.c-footer a,
.c-footer__copyright,
.c-footer-nav li,
.c-footer-nav a,
.c-social-icons__item,
.c-social-icons__icon,
.c-footer .c-social-icons__icon,
.c-footer .c-social-icons__icon span {
  color: #ffffff;
}

.c-footer a:hover,
.c-footer a:focus {
  color: #f2f7f5;
}

@media (min-width: 1024px) {
  .c-loop .c-post-card-wrap {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
    width: 33.3333%;
  }
}

.c-content h2 {
  font-size: 25px;
  line-height: 40px;
}

.c-content h3 {
  font-size: 18px;
  line-height: 26px;
}

.c-content h1:first-child {
  margin-bottom: 0.5em;
}

/* Body copy and common blocks inside content */
.c-content dl,
.c-content fieldset,
.c-content form,
.c-content ol,
.c-content p,
.c-content pre,
.c-content ul {
  font-size: 17px;
  line-height: 30px;
  font-family: Georgia, serif;
}

.c-post-card__title {
  font-size: 13px;
  line-height: 20px;
}

.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.75rem;
  border-radius: 999px;
  background-color: var(--color-dark);
  color: var(--color-white);
  border: 2px solid var(--color-dark);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.c-btn:hover,
.c-btn:focus {
  background-color: var(--color-accent, #0071e3);
  border-color: var(--color-accent, #0071e3);
  color: var(--color-white);
  box-shadow: 0 10px 24px rgba(28, 32, 60, 0.2);
}

.c-btn--full {
  background-color: #14201e;
  border-color: #14201e;
  color: #ffffff;
}

.c-btn--full:hover,
.c-btn--full:focus {
  background-color: #56B7C3;
  border-color: #56B7C3;
  color: #ffffff;
}

.c-btn--book {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #14201e;
}

.c-btn--book:hover,
.c-btn--book:focus {
  background-color: #f2f7f5;
  border-color: #f2f7f5;
  color: #14201e;
  box-shadow: 0 10px 24px rgba(28, 32, 60, 0.2);
}

.c-btn:active {
  transform: translateY(1px);
}

.c-btn:focus-visible {
  outline: 3px solid rgba(0, 113, 227, 0.35);
  outline-offset: 3px;
}

.page-about .c-content {
  border: 1px solid #ccc;
  padding: 40px;
  background: #f9f9f9;
  margin: 4em;
}

/* Mobile: adjust About content margins */
@media (max-width: 39.99em) {
  .page-about .c-content {
    margin: 1em -0.5em;
    padding: 1em;
  }
}

/* Contact page-only link color override */
.page-contact .c-content a {
  color: #ffffff;
}

/* Contact page spacing utility */
.page-contact .u-mt-32 {
  margin-top: 32px;
}

/* Global section spacing */
.c-section {
  margin: 2em 0;
}

/* Add extra vertical padding to sections on non-mobile */
@media (min-width: 40em) {
  .c-section {
    padding-top: 3em;
    padding-bottom: 3em;
  }
}

/* Site container background and main background */
.c-site-container {
  background: #060A09;
}

main {
  display: block;
  background: white;
}

/* Nav toggle icon color override */
.c-nav-toggle__icon,
.c-nav-toggle__icon::before,
.c-nav-toggle__icon::after {
  background-color: #ffffff;
}

/* Add bottom spacing to Load More button */
.c-btn--load-more {
  margin-bottom: 4em;
}

/* Match spacing for Back to start button */
.c-btn--back-start {
  margin-bottom: 4em;
}

/* Remove bottom padding from hero pseudo-element */
.c-post-hero::before,
.c-post-hero:before {
  padding-bottom: 0 !important;
}

/* Nav toggle close state color override */
.c-nav-toggle--close .c-nav-toggle__icon::before,
.c-nav-toggle--close .c-nav-toggle__icon::after {
  background-color: #ffffff;
}

/* Mobile hero padding */
@media (max-width: 39.99em) {
  .c-hero {
    padding: 50px 0 50px;
  }
}

/* Mobile footer spacing and alignment */
@media (max-width: 39.99em) {
  .c-footer {
    text-align: center;
    padding: 20px 0 30px 0;
    margin-top: 0 !important;
  }
}

/* Remove top margin from footer children that use spacing utilities */
.c-footer .u-mt-16 { margin-top: 0 !important; }

/* Mobile-only nav wrap background */
@media (max-width: 39.99em) {
  .c-nav-wrap {
    background-color: #060A09;
  }
}

/* Contact page: add spacing around the sidebar aside */
.page-contact aside {
  margin-top: 3em;
  margin-bottom: 3em;
}
