/*
Theme Name: 247444 Mortgage News
Theme URI: https://247444.xyz/
Author: 247444 Mortgage News
Description: A clean, data-led mortgage news publication theme for US first-time buyers. Rates first, lead story second, latest news third. Deep navy, white, warm grey, one teal accent and one dusk amber accent. Sans-serif for navigation and body, restrained editorial serif for major headlines.
Version: 1.1.4
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: 247444-mortgage-news-v3
Tags: blog, news, custom-colors, custom-menu, featured-images, full-site-editing
*/

/* Base */
body { background: #ffffff; color: #1a2332; }
a { color: #0b6b5e; }
a:hover { color: #0a1e3c; }

/* Header wordmark, exactly as in the approved mockup */
.sfn247-header { background: #ffffff; border-top: 4px solid #0e9a8b; border-bottom: 1px solid #e6e9ee; }
.sfn247-wordmark b { color: #0e9a8b; font-weight: 700; }
.sfn247-wordmark { font-family: Georgia, "Times New Roman", serif; font-weight: 700; line-height: 0.95; letter-spacing: -0.02em; color: #0a1e3c; }
.sfn247-wordmark span { display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 0.32em; font-weight: 600; letter-spacing: 0.32em; color: #0a1e3c; margin-top: 4px; }

/* Benchmark rate strip: cards stay side by side even on narrow phones */
.sfn247-rates { background: linear-gradient(180deg, #0a1e3c 0%, #0d2a52 100%); color: #ffffff; padding: 20px 0 24px; border-bottom: 3px solid #e8a34c; }
.sfn247-rates-head { flex-wrap: wrap; gap: 4px 16px; }
.sfn247-rates-label { font-size: 15px; font-weight: 700; }
.sfn247-rates-date { font-size: 13px; color: #c7d2e0; }
.sfn247-rates .wp-block-columns { flex-wrap: nowrap !important; gap: 12px; }
.sfn247-rates .wp-block-column { flex: 1 1 0; min-width: 0; }
.sfn247-rate-card { background: #ffffff; color: #0a1e3c; border-radius: 12px; border-left: 4px solid #0e9a8b; padding: 16px 18px; box-shadow: 0 2px 12px rgba(0,0,0,0.12); overflow-wrap: break-word; }
.sfn247-rate-card .sfn247-rate-label { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; color: #5b6b82; text-transform: uppercase; }
.sfn247-rate-card .sfn247-rate-value { font-family: Georgia, "Times New Roman", serif; font-size: 38px; font-weight: 700; line-height: 1.05; margin: 4px 0; white-space: nowrap; }
.sfn247-rate-card .sfn247-rate-move { display: inline-block; font-size: 14px; font-weight: 700; color: #0b6b5e; background: #e6f4f1; border-radius: 999px; padding: 4px 9px; line-height: 1.35; }

/* Category nav, compact, scrollable, never cut off */
.sfn247-catnav { border-bottom: 1px solid #e6e9ee; background: #ffffff; }
.sfn247-catnav nav { scrollbar-width: none; }
.sfn247-catnav nav::-webkit-scrollbar { display: none; }
.sfn247-catnav a { font-size: 15px; color: #5b6b82; text-decoration: none; padding: 16px 2px; flex-shrink: 0; }
.sfn247-catnav a.sfn247-active { color: #0a1e3c; font-weight: 700; border-bottom: 3px solid #0e9a8b; }

/* Header navigation: hamburger button stays small and navy */
.sfn247-header .wp-block-navigation__responsive-container-open { color: #0a1e3c; }
.sfn247-header .wp-block-navigation__responsive-container-open svg { width: 24px; height: 24px; }

/* Hero: mockup match, photo as background, dark gradient overlay on the left, text over the photo, teal category badge, white button */
.sfn247-hero { border-radius: 14px; overflow: hidden; position: relative; background: #0a1e3c; color: #ffffff; }
.sfn247-hero img { width: 100%; height: 480px; object-fit: cover; display: block; }
.sfn247-hero-text { position: absolute; inset: 0; width: 64%; background: linear-gradient(90deg, rgba(10,30,60,0.95) 0%, rgba(10,30,60,0.80) 55%, rgba(10,30,60,0) 100%); padding: 24px 20px; display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; }
.sfn247-spark { float: right; width: 64px; height: 20px; }
.sfn247-hero .wp-block-post-terms a { display: inline-block; background: #0b6b5e; color: #ffffff; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; padding: 6px 10px; border-radius: 6px; text-transform: uppercase; text-decoration: none; }
.sfn247-hero h1, .sfn247-hero h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 7vw, 40px); line-height: 1.1; letter-spacing: -0.01em; }
.sfn247-hero h1 a, .sfn247-hero h2 a { color: #ffffff; text-decoration: none; }
.sfn247-hero p { font-size: 16px; line-height: 1.5; color: #e8eef5; }
.sfn247-hero .wp-block-post-excerpt__more-link { display: inline-block; background: transparent; color: #ffffff; font-weight: 700; text-decoration: underline; padding: 0; margin-top: 12px; }

/* Latest news cards: fixed thumbnail, blue capital category, serif title, meta line */
.sfn247-section-title { font-family: Georgia, "Times New Roman", serif; font-size: 32px; line-height: 1.1; color: #0a1e3c; }
.sfn247-news-card { align-items: flex-start; }
.sfn247-news-card .wp-block-post-featured-image { flex-shrink: 0; width: 120px; }
.sfn247-news-card .wp-block-post-featured-image img { width: 120px; height: 90px; object-fit: cover; border-radius: 10px; }
.sfn247-news-card-text { min-width: 0; }
.sfn247-news-card .wp-block-post-terms a { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; color: #0b6b5e; text-transform: uppercase; text-decoration: none; }
.sfn247-news-card h3 { font-family: Georgia, "Times New Roman", serif; font-size: 20px; line-height: 1.25; color: #0a1e3c; margin: 4px 0; }
.sfn247-news-card h3 a { color: #0a1e3c; text-decoration: none; }
.sfn247-news-card .wp-block-shortcode { font-size: 13px; color: #5b6b82; }

/* No newsletter form exists in this theme, so no stretched input can occur.
   Any future form must use a single-line input: height auto, padding 12px 14px. */
input[type="email"], input[type="text"], input[type="search"] { max-width: 100%; box-sizing: border-box; }

/* Post pages: sentence case, controlled headline, no flat grey article background */
.single .wp-block-post-title, .page .wp-block-post-title { font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 7vw, 40px); line-height: 1.1; color: #0a1e3c; text-transform: none; }
.wp-block-post-content { font-size: 17px; line-height: 1.65; }
.wp-block-post-content h2 { font-family: Georgia, "Times New Roman", serif; color: #0a1e3c; }

/* Footer */
.sfn247-footer { background: #0a1e3c; color: #c7d2e0; padding: 32px 0; font-size: 14px; line-height: 1.6; }
.sfn247-footer a { color: #ffffff; }

/* Mobile: keep the rate cards side by side, hero text readable, no cut-off text */
@media (max-width: 600px) {
  .sfn247-rate-card { padding: 14px 12px; }
  .sfn247-rate-card .sfn247-rate-value { font-size: 32px; }
  .sfn247-rate-card .sfn247-rate-move { font-size: 13px; }
  .sfn247-section-title { font-size: 28px; }
  .sfn247-hero img { height: 480px; }
  .sfn247-hero-text { width: 72%; }
}
@media (min-width: 700px) {
  .sfn247-hero img { height: 520px; }
  .sfn247-hero-text { width: 58%; }
}

/* V3 colour: warm section, coloured badges, teal underline, dusk empty states */
.sfn247-latest-wrap { background: #f7f3ee; border-radius: 14px; padding: 20px 16px; margin-top: 20px; }
.sfn247-section-title { display: inline-block; padding-bottom: 8px; border-bottom: 3px solid #0e9a8b; }
.sfn247-news-card { background: #ffffff; border-radius: 12px; box-shadow: 0 1px 6px rgba(10,30,60,0.06); }
.sfn247-news-card .wp-block-post-terms a { background: #eaf4f1; color: #0b6b5e; padding: 3px 8px; border-radius: 999px; }
.sfn247-empty-hero { background: linear-gradient(115deg, #0a1e3c 0%, #14455e 45%, #2a6f6a 70%, #e8a34c 135%); border-radius: 14px; color: #ffffff; padding: 28px 20px; }
.sfn247-empty-hero h1, .sfn247-empty-hero h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 7vw, 40px); line-height: 1.1; color: #ffffff; margin: 12px 0; }
.sfn247-empty-hero p { color: #e8eef5; font-size: 16px; line-height: 1.5; }
.sfn247-empty-hero a { display: inline-block; background: #ffffff; color: #0a1e3c; font-weight: 700; border-radius: 8px; padding: 12px 18px; text-decoration: none; margin-top: 12px; }
.sfn247-empty-hero .sfn247-hero-badge { display: inline-block; background: #0b6b5e; color: #ffffff; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; padding: 6px 10px; border-radius: 6px; text-transform: uppercase; }
.sfn247-empty-latest { background: #ffffff; border: 1px dashed #e8a34c; border-radius: 12px; padding: 20px; font-size: 16px; line-height: 1.6; }
.sfn247-footer { border-top: 4px solid #0e9a8b; }

/* Audit fixes: post content links underlined for accessibility, header tagline, rate card prior week line */
.wp-block-post-content a { text-decoration: underline; }
.sfn247-header-tagline { font-size: 13px; color: #5b6b82; margin-top: 6px; }
.sfn247-rate-prior { font-size: 13px; color: #5b6b82; margin-top: 6px; }
.sfn247-rates-source { font-size: 13px; color: #c7d2e0; margin-top: 12px; }
.sfn247-cta { text-align: center; padding: 16px; }
.sfn247-cta a { display: inline-block; background: #0b6b5e; color: #ffffff; font-weight: 700; border-radius: 8px; padding: 14px 22px; text-decoration: none; min-height: 44px; box-sizing: border-box; }

/* Audit loop 1.1.4: tap targets and link accent unity, no em dash in this file. */
.sfn247-header a[aria-label="Search"] { padding: 12px; }
.sfn247-footer a { padding: 12px 4px; display: inline-block; }
