/* Base Styles — Global resets, typography, spacing, layout containers */

html {
  font-family: var(--hp-font-family);
  color: var(--hp-copy);
  font-size: 16px;
  line-height: 1.5;
}

body {
  color: var(--hp-copy);
  background: var(--hp-paper);
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

p {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Footer Styling */
.site-footer-wrap {
  margin-top: 2rem;
}

.site-footer .site-container {
  max-width: 1240px;
  padding-left: 1.2rem;
  padding-right: 1.2rem;
}

.footer-html,
.footer-html-inner,
.footer-html-inner p,
.site-info,
.site-info-inner {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
}

.footer-html-inner a {
  color: #991b1b;
  font-weight: 700;
  text-decoration: none;
}

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

/* Content Area & Main Wrappers */
body.single-post .content-area,
body.page .content-area,
body.archive .content-area,
body.blog .content-area {
  margin-top: 1rem;
  margin-bottom: 3rem;
}

body.single-post.content-width-narrow .content-container.site-container,
body.single-post.content-width-narrow .hero-container.site-container,
body.page.content-width-narrow .content-container.site-container,
body.page.content-width-narrow .hero-container.site-container,
body.archive.content-width-narrow .content-container.site-container,
body.archive.content-width-narrow .hero-container.site-container {
  max-width: 1280px !important;
}

body.single-post .site-container,
body.page .site-container,
body.archive .site-container {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

/* Hero & Content Background */
body.single-post .hero-section,
body.page .hero-section,
body.archive .hero-section,
body.single-post .content-bg:not(.single-entry),
body.page .content-bg:not(.single-entry),
body.archive .content-bg:not(.single-entry) {
  background: var(--hp-shell) !important;
}

/* Post Thumbnail (Featured Image) */
body.single-post .post-thumbnail.article-post-thumbnail {
  max-width: 1220px !important;
  margin: 0 auto 1.2rem !important;
}

body.single-post .post-thumbnail-inner {
  display: flex;
  justify-content: center;
  background: linear-gradient(135deg, rgba(193, 18, 31, 0.1), rgba(15, 23, 42, 0.03)), #fff;
  border-radius: 36px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.14);
}

body.single-post .post-thumbnail-inner img {
  width: 100%;
  max-height: min(68vh, 760px);
  object-fit: cover;
  object-position: center center;
  background: #fff;
  box-shadow: none;
}

/* Entry Content Container (Post/Page/Archive) */
body.single-post .entry.content-bg.single-entry,
body.page .entry.content-bg,
body.archive .archive-description,
body.archive .entry-archive {
  position: relative;
  max-width: 1220px !important;
  width: 100% !important;
  border-radius: 34px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: radial-gradient(circle at top right, rgba(193, 18, 31, 0.12), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985) 0%, rgba(248, 251, 255, 0.985) 100%);
  box-shadow: 0 30px 90px rgba(15, 23, 42, 0.15);
  overflow: hidden;
}

body.single-post .entry.content-bg.single-entry {
  margin: -4.5rem auto 0 !important;
}

body.page .entry.content-bg,
body.archive .archive-description {
  margin: 0 auto 1.5rem !important;
}

body.single-post .entry-content-wrap,
body.page .entry-content-wrap {
  padding: 2.35rem 2.55rem 2.65rem !important;
}

/* Responsive: Tablet */
@media (max-width: 1024px) {
  body.single-post .entry.content-bg.single-entry {
    margin-top: -2rem !important;
  }
}

/* Responsive: Mobile */
@media (max-width: 767px) {
  .site-footer .site-container {
    max-width: 100%;
  }

  body.single-post .entry.content-bg.single-entry,
  body.page .entry.content-bg,
  body.archive .archive-description {
    margin-top: -1rem !important;
    border-radius: 22px;
  }

  body.single-post .entry-content-wrap,
  body.page .entry-content-wrap {
    padding: 1.45rem !important;
  }
}
