/*
Theme Name: HappiTravel Blog
Template: twentytwentyfive
Description: HappiTravel branded child theme for blog.happitravel.com. Overrides typography, color palette, header, and footer with HappiTravel branding. Brand reference: docs/HAPPITRAVEL_BRAND.md in the happitravel repo.
Version: 1.0
Author: HappiTravel
Text Domain: happitravel-blog
*/

/* ─── Typography ─────────────────────────────────────────────────────────── */
body,
p,
.wp-block-post-content,
.wp-block-navigation,
.wp-block-post-excerpt,
.wp-block-post-date {
  font-family: 'Open Sans', system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.75;
  color: #1d2939;
}

h1, h2, h3, h4, h5, h6,
.wp-block-post-title,
.wp-block-site-title,
.wp-block-heading {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  line-height: 1.25;
}

h1, .wp-block-post-title { color: #1d2939; font-weight: 800; }
h2 { color: #163750; }

/* ─── Links ──────────────────────────────────────────────────────────────── */
a,
.wp-block-post-content a {
  color: #F39228;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.15s ease;
}
a:hover,
.wp-block-post-content a:hover {
  color: #d97d1a;
}

/* Category / term label links */
.wp-block-post-terms a,
.wp-block-categories a {
  color: #F39228;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 12px;
  font-weight: 600;
}

/* ─── Content width ──────────────────────────────────────────────────────── */
.wp-block-post-content,
.wp-block-post-content > .alignwide {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

/* Centering: belt-and-suspenders for FSE constrained-layout children so the article column never drifts left on narrower viewports */
.wp-site-blocks .entry-content,
.wp-block-post-content,
.wp-block-group.is-layout-constrained > *,
.is-layout-constrained > * {
  margin-left: auto;
  margin-right: auto;
}

/* Left-align body copy — override any upstream text-align: justify from parent theme or Gutenberg block styles */
p, li, blockquote {
  text-align: left;
}

/* Featured image matches content column width */
.wp-block-post-featured-image,
.wp-block-post-featured-image img {
  max-width: 860px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}

.wp-block-post-content {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.wp-block-template-part + * {
  margin-top: 0 !important;
}

/* Kill excess whitespace after the article */
.wp-block-group.alignfull {
  padding-top: 40px !important;
  padding-bottom: 20px !important;
}

.wp-site-blocks > main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove the MORE POSTS gap */
.wp-block-query,
.wp-block-pattern-more-posts {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ─── Custom header elements (from parts/header.html) ────────────────────── */
.ht-header-logo,
.ht-header-logo:hover { text-decoration: none; }
.ht-header-logo img { display: block; height: auto; }

.ht-header-back {
  color: #F39228;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  white-space: nowrap;
}
.ht-header-back:hover { color: #d97d1a; }

/* Hide parent theme's site-title block if it leaks through — we use the logo instead */
.wp-block-site-title { display: none; }

/* ─── Footer (from parts/footer.html) ────────────────────────────────────── */
footer.wp-block-group.has-contrast-background-color a {
  color: #F39228;
}
footer.wp-block-group.has-contrast-background-color img {
  display: block;
  margin: 0 auto 12px;
  height: auto;
}
