/*
Theme Name: Deskniche Child
Template: generatepress
Version: 1.1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
	--dn-blue: #3B82F6;
	--dn-navy: #2C3E6B;
	--dn-ink: #1A1A2E;
	--dn-page: #F5F7FA;
}

body {
	background: var(--dn-page);
	font-family: Inter, system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: var(--dn-ink);
}

h1, h2, h3, .site-title { font-family: Inter, system-ui, sans-serif; font-weight: 700; color: var(--dn-ink); }

a { color: var(--dn-blue); }
a:visited { color: #1D4ED8; }
a:hover { color: var(--dn-navy); }
:focus-visible { outline: 3px solid var(--dn-blue); outline-offset: 2px; }

/* White header with blue accents */
.site-header { background: #fff; border-bottom: 1px solid #E5E9F0; }
.main-navigation, .main-navigation ul li a { background: #fff; color: var(--dn-ink); }
.main-navigation a { font-weight: 500; font-size: 14px; }
.main-navigation .main-nav ul li a:hover {
	color: var(--dn-blue);
	box-shadow: inset 0 -2px 0 var(--dn-blue);
}

.grid-container { max-width: 1240px; }
.site-content { background: var(--dn-page); }

/* White card effect on posts — unique in the batch */
.entry-content {
	background: #FFFFFF;
	padding: 40px;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.08);
	max-width: 820px;
	margin: 0 auto;
}

blockquote {
	border-left: 4px solid var(--dn-blue);
	background: #EFF6FF;
	padding: 16px 20px;
	margin: 24px 0;
	font-style: normal;
}

table th { background: #14532D; color: #fff; }
table td, table th { padding: 10px 12px; border: 1px solid #E5E9F0; }

/* Text-only hero, no image — cleanest homepage in the batch */
.site-hero {
	background: var(--dn-page);
	padding: 72px 20px 60px;
	max-width: 820px;
	margin: 0 auto;
	text-align: left;
}
.site-hero h1 { font-size: clamp(2rem, 4.5vw, 2.9rem); letter-spacing: -0.02em; margin-bottom: 12px; }
.site-hero .hero-sub { font-size: 1.1rem; color: #4A5568; margin-bottom: 28px; }
.site-hero .wp-block-button__link {
	background: var(--dn-blue);
	color: #fff;
	border-radius: 6px;
	padding: 13px 24px;
	font-weight: 600;
	transition: background 200ms ease;
}
.site-hero .wp-block-button__link:hover { background: #2563EB; }

.site-footer, .site-info { background: var(--dn-navy); color: #E2E8F0; }
.site-footer a, .site-info a { color: #E2E8F0; }

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

/* Full-bleed hero: break out of the GP container instead of sitting in a box */
.site-hero {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}
/* Homepage carries the hero only — no card, no double frame */
body.home .entry-content {
	background: transparent;
	box-shadow: none;
	padding: 0;
	max-width: none;
}
body.home .entry-content > .site-hero > * { padding-left: 20px; padding-right: 20px; }

/* Hero copy aligns with the header logo, not the viewport edge */
body.home .site-hero > * { max-width: 820px; margin-left: auto; margin-right: auto; }
.site-hero { max-width: none; }

/* ---------- Homepage sections ---------- */
.dn-section {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	padding: 60px 20px;
}
.dn-inner { max-width: 1100px; margin: 0 auto; }
.dn-section h2 { font-size: clamp(1.55rem, 3vw, 2rem); margin: 0 0 8px; letter-spacing: -0.02em; }
.dn-lede { color: #4A5568; max-width: 64ch; margin: 0 0 32px; }

/* Numbered spend order — a sequence, not a card grid */
.dn-order { background: #fff; }
.dn-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.dn-steps li {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 20px;
	padding: 22px 0;
	border-top: 1px solid #E5E9F0;
}
.dn-steps li:last-child { border-bottom: 1px solid #E5E9F0; }
.dn-step {
	width: 40px; height: 40px; border-radius: 50%;
	background: #EFF6FF; color: var(--dn-blue);
	display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 1.05rem;
}
.dn-steps h3 { font-size: 1.12rem; margin: 6px 0 6px; }
.dn-steps p { margin: 0 0 8px; color: #4A5568; font-size: 0.98rem; max-width: 68ch; }
.dn-steps a { font-weight: 600; font-size: 0.92rem; }

/* Category cards keep the site's white-card signature */
.dn-cats { background: var(--dn-page); }
.dn-cat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 14px; }
.dn-cat-grid a {
	display: flex; flex-direction: column; gap: 4px;
	background: #fff; padding: 18px 20px;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.08);
	text-decoration: none; color: var(--dn-ink);
	cursor: pointer;
	transition: box-shadow 200ms ease, color 200ms ease;
}
.dn-cat-grid a:hover, .dn-cat-grid a:focus-visible { box-shadow: 0 4px 14px rgba(26,26,46,0.12); color: var(--dn-blue); }
.dn-cat-grid strong { font-size: 1.02rem; }
.dn-cat-grid span { font-size: 0.88rem; color: #5A667A; }

.dn-method { background: var(--dn-navy); color: #E2E8F0; }
.dn-method h2, .dn-method h3 { color: #fff; }
.dn-method-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 26px; margin-top: 26px; }
.dn-method h3 { font-size: 1.04rem; margin: 0 0 8px; }
.dn-method p { color: #C3CEDE; font-size: 0.96rem; margin: 0; }
.dn-note { margin-top: 30px; padding-top: 18px; border-top: 1px solid #45568A; font-size: 0.9rem; color: #A9B6CC; }

.dn-disclosure { background: var(--dn-page); padding: 26px 20px; }
.dn-disclosure p { font-size: 0.86rem; color: #5A667A; margin: 0; }

@media (max-width: 640px) {
	.dn-section { padding: 40px 18px; }
	.dn-steps li { grid-template-columns: 40px 1fr; gap: 14px; }
	body.home .site-hero { padding: 52px 18px; }
}
