/* Variant Z "Mlango wa Zanzibar": carved teak, brass studs, arched door frame, gold serif type. */
:root {
	--z-teak3: #4a2a16; --z-line: #6b4426; --z-gold2: #f1d18a;
	--z-stud: radial-gradient(circle at 45% 40%, #fff1c2 0 1.2px, var(--wp--preset--color--accent) 2.4px, #7d5a1f 4.2px, transparent 4.8px);
	--z-rosette: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cg fill='none' stroke='%23d6a84e' stroke-opacity='.5' stroke-width='1.2'%3E%3Cpath d='M14 3c4 4 4 7 0 11c-4-4-4-7 0-11zM14 25c4-4 4-7 0-11c-4 4-4 7 0 11zM3 14c4-4 7-4 11 0c-4 4-7 4-11 0zM25 14c-4-4-7-4-11 0c4 4 7 4 11 0z'/%3E%3Ccircle cx='14' cy='14' r='2'/%3E%3C/g%3E%3C/svg%3E");
}
body { background-color: var(--wp--preset--color--base); background-image: repeating-linear-gradient(91deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 7px), linear-gradient(#2a160c, var(--wp--preset--color--base) 40%); color-scheme: dark; }
a { color: var(--z-gold2); }

/* Header with a stud strip */
.ktz-head { background: var(--wp--preset--color--base); border-bottom: 1px solid var(--z-line); box-shadow: none; }
.ktz-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 10px; background: var(--z-stud) 0 50% / 22px 10px repeat-x; pointer-events: none; }
.ktz-head .wp-block-site-title a { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.75rem; color: var(--z-gold2); }
.ktz-head .wp-block-site-title a::before { content: ""; width: 26px; height: 32px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 32'%3E%3Cpath d='M2 31V13a11 11 0 0 1 22 0v18z' fill='%234a2a16' stroke='%23d6a84e' stroke-width='1.6'/%3E%3Cpath d='M13 3v28' stroke='%23d6a84e' stroke-width='1.2'/%3E%3Cg fill='%23f1d18a'%3E%3Ccircle cx='7' cy='17' r='1.3'/%3E%3Ccircle cx='7' cy='23' r='1.3'/%3E%3Ccircle cx='19' cy='17' r='1.3'/%3E%3Ccircle cx='19' cy='23' r='1.3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.ktz-head .wp-block-navigation a { border-radius: 22px 22px 4px 4px; }
.ktz-head .wp-block-navigation a:hover { background: var(--z-teak3); color: var(--z-gold2); }

/* Hero: the carved door arch */
.ktz-hero { background: transparent; padding: 2rem 1rem 1rem; text-align: center; }
.ktz-hero .ktz-inner { position: relative; isolation: isolate; max-width: 64rem; padding: 14px 14px 24px; border-radius: 50% 50% 14px 14px / 190px 190px 14px 14px; background: var(--z-rosette) center / 28px 28px, linear-gradient(#5c361c, #3a2010); box-shadow: inset 0 0 0 2px var(--wp--preset--color--accent), inset 0 0 0 7px #2a160c, 0 26px 60px rgba(0, 0, 0, 0.55); }
.ktz-hero .ktz-inner::before { content: ""; position: absolute; inset: 14px; z-index: -1; border-radius: 50% 50% 8px 8px / 176px 176px 8px 8px; background: radial-gradient(ellipse 70% 50% at 50% 0, rgba(214, 168, 78, 0.16), transparent 70%), repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.08) 0 2px, transparent 2px 11px), linear-gradient(#3d2213, #24130a); box-shadow: inset 0 0 0 1px rgba(241, 209, 138, 0.35); }
.ktz-ornament { padding-top: 30px; display: flex; justify-content: center; }
.ktz-ornament svg { width: 74px; height: auto; }
.ktz-badge { margin: 0.75rem auto 0 !important; background: rgba(34, 18, 10, 0.6); color: var(--z-gold2); border: 1px solid var(--wp--preset--color--accent); display: table; }
.ktz-hero h1 { color: var(--wp--preset--color--ink); font-size: clamp(2.5rem, 7.4vw, 5rem); font-weight: 700; line-height: 1; text-shadow: 0 2px 0 #120904; margin: 1rem auto !important; }
.ktz-hero .wp-block-post-excerpt { color: var(--wp--preset--color--muted); opacity: 1; max-width: 60ch; margin: 0 auto !important; padding: 0 clamp(0.5rem, 5vw, 4rem); }
.ktz-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; max-width: 820px; margin: 1.75rem auto 0.5rem !important; padding: 0 clamp(0.5rem, 4vw, 2rem); }
.ktz-stat { position: relative; margin: 0; padding: 1.25rem 0.75rem 1.5rem; background: linear-gradient(#2c170c, #1e0f07); border: 1px solid var(--z-line); border-radius: 60px 60px 6px 6px / 40px 40px 6px 6px; }
.ktz-stat::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 6px; height: 8px; background: var(--z-stud) 0 50% / 18px 8px repeat-x; }
.ktz-stat strong { display: block; font: 700 2.875rem/1 var(--wp--preset--font-family--heading); color: var(--z-gold2); font-variant-numeric: lining-nums; }
.ktz-stat span { display: block; margin-top: 0.375rem; font-size: 0.875rem; line-height: 1.35; color: var(--wp--preset--color--muted); }
@media (max-width: 640px) {
	.ktz-hero .ktz-inner { border-radius: 50% 50% 12px 12px / 110px 110px 12px 12px; padding: 10px 10px 18px; }
	.ktz-hero .ktz-inner::before { inset: 10px; border-radius: 50% 50% 6px 6px / 100px 100px 6px 6px; }
	.ktz-ornament { padding-top: 20px; }
	.ktz-ornament svg { width: 56px; }
	.ktz-stats { grid-template-columns: 1fr; }
	.ktz-stat { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); align-items: center; text-align: left; gap: 0.75rem; padding: 0.75rem 1rem; border-radius: 30px 8px 8px 30px; }
	.ktz-stat::after { display: none; }
	.ktz-stat span { margin: 0; }
}

/* Page band */
.ktz-band { background: linear-gradient(#3a2112, var(--wp--preset--color--base)); border-bottom: 1px solid var(--z-line); position: relative; }
.ktz-band::after { content: ""; position: absolute; left: 0; right: 0; bottom: -5px; height: 10px; background: var(--z-stud) 0 50% / 22px 10px repeat-x; }
.ktz-band h1 { color: var(--wp--preset--color--ink); font-weight: 700; font-size: clamp(2rem, 6vw, 3.25rem); }

/* Content */
.wp-block-post-content > h2 { display: flex; align-items: center; gap: 0.875rem; font-weight: 700; font-size: clamp(1.75rem, 4.5vw, 2.5rem); }
.wp-block-post-content > h2::before { content: ""; flex: none; width: 12px; height: 12px; transform: rotate(45deg); background: var(--wp--preset--color--accent); box-shadow: 0 0 0 4px var(--wp--preset--color--base), 0 0 0 5px var(--wp--preset--color--accent); }
.wp-block-post-content > h3 { font-weight: 700; font-size: 1.5rem; }
.tarehe-ukaguzi { background: transparent; text-align: center; color: var(--wp--preset--color--muted); border-top: 1px solid var(--wp--preset--color--accent); border-bottom: 1px solid var(--wp--preset--color--accent); border-radius: 0; }
.wp-block-table { background: var(--wp--preset--color--soft); border: 1px solid var(--z-line); box-shadow: none; }
.wp-block-table thead th { background: var(--z-teak3); color: var(--z-gold2); border-bottom: 2px solid var(--wp--preset--color--accent); }
.wp-block-table th, .wp-block-table td { border-bottom-color: var(--z-line); }
.wp-block-table tbody tr:nth-child(even) td { background: rgba(0, 0, 0, 0.14); }
.wp-block-table tbody td:first-child { font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; font-weight: 700; }
@media (max-width: 600px) { .wp-block-table tbody td:first-child { background: var(--wp--preset--color--soft); } }
.wp-block-list.is-style-kadi a { background: var(--z-rosette) 50% 6px / 28px 28px no-repeat, linear-gradient(#3a2112, #26140a); border: 1px solid var(--z-line); border-radius: 60px 60px 8px 8px / 40px 40px 8px 8px; box-shadow: none; color: var(--wp--preset--color--ink); font: 700 1.375rem/1.2 var(--wp--preset--font-family--heading); padding-top: 2.25rem; min-height: 96px; }
.wp-block-list.is-style-kadi a:hover { border-color: var(--wp--preset--color--accent); }
.onyo-18 { padding: 1.25rem; border: 1px solid var(--wp--preset--color--accent); border-radius: 10px; background: linear-gradient(90deg, #3a2112, #2a160c); color: var(--wp--preset--color--ink); }
.onyo-18::before { background: radial-gradient(circle at 40% 35%, #fbe3a3, var(--wp--preset--color--accent) 60%, #8a6424); color: var(--wp--preset--color--base); border: 0; }

/* Footer with a stud strip */
.ktz-foot { background: #1a0d06; position: relative; }
.ktz-foot::before { content: ""; position: absolute; left: 0; right: 0; top: -5px; height: 10px; background: var(--z-stud) 0 50% / 22px 10px repeat-x; }
.ktz-foot .ktz-wordmark { color: var(--z-gold2); font-weight: 700; font-size: 1.75rem; }
.ktz-age strong { background: transparent; border: 2px solid var(--wp--preset--color--accent); color: var(--z-gold2); font-family: var(--wp--preset--font-family--heading); }
