/* ==========================================================================
   DK Nexus – component styles (things theme.json can't express)
   ========================================================================== */

:root {
	--dkn-navy: var(--wp--preset--color--navy, #0B2340);
	--dkn-teal: var(--wp--preset--color--teal, #12A08C);
	--dkn-teal-dark: var(--wp--preset--color--teal-dark, #0B7A6A);
	--dkn-tint: var(--wp--preset--color--teal-tint, #E6F6F3);
	--dkn-line: var(--wp--preset--color--line, #DCE3EA);
	--dkn-mist: var(--wp--preset--color--mist, #F3F6F9);
	--dkn-radius-s: var(--wp--custom--radius--s, 8px);
	--dkn-radius-m: var(--wp--custom--radius--m, 14px);
	--dkn-radius-l: var(--wp--custom--radius--l, 22px);
	--dkn-shadow: var(--wp--custom--shadow--card);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(h1, h2, h3, h4) { text-wrap: balance; }
:where(p) { text-wrap: pretty; }
strong { color: var(--dkn-navy); font-weight: 650; }

:focus-visible { outline: 2px solid var(--dkn-teal); outline-offset: 3px; border-radius: 2px; }

/* ---------- Header ---------- */
/* Sticky must sit on the template-part wrapper, not the inner group */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.dkn-header {
	background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(180%) blur(10px);
	-webkit-backdrop-filter: saturate(180%) blur(10px);
	border-bottom: 1px solid var(--dkn-line);
}
.dkn-header .wp-block-image { margin: 0; }
.dkn-header .wp-block-image img { display: block; height: auto; }
.dkn-header .wp-block-navigation__submenu-container {
	border: 1px solid var(--dkn-line) !important;
	border-radius: var(--dkn-radius-m);
	box-shadow: var(--dkn-shadow);
	padding: .5rem !important;
	min-width: 260px !important;
}
.dkn-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .6rem .8rem !important;
	border-radius: var(--dkn-radius-s);
}
.dkn-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--dkn-mist); }
.dkn-header .wp-block-button__link { padding: .7rem 1.15rem; font-size: .95rem; }
@media (max-width: 900px) { .dkn-header .dkn-header-cta { display: none; } }

/* ---------- Eyebrow paragraph ---------- */
.is-style-eyebrow {
	font-size: .8rem !important;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--dkn-teal-dark);
	margin-bottom: 0 !important;
}
.dkn-dark .is-style-eyebrow, .dkn-hero .is-style-eyebrow { color: var(--dkn-teal); }

/* ---------- Lead paragraph ---------- */
.dkn-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.6; }

/* ---------- Dark sections & hero ---------- */
.dkn-dark, .dkn-hero { color: rgba(255, 255, 255, .82); }
.dkn-dark :where(h1, h2, h3, h4, strong), .dkn-hero :where(h1, h2, h3, h4, strong) { color: #fff; }
.dkn-dark a:not(.wp-element-button), .dkn-hero a:not(.wp-element-button) { color: #fff; }

.dkn-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--dkn-navy);
	background-image:
		radial-gradient(ellipse at 90% -10%, rgba(18, 160, 140, .28) 0%, rgba(11, 35, 64, 0) 55%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='1.5'%3E%3Cpath d='M20 20v60M20 20l60 60M80 80v60M80 80l60-60M140 20v60'/%3E%3C/g%3E%3Cg fill='rgba(18,160,140,0.35)'%3E%3Ccircle cx='20' cy='20' r='3'/%3E%3Ccircle cx='80' cy='80' r='3'/%3E%3Ccircle cx='140' cy='20' r='3'/%3E%3C/g%3E%3Cg fill='rgba(255,255,255,0.12)'%3E%3Ccircle cx='20' cy='80' r='2.5'/%3E%3Ccircle cx='80' cy='140' r='2.5'/%3E%3Ccircle cx='140' cy='80' r='2.5'/%3E%3C/g%3E%3C/svg%3E");
	background-size: auto, 160px 160px;
}
.dkn-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 120px;
	background: linear-gradient(to bottom, rgba(11, 35, 64, 0), rgba(11, 35, 64, .6));
	pointer-events: none;
}
.dkn-hero > * { position: relative; z-index: 1; }
.dkn-hero .dkn-lead { color: rgba(255, 255, 255, .85); }

.dkn-hero .is-style-outline .wp-block-button__link,
.dkn-dark .is-style-outline .wp-block-button__link {
	color: #fff;
	border-color: rgba(255, 255, 255, .45);
	background: transparent;
}
.dkn-hero .is-style-outline .wp-block-button__link:hover,
.dkn-dark .is-style-outline .wp-block-button__link:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }

.dkn-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.dkn-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--dkn-teal); color: var(--dkn-navy); }
.dkn-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.dkn-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #fff; color: var(--dkn-navy); }

