/*
Theme Name: JKAN Gastroenterology
Theme URI: https://care.jkangastro.com
Author: Edyta K. / CogniSite Solutions
Description: Custom theme for JKAN Gastroenterology's programmatic landing pages (symptom x neighborhood, symptom x insurance). Header/footer branding matches jkangastro.com; page templates for the "landing" and "insurance_landing" post types are built out through Milestone 2.
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: jkan-gastroenterology
Version: 0.2
*/

/* ==========================================================================
   Base
   ========================================================================== */

:root {
	/* swap these four to match the real jkangastro.com brand color exactly */
	--jkan-color-primary: #1b4d4a;       /* deep teal — logo text, nav hover, CTA */
	--jkan-color-primary-dark: #123634;  /* CTA hover/active */
	--jkan-color-text: #22292f;
	--jkan-color-text-muted: #5b6570;

	--jkan-color-bg: #ffffff;
	--jkan-color-bg-alt: #f5f7f7;
	--jkan-color-border: #e2e6e6;

	--jkan-font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
		Helvetica, Arial, sans-serif;

	--jkan-container: 100%;
	--jkan-header-height: 84px;
	--jkan-radius: 6px;

	/* header — read directly off the live jkangastro.com via getComputedStyle,
	   28 Sep (not eyeballed): these are the real values, not placeholders. */
	--jkan-utility-bg: #656565;
	--jkan-utility-text: #ffffff;
	--jkan-header-bg: #4a5a58;
	--jkan-header-text: #ffffff;
	--jkan-header-text-muted: rgba(255, 255, 255, 0.75);
	--jkan-header-container: 1400px;

	--jkan-btn-phone-bg: #d4967d;
	--jkan-btn-book-bg: #ffffff;
	--jkan-btn-dark-text: #0c0c0c;

	--jkan-font-serif: "Noto Serif", Georgia, "Times New Roman", serif;
	--jkan-font-sans-brand: Questrial, var(--jkan-font-base);
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: var(--jkan-font-base);
	color: var(--jkan-color-text);
	background: var(--jkan-color-bg);
}

img {
	max-width: 100%;
	height: auto;
}

.jkan-main {
	max-width: var(--jkan-container);
	margin: 0 auto;
	padding: 40px 24px 0;
	max-width: 1280px;
}

/* ==========================================================================
   Header & footer — shared classes
   ========================================================================== */

.jkan-header,
.jkan-footer {
	font-family: var(--jkan-font-base);
	color: var(--jkan-color-text);
}

.jkan-header a:not(.jkan-btn),
.jkan-footer a {
	text-decoration: none;
	color: inherit;
}

.jkan-header a.jkan-btn {
	text-decoration: none;
}

/* ---------- header ---------- */

.jkan-header {
	position: relative;
	z-index: 100;
}

.jkan-header__utility {
	background: var(--jkan-utility-bg);
	color: var(--jkan-utility-text);
	font-size: 13px;
}

.jkan-header__utility-inner {
	max-width: var(--jkan-header-container);
	margin: 0 auto;
	padding: 12px 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	text-align: center;
	font-size: 14px;
	font-family: Noto Serif !important;
}

.jkan-header__utility-inner a {
	color: inherit;
}

.jkan-header__utility-sep {
	opacity: 0.6;
}

.jkan-header__main {
	background: var(--jkan-header-bg);
	color: var(--jkan-header-text);
}

.jkan-header__row {
	max-width: var(--jkan-header-container);
	margin: 0 auto;
	padding: 0 20px;
}

.jkan-header__row--top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	padding-top: 16px;
	padding-bottom: 16px;
}

.jkan-logo {
	font-family: var(--jkan-font-serif);
	font-weight: 400;
	font-size: 27px;
	color: var(--jkan-header-text);
	flex-shrink: 0;
}

@media (max-width: 960px) {
	.jkan-logo {
		font-size: 20px !important;
	}
}

.jkan-header__buttons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	flex-shrink: 0;
}

.jkan-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	font-family: var(--jkan-font-sans-brand);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	padding: 16px 23px 14px;
	border-radius: 0;
	text-decoration: navajowhite;
}

.jkan-btn--phone {
	background: var(--jkan-btn-phone-bg);
	color: var(--jkan-btn-dark-text);
}

.jkan-btn--phone:hover,
.jkan-btn--phone:focus {
	opacity: 0.88;
	color: var(--jkan-btn-dark-text);
}

.jkan-btn--book {
	background: var(--jkan-btn-book-bg);
	color: var(--jkan-btn-dark-text);
}

