/*
Theme Name:  Jupiter Child — TTCG
Theme URI:   https://texastaxconsultinggroup.com
Description: Child theme for Jupiter 6. All Texas Tax Consulting Group customizations live here so the parent Jupiter theme is never edited directly and can be safely updated.
Author:      Texas Tax Consulting Group
Template:    jupiter
Version:     1.8.0
Text Domain: jupiter-child
*/

/* ------------------------------------------------------------------
   TTCG custom styles go below this line.
   Anything added here loads AFTER Jupiter's own styles,
   so these rules win when they conflict.
   ------------------------------------------------------------------ */

/* ==================================================================
   Sitewide brand: slab-serif headings (Bitter) — the landing pages'
   authority typography, applied to the whole site.
   ================================================================== */
h1, h2, h3,
.mk-page-title .page-title {
	font-family: 'Bitter', Georgia, serif !important;
}

#mk-footer { background: #1f3a5f !important; padding: 0 !important; }
#mk-footer .mk-padding-wrapper { padding: 0 !important; }

/* ==================================================================
   Sitewide footer (replaces Jupiter widget footer via child footer.php)
   ================================================================== */
.ttcg-footer { background: #1f3a5f; }
.ttcg-footer-main {
	max-width: 1080px; margin: 0 auto; padding: 40px 24px 32px;
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
}
.ttcg-footer-label {
	display: block; color: #c99a3c; font-size: 12px; letter-spacing: 1.5px;
	text-transform: uppercase; font-weight: 700; margin-bottom: 10px;
}
.ttcg-footer-col p { color: #e8edf5; font-size: 14.5px; line-height: 1.9; margin: 0; }
.ttcg-footer-col a { color: #e8edf5; text-decoration: none; }
.ttcg-footer-col a:hover { color: #c99a3c; }
.ttcg-footer-bar {
	background: #16304f; color: #8fa3c0; text-align: center;
	font-size: 12.5px; padding: 12px 24px;
}
@media (max-width: 760px) {
	.ttcg-footer-main { grid-template-columns: 1fr; gap: 22px; }
}

/* ==================================================================
   Header: bigger logo + bigger phone button
   ================================================================== */
img.mk-desktop-logo.light-logo {
	content: url('/wp-content/uploads/2017/11/logonew.png');
	width: 320px !important; height: auto !important; max-width: none !important;
	transform: translateY(-36%) !important;
}
img.mk-desktop-logo.dark-logo {
	width: 280px !important; height: auto !important; max-width: none !important;
}
li.ttcg-phone-cta { display: inline-flex !important; align-items: center; height: 100%; }
.main-navigation-ul li.ttcg-phone-cta > a,
li.ttcg-phone-cta > a {
	background: #b5362c !important; color: #fff !important;
	border-radius: 6px; padding: 0 20px !important;
	font-weight: 700 !important; line-height: 44px !important;
	font-size: 16.5px !important; letter-spacing: 0.5px;
	height: 44px !important; display: inline-block !important;
	box-sizing: border-box;
}
li.ttcg-phone-cta > a:hover { background: #93261e !important; }
li.ttcg-phone-cta > a::before, li.ttcg-phone-cta > a::after { display: none !important; }

/* ==================================================================
   Homepage hero + family section (reuses .ttcg-llc design system)
   ================================================================== */
.ttcg-llc.ttcg-home-hero .llc-hero {
	padding-top: 170px; padding-bottom: 64px;
	position: relative; overflow: hidden;
}
.ttcg-llc.ttcg-home-hero .llc-hero::before {
	content: ""; position: absolute; top: 40px; right: -140px;
	width: 560px; height: 560px; pointer-events: none;
	background: url('assets/ttcg-star.png') no-repeat center / contain;
	opacity: 0.07;
}
.ttcg-llc.ttcg-home-hero .llc-hero::after {
	content: ""; position: absolute; bottom: -60px; left: -110px;
	width: 380px; height: 380px; pointer-events: none;
	background: url('assets/ttcg-star.png') no-repeat center / contain;
	transform: scaleX(-1) rotate(12deg);
	opacity: 0.05;
	animation: ttcgDrift 26s ease-in-out infinite alternate;
}
.ttcg-llc.ttcg-home-hero .llc-hero::before {
	animation: ttcgDrift 34s ease-in-out infinite alternate-reverse;
}
.ttcg-llc.ttcg-home-hero .llc-inner::after {
	content: ""; position: absolute; top: -70px; left: 4%;
	width: 110px; height: 110px; pointer-events: none;
	background: url('assets/ttcg-star.png') no-repeat center / contain;
	transform: rotate(-18deg);
	opacity: 0.05;
	animation: ttcgDrift 20s ease-in-out infinite alternate;
}
@keyframes ttcgDrift {
	from { margin-top: 0; }
	to   { margin-top: -22px; }
}
.ttcg-llc .llc-pathrow {
	display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
	justify-content: center; margin: 6px 0 0; font-size: 14.5px;
}
.ttcg-llc .llc-pathrow > span { color: #7a8699; font-weight: 700; }
.ttcg-llc .llc-pathrow a {
	display: inline-block; padding: 7px 14px; border: 1.5px solid #d7dee8;
	border-radius: 999px; color: #1f3a5f !important; text-decoration: none;
	font-weight: 600; transition: border-color 0.15s ease, background 0.15s ease;
}
.ttcg-llc .llc-pathrow a:hover { border-color: #c99a3c; background: #fdfaf3; }
.ttcg-llc.ttcg-home-hero .llc-pathrow { animation: ttcgRise 0.5s ease-out 0.28s both; }
@media (prefers-reduced-motion: reduce) { .ttcg-llc.ttcg-home-hero .llc-pathrow { animation: none; } }

.ttcg-llc .llc-monogram {
	display: block; font-family: 'Bitter', Georgia, serif; font-weight: 700;
	font-size: 68px; letter-spacing: 20px; text-indent: 20px;
	color: #1f3a5f; text-shadow: 4px 4px 0 #c99a3c;
	margin: 2px 0 14px; line-height: 1.1;
}
@media (max-width: 700px) {
	.ttcg-llc .llc-monogram { font-size: 44px; letter-spacing: 12px; text-indent: 12px; }
}
.ttcg-llc.ttcg-home-hero .llc-monogram { animation: ttcgRise 0.5s ease-out 0.05s both; }
.ttcg-llc.ttcg-home-hero .llc-hero .llc-inner { position: relative; }
@keyframes ttcgRise {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: translateY(0); }
}
.ttcg-llc .llc-company {
	display: block; font-family: 'Bitter', Georgia, serif; font-weight: 700;
	font-size: 24px; letter-spacing: 2px; text-transform: uppercase;
	color: #1f3a5f; margin-bottom: 14px;
}
.ttcg-llc .llc-company::before { content: "\2605  "; color: #c99a3c; }
.ttcg-llc.ttcg-home-hero .llc-company { animation: ttcgRise 0.5s ease-out both; }
.ttcg-llc.ttcg-home-hero .llc-eyebrow { animation: ttcgRise 0.5s ease-out both; }
.ttcg-llc.ttcg-home-hero h1 { animation: ttcgRise 0.5s ease-out 0.08s both; }
.ttcg-llc.ttcg-home-hero .llc-sub { animation: ttcgRise 0.5s ease-out 0.16s both; }
.ttcg-llc.ttcg-home-hero .llc-hero p:nth-of-type(2) { animation: ttcgRise 0.5s ease-out 0.24s both; }
.ttcg-llc.ttcg-home-hero .llc-trust { animation: ttcgRise 0.5s ease-out 0.32s both; }
@media (prefers-reduced-motion: reduce) {
	.ttcg-llc.ttcg-home-hero .llc-hero::before,
	.ttcg-llc.ttcg-home-hero .llc-hero::after,
	.ttcg-llc.ttcg-home-hero .llc-inner::after,
	.ttcg-llc.ttcg-home-hero .llc-monogram,
	.ttcg-llc.ttcg-home-hero .llc-eyebrow,
	.ttcg-llc.ttcg-home-hero h1,
	.ttcg-llc.ttcg-home-hero .llc-sub,
	.ttcg-llc.ttcg-home-hero .llc-hero p:nth-of-type(2),
	.ttcg-llc.ttcg-home-hero .llc-trust { animation: none; }
}
.ttcg-llc.ttcg-home-hero .llc-hero .llc-inner {
	display: block; max-width: 860px; text-align: center;
}
.ttcg-llc.ttcg-home-hero .llc-trust { justify-content: center; }
.ttcg-family { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 44px; align-items: center; max-width: 1080px; margin: 0 auto; }
.ttcg-photo-slot {
	border: 3px dashed #c99a3c; border-radius: 10px; background: #fdfaf3;
	aspect-ratio: 4 / 3; display: flex; flex-direction: column;
	align-items: center; justify-content: center; gap: 8px;
	color: #8a6d2f; text-align: center; padding: 20px;
}
.ttcg-photo-slot .ttcg-photo-star { font-size: 40px; color: #c99a3c; }
.ttcg-photo-slot strong { font-family: 'Bitter', Georgia, serif; font-size: 18px; color: #1f3a5f; }
.ttcg-photo-slot span { font-size: 13.5px; }
@media (max-width: 820px) {
	.ttcg-family { grid-template-columns: 1fr; gap: 26px; }
}

/* ==================================================================
   LLC Formation landing page (/form-llc-texas/)
   Scoped to .ttcg-llc so nothing leaks into the rest of the site.
   Palette: gulf navy / flag red (actions only) / seal gold / cool paper.
   ================================================================== */
.ttcg-llc {
	--llc-navy: #1f3a5f;
	--llc-ink: #22344e;
	--llc-red: #b5362c;
	--llc-red-dark: #93261e;
	--llc-gold: #c99a3c;
	--llc-paper: #f6f8fb;
	--llc-line: #d7dee8;
	color: var(--llc-ink);
	font-size: 17px;
	line-height: 1.65;
}
.ttcg-llc h1, .ttcg-llc h2, .ttcg-llc h3 {
	font-family: 'Bitter', Georgia, serif;
	color: var(--llc-navy);
	line-height: 1.15;
}
.ttcg-llc h1 { font-size: 44px; font-weight: 700; letter-spacing: -0.5px; margin: 0 0 18px; }
.ttcg-llc h2 { font-size: 30px; font-weight: 700; margin: 0 0 14px; }
.ttcg-llc h3 { font-size: 19px; font-weight: 600; margin: 0 0 6px; }
.ttcg-llc section { padding: 56px 24px; }
.ttcg-llc .llc-inner { max-width: 1080px; margin: 0 auto; }

/* Buttons */
.ttcg-llc .llc-btn {
	display: inline-block; background: var(--llc-red); color: #fff !important;
	font-weight: 700; font-size: 18px; padding: 16px 34px; border-radius: 6px;
	text-decoration: none; transition: background 0.15s ease;
	margin: 0 12px 12px 0;
}
.ttcg-llc .llc-btn:hover { background: var(--llc-red-dark); }
.ttcg-llc .llc-btn:focus-visible { outline: 3px solid var(--llc-gold); outline-offset: 2px; }
.ttcg-llc .llc-btn--ghost {
	background: transparent; color: var(--llc-navy) !important;
	border: 2px solid var(--llc-navy);
}
.ttcg-llc .llc-btn--ghost:hover { background: var(--llc-paper); }

/* Hero */
.ttcg-llc .llc-hero { background: #fff; padding-top: 64px; }
.ttcg-llc .llc-hero .llc-inner { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 48px; align-items: center; }
.ttcg-llc .llc-eyebrow {
	display: inline-block; color: var(--llc-red); font-weight: 700;
	font-size: 13px; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 14px;
}
.ttcg-llc .llc-hero p.llc-sub { font-size: 20px; color: #44546a; margin: 0 0 28px; }
.ttcg-llc .llc-trust { margin: 26px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 18px; font-size: 15px; color: #44546a; }
.ttcg-llc .llc-trust li::before { content: "★ "; color: var(--llc-gold); }

/* Signature: certificate card */
.ttcg-llc .llc-cert {
	background: #fff; border: 1px solid var(--llc-line); border-radius: 8px;
	box-shadow: 0 18px 40px rgba(31, 58, 95, 0.12);
	padding: 30px 28px 26px; position: relative; transform: rotate(0.6deg);
}
.ttcg-llc .llc-cert::before {
	content: ""; position: absolute; inset: 8px; border: 1.5px solid var(--llc-gold);
	border-radius: 5px; pointer-events: none;
}
.ttcg-llc .llc-cert-head { text-align: center; border-bottom: 1px dashed var(--llc-line); padding-bottom: 14px; margin-bottom: 16px; }
.ttcg-llc .llc-cert-head .llc-seal {
	display: inline-flex; align-items: center; justify-content: center;
	width: 54px; height: 54px; border-radius: 50%; background: var(--llc-navy);
	color: var(--llc-gold); font-size: 26px; margin-bottom: 10px;
}
.ttcg-llc .llc-cert-head strong { display: block; font-family: 'Bitter', Georgia, serif; font-size: 18px; color: var(--llc-navy); }
.ttcg-llc .llc-cert-head span { font-size: 12.5px; letter-spacing: 1.5px; text-transform: uppercase; color: #7a8699; }
.ttcg-llc .llc-cert ul { list-style: none; margin: 0; padding: 0; font-size: 15.5px; }
.ttcg-llc .llc-cert ul li { padding: 7px 0 7px 26px; position: relative; border-bottom: 1px solid #eef2f7; }
.ttcg-llc .llc-cert ul li:last-child { border-bottom: 0; }
.ttcg-llc .llc-cert ul li::before { content: "✓"; position: absolute; left: 2px; color: var(--llc-red); font-weight: 700; }

/* Contact form polish (Jupiter mk_contact_form inside brand card) */
.ttcg-llc .mk-contact-form input[type="text"],
.ttcg-llc .mk-contact-form input[type="email"],
.ttcg-llc .mk-contact-form input[type="tel"],
.ttcg-llc .mk-contact-form textarea {
	width: 100%; border: 1.5px solid #d7dee8; border-radius: 6px;
	padding: 12px 14px; font-size: 15.5px; background: #fff;
	margin-bottom: 14px; box-sizing: border-box;
}
.ttcg-llc .mk-contact-form input:focus,
.ttcg-llc .mk-contact-form textarea:focus {
	outline: none; border-color: #c99a3c;
}
.ttcg-llc .mk-contact-form .mk-progress-button,
.ttcg-llc .mk-contact-form input[type="submit"],
.ttcg-llc .mk-contact-form button {
	background: #b5362c !important; color: #fff !important;
	font-weight: 700 !important; font-size: 17px !important;
	padding: 14px 30px !important; border-radius: 6px !important;
	border: none !important; cursor: pointer;
}
.ttcg-llc .mk-contact-form .mk-progress-button:hover,
.ttcg-llc .mk-contact-form button:hover { background: #93261e !important; }
.ttcg-contact-office { margin-bottom: 26px; }
.ttcg-contact-office .ttcg-footer-label { color: #b5362c; }
.ttcg-contact-office p { margin: 0; line-height: 1.9; color: #22344e; }

/* Blog post cards */
.ttcg-blog-grid { margin-top: 30px; }
.ttcg-post-date {
	display: block; color: #b5362c; font-weight: 700; font-size: 12.5px;
	letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 8px;
}
.ttcg-post-card h3 { font-size: 20px; margin-bottom: 8px; }
.ttcg-post-card h3 a { color: #1f3a5f !important; text-decoration: none !important; }
.ttcg-post-card h3 a:hover { color: #b5362c !important; }
.ttcg-post-card p { font-size: 15px; color: #44546a; }
.ttcg-post-card .ttcg-post-more a { text-decoration: none !important; }

/* Team cards */
.ttcg-team { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 1080px; margin: 34px auto 0; }
.ttcg-team-card {
	background: #fff; border: 1px solid #d7dee8; border-radius: 10px;
	overflow: hidden; text-align: center;
}
.ttcg-team-card img { width: 100%; height: 340px; object-fit: cover; object-position: top; display: block; }
.ttcg-team-card .ttcg-team-body { padding: 20px 18px 24px; }
.ttcg-team-card h3 { margin: 0 0 2px; font-size: 22px; }
.ttcg-team-card .ttcg-team-role {
	display: block; color: #b5362c; font-weight: 700; font-size: 13px;
	letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 12px;
}
.ttcg-team-card p { font-size: 14.5px; color: #44546a; margin: 0 0 14px; }
@media (max-width: 880px) { .ttcg-team { grid-template-columns: 1fr; } .ttcg-team-card img { height: 420px; } }

/* In-content links: brand red, gold on navy */
.ttcg-llc section p a:not(.llc-btn):not(.llc-phone),
.ttcg-llc details a {
	color: #b5362c; font-weight: 600;
	text-decoration: underline; text-underline-offset: 3px;
}
.ttcg-llc .llc-us a:not(.llc-btn), .ttcg-llc .llc-final p a:not(.llc-btn) { color: #c99a3c; }

/* Alternating band */
.ttcg-llc .llc-band { background: var(--llc-paper); border-top: 1px solid var(--llc-line); border-bottom: 1px solid var(--llc-line); }

/* Three steps — real sequence, numbering earns its place */
.ttcg-llc .llc-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 30px; }
.ttcg-llc .llc-step { background: #fff; border: 1px solid var(--llc-line); border-radius: 8px; padding: 26px 22px; }
.ttcg-llc .llc-step .llc-step-num {
	font-family: 'Bitter', Georgia, serif; font-size: 15px; font-weight: 700;
	color: var(--llc-red); letter-spacing: 1px; display: block; margin-bottom: 8px;
}

/* Pricing rows inside certificate card variant */
.ttcg-llc .llc-price-row { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid #eef2f7; font-size: 16px; }
.ttcg-llc .llc-price-row strong { color: var(--llc-navy); }
.ttcg-llc .llc-price-note { font-size: 14px; color: #7a8699; margin-top: 12px; }

/* Comparison */
.ttcg-llc .llc-vs { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 30px; }
.ttcg-llc .llc-vs-col { border-radius: 8px; padding: 26px 24px; }
.ttcg-llc .llc-vs-col.llc-them { background: #fff; border: 1px solid var(--llc-line); color: #5b6778; }
.ttcg-llc .llc-vs-col.llc-us { background: var(--llc-navy); color: #e8edf5; }
.ttcg-llc .llc-vs-col.llc-us h3 { color: #fff; }
.ttcg-llc .llc-vs-col ul { margin: 12px 0 0; padding-left: 20px; }
.ttcg-llc .llc-vs-col li { margin-bottom: 8px; }

/* FAQ */
.ttcg-llc details { border: 1px solid var(--llc-line); border-radius: 8px; background: #fff; margin-bottom: 12px; padding: 0 20px; }
.ttcg-llc details summary { cursor: pointer; font-weight: 700; color: var(--llc-navy); padding: 16px 0; font-size: 17px; list-style-position: outside; }
.ttcg-llc details[open] { border-color: var(--llc-gold); }
.ttcg-llc details p { margin: 0 0 16px; }

/* Final CTA band */
.ttcg-llc .llc-final { background: var(--llc-navy); text-align: center; }
.ttcg-llc .llc-final h2 { color: #fff; }
.ttcg-llc .llc-final p { color: #c3cede; max-width: 560px; margin: 0 auto 26px; }
.ttcg-llc .llc-final .llc-phone { display: block; font-family: 'Bitter', Georgia, serif; font-size: 30px; color: var(--llc-gold); margin-top: 22px; text-decoration: none; }

/* Responsive */
@media (max-width: 880px) {
	.ttcg-llc h1 { font-size: 33px; }
	.ttcg-llc .llc-hero .llc-inner { grid-template-columns: 1fr; gap: 32px; }
	.ttcg-llc .llc-steps, .ttcg-llc .llc-vs { grid-template-columns: 1fr; }
	.ttcg-llc .llc-btn--ghost { margin-left: 0; margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.ttcg-llc .llc-btn { transition: none; }
}
