.sitkp-portal{
  --ink:#24334f;
  --muted:#677792;
  --blue:#4f6fe8;
  --blue-deep:#3f5bcf;
  --pink:#ff7196;
  --yellow:#ffd96b;
  --mint:#83dec2;
  --cream:#fff9ed;
  --panel:#ffffff;
  --line:#e6ecf7;
  position:relative;
  overflow:hidden;
  max-width:1440px;
  margin:20px auto;
  border:1px solid rgba(226,233,245,.9);
  border-radius:34px;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,219,105,.25) 0 150px,transparent 152px),
    radial-gradient(circle at 0% 76%,rgba(131,222,194,.18) 0 115px,transparent 117px),
    linear-gradient(145deg,#f8fbff 0%,#fffaf1 46%,#ffffff 100%);
  box-shadow:0 24px 72px rgba(49,72,116,.12);
  color:var(--ink);
  font-family:"Nunito","Avenir Next","Segoe UI",Arial,sans-serif;
}
.sitkp-portal *{box-sizing:border-box}
.sitkp-inner{position:relative;z-index:2;padding:34px 38px 38px}
.sitkp-header{display:flex;align-items:center;gap:28px;padding:6px 10px 28px}
.sitkp-logo-wrap{display:flex;align-items:center;justify-content:center;width:132px;height:116px;flex:0 0 auto;border-radius:26px;background:rgba(255,255,255,.82);border:1px solid rgba(228,235,247,.9);box-shadow:0 12px 30px rgba(56,74,112,.10);backdrop-filter:blur(8px)}
.sitkp-logo{display:block;width:108px;height:92px;object-fit:contain}
.sitkp-heading-copy{min-width:0;flex:1}
.sitkp-kicker{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#eaf0ff;color:#405fcf;font-weight:900;font-size:14px;padding:8px 14px;letter-spacing:.01em}
.sitkp-kicker svg{width:17px;height:17px}
.sitkp-header h1{margin:11px 0 8px;font-family:"Fredoka","Nunito","Avenir Next","Segoe UI",sans-serif;font-size:clamp(31px,3.4vw,50px);font-weight:700;line-height:1.08;letter-spacing:-.035em;color:#263653}
.sitkp-header p{margin:0;max-width:760px;color:var(--muted);font-size:17px;font-weight:700;line-height:1.5}
.sitkp-toolbar{display:grid;grid-template-columns:auto minmax(320px,500px);align-items:center;justify-content:space-between;gap:22px;padding:6px 8px 24px}
.sitkp-tabs{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sitkp-tab{appearance:none;border:2px solid transparent;background:rgba(255,255,255,.96);color:#44536d;border-radius:18px;padding:13px 17px;font-family:"Nunito","Segoe UI",sans-serif;font-size:15px;font-weight:900;line-height:1;box-shadow:0 7px 20px rgba(62,84,127,.08);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;display:inline-flex;align-items:center;gap:9px;min-height:50px}
.sitkp-tab svg{width:20px;height:20px;flex:0 0 auto}
.sitkp-tab:hover{transform:translateY(-2px);border-color:#cbd8ff;box-shadow:0 10px 24px rgba(62,84,127,.11)}
.sitkp-tab.is-active{background:linear-gradient(135deg,var(--blue),#6d82ed);color:#fff;box-shadow:0 11px 25px rgba(79,111,232,.28)}
.sitkp-fav-count{display:inline-flex;min-width:25px;height:25px;padding:0 7px;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.22);font-size:13px;font-weight:900}
.sitkp-search-wrap{position:relative;display:flex;align-items:center;width:100%}
.sitkp-search{width:100%;height:52px;border:2px solid #e0e7f3;border-radius:18px;background:rgba(255,255,255,.96);outline:none;padding:0 48px 0 49px;color:var(--ink);font-family:"Nunito","Segoe UI",sans-serif;font-size:16px;font-weight:800;box-shadow:0 7px 20px rgba(57,77,114,.07);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.sitkp-search::placeholder{color:#91a0b8;font-weight:700}
.sitkp-search:focus{border-color:#9ab0ff;box-shadow:0 0 0 5px rgba(84,126,255,.11),0 10px 24px rgba(57,77,114,.09)}
.sitkp-search-icon{position:absolute;left:17px;z-index:2;width:21px;height:21px;color:#667997;pointer-events:none;display:grid;place-items:center}
.sitkp-search-icon svg{width:21px;height:21px}
.sitkp-clear-search{position:absolute;right:10px;z-index:2;width:33px;height:33px;border:0;border-radius:11px;background:#f0f4fb;color:#5f708d;cursor:pointer;display:grid;place-items:center;transition:background .16s ease,transform .16s ease}
.sitkp-clear-search svg{width:18px;height:18px}
.sitkp-clear-search:hover{background:#e5ebf6;transform:scale(1.04)}
.sitkp-favorite-hint{display:flex;align-items:center;gap:9px;margin:0 8px 18px;padding:12px 15px;border-radius:15px;background:#fff5d6;color:#755717;font-weight:800;font-size:14px;border:1px solid #ffe59a}
.sitkp-favorite-hint svg{width:19px;height:19px;flex:0 0 auto}
.sitkp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:0 8px}
.sitkp-card{position:relative;min-width:0;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(48,63,99,.12);border:2px solid rgba(225,232,244,.95);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.sitkp-card:hover{transform:translateY(-5px);box-shadow:0 17px 38px rgba(48,63,99,.17);border-color:#becdff}
.sitkp-card[draggable="true"]{cursor:grab}
.sitkp-card.is-dragging{opacity:.46;transform:scale(.98)}
.sitkp-card.drag-over{outline:4px dashed #ffb65b;outline-offset:-7px}
.sitkp-card-link{display:block;position:relative;height:100%;min-height:252px;color:#fff;text-decoration:none!important;background:#e8eef8}
.sitkp-card-image{display:block;width:100%;height:252px;object-fit:cover;transition:transform .28s ease}
.sitkp-card:hover .sitkp-card-image{transform:scale(1.04)}
.sitkp-card-link:focus-visible{outline:4px solid rgba(79,111,232,.45);outline-offset:-4px}
.sitkp-overlay{position:absolute;inset:auto 0 0;padding:74px 18px 18px;background:linear-gradient(to top,rgba(21,31,52,.96) 0%,rgba(21,31,52,.79) 54%,rgba(21,31,52,0) 100%)}
.sitkp-card-title{margin:0 48px 10px 0;font-family:"Fredoka","Nunito","Segoe UI",sans-serif;font-weight:650;font-size:19px;line-height:1.22;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.25)}
.sitkp-date{display:inline-flex;align-items:center;gap:7px;max-width:100%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(7px);padding:7px 10px;border-radius:999px;color:#fff;font-weight:900;font-size:13px}
.sitkp-date svg{width:15px;height:15px;flex:0 0 auto}
.sitkp-favorite-btn{position:absolute;top:13px;right:13px;z-index:5;width:44px;height:44px;border:0;border-radius:15px;background:rgba(255,255,255,.96);color:#8794aa;box-shadow:0 8px 18px rgba(35,44,66,.18);cursor:pointer;display:grid;place-items:center;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}
.sitkp-favorite-btn svg{width:23px;height:23px;stroke-width:2.25}
.sitkp-favorite-btn:hover{transform:translateY(-2px) scale(1.04);color:#e9a52d;box-shadow:0 10px 22px rgba(35,44,66,.22)}
.sitkp-favorite-btn.is-favorite{background:#fff3bd;color:#df9c22}
.sitkp-favorite-btn.is-favorite svg{fill:currentColor}
.sitkp-drag-handle{position:absolute;top:13px;left:13px;z-index:5;width:42px;height:42px;background:rgba(255,255,255,.96);color:#687994;border-radius:14px;display:grid;place-items:center;box-shadow:0 7px 17px rgba(30,42,62,.16)}
.sitkp-drag-handle svg{width:20px;height:20px}
.sitkp-empty{margin:8px 8px 0;padding:48px 24px;text-align:center;background:rgba(255,255,255,.9);border:2px dashed #cfd9eb;border-radius:23px;color:#6f7f98;font-size:17px;font-weight:900}
.sitkp-pagination{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;padding:28px 8px 2px}
.sitkp-pagination>span{color:#9aa6b9;font-weight:900;padding:0 2px}
.sitkp-page-btn{min-width:44px;height:44px;padding:0 12px;border:2px solid #e0e7f3;border-radius:14px;background:#fff;color:#4d5e79;font-family:"Nunito","Segoe UI",sans-serif;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 6px 15px rgba(48,63,99,.08);display:inline-grid;place-items:center;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.sitkp-page-btn svg{width:18px;height:18px}
.sitkp-page-btn:hover:not(:disabled){transform:translateY(-2px);border-color:#aabaff}
.sitkp-page-btn.is-current{background:linear-gradient(135deg,var(--pink),#ff8aaa);color:#fff;border-color:transparent;box-shadow:0 9px 20px rgba(255,113,150,.25)}
.sitkp-page-btn:disabled{opacity:.38;cursor:not-allowed}
.sitkp-footer{position:relative;z-index:2;text-align:center;padding:22px 24px 25px;color:#667792;font-size:14px;font-weight:400;border-top:1px solid rgba(211,221,237,.8);background:rgba(255,255,255,.58);letter-spacing:.005em}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1180px){.sitkp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sitkp-card-image,.sitkp-card-link{height:235px;min-height:235px}}
@media(max-width:900px){.sitkp-inner{padding:26px 20px 30px}.sitkp-header{align-items:flex-start}.sitkp-logo-wrap{width:106px;height:94px;border-radius:22px}.sitkp-logo{width:88px;height:76px}.sitkp-toolbar{grid-template-columns:1fr;align-items:stretch}.sitkp-search-wrap{max-width:none}.sitkp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sitkp-card-image,.sitkp-card-link{height:228px;min-height:228px}}
@media(max-width:580px){.sitkp-portal{border-radius:22px;margin:8px auto}.sitkp-inner{padding:18px 10px 24px}.sitkp-header{padding:5px 4px 22px;gap:14px}.sitkp-logo-wrap{width:82px;height:75px;border-radius:18px}.sitkp-logo{width:69px;height:59px}.sitkp-kicker{font-size:12px;padding:7px 11px}.sitkp-header h1{font-size:29px}.sitkp-header p{font-size:14px}.sitkp-toolbar{padding:3px 2px 18px;gap:14px}.sitkp-tabs{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sitkp-tab{justify-content:center;padding:12px 10px;font-size:13px;min-height:48px}.sitkp-search{font-size:15px}.sitkp-grid{grid-template-columns:1fr;padding:0 2px}.sitkp-card-image,.sitkp-card-link{height:242px;min-height:242px}.sitkp-card-title{font-size:19px}.sitkp-favorite-hint,.sitkp-empty{margin-left:2px;margin-right:2px}.sitkp-pagination{padding-left:2px;padding-right:2px}}

.sitkp-clear-search[hidden],.sitkp-favorite-hint[hidden],.sitkp-empty[hidden]{display:none!important}

/* v1.1.1 UI hardening: keep WordPress/theme CSS from shifting portal controls */
.sitkp-portal .sitkp-search-wrap{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:54px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  line-height:1!important;
}
.sitkp-portal input.sitkp-search[type="search"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:block!important;
  width:100%!important;
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  padding:0 58px 0 60px!important;
  border:2px solid #e0e7f3!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.98)!important;
  color:#263653!important;
  font-family:"Nunito","Avenir Next","Segoe UI",Arial,sans-serif!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:50px!important;
  letter-spacing:0!important;
  text-indent:0!important;
  box-shadow:0 7px 20px rgba(57,77,114,.07)!important;
  outline:none!important;
}
.sitkp-portal input.sitkp-search[type="search"]::placeholder{
  color:#91a0b8!important;
  opacity:1!important;
  font-family:"Nunito","Avenir Next","Segoe UI",Arial,sans-serif!important;
  font-size:16px!important;
  font-weight:700!important;
}
.sitkp-portal input.sitkp-search[type="search"]::-webkit-search-decoration,
.sitkp-portal input.sitkp-search[type="search"]::-webkit-search-cancel-button,
.sitkp-portal input.sitkp-search[type="search"]::-webkit-search-results-button,
.sitkp-portal input.sitkp-search[type="search"]::-webkit-search-results-decoration{display:none!important;-webkit-appearance:none!important}
.sitkp-portal .sitkp-search-icon{
  position:absolute!important;
  z-index:4!important;
  top:50%!important;
  left:14px!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(-50%)!important;
  border-radius:11px!important;
  background:#eef3ff!important;
  color:#526bc8!important;
  display:grid!important;
  place-items:center!important;
  pointer-events:none!important;
  line-height:0!important;
}
.sitkp-portal .sitkp-search-icon svg{display:block!important;width:18px!important;height:18px!important;margin:0!important;transform:none!important}
.sitkp-portal button.sitkp-clear-search{
  position:absolute!important;
  z-index:5!important;
  top:50%!important;
  right:10px!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(-50%)!important;
  border:0!important;
  border-radius:11px!important;
  background:#f0f4fb!important;
  color:#5f708d!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  line-height:0!important;
}
.sitkp-portal button.sitkp-clear-search:hover{transform:translateY(-50%) scale(1.04)!important;background:#e5ebf6!important}
.sitkp-portal button.sitkp-clear-search svg{display:block!important;width:17px!important;height:17px!important;margin:0!important;transform:none!important}

.sitkp-portal button.sitkp-favorite-btn{
  top:13px!important;
  right:13px!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:15px!important;
  line-height:0!important;
  display:grid!important;
  place-items:center!important;
  transform:none!important;
  text-align:center!important;
}
.sitkp-portal button.sitkp-favorite-btn:hover{transform:translateY(-2px) scale(1.04)!important}
.sitkp-portal .sitkp-favorite-btn .sitkp-star-icon{
  display:block!important;
  width:23px!important;
  height:23px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  transform-origin:50% 50%!important;
  overflow:visible!important;
}
.sitkp-portal .sitkp-favorite-btn.is-favorite .sitkp-star-icon polygon{fill:currentColor!important}

.sitkp-portal button.sitkp-drag-handle{
  position:absolute!important;
  top:13px!important;
  left:13px!important;
  z-index:6!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.98)!important;
  color:#647897!important;
  box-shadow:0 7px 17px rgba(30,42,62,.16)!important;
  display:grid!important;
  place-items:center!important;
  cursor:grab!important;
  touch-action:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  line-height:0!important;
}
.sitkp-portal button.sitkp-drag-handle:active{cursor:grabbing!important;transform:scale(.97)!important}
.sitkp-portal button.sitkp-drag-handle svg{display:block!important;width:20px!important;height:20px!important;margin:0!important;pointer-events:none!important}
.sitkp-portal.is-sorting,.sitkp-portal.is-sorting *{user-select:none!important;-webkit-user-select:none!important}
.sitkp-portal .sitkp-card.is-dragging{opacity:.72!important;transform:scale(.985)!important;box-shadow:0 22px 46px rgba(48,63,99,.24)!important;z-index:8!important}
.sitkp-portal .sitkp-card.is-dragging .sitkp-card-link{pointer-events:none!important}

/* v1.1.2 - direct card sorting in Favorites, with iPhone-like lift/spring motion */
.sitkp-portal.is-favorite-mode .sitkp-card.is-sortable{
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  touch-action:pan-y;
}
.sitkp-portal.is-favorite-mode .sitkp-card.is-sortable:active{cursor:grabbing}
.sitkp-portal.is-favorite-mode .sitkp-card.is-sortable .sitkp-card-image,
.sitkp-portal.is-favorite-mode .sitkp-card.is-sortable .sitkp-overlay{user-select:none;-webkit-user-select:none}
.sitkp-portal.is-sorting{overflow:visible}
.sitkp-portal.is-sorting .sitkp-card:hover{transform:none!important}
.sitkp-portal.is-sorting .sitkp-card:hover .sitkp-card-image{transform:none!important}
.sitkp-portal .sitkp-card.is-drag-placeholder,
.sitkp-portal .sitkp-card.is-drag-placeholder:hover{
  opacity:.16!important;
  transform:scale(.965)!important;
  border:2px dashed #aebdf2!important;
  box-shadow:inset 0 0 0 3px rgba(79,111,232,.05)!important;
  background:rgba(234,240,255,.7)!important;
}
.sitkp-portal .sitkp-card.is-drag-placeholder .sitkp-card-link,
.sitkp-portal .sitkp-card.is-drag-placeholder .sitkp-favorite-btn{pointer-events:none!important}
.sitkp-portal .sitkp-card.is-drop-settling{z-index:3}
.sitkp-drag-ghost.sitkp-card{
  position:fixed!important;
  z-index:2147483000!important;
  margin:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
  opacity:.99!important;
  border:2px solid rgba(255,255,255,.96)!important;
  border-radius:24px!important;
  box-shadow:0 28px 70px rgba(36,51,79,.30),0 9px 24px rgba(79,111,232,.20)!important;
  will-change:transform,left,top;
  transform-origin:50% 50%;
  font-family:"Nunito","Avenir Next","Segoe UI",Arial,sans-serif!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.sitkp-drag-ghost .sitkp-card-link{height:100%!important;min-height:100%!important}
.sitkp-drag-ghost .sitkp-card-image{height:100%!important;min-height:100%!important;transform:none!important}
.sitkp-drag-ghost .sitkp-favorite-btn{
  position:absolute!important;
  top:13px!important;
  right:13px!important;
  z-index:5!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.96)!important;
  color:#df9c22!important;
  box-shadow:0 8px 18px rgba(35,44,66,.18)!important;
  display:grid!important;
  place-items:center!important;
  line-height:0!important;
}
.sitkp-drag-ghost .sitkp-favorite-btn .sitkp-star-icon{display:block!important;width:23px!important;height:23px!important;margin:0!important;transform:none!important}
.sitkp-drag-ghost .sitkp-favorite-btn.is-favorite .sitkp-star-icon polygon{fill:currentColor!important}
body.sitkp-body-sorting,
body.sitkp-body-sorting *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}
@media(max-width:580px){
  .sitkp-portal.is-favorite-mode .sitkp-card.is-sortable{touch-action:pan-y}
  .sitkp-drag-ghost.sitkp-card{border-radius:24px!important}
}
.sitkp-portal.is-favorite-mode .sitkp-card.is-sortable .sitkp-card-link{-webkit-touch-callout:none!important}