.jkan-btn--book:hover,
.jkan-btn--book:focus {
	opacity: 0.88;
	color: var(--jkan-btn-dark-text);
}

.jkan-btn--pay {
	background: transparent;
	color: #ffffff;
	border: 1.6px solid #ffffff;
}

.jkan-btn--pay:hover,
.jkan-btn--pay:focus {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

@media (max-width: 600px) {
	.jkan-header__row--top {
		justify-content: center;
		text-align: center;
	}

	.jkan-header__buttons {
		justify-content: center;
		width: 100%;
	}

	.jkan-btn {
		flex: 1 1 auto;
	}
}

/* ---------- footer ---------- */

.jkan-footer {
	background: var(--jkan-header-bg);
	color: #f6f6f6;
	margin-top: 60px;
	padding: 40px 0 40px;
	text-align: center;
}

.jkan-footer__inner {
	max-width: 1050px;
	margin: 0 auto;
	padding: 0 24px;
}

.jkan-footer__title {
	font-family: var(--jkan-font-serif);
	font-size: 20px;
	font-weight: 400;
	color: #f4f4f4;
	margin: 0 0 15px;
}

.jkan-footer__subtitle {
	font-family: var(--jkan-font-sans-brand);
	font-size: 14px;
	color: #f4f4f4;
	margin: 0 0 15px;
	line-height: 26px;
}

.jkan-footer__subtitle a {
	color: inherit;
}

.jkan-footer .stars {
	display: block;
	font-size: 23px;
	letter-spacing: 2px;
}

.jkan-footer__body {
	font-family: var(--jkan-font-sans-brand);
	font-size: 12px;
	color: #f6f6f6;
	margin: 0 0 16px;
}

.jkan-footer__links {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin-top: 41px;
}

.jkan-footer__links a {
	font-family: var(--jkan-font-sans-brand);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.7px;
	text-transform: uppercase;
	color: #f6f6f6;
}

.jkan-footer__links a:hover,
.jkan-footer__links a:focus {
	opacity: 0.8;
}


/* ==========================================================================
   Page template — shared by `landing` and `insurance_landing` single pages
   30% circular avatar left, 60% dynamic content right, 10% gap between
   ========================================================================== */

.jkan-page__inner {
	display: flex;
	align-items: flex-start;
}

.jkan-page__media {
	flex: 0 0 30%;
	max-width: 30%;
}

.jkan-page__avatar {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
	border: 15px solid #f4f4f4;
}

.jkan-page__content {
	flex: 0 0 70%;
	max-width: 70%;
	padding: 50px;
}

.jkan-page__title {
	font-family: var(--jkan-font-serif);
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.25;
	color: var(--jkan-color-text);
	margin: 0 0 20px;
}

.jkan-page__block {
	margin: 0 0 20px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--jkan-color-text);
}

.jkan-page__block--transit em {
	display: block;
	margin-top: 6px;
	color: var(--jkan-color-text-muted);
	font-style: normal;
	font-size: 14px;
}

.jkan-page__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 28px;
	border-top: 1px solid #939d9c;
	padding-top: 30px;
}

/* CTA buttons reuse the header's .jkan-btn base, recolored for a white
   page background instead of the dark header bar. */
.jkan-page__cta .jkan-btn--phone {
	background: var(--jkan-btn-phone-bg);
	color: var(--jkan-btn-dark-text);
}

.jkan-page__cta .jkan-btn--book {
	background: var(--jkan-header-bg);
	color: #ffffff;
}

.jkan-page__cta .jkan-btn--book:hover,
.jkan-page__cta .jkan-btn--book:focus {
	opacity: 0.88;
	color: #ffffff;
}

.jkan-page__cta .jkan-btn--pay {
	background: transparent;
	color: var(--jkan-header-bg);
	border: 1.6px solid var(--jkan-header-bg);
}

.jkan-page__cta .jkan-btn--pay:hover,
.jkan-page__cta .jkan-btn--pay:focus {
	background: rgba(74, 90, 88, 0.08);
	color: var(--jkan-header-bg);
}

.pageIntro {
	font-size: 18px;
	font-family: "Noto Serif";
}

@media (max-width: 700px) {
	.jkan-page__inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 24px;
	}

	.jkan-page__media,
	.jkan-page__content {
		flex: 1 1 100%;
		max-width: 100%;
	}

	.jkan-page__media {
		max-width: 180px;
	}

	.jkan-page__cta {
		justify-content: center;
	}
}
