/* Scoped enhancement: retain the existing Koodakan navy/yellow card identity. */
.kcve .kcve-grid[data-kcve-count="1"] { grid-template-columns:minmax(0,1fr); }
.kcve .kcve-grid--carousel {
  display:grid;
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 36px)/3);
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  scrollbar-color:#a5d9de #f0f7f9;
  padding-bottom:12px;
  outline-offset:3px;
}
.kcve .kcve-grid--carousel[data-kcve-count="2"] { grid-auto-columns:calc((100% - 18px)/2); }
.kcve .kcve-grid--carousel > .kcve-card { min-width:0; scroll-snap-align:start; overflow-wrap:anywhere; }
.kcve .kcve-carousel-controls { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin:0 0 18px; }
.kcve .kcve-carousel-controls[hidden] { display:none; }
.kcve .kcve-carousel-status { font-size:12px; color:#526b87; min-width:70px; text-align:center; }
.kcve .kcve-carousel-controls button {
  min-width:44px; min-height:44px; padding:8px 14px;
  border:1px solid #cbd8e7; border-radius:999px;
  color:#062b63; background:#fff; font:inherit; font-weight:800;
  cursor:pointer;
}
.kcve .kcve-carousel-controls button:hover,
.kcve .kcve-carousel-controls button:focus { color:#062b63; background:#fff5cc; border-color:#ffc000; }
.kcve .kcve-carousel-controls button:disabled { opacity:.4; cursor:default; }
.kcve .kcve-carousel-controls button:focus-visible,
.kcve .kcve-grid--carousel:focus-visible { outline:3px solid #062b63; outline-offset:3px; }
.kcve .kcve-submit form { align-items:start; row-gap:20px; }
.kcve .kcve-submit form > label:not(.kcve-consent) { align-content:start; min-width:0; margin:0; }
.kcve .kcve-submit input[type="text"] {
  box-sizing:border-box; width:100%; min-width:0; max-width:100%;
  height:50px; min-height:50px; margin:0; line-height:1.5;
}
.kcve .kcve-submit textarea { box-sizing:border-box; width:100%; max-width:100%; min-height:120px; margin:0; resize:vertical; }
.kcve .kcve-submit small { margin:0; font-size:12px; line-height:1.7; }
.kcve .kcve-hp { left:0!important; right:auto!important; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
.kcve .kcve-avatar { overflow:hidden; flex:0 0 58px; }
.kcve .kcve-avatar img { display:block; width:100%; height:100%; object-fit:contain; }
.kcve .kcve-avatar-picker { border:1px solid #d9e3ed; border-radius:14px; padding:12px; margin:0; min-width:0; }
.kcve .kcve-avatar-picker legend { font-size:14px; padding:0 6px; width:auto; }
.kcve .kcve-avatar-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); gap:10px; width:100%; }
.kcve .kcve-avatar-options label { box-sizing:border-box; display:flex; align-items:center; flex-direction:column; justify-content:flex-start; gap:7px; padding:10px; margin:0; border:1px solid #d9e3ed; border-radius:12px; cursor:pointer; width:100%; min-width:0; min-height:136px; max-width:none; text-align:center; }
.kcve .kcve-avatar-options label:has(input:checked) { background:#fff9e5; border-color:#ffc000; }
.kcve .kcve-avatar-options label:focus-within { outline:2px solid #062b63; outline-offset:2px; }
.kcve .kcve-avatar-options label:first-child > span { display:flex; align-items:center; justify-content:center; flex:1; }
.kcve .kcve-avatar-options input { width:18px; height:18px; min-height:18px; margin:0; flex:0 0 18px; accent-color:#062b63; padding:0; }
.kcve .kcve-avatar-options img { display:block; width:80px; height:80px; max-width:100%; object-fit:contain; }
.kcve .kcve-avatar-options span { font-size:12px; }
.kcve .kcve-submit button[type="submit"],
.kcve .kcve-submit button[type="submit"]:focus { min-height:48px; color:#00235e; background:#ffc000; border:0; font-weight:900; }
.kcve .kcve-submit button[type="submit"]:hover,
.kcve .kcve-submit button[type="submit"]:active { color:#00235e; background:#e9b000; }
.kcve .kcve-submit button[type="submit"]:focus-visible { outline:3px solid #00235e; outline-offset:4px; }
.kcve .kcve-access-note { margin:24px 0 0; padding:16px 18px; background:#f4fafb; color:#062b63; border:1px solid #dcebef; border-radius:16px; line-height:1.9; }
.kcve .kcve-access-note a { color:#062b63; text-decoration:underline; }
@media (max-width:900px) {
  .kcve .kcve-avatar-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .kcve .kcve-grid--carousel,
  .kcve .kcve-grid--carousel[data-kcve-count="2"] { grid-auto-columns:calc((100% - 18px)/2); }
}
@media (max-width:620px) {
  .kcve .kcve-avatar-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kcve .kcve-grid--carousel,
  .kcve .kcve-grid--carousel[data-kcve-count="2"] { grid-auto-columns:92%; gap:14px; }
  .kcve .kcve-carousel-controls { justify-content:center; gap:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .kcve .kcve-grid--carousel { scroll-behavior:auto; }
  .kcve .kcve-carousel-controls button { transition:none; }
}
