/* ===== Frontend styles (also load in editor) ===== */

/* Heading */
.cb-colour-boxes .cb-heading {
  margin: 0 0 0.75rem;
  font-size: clamp(1.125rem, 1.5vw, 1.5rem);
}
.cb-colour-boxes .cb-heading a { text-decoration: none; }

/* Frontend container */
.cb-colour-boxes .colour-boxes {
  --g: var(--cb-gap, 1rem);
  display: flex;
  flex-wrap: wrap;
  gap: var(--g);
  align-items: stretch;
}

/* Cards per row */
.cb-colour-boxes .colour-box-link {
  flex: 1 1 100%;
  text-decoration: none;
  width: calc(100% - var(--g));
}
@media (min-width: 700px) {
  .cb-colour-boxes .colour-box-link { flex-basis: calc(50% - var(--g)); }
}
@media (min-width: 1024px) {
  .cb-colour-boxes .colour-box-link { flex-basis: calc(33.333% - var(--g)); }
}

/* Card core (equal height via fixed height variable) */
.cb-colour-boxes .colour-box {
  height: var(--cb-card-h, 200px);
  display: grid;
  place-items: center;
  text-align: center;
  padding: 1.25rem;
  border-radius: 12px;
  background: var(--cb-bg, rgb(24,175,211));
  border: 1px solid #e5e7eb;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
  cursor: pointer;
}

/* Hover/focus states applied to the link for keyboard accessibility */
.cb-colour-boxes .colour-box-link:hover .colour-box,
.cb-colour-boxes .colour-box-link:focus-visible .colour-box {
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  background-color: var(--cb-hover-bg, #8585e6);
  transform: translateY(-1px);
}

/* Typography */
.cb-colour-boxes .colour-box h3 {
  margin: 0;
  line-height: 1.25;
  color: var(--cb-text, #0b1220);
}

/* ===== Editor-only layout mirroring ===== */

/* In the editor, InnerBlocks injects wrappers; make THAT container flex */
.cb-colour-boxes .colour-boxes .block-editor-inner-blocks > .block-editor-block-list__layout {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cb-gap, 1rem);
  align-items: stretch;
}

/* Flex sizing for child block wrappers in the editor */
.cb-colour-boxes .colour-boxes .block-editor-block-list__layout > .wp-block-mmcb-colour-box {
  flex: 1 1 100%;
}
@media (min-width: 700px) {
  .cb-colour-boxes .colour-boxes .block-editor-block-list__layout > .wp-block-mmcb-colour-box {
    flex-basis: calc(50% - var(--cb-gap, 1rem));
  }
}
@media (min-width: 1024px) {
  .cb-colour-boxes .colour-boxes .block-editor-block-list__layout > .wp-block-mmcb-colour-box {
    flex-basis: calc(33.333% - var(--cb-gap, 1rem));
  }
}

/* Remove extra bottom gap in child block preview */
.wp-block-mmcb-colour-box .mmcb-editor-controls-inline {
  display: none; /* keep controls in sidebar only to keep layout clean */
}
