/*
Theme Name: KreweCamp
Description: Krewe.Camp branding for the existing KrewesCtrl help library.
Template: knowall
Version: 1.0.0
Text Domain: krewecamp
*/

body { --kc-gold:#f8b619; --kc-purple:#752bb0; --kc-ink:#241b09; background:#fcfaf7; color:#514c44; }
html body, body p, body input, body select, body textarea, body button { font-family:Inter,"Segoe UI",Arial,sans-serif; }
body h1, body h2, body h3, body h4 { font-family:Inter,"Segoe UI",Arial,sans-serif; color:#241b09; font-weight:700; }
body .ht-container { max-width:1200px; }
body a { color:#663091; }
body a:hover { color:#875e00; }
body a:focus-visible, body button:focus-visible, body input:focus-visible { outline:3px solid #a665d8; outline-offset:5px; }
.kc-skip { position:absolute; top:-100px; left:16px; z-index:10000; background:#fff; padding:12px 20px; }
.kc-skip:focus { top:12px; }
body .site-header { background:#261b06; }
body .site-header__banner { padding:16px 0; background:#3c2900; border-bottom:1px solid #675019; }
body .site-header__banner > .ht-container { display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
body .site-header__banner > .ht-container::before, body .site-header__banner > .ht-container::after { display:none; }
.kc-brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; }
.kc-brand img { width:44px; height:44px; border-radius:50%; }
.kc-brand span { font-size:19px; letter-spacing:1.4px; }
.kc-brand strong { color:#b76af4; font-weight:500; }
.kc-brand em { color:#12d250; font-style:normal; }
.kc-brand sup { font-size:9px; color:#f8b619; }
.kc-client-badge { margin-left:auto; padding:7px 12px; border:1px solid #8e680b; border-radius:30px; color:#fff1ce; font-size:11px; font-weight:600; }
body .nav-header { float:none; margin:0; }
body .nav-header ul li a { font-size:12px; color:#fff0ce; }
body .nav-header ul li a:hover { color:#f8b619; }
.kc-hero { padding:90px 0 88px; background:radial-gradient(ellipse at 0% 20%,#674600 0,transparent 44%),radial-gradient(ellipse at 100% 90%,#473407 0,transparent 45%),#261b09; }
.kc-hero-grid { display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:60px; }
body .kc-eyebrow { margin:0 0 20px; color:#f8b619; font-size:11px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; }
.kc-status-dot { display:inline-block; width:9px; height:9px; margin-right:8px; border-radius:50%; background:#15cb46; box-shadow:0 0 0 5px #1aab3028; }
body .kc-hero h1 { margin:0 0 24px; color:#fff; font-size:clamp(42px,5.2vw,72px); line-height:1.02; letter-spacing:-3px; font-weight:750; }
.kc-hero h1 span { color:#f8b619; background:linear-gradient(90deg,#ad7f0d,#ffbd13); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
body .kc-lead { max-width:595px; font-size:16px; line-height:1.8; color:#eee5d4; margin-bottom:26px; }
.kc-actions { display:flex; flex-wrap:wrap; gap:12px; }
body .kc-button { display:inline-flex; align-items:center; gap:16px; padding:13px 18px; background:#805800; border:1px solid #c18c0d; border-radius:10px; color:#fff; font-size:13px; font-weight:650; text-decoration:none; }
body .kc-button-secondary { background:#ffffff0b; border-color:#75674c; }
body .kc-button:hover { background:#a17208; color:#fff; }
body .kc-note { color:#cfc2a7; font-size:12px; line-height:1.7; margin:25px 0 0; max-width:530px; padding-left:20px; border-left:2px solid #b48820; }
.kc-visual { position:relative; max-width:440px; width:100%; padding:40px; margin:auto; }
.kc-logo-ring { border-radius:50%; overflow:hidden; background:#101211; box-shadow:0 0 0 12px #ffffff04,0 0 0 28px #bd8d0b09,0 24px 50px #0004; }
.kc-logo-ring img { display:block; width:100%; height:auto; border-radius:50%; transform:scale(1.55); }
.kc-float { position:absolute; display:flex; gap:10px; align-items:center; padding:13px 16px; background:#181207; border:1px solid #51432e; border-radius:13px; color:#fff; font-size:11px; font-weight:650; box-shadow:0 12px 28px #0002; }
.kc-float b { color:#ffc31a; }
.kc-float-one { top:20px; left:-10px; }
.kc-float-two { top:46%; right:-12px; }
.kc-float-three { bottom:0; right:30px; }
.kc-intro { background:#fff; padding:40px 0 34px; text-align:center; }
.kc-parent-logo { width:240px; max-width:65%; height:auto; margin-bottom:25px; }
body .kc-intro .kc-eyebrow { color:#956500; margin-bottom:12px; }
body .kc-intro h2 { font-size:32px; letter-spacing:-1px; margin:0 0 14px; }
body .kc-intro p { color:#676157; font-size:15px; line-height:1.75; }
.kc-legacy-notice { background:#fff5d9; border-block:1px solid #e0c475; padding:20px 0; color:#573d09; }
.kc-legacy-notice strong { display:block; font-size:15px; }
body .kc-legacy-notice p { margin:6px 0 0; color:#634b1e; font-size:14px; line-height:1.65; }
body .site-header__search { padding:36px 20px 40px; background:#f3eee5; border-block:1px solid #e7dfd1; text-align:center; scroll-margin-top:20px; }
body .site-header__search .kc-eyebrow { color:#795914; margin-bottom:8px; }
body .site-header .site-header__title { color:#241b09; font-size:30px; margin-bottom:20px; }
body .hkb-site-search { max-width:760px; margin:auto; }
body .hkb-site-search .hkb-site-search__field { border:1px solid #d5cbb9; border-radius:12px; box-shadow:0 6px 20px #36250b08; color:#312a20; background-color:#fff; }
body .ht-page { padding-top:45px; }
body .hkb-archive__title { font-size:27px; letter-spacing:-.6px; }
body .hkb-category.hkb-category--boxed { background:#fff; border:1px solid #e5ded1; border-radius:14px; box-shadow:0 4px 15px #34250c04; overflow:hidden; }
body .hkb-category.hkb-category--boxed:hover { border-color:#b591cf; box-shadow:0 8px 24px #642c8810; }
body .hkb-category .hkb-category__link { border-bottom:0; padding:26px; }
body .hkb-category .hkb-category__title { font-size:18px; }
body .hkb-category__description { color:#6b645a; line-height:1.7; }
body .widget { border-radius:12px; }
body .hkb_widget_exit { background:#f1eaf6; border:1px solid #dfd0e9; }
body .hkb_widget_exit__btn { background:#693193; border-radius:8px; }
body .hkb_widget_toc ol li.active > a { background:#693193; }
body .site-footer { background:#261b09; border-top:3px solid #b58b22; color:#d7ccb5; }
body .site-footer a { color:#f5d681; }
body .ht-pageheader { background:#f3eee5; border-bottom:1px solid #e7dfd1; }
body .hkb-article__content { font-size:16px; line-height:1.8; }
body .kc-library-nav { color:#ffe3a0; font-size:13px; font-weight:600; }
.kc-library { padding-top:50px; padding-bottom:65px; min-height:60vh; }
.kc-library-heading { max-width:800px; margin:0 0 38px; }
body .kc-library-heading .kc-eyebrow { color:#785700; margin:22px 0 12px; }
body .kc-library-heading h1 { font-size:clamp(32px,4vw,48px); line-height:1.15; letter-spacing:-1.5px; margin:0 0 18px; }
.kc-library-heading p { font-size:17px; line-height:1.7; }
.kc-video-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:26px; }
.kc-video-card { background:#fff; border:1px solid #e5ded1; border-radius:16px; overflow:hidden; max-width:560px; }
.kc-video-card-art { display:flex; align-items:center; justify-content:center; aspect-ratio:16/9; background:radial-gradient(ellipse at top left,#704190,#251133); }
.kc-video-card-art img { width:100%; height:100%; object-fit:cover; }
.kc-video-card-art span,.kc-empty-play { font-size:30px; color:#f8b619; }
.kc-video-card-body { padding:25px; }
body .kc-video-card h2 { font-size:23px; margin:12px 0; }
.kc-update-label { display:block; color:#663091; font-size:11px; font-weight:750; letter-spacing:1px; text-transform:uppercase; }
.kc-library-empty { padding:45px; background:#f4eef8; border:1px solid #dfd0e9; border-radius:18px; max-width:800px; }
.kc-library-empty p { max-width:580px; line-height:1.8; }
body .kc-library-empty h2 { font-size:26px; margin:18px 0; }
.kc-video-single { max-width:1000px !important; }
.kc-video-player { aspect-ratio:16/9; background:#17111c; border-radius:14px; overflow:hidden; }
.kc-video-player iframe { width:100%; height:100%; border:0; }
.kc-video-notes { margin-top:32px; }
body .kc-update-callout { padding:26px; border:1px solid #d4b6e6; border-left:5px solid #792fb0; border-radius:12px; background:linear-gradient(115deg,#f5edf9,#fff9e9); margin:0 0 32px; }
body .kc-update-callout h2 { margin:10px 0; font-size:25px; line-height:1.3; }
body .kc-update-callout p { margin:0 0 18px; color:#52445d; font-size:15px; line-height:1.7; }
body .kc-update-callout .kc-button { background:#68308f; border-color:#68308f; color:#fff; }
body .kc-update-callout .kc-button:hover { background:#4e206f; }
@media(max-width:900px) {
 .kc-hero-grid { gap:20px; grid-template-columns:1.3fr 1fr; }
 .kc-visual { padding:28px; }
 .kc-float { padding:10px; font-size:10px; }
 body .kc-hero h1 { letter-spacing:-2px; }
 .kc-client-badge { display:none; }
 body .nav-header { margin-left:auto; }
}
@media(max-width:650px) {
 body .site-header__banner > .ht-container { gap:12px; }
 .kc-hero { padding:48px 0; }
 .kc-hero-grid { grid-template-columns:1fr; gap:36px; }
 body .kc-hero h1 { font-size:48px; }
 .kc-visual { max-width:320px; padding:32px; }
 .kc-float-one { left:0; }
 .kc-float-two { right:0; }
 .kc-float-three { right:16px; }
 body .kc-lead { font-size:15px; }
 body .kc-intro h2 { font-size:27px; }
 body .nav-header .nav-header__menuwrapper { background:#3c2900; }
 body .site-header__search { padding-inline:0; }
 .kc-actions { align-items:stretch; }
 body .kc-button { justify-content:center; }
}
