/* DK: annual summer / winter hero scheduling; isolated from public site. */
.dk-season-schedule { margin-top: 5px; }
.dk-season-info { padding: 17px 20px; border: 1px solid #c7d2fe; border-radius: 18px; background: linear-gradient(130deg, #eef2ff, #fafaff); color: #3730a3; }
.dk-season-info strong { font-size: 16px; font-weight: 800; display: block; margin-bottom: 6px; }
.dk-season-info p { margin: 0; font-size: 13px; line-height: 1.6; }
.dk-season-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.dk-season-card { min-width: 0; padding: 20px; border: 1px solid #e2e8f0; border-radius: 22px; background: #fff; box-shadow: 0 16px 32px rgba(15,23,42,.05); }
.dk-season-card.dk-season-summer { border-color: #fde68a; background: linear-gradient(155deg,#fffbeb 0%,#fff 36%); }
.dk-season-card.dk-season-winter { border-color: #bfdbfe; background: linear-gradient(155deg,#eff6ff 0%,#fff 36%); }
.dk-season-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.dk-season-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 14px; font-size: 23px; background: #fef3c7; color: #b45309; }
.dk-season-winter .dk-season-icon { background: #dbeafe; color: #2563eb; }
.dk-season-card-header h3 { margin: 0; font-size: 18px; font-weight: 800; color: #0f172a; }
.dk-season-card-header p { margin: 3px 0 0; font-size: 12px; color: #64748b; }
.dk-season-period-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.dk-season-date-control { min-width: 0; }
.dk-season-date-selects { display: flex; align-items: center; gap: 8px; }
.dk-season-date-selects select { min-width: 0; max-width: 100%; color: #111827; background: white; font-size: 14px; }
.dk-season-date-selects select:first-child { flex: 1 1 65%; }
.dk-season-date-selects select:last-child { flex: 0 0 69px; width: 69px; }
.dk-season-card > .space-y-3.min-w-0 { margin-bottom: 20px; }
.dk-season-overlap, .dk-season-valid { margin: 0; padding: 12px 16px; border-radius: 13px; font-size: 13px; font-weight: 600; }
.dk-season-overlap { background: #fff1f2; border: 1px solid #fecdd3; color: #be123c; }
.dk-season-valid { background: #ecfdf5; border: 1px solid #a7f3d0; color: #047857; }
@media (max-width: 1300px) { .dk-season-cards { grid-template-columns: 1fr; } }
@media (max-width: 650px) { .dk-season-period-grid { grid-template-columns: 1fr; } .dk-season-card { padding: 15px; } .dk-season-date-selects select:last-child { flex-basis: 88px; width:88px; } }

/* v12: compact responsive management panel for notebooks and desktop monitors.
   These rules affect only the admin branding section, never the public hero. */
body.dk-admin-mode .dk-settings-page {
  width: 100%;
  max-width: 1320px;
  min-width: 0;
}
body.dk-admin-mode .dk-branding-compact {
  width: 100%;
  min-width: 0;
  overflow: visible;
}
body.dk-admin-mode .dk-branding-compact > .p-6 {
  padding: clamp(12px, 1.25vw, 20px) !important;
}
body.dk-admin-mode .dk-branding-compact > .p-6.border-b {
  padding-top: 13px !important;
  padding-bottom: 13px !important;
}
body.dk-admin-mode .dk-branding-compact > .space-y-6 > * + * {
  margin-top: clamp(12px, 1.25vw, 18px) !important;
}
body.dk-admin-mode .dk-branding-compact > .border-b h2 {
  font-size: clamp(17px, 1.2vw, 20px);
  line-height: 1.25;
}
body.dk-admin-mode .dk-branding-compact > .border-b p {
  font-size: 12px;
  line-height: 1.35;
}
body.dk-admin-mode .dk-branding-media-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 14px);
}
body.dk-admin-mode .dk-branding-media-grid > .dk-cu {
  background: #f8faff;
  border: 1px solid #e8ecf6;
  border-radius: 14px;
  padding: clamp(9px, 0.9vw, 14px);
  min-width: 0;
}
body.dk-admin-mode .dk-cu {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
body.dk-admin-mode .dk-cu-label {
  display: block;
  font-size: clamp(12px, 0.85vw, 14px);
  line-height: 1.3;
  font-weight: 700;
  color: #24304e;
}
body.dk-admin-mode .dk-cu-controls {
  display: flex;
  gap: 7px;
  align-items: center;
  flex-wrap: wrap;
}
body.dk-admin-mode .dk-cu-file {
  font-size: 0;
  width: 132px;
  max-width: 100%;
  min-width: 0;
  color: transparent;
}
body.dk-admin-mode .dk-cu-file::file-selector-button {
  padding: 7px 10px;
  min-height: 34px;
  background: #eef0ff;
  border: 1px solid #dbe0ff;
  border-radius: 9px;
  color: #3730a3;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
body.dk-admin-mode .dk-cu-file:hover::file-selector-button {
  background: #e5e7ff;
}
body.dk-admin-mode .dk-cu-file:disabled::file-selector-button {
  opacity: 0.6;
  cursor: progress;
}
body.dk-admin-mode .dk-cu-remove {
  border: 1px solid #e3e6ef;
  background: white;
  color: #5b6477;
  border-radius: 9px;
  min-height: 34px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 600;
}
body.dk-admin-mode .dk-cu-remove:hover {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #be123c;
}
body.dk-admin-mode .dk-cu-url-row {
  display: flex;
  gap: 7px;
  align-items: center;
  min-width: 0;
}
body.dk-admin-mode .dk-cu-url {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  height: 35px;
  padding: 7px 10px !important;
  border-radius: 9px !important;
  background: #fff;
  border: 1px solid #dce2f0;
  font-family: inherit;
  font-size: 12px;
  text-overflow: ellipsis;
}
body.dk-admin-mode .dk-cu-preview {
  flex: 0 0 auto;
  position: relative;
  min-width: 0;
}
body.dk-admin-mode .dk-cu-preview > summary {
  display: flex;
  align-items: center;
  white-space: nowrap;
  border-radius: 9px;
  min-height: 35px;
  padding: 7px 10px;
  color: #4f46e5;
  border: 1px solid #ddd6fe;
  background: #f5f3ff;
  font-size: 12px;
  cursor: pointer;
  user-select: none;
  list-style: none;
}
body.dk-admin-mode .dk-cu-preview > summary::-webkit-details-marker { display: none; }
body.dk-admin-mode .dk-cu-preview > summary:hover { background: #ede9fe; }
body.dk-admin-mode .dk-cu-preview[open] > summary { border-color: #8b5cf6; }
body.dk-admin-mode .dk-cu-preview-content {
  position: absolute;
  z-index: 10;
  top: calc(100% + 7px);
  right: 0;
  width: min(360px, 72vw);
  padding: 7px;
  background: white;
  border: 1px solid #d9ddef;
  border-radius: 13px;
  box-shadow: 0 15px 35px rgba(25, 30, 67, 0.19);
}
body.dk-admin-mode .dk-cu-preview-content :is(img, video) {
  display: block;
  width: 100%;
  max-height: 230px;
  object-fit: contain;
  border-radius: 8px;
  background: #0f172a;
}
body.dk-admin-mode .dk-cu-hint {
  margin: 0;
  color: #7b879f;
  font-size: 11px;
  line-height: 1.4;
}
body.dk-admin-mode .dk-cu-status,
body.dk-admin-mode .dk-cu-error { margin: 0; font-size: 12px; }
body.dk-admin-mode .dk-cu-error { color: #dc2626; }

body.dk-admin-mode .dk-season-schedule { margin-top: 10px; }
body.dk-admin-mode .dk-season-info {
  padding: 10px 14px;
  border-radius: 13px;
}
body.dk-admin-mode .dk-season-info strong {
  font-size: 13px;
  margin-bottom: 2px;
}
body.dk-admin-mode .dk-season-info p {
  font-size: 11px;
  line-height: 1.4;
}
body.dk-admin-mode .dk-season-cards {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(8px, 1vw, 14px);
  align-items: start;
}
body.dk-admin-mode .dk-season-card {
  padding: clamp(11px, 1.1vw, 18px);
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}
body.dk-admin-mode .dk-season-card-header {
  gap: 9px;
  margin-bottom: 12px;
}
body.dk-admin-mode .dk-season-icon {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
  border-radius: 10px;
  font-size: 18px;
}
body.dk-admin-mode .dk-season-card-header h3 { font-size: clamp(14px, 1.1vw, 17px); }
body.dk-admin-mode .dk-season-card-header p {
  margin: 1px 0 0;
  font-size: 11px;
  line-height: 1.35;
}
body.dk-admin-mode .dk-season-card > .dk-cu { margin-bottom: 12px; }
body.dk-admin-mode .dk-season-period-grid {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
}
body.dk-admin-mode .dk-season-date-control label {
  font-size: 11px;
  margin-bottom: 4px;
  line-height: 1.3;
}
body.dk-admin-mode .dk-season-date-selects { gap: 5px; }
body.dk-admin-mode .dk-season-date-selects select {
  height: 35px;
  min-height: 35px;
  padding: 6px 9px;
  border: 1px solid #dce2f0;
  border-radius: 9px;
  font-size: 12px;
}
body.dk-admin-mode .dk-season-date-selects select:first-child { flex: 1 1 auto; }
body.dk-admin-mode .dk-season-date-selects select:last-child {
  flex: 0 0 54px;
  width: 54px;
}
body.dk-admin-mode .dk-season-valid,
body.dk-admin-mode .dk-season-overlap {
  padding: 8px 12px;
  border-radius: 11px;
  font-size: 11px;
}
body.dk-admin-mode .dk-branding-overlay-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  padding: 12px;
  border-radius: 13px;
  border: 1px solid #e5e7eb;
  background: #f8fafc;
}
body.dk-admin-mode .dk-branding-overlay-grid label span { font-size: 12px; margin-bottom: 5px; }
body.dk-admin-mode .dk-branding-overlay-grid input { padding: 7px 10px; height: 36px; font-size: 12px; }
body.dk-admin-mode .dk-branding-overlay-grid label p { font-size: 11px; margin-top: 4px; }
body.dk-admin-mode .dk-branding-compact .flex.gap-3.pt-4.border-t { padding-top: 10px; }
body.dk-admin-mode .dk-branding-compact button[class*="bg-indigo-600"] {
  padding: 9px 16px;
  border-radius: 11px;
  font-size: 13px;
}
body.dk-admin-mode .dk-branding-help {
  padding: 0;
  border: 0;
  background: transparent;
}
body.dk-admin-mode .dk-branding-help > summary {
  padding: 8px 10px;
  border-radius: 9px;
  background: #f2f5ff;
  font-size: 11px;
  color: #4338ca;
  cursor: pointer;
}
body.dk-admin-mode .dk-branding-help > ul {
  margin: 8px 0 0;
  padding: 9px 18px;
  border: 1px solid #e7eafa;
  border-radius: 10px;
}
@media(max-width:1150px) {
  body.dk-admin-mode .dk-branding-media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.dk-admin-mode .dk-season-cards { grid-template-columns: 1fr; }
}
@media(min-width:1151px) {
  body.dk-admin-mode .dk-branding-media-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:700px) {
  body.dk-admin-mode .dk-branding-media-grid,
  body.dk-admin-mode .dk-branding-overlay-grid,
  body.dk-admin-mode .dk-season-cards { grid-template-columns: 1fr; }
  body.dk-admin-mode .dk-season-period-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.dk-admin-mode .dk-branding-compact > .p-6 { padding: 12px !important; }
}
@media(max-width:420px) {
  body.dk-admin-mode .dk-season-period-grid { grid-template-columns: 1fr; }
  body.dk-admin-mode .dk-season-date-selects select:last-child { flex-basis: 64px; width: 64px; }
}
body.dk-admin-mode .dk-branding-assets-toggle {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 13px;
  border: 1px solid #e6e9f6;
  border-radius: 12px;
  background: #f8faff;
  color: #344273;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
body.dk-admin-mode .dk-branding-assets-toggle:hover,
body.dk-admin-mode .dk-branding-assets-toggle[aria-expanded="true"] {
  background: #f0f1ff;
  border-color: #d4d0fb;
}
body.dk-admin-mode .dk-branding-media-grid[style*="grid"] { animation: dkSeasonReveal .18s ease-out both; }
@keyframes dkSeasonReveal {from {opacity:0; transform:translateY(-4px);} to {opacity:1; transform:translateY(0);}}
@media(prefers-reduced-motion:reduce) {body.dk-admin-mode .dk-branding-media-grid[style*="grid"]{animation:none;}}

/* v13 — thumbnails remain visible. Compact is about physical size, not hiding content. */
body.dk-admin-mode .dk-cu-inline-preview {
  width: 100%; height: clamp(90px, 9vw, 142px);
  min-height: 90px; overflow: hidden; background: #f0f3f9;
  border: 1px solid #e3e8f2; border-radius: 11px;
}
body.dk-admin-mode .dk-cu-inline-preview > img,
body.dk-admin-mode .dk-cu-inline-preview > video {
  display: block; width: 100%; height: 100%;
  object-fit: contain; background: #f3f5fa; border-radius: 10px;
}
body.dk-admin-mode .dk-cu-inline-preview > video { background: #101827; }
body.dk-admin-mode .dk-branding-media-grid { display: grid !important; }
body.dk-admin-mode .dk-branding-media-grid > .dk-cu { padding: 10px; }
body.dk-admin-mode .dk-branding-compact .dk-cu-hint { font-size: 10.5px; line-height: 1.3; }
body.dk-admin-mode .dk-season-card .dk-cu-inline-preview { height: clamp(100px, 10vw, 150px); }
body.dk-admin-mode .dk-season-card { align-self: start; }
@media(max-width:1150px) {
  body.dk-admin-mode .dk-branding-media-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.dk-admin-mode .dk-season-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.dk-admin-mode .dk-season-period-grid { grid-template-columns: 1fr; }
}
@media(max-width:900px) {
  body.dk-admin-mode .dk-branding-media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.dk-admin-mode .dk-season-cards { grid-template-columns: 1fr; }
  body.dk-admin-mode .dk-season-period-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  body.dk-admin-mode .dk-branding-media-grid { grid-template-columns: 1fr; }
  body.dk-admin-mode .dk-season-period-grid { grid-template-columns: 1fr; }
  body.dk-admin-mode .dk-cu-inline-preview { height: 150px; }
}