/* Outline buttons on light backgrounds */
.is-style-outline > .wp-block-button__link {
	border: 1.5px solid var(--dkn-line);
	color: var(--dkn-navy);
	background: transparent;
}
.is-style-outline > .wp-block-button__link:hover { border-color: var(--dkn-navy); background: transparent; color: var(--dkn-navy); }

/* Glass panel in the hero */
.dkn-glass {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--dkn-radius-l);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

/* ---------- Cards ---------- */
.wp-block-group.is-style-card {
	background: #fff;
	border: 1px solid var(--dkn-line);
	border-radius: var(--dkn-radius-m);
	box-shadow: var(--dkn-shadow);
	padding: clamp(1.5rem, 3vw, 2rem);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.wp-block-group.is-style-card:has(a:hover) {
	transform: translateY(-3px);
	border-color: rgba(18, 160, 140, .5);
	box-shadow: 0 2px 4px rgba(11, 35, 64, .06), 0 16px 40px rgba(11, 35, 64, .1);
}
.wp-block-group.is-style-card > :first-child { margin-top: 0; }
.wp-block-group.is-style-card h3 { margin-bottom: .5rem; }
.wp-block-group.is-style-card p { margin-top: 0; }
.dkn-card-link a { font-weight: 600; text-decoration: none; }
.dkn-card-link a::after { content: " \2192"; transition: margin .2s ease; }
.dkn-card-link a:hover::after { margin-left: .25rem; }

/* Grids: equal-height cards */
.dkn-grid > .wp-block-group { height: 100%; }

/* ---------- Icons (CSS masks so editors just change a class) ---------- */
/* ::before = tinted tile, ::after = masked glyph positioned over it */
[class*="dkn-icon-"] { position: relative; }
[class*="dkn-icon-"]::before {
	content: "";
	display: block;
	width: 52px;
	height: 52px;
	margin-bottom: 1.25rem;
	border-radius: 14px;
	background: var(--dkn-tint);
}
[class*="dkn-icon-"]::after {
	content: "";
	position: absolute;
	top: calc(var(--dkn-icon-offset, clamp(1.5rem, 3vw, 2rem)) + 13px);
	left: calc(var(--dkn-icon-offset, clamp(1.5rem, 3vw, 2rem)) + 13px);
	width: 26px;
	height: 26px;
	background: var(--dkn-teal-dark);
	-webkit-mask: var(--dkn-i) center / contain no-repeat;
	mask: var(--dkn-i) center / contain no-repeat;
}
.dkn-dark [class*="dkn-icon-"]::before { background: rgba(18, 160, 140, .16); }
.dkn-dark [class*="dkn-icon-"]::after { background: var(--dkn-teal); }
.dkn-dark .is-style-card { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .12); box-shadow: none; }

/* Icon on a plain (non-card) group: no padding offset */
.wp-block-group:not(.is-style-card)[class*="dkn-icon-"] { --dkn-icon-offset: 0px; }

