/*
Theme Name:        Octopush
Theme URI:         https://octopush.agency
Author:            Octopush Digital Agency
Author URI:        https://octopush.agency
Description:       A lean, fast theme by Octopush. No page builder, no jQuery. Made for Snippet Builder by Octopush.
Version:           0.9.6
Requires at least: 6.3
Requires PHP:      7.4
License:           GPLv2 or later
Text Domain:       octopush
*/

:root{
	--bg:#1a1e29;--sf:#222736;--sf2:#2b3143;--ln:#323950;--tx:#dde2ee;--mut:#8891a8;
	--ac:#7aa2ff;--ac2:#9bb9ff;--st:#ffb86b;
	--sans:'Instrument Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
	--mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
	--w:1440px;--nw:920px;
	--ease-out:cubic-bezier(.23,1,.32,1);
	color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
*{-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{max-width:100%;height:auto}
a{color:var(--ac);text-underline-offset:3px}
::selection{background:rgba(122,162,255,.32);color:var(--tx)}
html{caret-color:var(--ac);scrollbar-color:var(--ln) transparent}
a:hover{color:var(--ac2)}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
code,kbd,pre{font-family:var(--mono)}
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-80px;z-index:200;padding:10px 14px;border-radius:8px;background:var(--ac);color:#0e1422;font-weight:600;text-decoration:none}
.skip:focus{top:12px;color:#0e1422}

.site{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.site>main{flex:1}
.wrap{width:100%;max-width:var(--w);margin:0 auto;padding:56px 24px 96px}
.wrap.narrow{max-width:calc(var(--nw) + 48px)}

/* ---------- Header ---------- */
.hd{position:sticky;top:0;z-index:50;background:rgba(26,30,41,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ln)}
.admin-bar .hd{top:32px}
.hd-in{position:relative;display:flex;align-items:center;gap:14px;max-width:var(--w);height:60px;margin:0 auto;padding:0 24px}
.wm{font:500 15px/1 var(--mono);color:var(--tx);text-decoration:none;white-space:nowrap}
.wm:hover{color:var(--tx)}
.wm{display:inline-flex;align-items:center;gap:9px}
.wm-t span{color:var(--ac)}
.mk{width:26px;height:26px;flex:none}
.mk path{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.mk-b{stroke:currentColor}.mk-h{stroke:var(--ac)}
.crumb{padding:5px 8px;border:1px solid var(--ln);border-radius:5px;font:12px/1 var(--mono);color:var(--mut)}
.hd-nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.nav ul{display:flex;gap:22px;margin:0;padding:0;list-style:none}
.nav a{color:var(--mut);font-size:15px;text-decoration:none}
.nav a:hover,.nav .current-menu-item>a,.nav .current-menu-ancestor>a{color:var(--tx)}
.burger{display:none;align-items:center;justify-content:center;width:40px;height:40px;margin-left:auto;padding:0;border:1px solid var(--ln);border-radius:8px;background:transparent;color:var(--tx);cursor:pointer}
.burger path{transition:transform .2s ease;transform-origin:12px 12px}
.hd.open .b1{transform:translateY(5px) rotate(45deg)}
.hd.open .b2{transform:translateY(-5px) rotate(-45deg)}


/* Builder: full screen */
.fxb-app-body .hd{position:relative;top:0}
.fxb-app-body .hd-in{max-width:none;padding:0 20px}
/* The app fills the first screen; the footer sits below it. */
.fxb-app-body .fxb-main{flex:none;height:calc(100vh - 61px);height:calc(100dvh - 61px);min-height:520px}
.admin-bar.fxb-app-body .fxb-main{height:calc(100vh - 93px);height:calc(100dvh - 93px)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 16px;border:1px solid var(--ac);border-radius:8px;background:var(--ac);color:#0e1422;font:500 15px/1 var(--sans);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .16s var(--ease-out)}
.btn:active{transform:scale(.97)}
.btn:hover{background:var(--ac2);border-color:var(--ac2);color:#0e1422}
.btn-sm{height:34px;padding:0 13px;font-size:14px}
.btn-ghost{background:transparent;border-color:var(--ln);color:var(--tx)}
.btn-ghost:hover{background:transparent;border-color:var(--mut);color:var(--tx)}

/* ---------- Page headers ---------- */
.bc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;font-size:15px;color:var(--mut)}
.bc a{color:var(--mut);text-decoration:none}
.bc a:hover{color:var(--tx)}
.title{max-width:24ch;margin:0 0 20px;font-size:clamp(32px,4.4vw,48px);font-weight:500;line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
.lead{max-width:60ch;margin:0 0 20px;font-size:19px;color:var(--mut)}
.ph{margin-bottom:40px}
.ph-meta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;font-size:15px;color:var(--mut)}
.sec-h{margin:0 0 16px;font-size:15px;font-weight:500;color:var(--mut)}
.empty{color:var(--mut)}

/* ---------- Content ---------- */
.prose>*{margin-top:0;margin-bottom:1.1em}
.prose h2{margin:1.8em 0 .6em;font-size:26px;font-weight:500;line-height:1.25;letter-spacing:-.015em}
.prose h3{margin:1.6em 0 .5em;font-size:20px;font-weight:500;line-height:1.3}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:.3em 0}
.prose :not(pre)>code{padding:.1em .4em;border:1px solid var(--ln);border-radius:5px;background:var(--sf);font-size:.86em}
.prose pre{padding:18px 20px;overflow-x:auto;border:1px solid var(--ln);border-radius:10px;background:var(--sf);font:14px/1.75 var(--mono);tab-size:4}
.prose blockquote{margin-left:0;margin-right:0;padding:14px 18px;border:1px solid var(--ln);border-radius:10px;background:var(--sf);color:var(--mut)}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose th,.prose td{padding:10px 8px;border-bottom:1px solid var(--ln);text-align:left}
.prose hr{margin:2em 0;border:0;border-top:1px solid var(--ln)}
.prose img{border-radius:10px}
.prose .fxb-single{margin-bottom:2.5em}
.prose .fxb-codebox{border:1px solid var(--ln)}
.prose .fxb-codebox pre{margin:0;padding:20px 22px;border:0;border-radius:0;background:none}
.prose .fxb-lead{color:var(--mut)}

/* ---------- Lists ---------- */
.rows{margin:0;padding:0;list-style:none;border-top:1px solid var(--ln)}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 15rem;gap:24px;align-items:baseline;padding:18px 10px;border-bottom:1px solid var(--ln);color:var(--tx);text-decoration:none;transition:background .15s}
.row-t{font-size:17px;font-weight:500;line-height:1.35}
@media (hover:hover) and (pointer:fine){.row:hover{background:var(--sf);color:var(--tx)}.row:hover .row-t{color:var(--ac)}}
.row-d{font-size:15px;line-height:1.5;color:var(--mut)}
.row-h{justify-self:end;max-width:100%;overflow:hidden;font-size:13px;color:var(--mut);text-overflow:ellipsis;white-space:nowrap}
.row-h code{font-size:12.5px}
.rel{margin-top:64px}
.narrow .row{grid-template-columns:minmax(0,1fr) auto;gap:4px 24px}
.narrow .row-d{grid-column:1/-1;grid-row:2}

/* ---------- Search ---------- */
.sf{display:flex;gap:8px;max-width:560px;margin:0 0 32px}
.sf input{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid var(--ln);border-radius:8px;background:var(--sf);color:var(--tx);font:16px var(--sans);-webkit-appearance:none;appearance:none}
.sf input:focus{border-color:var(--ac);outline:0}
.sf input::placeholder{color:var(--mut)}
.sf .btn{height:44px}

/* ---------- 404 ---------- */
.nf-code{margin:0 0 10px;font:500 14px var(--mono);color:var(--ac)}

/* ---------- Pagination ---------- */
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.page-numbers{display:inline-flex;align-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--ln);border-radius:8px;color:var(--tx);text-decoration:none}
.page-numbers.current{border-color:var(--ac);color:var(--ac)}

/* ---------- Footer ---------- */
.ft{border-top:1px solid var(--ln);font-size:15px;color:var(--mut)}
.ft-wrap{width:min(100% - 48px, var(--w) - 48px);margin:0 auto}
.ft-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:64px;padding:56px 0 48px}
.ft-brand p{max-width:34ch;margin:14px 0 20px;line-height:1.55}
.ft h2{margin:0 0 10px;font-size:14px;font-weight:500;color:var(--tx)}
.ft ul{margin:0;padding:0;list-style:none}
.ft-links ul{display:flex;flex-wrap:wrap;gap:8px 20px;max-width:44ch}
.ft a{color:var(--mut);text-decoration:none}
.ft a:hover{color:var(--tx)}
.ft-log li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--ln)}
.ft-log li:last-child{border-bottom:0}
.ft-h{font-family:var(--mono);font-size:12.5px;color:var(--ac)}
.ft-log a{color:var(--tx)}
.ft-log a:hover{color:var(--ac)}
.ft-log time{font-size:13px;color:var(--mut);opacity:.75;white-space:nowrap;font-variant-numeric:tabular-nums}
.ft-bot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:20px 0 28px;border-top:1px solid var(--ln);font-size:14px}
.ft-bot a{color:var(--tx)}
.ft-legal{display:flex;flex-direction:column;gap:6px}
.ft-legal-nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.ft-legal-nav a{color:var(--mut)!important}
.ft-legal-nav a:hover{color:var(--tx)!important}
/* Footer credit: "Making our lives easier / by Octopush" (text decode + logo glitch on hover) */
.cr{display:inline-flex;flex-direction:column;align-items:flex-end;gap:3px;color:#5d6480!important;font-size:11.5px;line-height:1.3;letter-spacing:.01em;text-decoration:none}
.cr-l1{display:inline-block;white-space:nowrap;text-align:right;transition:color .3s ease}
.cr-l2{display:inline-flex;align-items:center;gap:6px}
.cr-lg{position:relative;display:block;width:calc(11px * 574 / 88);height:11px}
.cr-lg i,.cr-lg::before,.cr-lg::after{position:absolute;inset:0;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.cr-lg i{background-color:#5d6480;transition:background-color .35s ease}
.cr-t{--m:url(assets/octopush-logo-type.svg)}
.cr-i{--m:url(assets/octopush-logo-mark.svg)}
.cr-lg::before,.cr-lg::after{content:"";--m:url(assets/octopush-logo.svg);opacity:0;pointer-events:none}
.cr-lg::before{background:#4ff0ff}
.cr-lg::after{background:#ff4fd8}
@media (hover:hover) and (pointer:fine){
	.cr:hover .cr-l1{color:var(--mut)}
	.cr:hover .cr-lg i{background-color:#987c48}
	.cr:hover .cr-lg{animation:cr-jolt .32s steps(3,end)}
	.cr:hover .cr-lg::before{animation:cr-g1 .32s steps(2,end) both}
	.cr:hover .cr-lg::after{animation:cr-g2 .32s steps(2,end) both}
}
.cr:focus-visible .cr-lg i{background-color:#987c48}
@keyframes cr-jolt{0%{transform:translateX(1px)}50%{transform:translateX(-1px)}100%{transform:none}}
@keyframes cr-g1{0%{opacity:.85;transform:translateX(-2px);clip-path:inset(0 0 55% 0)}50%{opacity:.85;transform:translateX(2px);clip-path:inset(45% 0 0 0)}100%{opacity:0;transform:none}}
@keyframes cr-g2{0%{opacity:.85;transform:translateX(2px);clip-path:inset(40% 0 20% 0)}50%{opacity:.85;transform:translateX(-2px);clip-path:inset(0 0 70% 0)}100%{opacity:0;transform:none}}

/* ---------- Mobile ---------- */
@media (max-width:860px){
	.burger{display:inline-flex}
	.hd-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 18px;border-bottom:1px solid var(--ln);background:var(--bg)}
	.hd.open .hd-nav{display:flex}
	.nav ul{flex-direction:column;gap:0}
	.nav a{display:block;padding:12px 8px;font-size:17px;color:var(--tx)}
	.hd-nav .btn{height:44px;margin-top:8px}
	.fxb-app-body .fxb-main,.admin-bar.fxb-app-body .fxb-main{height:auto;min-height:0}
	.fxb-app-body .ft{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
	.fxb-app-body .hd{z-index:60}
	.wrap{padding:36px 20px 72px}
	.row,.narrow .row{grid-template-columns:1fr;gap:4px}
	.row-h{justify-self:start}
	.ft-wrap{width:calc(100% - 40px)}
	.ft-in{grid-template-columns:1fr;gap:36px;padding:44px 0 32px}
	.ft-log li{grid-template-columns:auto minmax(0,1fr);gap:4px 14px}
	.ft-log time{grid-column:2}
	.ft-bot{padding:18px 0 28px}
	.cr{align-items:flex-start}
}
@media (max-width:782px){.admin-bar .hd{top:46px}}
@media (max-width:600px){.admin-bar .hd{top:0}}

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

/* No ligatures in code. Keep last. */
code,kbd,pre,pre *,.wm,.crumb,.nf-code,.ft-h{font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}
.wpf-ga{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--ln);border-radius:7px;color:var(--tx)!important;font-size:14px;text-decoration:none!important;vertical-align:middle}
@media (hover:hover) and (pointer:fine){.wpf-ga:hover{border-color:var(--mut)}}
