/* =========================================================================
   Asian Star Travel — Template Overrides (non-commerce public templates)
   About / generic pages, blog archive + single, search, 404 and the shared
   editorial content rhythm. WooCommerce lives in ast-woocommerce.css.

   SCOPE: body.ast-site only. Content, URLs and SEO markup are untouched —
   presentation only.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. Shared editorial content rhythm
   ---------------------------------------------------------------------- */
body.ast-site .entry-content { line-height: 1.75; font-size: 16.5px; }
body.ast-site .entry-content > p { margin-bottom: 1.15em; }
body.ast-site .entry-content h2 { font-size: clamp(26px, 3vw, 36px); margin: 1.4em 0 .5em; }
body.ast-site .entry-content h3 {
	font-family: var(--ast-display);
	font-weight: 600;
	color: var(--ast-navy);
	font-size: clamp(22px, 2.4vw, 28px);
	margin: 1.3em 0 .45em;
}
body.ast-site .entry-content h4 { font-weight: 600; color: var(--ast-navy); }
body.ast-site .entry-content img { border-radius: var(--ast-radius-sm); }
body.ast-site .entry-content blockquote {
	border-left: 3px solid var(--ast-gold);
	background: var(--ast-cream);
	padding: 18px 22px;
	border-radius: 0 12px 12px 0;
	font-family: var(--ast-display);
	font-style: italic;
	font-size: 1.15em;
	color: var(--ast-navy);
}
body.ast-site .entry-content hr,
body.ast-site .is-divider { background-color: var(--ast-hair); }

/* -------------------------------------------------------------------------
   2. Blog archive — premium editorial cards
   ---------------------------------------------------------------------- */
body.ast-site .blog-archive .post-item .box-blog-post {
	background: #fff;
	border: 1px solid var(--ast-hair);
	border-radius: var(--ast-radius);
	overflow: hidden;
	box-shadow: var(--ast-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
	height: 100%;
}
body.ast-site .blog-archive .post-item .box-blog-post:hover {
	transform: translateY(-4px);
	box-shadow: var(--ast-shadow-md);
	border-color: rgba(212, 175, 55, .5);
}
body.ast-site .blog-archive .post-item .box-image { margin: 0; }
body.ast-site .blog-archive .post-item .box-image img { transition: transform .5s ease; }
body.ast-site .blog-archive .post-item .box-blog-post:hover .box-image img { transform: scale(1.05); }
body.ast-site .blog-archive .post-item .box-text { padding: 22px 22px 26px; }
body.ast-site .blog-archive .post-item .post-title {
	font-family: var(--ast-display);
	font-weight: 600;
	font-size: 22px;
	line-height: 1.2;
	margin: 0 0 10px;
}
body.ast-site .blog-archive .post-item .post-title a { color: var(--ast-navy); }
body.ast-site .blog-archive .post-item .post-title a:hover { color: var(--ast-gold-ink); }
body.ast-site .blog-archive .post-item .is-divider { max-width: 40px; height: 2px; background-color: var(--ast-gold); margin: 0 auto 12px; }
body.ast-site .blog-archive .post-item .from_the_blog_excerpt { color: var(--ast-body); font-size: 14.5px; line-height: 1.65; }
body.ast-site .blog-archive .post-item .badge .badge-inner {
	background: var(--ast-gold); color: var(--ast-navy-deep);
	font-family: var(--ast-sans); font-weight: 600;
}

/* -------------------------------------------------------------------------
   3. Blog single — readable editorial article
   ---------------------------------------------------------------------- */
body.ast-site .blog-single .entry-title {
	font-family: var(--ast-display);
	font-weight: 700;
	color: var(--ast-navy);
	font-size: clamp(30px, 4.4vw, 50px);
	line-height: 1.1;
	margin: 0 0 14px;
}
body.ast-site .blog-single .entry-meta {
	color: var(--ast-body);
	letter-spacing: .06em;
}
body.ast-site .blog-single .entry-meta a { color: var(--ast-gold-ink); }
body.ast-site .blog-single .entry-content.single-page { font-size: 17px; }
/* Keep long-form reading measure comfortable. */
body.ast-site .blog-single .entry-content.single-page > p,
body.ast-site .blog-single .entry-content.single-page > h2,
body.ast-site .blog-single .entry-content.single-page > h3,
body.ast-site .blog-single .entry-content.single-page > ul,
body.ast-site .blog-single .entry-content.single-page > ol,
body.ast-site .blog-single .entry-content.single-page > blockquote {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
body.ast-site .entry-author.author-box {
	background: var(--ast-cream);
	border: 1px solid var(--ast-hair);
	border-radius: var(--ast-radius);
	padding: 24px 26px;
}
body.ast-site .entry-author.author-box .author-name,
body.ast-site .entry-author.author-box strong { color: var(--ast-navy); }
/* Related posts / next-prev tint. */
body.ast-site .related-posts .post-title a:hover,
body.ast-site .nav-dropdown-default a:hover { color: var(--ast-gold-ink); }

/* -------------------------------------------------------------------------
   4. Generic page content max-width + section headings
   Applies to plain (non-UX-Builder) pages; UX-Builder full-bleed rows keep
   their own layout because they set their own widths.
   ---------------------------------------------------------------------- */
body.ast-site .page-wrapper.blog-single .entry-header { text-align: center; margin-bottom: 30px; }
body.ast-site .section-title-container .section-title span,
body.ast-site .section-title b { background: transparent; }
body.ast-site .section-title-normal { color: var(--ast-navy); font-family: var(--ast-display); }

/* -------------------------------------------------------------------------
   5. Search results / 404 / empty states — lightweight & on-brand
   ---------------------------------------------------------------------- */
body.ast-site .page-404 .title,
body.ast-site .page-404 h1 { font-family: var(--ast-display); color: var(--ast-navy); }
body.ast-site .search-page .entry-title,
body.ast-site .content-none .entry-title { font-family: var(--ast-display); color: var(--ast-navy); }
body.ast-site .no-results,
body.ast-site .content-none {
	background: var(--ast-cream);
	border: 1px solid var(--ast-hair);
	border-radius: var(--ast-radius);
	padding: clamp(28px, 4vw, 48px);
}
body.ast-site .no-results .search-form input[type="submit"],
body.ast-site .no-results .button {
	background: var(--ast-navy);
	color: #fff;
	border-radius: 999px;
}

/* -------------------------------------------------------------------------
   6. Contact page surround (CF7 module keeps its own form styling)
   Only harmonises the surrounding band; never touches mail logic or fields.
   ---------------------------------------------------------------------- */
body.ast-site .page-id-222 .entry-content h1,
body.ast-site .page-id-222 .entry-content h2 { color: var(--ast-navy); }

/* -------------------------------------------------------------------------
   7. Pagination — refined pills
   ---------------------------------------------------------------------- */
body.ast-site .page-numbers li a,
body.ast-site .page-numbers li > span {
	border-radius: 10px;
	border-color: var(--ast-hair);
	color: var(--ast-navy);
	font-weight: 600;
}
body.ast-site .page-numbers li a:hover { background: var(--ast-cream); border-color: var(--ast-gold); color: var(--ast-gold-ink); }
body.ast-site .page-numbers li .current,
body.ast-site .page-numbers li span.current {
	background: var(--ast-navy);
	border-color: var(--ast-navy);
	color: #fff;
}

/* -------------------------------------------------------------------------
   8. Responsive
   ---------------------------------------------------------------------- */
@media (max-width: 549px) {
	body.ast-site .blog-archive .post-item .post-title { font-size: 20px; }
	body.ast-site .entry-content { font-size: 16px; }
}