.dkn-icon-support  { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14v-2a9 9 0 0 1 18 0v2'/%3E%3Cpath d='M21 15a2 2 0 0 1-2 2h-1v-6h1a2 2 0 0 1 2 2zM3 15a2 2 0 0 0 2 2h1v-6H5a2 2 0 0 0-2 2z'/%3E%3Cpath d='M18 17v1a3 3 0 0 1-3 3h-3'/%3E%3C/svg%3E"); }
.dkn-icon-shield   { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-3.5 8-10V5l-8-3-8 3v7c0 6.5 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.dkn-icon-cloud    { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H7a5 5 0 1 1 1.1-9.9A6 6 0 0 1 19.5 11a4 4 0 0 1-2 8z'/%3E%3C/svg%3E"); }
.dkn-icon-compass  { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16 8-2.5 5.5L8 16l2.5-5.5z'/%3E%3C/svg%3E"); }
.dkn-icon-clock    { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); }
.dkn-icon-pound    { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 7.5A4.5 4.5 0 0 0 8.5 9.5V15c0 2.5-1 4-2.5 5h12'/%3E%3Cpath d='M5.5 13.5h8'/%3E%3C/svg%3E"); }
.dkn-icon-users    { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M2 21v-1a6 6 0 0 1 12 0v1'/%3E%3Cpath d='M16 4a4 4 0 0 1 0 8M22 21v-1a6 6 0 0 0-4-5.6'/%3E%3C/svg%3E"); }
.dkn-icon-pin      { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 0 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.dkn-icon-chart    { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='m7 15 4-4 3 3 5-6'/%3E%3C/svg%3E"); }
.dkn-icon-nexus    { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='5' r='2'/%3E%3Ccircle cx='19' cy='5' r='2'/%3E%3Ccircle cx='5' cy='19' r='2'/%3E%3Ccircle cx='19' cy='19' r='2'/%3E%3Cpath d='M5 7v10M19 7v10M6.5 6.5l11 11'/%3E%3C/svg%3E"); }
.dkn-icon-lock     { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
.dkn-icon-backup   { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3'/%3E%3Cpath d='M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3'/%3E%3C/svg%3E"); }
.dkn-icon-laptop   { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='11' rx='1.5'/%3E%3Cpath d='M2 19h20'/%3E%3C/svg%3E"); }
.dkn-icon-mail     { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.dkn-icon-phone    { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.dkn-icon-gear     { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M4.9 4.9 7 7M17 17l2.1 2.1M2 12h3M19 12h3M4.9 19.1 7 17M17 7l2.1-2.1'/%3E%3C/svg%3E"); }
.dkn-icon-wifi     { --dkn-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5a10 10 0 0 1 14 0M8.5 16a5 5 0 0 1 7 0M2 9a15 15 0 0 1 20 0'/%3E%3Ccircle cx='12' cy='19.5' r='1'/%3E%3C/svg%3E"); }

/* ---------- Checklist ---------- */
ul.is-style-checklist { list-style: none; padding-left: 0 !important; }
ul.is-style-checklist > li { position: relative; padding-left: 2rem; margin-bottom: .7rem; }
ul.is-style-checklist > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--dkn-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B7A6A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.dkn-dark ul.is-style-checklist > li::before, .dkn-hero ul.is-style-checklist > li::before {
	background-color: rgba(18, 160, 140, .2);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312A08C' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E");
}

/* ---------- Trust bar ---------- */
.dkn-trust p { margin: 0; font-weight: 600; color: var(--dkn-navy); opacity: .7; white-space: nowrap; }
.dkn-trust .is-style-eyebrow { opacity: 1; color: var(--wp--preset--color--slate); }

/* ---------- Process steps ---------- */
.dkn-steps { counter-reset: dkn-step; }
.dkn-steps > .wp-block-group { counter-increment: dkn-step; position: relative; padding-top: 3.75rem !important; }
.dkn-steps > .wp-block-group::before {
	content: counter(dkn-step, decimal-leading-zero);
	position: absolute;
	top: 0;
	left: 0;
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--dkn-teal-dark);
	width: 2.75rem;
	height: 2.75rem;
	display: grid;
	place-items: center;
	border: 1.5px solid rgba(18, 160, 140, .4);
	border-radius: 50%;
}
.dkn-dark .dkn-steps > .wp-block-group::before { color: var(--dkn-teal); }
.dkn-steps h3 { margin-bottom: .4rem; }
.dkn-steps p { margin-top: 0; }

/* ---------- Stat / highlight figures ---------- */
.dkn-figure { font-size: var(--wp--preset--font-size--xx-large); font-weight: 800; color: var(--dkn-navy); letter-spacing: -.03em; line-height: 1; margin-bottom: .25rem !important; }
.dkn-dark .dkn-figure { color: #fff; }

/* ---------- Pricing / plan cards ---------- */
.dkn-plan.is-style-card { display: flex; flex-direction: column; }
.dkn-plan .wp-block-buttons { margin-top: auto; padding-top: 1rem; }
.dkn-plan--featured.is-style-card { border: 2px solid var(--dkn-teal); position: relative; }
.dkn-plan--featured.is-style-card::before {
	content: "Recommended";
	position: absolute;
	top: -0.8rem;
	left: 50%;
	transform: translateX(-50%);
	background: var(--dkn-teal);
	color: var(--dkn-navy);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .3rem .8rem;
	border-radius: 999px;
	white-space: nowrap;
}
.dkn-plan .wp-block-button, .dkn-plan .wp-block-button__link { width: 100%; text-align: center; }

/* ---------- FAQ ---------- */
.wp-block-details.is-style-faq {
	border: 1px solid var(--dkn-line);
	border-radius: var(--dkn-radius-m);
	background: #fff;
	padding: 0;
	margin-block-start: .75rem !important;
}
.wp-block-details.is-style-faq summary {
	list-style: none;
	cursor: pointer;
	padding: 1.15rem 3.25rem 1.15rem 1.4rem;
	font-weight: 650;
	color: var(--dkn-navy);
	position: relative;
}
.wp-block-details.is-style-faq summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-faq summary::after {
	content: "";
	position: absolute;
	right: 1.3rem;
	top: 50%;
	width: .65rem;
	height: .65rem;
	border-right: 2px solid var(--dkn-teal-dark);
	border-bottom: 2px solid var(--dkn-teal-dark);
	transform: translateY(-70%) rotate(45deg);
	transition: transform .2s ease;
}
.wp-block-details.is-style-faq[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.wp-block-details.is-style-faq > :not(summary) { padding: 0 1.4rem; margin-top: 0; }
.wp-block-details.is-style-faq > :last-child { padding-bottom: 1.25rem; }

/* ---------- CTA band ---------- */
.dkn-cta {
	border-radius: var(--dkn-radius-l);
	background: var(--dkn-navy) radial-gradient(ellipse at 100% 0%, rgba(18, 160, 140, .35) 0%, rgba(11, 35, 64, 0) 60%);
}

/* ---------- Footer ---------- */
.dkn-footer { font-size: .95rem; }
.dkn-footer h4 { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .55) !important; font-weight: 700; margin-bottom: 1rem; }
.dkn-footer ul { list-style: none; padding-left: 0 !important; margin: 0; }
.dkn-footer li { margin-bottom: .55rem; }
.dkn-footer a { text-decoration: none; color: rgba(255, 255, 255, .85) !important; }
.dkn-footer a:hover { color: #fff !important; text-decoration: underline; }
.dkn-footer .dkn-legal { color: rgba(255, 255, 255, .55); font-size: .85rem; }
.dkn-footer .dkn-legal p { margin: 0; }
.dkn-footer .wp-block-image { margin: 0; }

/* ---------- Page hero (inner pages) ---------- */
.dkn-breadcrumb { font-size: .85rem; opacity: .75; margin-bottom: .5rem !important; }
.dkn-breadcrumb a { text-decoration: none; }

/* ---------- Contact form (from dk-nexus-core plugin) ---------- */
.dkn-form { display: grid; gap: 1.1rem; }
.dkn-form .dkn-row { display: grid; gap: 1.1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .dkn-form .dkn-row { grid-template-columns: 1fr; } }
.dkn-form label { display: block; font-weight: 600; color: var(--dkn-navy); font-size: .92rem; margin-bottom: .35rem; }
.dkn-form label .dkn-req { color: var(--dkn-teal-dark); }
.dkn-form input[type="text"], .dkn-form input[type="email"], .dkn-form input[type="tel"], .dkn-form select, .dkn-form textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	font-size: 1rem;
	color: var(--dkn-navy);
	background: #fff;
	border: 1.5px solid var(--dkn-line);
	border-radius: var(--dkn-radius-s);
	padding: .75rem .9rem;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.dkn-form textarea { min-height: 150px; resize: vertical; }
.dkn-form :is(input, select, textarea):focus { outline: none; border-color: var(--dkn-teal); box-shadow: 0 0 0 4px rgba(18, 160, 140, .15); }
.dkn-form .dkn-check { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; color: inherit; font-size: .9rem; }
.dkn-form .dkn-check input { margin-top: .3rem; accent-color: var(--dkn-teal-dark); }
.dkn-form .dkn-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.dkn-form button {
	justify-self: start;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	border: 0;
	border-radius: var(--dkn-radius-s);
	background: var(--dkn-teal-dark);
	color: #fff;
	padding: .9rem 1.75rem;
	transition: background .15s ease;
}
.dkn-form button:hover { background: var(--dkn-navy); }
.dkn-notice { padding: 1rem 1.25rem; border-radius: var(--dkn-radius-s); margin-bottom: 1.25rem; font-weight: 500; }
.dkn-notice--ok { background: var(--dkn-tint); color: #0A5A4F; border: 1px solid rgba(18, 160, 140, .35); }
.dkn-notice--err { background: #FDECEC; color: #8A1C1C; border: 1px solid #F5C2C2; }

/* ---------- Blog ---------- */
.dkn-post-card .wp-block-post-title a { text-decoration: none; color: var(--dkn-navy); }
.dkn-post-card .wp-block-post-title a:hover { color: var(--dkn-teal-dark); }
.wp-block-post-featured-image img { border-radius: var(--dkn-radius-m); }
.dkn-prose > * + h2 { margin-top: 2.5rem; }

/* ---------- Layout utilities ---------- */
.dkn-center { text-align: center; }
.dkn-center .wp-block-buttons { justify-content: center; }
.dkn-intro { margin-bottom: var(--wp--preset--spacing--50) !important; }
.dkn-intro .dkn-lead { max-width: 640px; margin-inline: auto; }
.dkn-intro:not(.dkn-center) .dkn-lead { margin-inline: 0; }
.dkn-hero-inner { max-width: 860px; }
.dkn-hero-inner .dkn-lead { max-width: 700px; }
ul.dkn-inline-list { display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; }
ul.dkn-inline-list > li { margin-bottom: 0; }
.dkn-rounded img, img.dkn-rounded { border-radius: var(--dkn-radius-l); }
.wp-block-separator.dkn-sep-dark { border: 0; border-top: 1px solid rgba(255, 255, 255, .12); background: none; opacity: 1; margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); }

/* ---------- Remove block-gap strips between full-width sections ---------- */
.wp-site-blocks > *,
.wp-site-blocks > main > *,
.wp-block-post-content > .alignfull,
.wp-block-post-content > .alignfull + * { margin-block-start: 0 !important; }
.wp-block-post-content > .alignfull { margin-block-end: 0 !important; }

/* ---------- Balanced grids on tablets (avoid orphaned cards) ---------- */
@media (max-width: 1100px) and (min-width: 601px) {
	.dkn-grid:has(> :nth-child(4):last-child),
	.dkn-steps:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 1000px) {
	.dkn-grid:has(> :nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr) !important; max-width: 520px; margin-inline: auto !important; }
}
@media (max-width: 600px) {
	.dkn-grid, .dkn-steps { grid-template-columns: minmax(0, 1fr) !important; }
}

/* ---------- Plan prices ---------- */
.dkn-plan .dkn-price { margin: -.25rem 0 .25rem !important; color: var(--wp--preset--color--slate); font-size: .95rem; }
.dkn-plan .dkn-price strong { display: inline-block; font-size: 2.4rem; font-weight: 800; letter-spacing: -.03em; color: var(--dkn-navy); line-height: 1.1; margin-right: .15rem; }
.dkn-plan-notes { max-width: 760px; margin-inline: auto !important; margin-top: var(--wp--preset--spacing--40) !important; }
