/*
Theme Name: KaktusDocs
Author: Kaktus
Description: A lightweight documentation theme built to complement BetterDocs and BetterDocs Pro. Native plugin layouts, accessible navigation, and a quiet reading experience.
Version: 1.0.1
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kaktusdocs
Tags: education, custom-logo, custom-menu, featured-images, translation-ready, wide-blocks
*/
:root{--kd-ink:#20352b;--kd-muted:#5c6961;--kd-green:#216347;--kd-paper:#fafbf8;--kd-surface:#fff;--kd-border:#dfe5dd;--kd-tint:#edf3e9;--kd-radius:10px;--kd-width:1320px}
body.kaktusdocs-theme{margin:0;color:var(--kd-ink);background:var(--kd-paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
.kaktusdocs-theme *,.kaktusdocs-theme *::before,.kaktusdocs-theme *::after{box-sizing:border-box}
.kaktusdocs-theme img{max-width:100%;height:auto}
:where(.kaktusdocs-theme) a{color:var(--kd-green);text-underline-offset:4px}
:where(.kaktusdocs-theme) a:hover{text-decoration-thickness:2px}
.kaktusdocs-theme :focus-visible{outline:3px solid var(--kd-green);outline-offset:4px}
.kaktusdocs-theme h1,.kaktusdocs-theme h2,.kaktusdocs-theme h3{line-height:1.25;letter-spacing:-.025em;text-wrap:balance}
.kaktusdocs-theme h1{font-size:clamp(2rem,4vw,3rem)}
.kaktusdocs-theme h2{font-size:clamp(1.5rem,2.5vw,2rem)}
.kd-header{background:var(--kd-surface);border-bottom:1px solid var(--kd-border)}
.kd-header-inner{max-width:var(--kd-width);min-height:80px;margin:auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.kd-brand{display:flex;align-items:center;gap:20px;min-width:0}
.kd-brand-name{font-size:23px;font-weight:750;letter-spacing:-1px;text-decoration:none;color:var(--kd-ink)!important}
.kd-brand-label{padding-inline-start:20px;border-inline-start:1px solid var(--kd-border);font-size:13px;color:var(--kd-muted)}
.kd-brand .custom-logo-link{display:flex;align-items:center}
.kd-brand .custom-logo{width:auto;max-width:200px;max-height:44px}
.kd-navigation{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:550}
.kd-menu{list-style:none;display:flex;align-items:center;gap:24px;margin:0;padding:0}
.kd-menu a{text-decoration:none;color:var(--kd-ink)}
.kd-menu a:hover,.kd-menu .current-menu-item>a{color:var(--kd-green);text-decoration:underline}
.kd-menu li{position:relative}
.kd-menu .sub-menu{display:none;position:absolute;z-index:100;inset-block-start:100%;inset-inline-start:0;min-width:220px;list-style:none;padding:12px;background:var(--kd-surface);border:1px solid var(--kd-border);border-radius:var(--kd-radius)}
.kd-menu .sub-menu a{display:block;padding:8px}
.kd-menu li:hover>.sub-menu,.kd-menu li:focus-within>.sub-menu{display:block}
.kd-support,.kd-menu-toggle{border:1px solid var(--kd-border);border-radius:var(--kd-radius);padding:9px 16px;text-decoration:none;white-space:nowrap;background:var(--kd-surface);color:var(--kd-ink);font:inherit}
.kd-menu-toggle{display:none;cursor:pointer}
.kd-content{min-height:calc(100svh - 180px)}
.kd-content:focus{outline:none}
.kd-page{max-width:var(--kd-width);padding:48px 32px 80px;margin:auto}
.kd-page-heading{max-width:1320px;margin:0 auto 32px}
.kd-entry-content{display:flow-root;overflow-wrap:anywhere}
.kd-page .kd-entry-content>:where(:not(.alignwide):not(.alignfull):not([class*="betterdocs"])){max-width:1320px;margin-inline:auto}
.kd-entry-content :where(p,ul,ol,blockquote){margin-block:1.25em}
.kd-entry-content :where(h2,h3,h4){margin-block-start:1.8em;scroll-margin-top:24px}
.kd-entry-content :where(pre){overflow-x:auto;padding:24px;background:var(--kd-tint);border-radius:var(--kd-radius);font-size:.875em}
.kd-entry-content :where(table){border-collapse:collapse;width:100%}
.kd-entry-content :where(td,th){padding:12px;border:1px solid var(--kd-border);text-align:start}
.kd-entry-content blockquote{border-inline-start:3px solid var(--kd-green);padding-inline-start:24px;margin-inline:0}
.kd-reading{max-width:864px;margin:auto;padding:64px 32px 96px;overflow-wrap:anywhere}
.kd-intro{color:var(--kd-muted)}
.kd-post-summary{padding:24px 0;border-bottom:1px solid var(--kd-border)}
.kd-post-summary h2{margin:0 0 12px}
.kd-post-summary h2 a{text-decoration:none}
.kd-post-summary p{color:var(--kd-muted)}
.kd-search{display:flex;gap:10px;margin-block:24px;max-width:640px}
.kd-search label{flex:1;min-width:0}
.kd-search input{width:100%;min-height:48px;border:1px solid var(--kd-border);border-radius:var(--kd-radius);padding:12px 16px;font:inherit;background:var(--kd-surface);color:var(--kd-ink)}
.kd-search input::placeholder{color:var(--kd-muted)}
.kd-search button,.kd-comments input[type=submit]{background:var(--kd-green);color:#fff;border:0;border-radius:var(--kd-radius);padding:12px 20px;font:inherit;cursor:pointer}
.kd-comments{margin-block:48px}
.kd-comments textarea,.kd-comments input:not([type=checkbox]):not([type=submit]){max-width:100%;border:1px solid var(--kd-border);border-radius:var(--kd-radius);padding:10px;font:inherit}
.kd-comments label{display:block}
.kd-footer{border-top:1px solid var(--kd-border);background:var(--kd-surface);color:var(--kd-muted);font-size:13px}
.kd-footer-inner{max-width:var(--kd-width);margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.kd-footer p{margin:0}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto!important;clip-path:none;display:block;top:8px;left:8px;width:auto;height:auto;padding:12px 20px;background:var(--kd-surface);z-index:100000}
/* Padding inside the entire columns wrapper */
.wp-block-columns.columns-padded {
    padding: 32px;
}
.wp-block-columns.columns-padded > .wp-block-column {
    padding: 24px;
}
.aligncenter{display:block;margin-inline:auto}
.alignleft{float:left;margin-inline-end:24px}
.alignright{float:right;margin-inline-start:24px}
.wp-caption,.wp-caption-text,.gallery-caption{max-width:100%}
.wp-caption-text,.gallery-caption{color:var(--kd-muted);font-size:.875em}
.bypostauthor{border-inline-start:2px solid var(--kd-border);padding-inline-start:16px}
.pagination,.post-navigation{margin-block:32px}
.nav-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
@media(max-width:1024px){.kd-brand-label{display:none}}
@media(max-width:768px){
.kd-header-inner{min-height:72px;padding:16px 20px;flex-wrap:wrap;gap:16px}
.kd-menu-toggle:not([hidden]){display:block}
.kd-navigation{width:100%;align-items:stretch;flex-direction:column;gap:16px}
.kd-navigation-ready{display:none}.kd-navigation-ready.is-open{display:flex}
.kd-navigation .kd-menu{align-items:stretch;flex-direction:column;gap:0}
.kd-navigation .kd-menu a{display:block;padding:10px 0}
.kd-navigation .kd-menu .sub-menu{display:block;position:static;border:0;padding:0 0 0 20px;background:transparent}
.kd-support{text-align:center}.kd-page,.kd-reading{padding:32px 20px 56px}
.kd-footer-inner{padding:24px 20px;align-items:flex-start;flex-direction:column;gap:12px}
.kd-footer .kd-menu{flex-wrap:wrap;gap:12px 20px}
}
@media(prefers-reduced-motion:reduce){.kaktusdocs-theme{scroll-behavior:auto}}
@media print{.kd-header,.kd-footer,.skip-link,.kd-menu-toggle{display:none}.kd-content{min-height:0}.kd-reading,.kd-page{max-width:none;padding:0}body.kaktusdocs-theme{background:#fff;color:#000}}
