/*
Theme Name: CreatorToolly Premium Astra Child
Theme URI: https://creatortoolly.com/
Description: Premium CreatorToolly global header, mega menus, mobile navigation and footer built on Astra.
Author: CreatorToolly
Template: astra
Version: 1.4.2
Text Domain: creatortoolly
*/
:root{--ctb:#2563eb;--ctp:#7c3aed;--cti:#101828;--ctm:#667085;--ctl:#e7ebf2}
*{box-sizing:border-box}#masthead,.site-header,.ast-primary-header-bar,#colophon,.site-footer{display:none!important}
.cth{position:sticky;top:0;z-index:9998;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid #e8edf4}.admin-bar .cth{top:32px}
.cthi{max-width:1440px;height:72px;margin:auto;padding:0 26px;display:flex;align-items:center;gap:20px}.ctbrand{display:flex;align-items:center;text-decoration:none!important;flex:0 0 auto}.ctbrand img{display:block;max-height:44px;width:auto}.ctword{font-size:23px;font-weight:850;color:#111827}.ctword b{color:#1498f7}
.ctnav{display:flex;align-items:stretch;margin-left:auto;height:100%}.ctitem{position:static;display:flex;align-items:center}.ctlink{position:relative;display:flex;align-items:center;height:100%;padding:0 12px;color:#202939!important;text-decoration:none!important;font-size:14px;font-weight:750;white-space:nowrap}.ctlink:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,var(--ctb),var(--ctp));transform:scaleX(0);transition:.18s}.ctitem:hover>.ctlink,.ctlink:hover{color:var(--ctb)!important}.ctitem:hover>.ctlink:after,.ctlink:hover:after{transform:scaleX(1)}
.ctmega{visibility:hidden;opacity:0;pointer-events:none;position:absolute;top:71px;left:50%;translate:-50% 0;width:min(1080px,calc(100vw - 36px));padding:18px;background:#fff;border:1px solid var(--ctl);border-radius:0 0 20px 20px;box-shadow:0 24px 60px rgba(16,24,40,.14);transform:translateY(7px);transition:.16s}.ctitem:hover .ctmega,.ctitem:focus-within .ctmega{visibility:visible;opacity:1;pointer-events:auto;transform:none}.ctmtop{display:flex;justify-content:space-between;padding:1px 5px 12px;border-bottom:1px solid #eef1f6;margin-bottom:11px}.ctmtop strong{font-size:13px;color:#344054}.ctmtop span{font-size:11px;color:#98a2b3}.ctgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px 10px}.ctwide .ctgrid{grid-template-columns:repeat(4,1fr)}
.ctcard{display:flex;gap:11px;align-items:flex-start;padding:10px;border:1px solid transparent;border-radius:13px;color:var(--cti)!important;text-decoration:none!important;transition:.16s}.ctcard:hover{background:linear-gradient(135deg,#f7faff,#faf7ff);border-color:#e4e9f4;transform:translateY(-1px)}.ctcard.featured{background:linear-gradient(135deg,#eef5ff,#f5efff);border-color:#dce5fb}.ctico{width:37px;height:37px;flex:0 0 37px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf3ff,#f2eaff);color:#3156d9}.ctico svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ctcard strong{display:block;font-size:13.5px;line-height:1.25;color:#172033}.ctcard small{display:block;margin-top:3px;font-size:11.5px;line-height:1.35;color:#7b8496}
.ctactions{display:flex;align-items:center;gap:8px}.ctsearchbtn,.ctmenubtn,.ctclose{width:41px;height:41px;border:1px solid #dce3ed;border-radius:12px;background:#fff;color:#344054;display:grid;place-items:center;cursor:pointer}.ctsearchbtn svg,.ctmenubtn svg,.ctclose svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.ctmenubtn{display:none}
.ctsearch{display:none;position:fixed;inset:0;z-index:10030;background:rgba(4,14,35,.48);padding:105px 18px}.ctsearch.open{display:block}.ctsp{max-width:720px;margin:auto;background:#fff;border-radius:18px;padding:17px;box-shadow:0 30px 80px rgba(0,0,0,.22)}.ctsp form{display:flex;gap:9px}.ctsp input{flex:1;height:52px!important;border:1px solid #dce3ed!important;border-radius:12px!important;padding:0 15px!important;font-size:16px!important}.ctsp button{height:52px;border:0;border-radius:12px;padding:0 21px;background:linear-gradient(135deg,var(--ctb),var(--ctp));color:#fff;font-weight:800}.ctsp p{margin:10px 3px 0;font-size:12.5px;color:#7b8496}.ctback,.ctdrawer{display:none}
.ctfooter{margin-top:44px;background:radial-gradient(circle at 88% 5%,rgba(49,86,180,.42),transparent 32%),linear-gradient(135deg,#081832,#051126);color:#d8e1ef}.ctfin{max-width:1400px;margin:auto;padding:42px 26px 22px}.ctfgrid{display:grid;grid-template-columns:1.55fr .85fr .85fr 1fr;gap:42px}.ctfbrand img{max-height:48px;width:auto;display:block;filter:brightness(0) invert(1);margin-bottom:13px}.ctfbrand p{max-width:355px;margin:0;color:#aebbd0;font-size:13.5px;line-height:1.7}.cttag{margin-top:13px;color:#fff;font-size:13px;font-weight:800}.ctfcol h3{margin:2px 0 14px;color:#fff;font-size:14px}.ctfcol a{display:block;margin:8px 0;color:#b8c5d8!important;text-decoration:none!important;font-size:13px}.ctfcol a:hover{color:#fff!important}.ctfb{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:18px;color:#899bb6;font-size:12px}.ctfb strong{color:#d9e4f3}
@media(max-width:1160px){.ctlink{padding:0 8px;font-size:13px}.ctmega{width:min(1000px,calc(100vw - 28px))}.ctfgrid{grid-template-columns:1.35fr repeat(3,1fr)}}
@media(max-width:960px){.admin-bar .cth{top:46px}.cthi{height:64px;padding:0 15px}.ctbrand img{max-height:39px}.ctnav{display:none}.ctactions{margin-left:auto}.ctmenubtn{display:grid}.ctback{position:fixed;inset:0;z-index:10020;background:rgba(4,14,35,.48)}.ctback.open{display:block}.ctdrawer{display:block;position:fixed;right:0;top:0;z-index:10021;width:min(390px,92vw);height:100dvh;background:#fff;transform:translateX(105%);transition:.24s;overflow:auto;box-shadow:-24px 0 60px rgba(0,0,0,.15)}.ctdrawer.open{transform:none}.ctdhead{height:66px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ctl)}.ctmsearch{margin:13px 15px;padding:12px 13px;border:1px solid #dfe5ee;border-radius:12px;color:#697386;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px}.ctmsearch svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2}.ctmobile{padding:0 12px 20px}.ctgroup{border-bottom:1px solid #edf0f5}.ctrow,.ctdirect{width:100%;padding:15px 7px;border:0;background:#fff;display:flex;justify-content:space-between;align-items:center;color:#172033!important;text-decoration:none!important;font-size:15px;font-weight:800;text-align:left}.ctplus:before{content:"+";font-size:21px;font-weight:400;color:#7b8496}.ctgroup.open .ctplus:before{content:"−"}.ctsub{display:none;padding:0 3px 10px}.ctgroup.open .ctsub{display:block}.ctsub a{display:flex;gap:10px;align-items:center;padding:9px;border-radius:10px;color:#344054!important;text-decoration:none!important;font-size:13.5px}.ctsub .ctico{width:33px;height:33px;flex-basis:33px}.ctfgrid{grid-template-columns:1.2fr 1fr 1fr}.ctfbrand{grid-column:1/-1}}
@media(max-width:600px){.cthi{padding:0 11px}.ctsearchbtn,.ctmenubtn{width:40px;height:40px}.ctfin{padding:36px 18px 21px}.ctfgrid{display:block}.ctfbrand{margin-bottom:22px}.ctfcol{padding:14px 0;border-top:1px solid rgba(255,255,255,.09)}.ctfb{flex-direction:column}.ctsp form{flex-direction:column}}

/* =========================================================
   V1.3 PREMIUM HEADER + FOOTER UPGRADE
   ========================================================= */
.cth{box-shadow:0 1px 0 rgba(16,24,40,.02)}
.cthi{height:70px;max-width:1480px;padding:0 30px;gap:18px}
.ctbrand img{max-height:42px}
.ctlink{padding:0 13px;font-size:14px;font-weight:780;letter-spacing:-.08px}
.ctmega{top:69px;border-radius:0 0 22px 22px;padding:20px;box-shadow:0 28px 70px rgba(16,24,40,.15)}
.ctmtop{padding:2px 6px 14px;margin-bottom:12px}.ctmtop strong{font-size:14px}.ctmtop span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ctcard{padding:11px;border-radius:14px}.ctcard strong{font-size:14px}.ctcard small{font-size:11.5px;line-height:1.45}
.ctsearchbtn{width:44px;height:44px;border-radius:13px;box-shadow:0 3px 10px rgba(16,24,40,.04)}

/* FOOTER CTA */
.ctfooter{margin-top:56px;background:radial-gradient(circle at 88% 0%,rgba(56,93,202,.32),transparent 30%),radial-gradient(circle at 12% 80%,rgba(124,58,237,.12),transparent 28%),linear-gradient(135deg,#07162f,#071126 62%,#0a1833);color:#dbe5f4}
.ctfcta-wrap{max-width:1460px;margin:0 auto;padding:48px 28px 0}
.ctfcta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:34px;padding:30px 34px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:linear-gradient(115deg,rgba(255,255,255,.085),rgba(255,255,255,.035));box-shadow:0 24px 60px rgba(0,0,0,.12)}
.ctfcta:after{content:"";position:absolute;right:-70px;top:-120px;width:310px;height:310px;border-radius:50%;background:radial-gradient(circle,rgba(92,111,255,.28),transparent 68%);pointer-events:none}
.ctfcta>div{position:relative;z-index:2}.ctfcta-kicker{display:block;margin-bottom:8px;color:#93aafc;font-size:10px;font-weight:900;letter-spacing:.12em}.ctfcta h2{margin:0!important;color:#fff!important;font-size:28px!important;line-height:1.15!important;letter-spacing:-.7px}.ctfcta p{margin:9px 0 0!important;color:#aebdd2!important;font-size:13.5px!important;line-height:1.6!important}
.ctfcta-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.ctfcta-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 17px;border-radius:11px;text-decoration:none!important;font-size:12.5px;font-weight:850;white-space:nowrap}.ctfcta-primary{background:linear-gradient(135deg,#3978ff,#7c4dff);color:#fff!important;box-shadow:0 10px 25px rgba(50,78,220,.24)}.ctfcta-primary span{margin-left:8px}.ctfcta-secondary{border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.055);color:#fff!important}

.ctfin{max-width:1460px;padding:44px 28px 24px}.ctfgrid{display:grid;grid-template-columns:1.45fr repeat(4,1fr);gap:36px}.ctfbrand{padding-right:20px}
.ctf-logo{display:inline-flex;align-items:center;gap:10px;margin-bottom:17px;text-decoration:none!important}.ctf-logo-mark{position:relative;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#1c7cff,#7c4dff);box-shadow:0 8px 22px rgba(44,95,238,.28);overflow:hidden}.ctf-logo-mark:before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.45);border-radius:9px;transform:rotate(10deg)}.ctf-logo-mark span{position:relative;z-index:2;color:#fff;font-size:19px;font-weight:950;line-height:1}.ctf-logo-word{color:#fff;font-size:21px;font-weight:850;letter-spacing:-.65px}.ctf-logo-word span{color:#7eb8ff}
.ctfbrand p{max-width:350px;margin:0;color:#aebbd0;font-size:13px;line-height:1.75}.ctf-mini-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.ctf-mini-links a{padding:6px 9px;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:#cbd7e8!important;text-decoration:none!important;font-size:10.5px;font-weight:700}.ctf-mini-links a:hover{background:rgba(255,255,255,.07);color:#fff!important}
.ctfcol h3{margin:4px 0 16px;color:#fff;font-size:13.5px;font-weight:850}.ctfcol a{display:block;margin:9px 0;color:#aebdd2!important;text-decoration:none!important;font-size:12.5px;line-height:1.45;transition:.16s}.ctfcol a:hover{color:#fff!important;transform:translateX(2px)}
.ctflegal{margin-top:34px;padding-top:19px;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;color:#8295b0;font-size:11.5px}.ctflegal-links{display:flex;gap:18px}.ctflegal-links a{color:#9fb0c8!important;text-decoration:none!important}.ctflegal-links a:hover{color:#fff!important}.ctfmade{text-align:right}

@media(max-width:1180px){.cthi{padding:0 20px}.ctlink{padding:0 9px;font-size:13px}.ctfgrid{grid-template-columns:1.25fr repeat(4,1fr);gap:24px}.ctfcol a{font-size:12px}}
@media(max-width:960px){.cthi{height:64px;padding:0 16px}.ctbrand img{max-height:38px}.ctfcta-wrap{padding:34px 18px 0}.ctfcta{padding:26px;align-items:flex-start}.ctfcta h2{font-size:24px!important}.ctfcta-actions{flex-direction:column;align-items:stretch}.ctfgrid{grid-template-columns:1.25fr 1fr 1fr;gap:30px}.ctfbrand{grid-column:1/-1;padding-right:0}.ctfcol:nth-of-type(4),.ctfcol:nth-of-type(5){margin-top:4px}}
@media(max-width:700px){.ctfcta{display:block;padding:24px 20px}.ctfcta h2{font-size:22px!important}.ctfcta p{font-size:13px!important}.ctfcta-actions{display:grid;grid-template-columns:1fr;margin-top:20px}.ctfin{padding:34px 18px 22px}.ctfgrid{grid-template-columns:1fr 1fr;gap:0 28px}.ctfbrand{grid-column:1/-1;margin-bottom:20px}.ctfcol{padding:18px 0;border-top:1px solid rgba(255,255,255,.09)}.ctfcol h3{margin-top:0}.ctflegal{grid-template-columns:1fr;gap:10px}.ctflegal-links{order:1}.ctfmade{text-align:left;order:2}.ctflegal>div:first-child{order:3}}
@media(max-width:480px){.cthi{padding:0 11px;gap:8px}.ctbrand img{max-height:35px;max-width:178px}.ctsearchbtn,.ctmenubtn{width:39px;height:39px;border-radius:11px}.ctdrawer{width:94vw}.ctdhead{height:64px}.ctrow,.ctdirect{padding:15px 8px;font-size:15px}.ctsub a{padding:10px 8px;font-size:13.5px}.ctfcta-wrap{padding:28px 14px 0}.ctfcta{border-radius:18px}.ctfin{padding-left:16px;padding-right:16px}.ctfgrid{grid-template-columns:1fr}.ctfcol{padding:17px 0}.ctfcol a{margin:10px 0;font-size:13px}.ctf-logo-mark{width:38px;height:38px}.ctf-logo-word{font-size:20px}.ctflegal-links{flex-wrap:wrap}}

/* V1.4 navigation polish */
.ctnav .ctrank-nav{color:#2859bb;font-weight:800}
.ctnav .ctrank-nav:hover{color:#0e397f}
.ctfooter .ctflegal-links a:hover{text-decoration:underline;text-underline-offset:3px}
.cth a:focus-visible,.cth button:focus-visible,.ctfooter a:focus-visible{outline:2px solid #4a80ff;outline-offset:3px}

/* V1.4.1: use the exact same WordPress custom logo in the footer as the header. */
.ctfooter .ctfbrand .ctf-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  max-width:100%;
  min-height:58px;
  padding:9px 15px;
  margin-bottom:17px;
  border-radius:13px;
  background:#fff;
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 8px 22px rgba(0,0,0,.12);
  text-decoration:none!important;
}
.ctfooter .ctfbrand .ctf-brand-image{
  display:block;
  width:auto;
  height:auto;
  max-height:40px;
  max-width:min(230px,calc(100vw - 100px));
  object-fit:contain;
}
.ctfooter .ctfbrand .ctf-brand-fallback{
  font-size:22px;
  font-weight:850;
  color:#111827;
  line-height:1.2;
}
.ctfooter .ctfbrand .ctf-brand-fallback span{color:#1498f7}
@media(max-width:480px){
  .ctfooter .ctfbrand .ctf-logo{padding:8px 12px;min-height:52px}
  .ctfooter .ctfbrand .ctf-brand-image{max-height:35px}
}

/* V1.4.2 — original full-color logo, larger header and polished navigation */
.ctfooter .ctfbrand .ctf-logo img.ctf-brand-image{
 filter:none!important;opacity:1!important;mix-blend-mode:normal!important;
 max-height:47px;width:auto;max-width:240px;object-fit:contain;
 margin:0!important;
}
.ctfooter .ctfbrand .ctf-logo{background:#fff!important;min-height:67px;padding:10px 16px;}
.cthi{max-width:1540px;height:80px;gap:24px;padding:0 30px;}
.cth .ctbrand img{max-height:53px;width:auto;max-width:260px;object-fit:contain;}
.ctnav{gap:3px;align-items:stretch;}
.ctnav .ctlink{font-size:14px;font-weight:750;padding:0 12px;letter-spacing:-.01em;transition:color .2s;}
.ctnav .ctlink:hover,.ctnav .ctitem:focus-within>.ctlink{color:#285de6!important;}
.ctnav .ctrank-nav{color:#2859bb!important;}
.ctactions{display:flex;align-items:center;gap:10px;}
.ctsearchbtn{border-radius:14px;}
.ctmega{top:79px;}
@media(max-width:1240px) and (min-width:961px){
 .cthi{padding:0 20px;gap:12px;}
 .cth .ctbrand img{max-height:47px;max-width:220px;}
 .ctnav{gap:0;}
 .ctnav .ctlink{padding:0 8px;font-size:13px;}
}
@media(max-width:960px){
 .cthi{height:68px;padding:0 16px;}
 .cth .ctbrand img{max-height:45px;max-width:230px;}
 .ctfooter .ctfbrand .ctf-logo img.ctf-brand-image{max-height:42px;}
}
@media(max-width:480px){
 .cthi{height:64px;padding:0 12px;gap:8px;}
 .cth .ctbrand img{max-height:41px;max-width:190px;}
 .ctfooter .ctfbrand .ctf-logo{min-height:58px;}
 .ctfooter .ctfbrand .ctf-logo img.ctf-brand-image{max-height:39px;max-width:210px;}
}
