@charset "UTF-8";
/* ── Card Block — shared front-end + editor styles ───────────────────────── */
/* ── Single card ─────────────────────────────────────────────────────────── */
.wp-block-custom-blocks-card {
  position: relative;
  background: var(--color--warm-grey);
  border-radius: 0px;
  box-shadow: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* ── Card Link (whole-card overlay) ──────────────────────────────────────── */
/* Covers the entire card, sits BEHIND any real link already inside it (image,
   title, read more, address, phone) so those stay independently clickable —
   the classic "stretched link" pattern. Avoids nesting <a> inside <a>. */
.wp-block-custom-blocks-card .card-link-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.wp-block-custom-blocks-card .card-image-link,
.wp-block-custom-blocks-card .card-title-link,
.wp-block-custom-blocks-card .card-link,
.wp-block-custom-blocks-card .card-author-link,
.wp-block-custom-blocks-card .card-cat-link,
.wp-block-custom-blocks-card .card-address,
.wp-block-custom-blocks-card .card-phone {
  position: relative;
  z-index: 2;
}

.wp-block-custom-blocks-card .card-image {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.is-list .wp-block-custom-blocks-card .card-image {
  aspect-ratio: 16/6;
}

/* Map/embed code (e.g. Google Maps iframe) filling the same slot as a
   featured image — see the Featured Image element's "Content Type" setting. */
.wp-block-custom-blocks-card .card-image--embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.wp-block-custom-blocks-card .card-image img,
.wp-block-custom-blocks-card .card-image svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: all 0.3s;
}

.wp-block-custom-blocks-card .card-content {
  padding: var(--wp--custom--card--padding);
  display: flex;
  flex-direction: column;
  gap: var(--spacing--sm);
  justify-content: center;
}

/* post section expands to fill remaining card height */
.wp-block-custom-blocks-card .card-content--post {
  flex: 1;
}

.wp-block-custom-blocks-card .card-content--post a:focus {
  outline: none;
}

/* when no post section exists (image off or at bottom), pre section fills instead */
.wp-block-custom-blocks-card:not(:has(.card-content--post)) .card-content--pre {
  flex: 1;
}

/* Content directly before the image sits flush — no gap between text and image. */
.wp-block-custom-blocks-card .card-content:has(+ .card-image) {
  padding-bottom: 0;
}

.wp-block-custom-blocks-card .card-title {
  font-family: var(--font-family--heading);
  font-weight: 600;
  color: var(--color--green-dark);
  margin: 0;
  line-height: 1.385;
  letter-spacing: 0.26px;
  position: relative;
}

.wp-block-custom-blocks-card .card-title a:hover {
  text-decoration: none;
}

.wp-block-custom-blocks-card .card-description {
  font-family: var(--font-family--body);
  font-size: var(--font-size--body);
  color: var(--color--near-black);
  line-height: 1.75;
  margin: 0;
}

.wp-block-custom-blocks-card .card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: auto;
  font-family: var(--font-family--body);
  font-size: var(--font-size--button-text);
  font-weight: 600;
  color: var(--color--green-forest);
  text-decoration: none;
  transition: color 250ms ease;
}

.wp-block-custom-blocks-card .card-link:hover {
  color: var(--color--accent-primary);
}

/* ── Read More icon ──────────────────────────────────────────────────────── */
.wp-block-custom-blocks-card .card-link-icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 1;
}

.wp-block-custom-blocks-card .card-link-icon.dashicons {
  font-size: 1em;
  width: 1em;
  height: 1em;
}

.wp-block-custom-blocks-card .card-link-icon--img {
  width: 1.3em;
  height: 1.3em;
  object-fit: contain;
}

.wp-block-custom-blocks-card .card-link-icon--svg svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}

/* ── Block alignment (wide / full) ──────────────────────────────────────── */
/* WordPress only auto-generates alignment CSS for core blocks; custom blocks
   must declare it explicitly using the same CSS variables.                  */
.wp-block-custom-blocks-card-wrapper.alignwide,
.card-block-container.alignwide {
  max-width: var(--wp--style--global--wide-size, 1440px);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-custom-blocks-card-wrapper.alignfull,
.card-block-container.alignfull {
  max-width: 100%;
  width: 100%;
}

/* ── Grid layout ─────────────────────────────────────────────────────────── */
/* Breakpoints match theme.json: lg = 1024px (tablet), md = 768px (mobile)  */
/* Flexbox instead of CSS Grid on purpose: with a fixed N-column grid, a row
   with fewer than N cards still reserves N equal 1fr tracks, so the cards
   sit flush left with empty space on the right. Flex-wrap + justify-content
   lets an incomplete row center itself instead, while each card keeps the
   exact same width it would have in a full row (flex-basis mirrors the
   per-column width the carousel track already uses). */
.wp-block-custom-blocks-card-wrapper.is-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacing--xl);
}

.wp-block-custom-blocks-card-wrapper.is-grid .wp-block-custom-blocks-card {
  flex: 0 0 calc((100% - var(--columns-desktop-gaps, 2) * var(--spacing--xl)) / var(--columns-desktop, 3));
  min-width: 0;
}

@media (max-width: 1024px) {
  .wp-block-custom-blocks-card-wrapper.is-grid .wp-block-custom-blocks-card {
    flex-basis: calc((100% - var(--columns-tablet-gaps, 1) * var(--spacing--xl)) / var(--columns-tablet, 2));
  }
}
@media (max-width: 768px) {
  .wp-block-custom-blocks-card-wrapper.is-grid .wp-block-custom-blocks-card {
    flex-basis: calc((100% - var(--columns-mobile-gaps, 0) * var(--spacing--xl)) / var(--columns-mobile, 1));
  }
}
/* ── List layout ─────────────────────────────────────────────────────────── */
.wp-block-custom-blocks-card-wrapper.is-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing--md);
  /* padding: 20px;
  margin:  -20px; */
}

.wp-block-custom-blocks-card-wrapper.is-list .wp-block-custom-blocks-card {
  flex-direction: row;
  align-items: stretch;
}

.wp-block-custom-blocks-card-wrapper.is-list .card-image {
  width: 40%;
}

@media (max-width: 768px) {
  .wp-block-custom-blocks-card-wrapper.is-list .wp-block-custom-blocks-card {
    flex-direction: column;
  }
  .wp-block-custom-blocks-card-wrapper.is-list .card-image {
    width: 100%;
    min-width: unset;
  }
}
/* ── Card meta items (post date, author, categories, tags) ───────────────── */
.wp-block-custom-blocks-card .card-meta-item {
  font-family: var(--font-family--body);
  font-size: var(--font-size--label);
  color: var(--color--medium-grey);
  opacity: 0.75;
  font-weight: 600;
  margin-bottom: var(--spacing--sm-plus);
  line-height: 1.5;
  text-transform: uppercase;
}

/* ── Address / Phone (manual mode only) ──────────────────────────────────── */
.wp-block-custom-blocks-card .card-address,
.wp-block-custom-blocks-card .card-phone {
  display: block;
  font-family: var(--font-family--body);
  font-size: var(--font-size--label);
  color: var(--color--medium-grey);
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: var(--spacing--sm-plus);
  text-decoration: none;
}
.wp-block-custom-blocks-card .card-address:hover,
.wp-block-custom-blocks-card .card-phone:hover {
  text-decoration: underline;
}

/* Editor-only placeholder when ACF value not yet available in REST preview */
.wp-block-custom-blocks-card .card-meta-field.is-placeholder {
  opacity: 0.45;
  font-style: italic;
}

/* ── Elements sidebar panel ──────────────────────────────────────────────── */
.card-elements-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.card-element-item {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  transition: opacity 150ms ease;
}

.card-element-item.is-dragging {
  opacity: 0.4;
}

.card-element-item.drag-over {
  border-color: #4285f4;
}

.card-element-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: #f6f7f7;
  border-radius: 4px 4px 0 0;
  cursor: grab;
  user-select: none;
}

.card-element-row:not(.css-open) {
  border-radius: 4px;
}

.element-drag-handle {
  font-size: 16px;
  line-height: 1;
  color: #999;
  cursor: grab;
  flex-shrink: 0;
}

.element-label {
  flex: 1;
  font-size: 13px;
  color: #1e1e1e;
}

.element-css-btn {
  flex-shrink: 0;
  padding: 2px 6px;
  font-size: 11px;
  font-family: monospace;
  font-weight: 600;
  color: #555;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
  cursor: pointer;
  line-height: 1.6;
  transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
}

.element-css-btn:hover,
.element-css-btn.is-active {
  background: #1e1e1e;
  color: #fff;
  border-color: #1e1e1e;
}

.element-css-btn.has-css {
  border-color: var(--color--green-forest);
  color: var(--color--green-forest);
}

.element-css-btn.has-css.is-active {
  background: var(--color--green-forest);
  color: #fff;
  border-color: var(--color--green-forest);
}

.element-css-panel {
  padding: 8px;
  background: #fff;
  border-top: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.element-extra-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 4px;
}

.element-extra-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.element-extra-label {
  font-size: 12px;
  font-weight: 500;
  color: #1e1e1e;
  min-width: 72px;
  flex-shrink: 0;
}

.element-extra-row .components-base-control {
  margin-bottom: 0 !important;
  flex: 1;
}

.element-extra-row .components-select-control__input {
  font-size: 12px;
}

/* Date format hint panel */
.date-format-hint {
  margin-top: 4px;
  font-size: 11px;
}

.date-format-hint__toggle {
  cursor: pointer;
  color: #007cba;
  font-size: 11px;
  font-weight: 500;
  user-select: none;
  list-style: none;
}

.date-format-hint__toggle::-webkit-details-marker {
  display: none;
}

.date-format-hint__toggle::before {
  content: "▶ ";
  font-size: 9px;
  display: inline-block;
  transition: transform 0.15s;
}

details[open] .date-format-hint__toggle::before {
  transform: rotate(90deg);
}

.date-format-hint__body {
  margin-top: 8px;
  padding: 8px 10px;
  background: #f6f7f7;
  border-left: 3px solid #007cba;
  border-radius: 2px;
}

.date-format-hint__group {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #757575;
  margin: 8px 0 3px;
}

.date-format-hint__group:first-child {
  margin-top: 0;
}

.date-format-hint__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
  line-height: 1.5;
}

.date-format-hint__table td {
  padding: 1px 6px 1px 0;
  vertical-align: top;
}

.date-format-hint__table td:first-child {
  width: 28px;
}

.date-format-hint__table td code {
  font-family: monospace;
  font-size: 11px;
  background: #e0e0e0;
  padding: 0 3px;
  border-radius: 2px;
}

.date-format-hint__table--examples td:first-child {
  width: 110px;
}

/* Title link — inherit card heading colour, no underline by default */
.wp-block-custom-blocks-card .card-title-link {
  color: inherit;
  text-decoration: none;
}

.wp-block-custom-blocks-card .card-title-link:hover {
  text-decoration: underline;
}

.element-css-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #1e1e1e;
}

.element-css-selector {
  font-size: 11px;
  color: #757575;
}

.element-css-selector code {
  font-family: monospace;
  font-size: 11px;
  background: #f0f0f0;
  padding: 1px 4px;
  border-radius: 3px;
  color: #1e1e1e;
}

.element-css-input {
  width: 100%;
  padding: 6px 8px;
  font-family: monospace;
  font-size: 11px;
  line-height: 1.6;
  color: #1e1e1e;
  background: #f8f8f8;
  border: 1px solid #ddd;
  border-radius: 3px;
  resize: vertical;
  box-sizing: border-box;
}

.element-css-input:focus {
  outline: 2px solid var(--color--green-forest);
  outline-offset: -1px;
  border-color: transparent;
}

/* ── Frontend search bar ─────────────────────────────────────────────────── */
.card-search-bar {
  margin-bottom: var(--spacing--md);
  position: relative;
  display: inline-flex;
  width: 29%;
  margin-right: 7px;
}

@media (max-width: 793px) {
  .card-search-bar {
    width: 100%;
    margin-right: 0px;
  }
}
.card-search-bar input {
  height: 56px;
  width: 100%;
  padding: 16px 20px 16px 50px;
  font-family: var(--font-family--body);
  text-transform: capitalize !important;
  font-size: var(--wp--preset--font-size--body-small);
  color: var(--color--green-dark);
  background: var(--color--green-light);
  border: none;
  border: 1px solid var(--color--warm-grey);
  border-radius: 0px;
  box-sizing: border-box;
  transition: border-color 200ms ease, box-shadow 200ms ease;
  border-radius: 8px;
}

.card-search-bar::after {
  content: "";
  width: 18px;
  height: 18px;
  position: absolute;
  top: 20px;
  left: 20px;
  background-image: url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.5 13C4.68333 13 3.14583 12.3708 1.8875 11.1125C0.629167 9.85417 0 8.31667 0 6.5C0 4.68333 0.629167 3.14583 1.8875 1.8875C3.14583 0.629167 4.68333 0 6.5 0C8.31667 0 9.85417 0.629167 11.1125 1.8875C12.3708 3.14583 13 4.68333 13 6.5C13 7.23333 12.8833 7.925 12.65 8.575C12.4167 9.225 12.1 9.8 11.7 10.3L17.3 15.9C17.4833 16.0833 17.575 16.3167 17.575 16.6C17.575 16.8833 17.4833 17.1167 17.3 17.3C17.1167 17.4833 16.8833 17.575 16.6 17.575C16.3167 17.575 16.0833 17.4833 15.9 17.3L10.3 11.7C9.8 12.1 9.225 12.4167 8.575 12.65C7.925 12.8833 7.23333 13 6.5 13ZM6.5 11C7.75 11 8.8125 10.5625 9.6875 9.6875C10.5625 8.8125 11 7.75 11 6.5C11 5.25 10.5625 4.1875 9.6875 3.3125C8.8125 2.4375 7.75 2 6.5 2C5.25 2 4.1875 2.4375 3.3125 3.3125C2.4375 4.1875 2 5.25 2 6.5C2 7.75 2.4375 8.8125 3.3125 9.6875C4.1875 10.5625 5.25 11 6.5 11Z" fill="%233F4F67"/></svg>');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.card-search-bar .card-search-input::placeholder {
  color: var(--color--near-black);
  font-size: var(--wp--preset--font-size--body-small);
  font-weight: 500;
  text-transform: capitalize;
}

.card-search-bar .card-search-input:focus {
  outline: 0px solid var(--color--accent-primary);
  outline-offset: 0px;
  border-color: var(--color--near-black);
}

/* ── Frontend filter bar ─────────────────────────────────────────────────── */
.card-filter-bar {
  display: inline-flex;
  width: 70%;
  flex-wrap: nowrap;
  gap: var(--spacing--sm);
  margin-bottom: var(--spacing--2xl);
}

@media (max-width: 793px) {
  .card-filter-bar {
    width: 100%;
    margin-right: 0px;
  }
}
.card-filter-bar .filter-field {
  width: 100%;
}

.card-filter-bar .filter-field select {
  height: 56px;
  width: 100%;
  padding: 16px 20px 16px 20px;
  font-family: var(--font-family--body);
  text-transform: capitalize !important;
  font-size: var(--wp--preset--font-size--body-small);
  color: var(--color--green-dark);
  background: var(--color--green-light);
  border: none;
  border: 1px solid var(--color--warm-grey);
  border-radius: 0px;
  box-sizing: border-box;
  transition: border-color 200ms ease, box-shadow 200ms ease;
  border-radius: 8px;
}

.card-filter-bar .filter-field select:focus {
  outline: 0px solid var(--color--accent-primary);
  outline-offset: 0px;
  border-color: var(--color--near-black);
}

@media (max-width: 768px) {
  .card-filter-bar {
    flex-direction: column;
  }
  .card-filter-bar .filter-field select {
    width: 100%;
  }
}
/* ── View switcher bar ────────────────────────────────────────────────────── */
.card-view-bar {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-bottom: var(--spacing--md);
}

.card-view-bar .view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--color--white);
  border: 1px solid var(--color--green-forest);
  border-radius: var(--wp--custom--border-radius--sm, 6px);
  color: var(--color--green-forest);
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease;
}

.card-view-bar .view-btn.is-active,
.card-view-bar .view-btn:hover {
  background: var(--color--green-forest);
  color: var(--color--white);
}

/* ── Carousel layout ─────────────────────────────────────────────────────── */
.wp-block-custom-blocks-card-wrapper.is-carousel {
  position: relative;
}

.wp-block-custom-blocks-card-wrapper.is-carousel .card-track-outer {
  overflow: hidden;
  /* Pull clip boundary outward so card shadows are not cropped. */
  padding: 20px;
  margin: -20px;
}

.wp-block-custom-blocks-card-wrapper.is-carousel .card-track {
  display: flex;
  gap: var(--spacing--xl);
  transition: transform 350ms ease;
  will-change: transform;
  cursor: grab;
  user-select: none;
}

.wp-block-custom-blocks-card-wrapper.is-carousel .card-track:active {
  cursor: grabbing;
}

.wp-block-custom-blocks-card-wrapper.is-carousel .card-track img,
.wp-block-custom-blocks-card-wrapper.is-carousel .card-track a {
  -webkit-user-drag: none;
  user-select: none;
}

.wp-block-custom-blocks-card-wrapper.is-carousel .card-track .wp-block-custom-blocks-card {
  flex: 0 0 calc((100% - var(--columns-desktop-gaps, 2) * var(--spacing--xl)) / var(--columns-desktop, 3));
  min-width: 0;
}

@media (max-width: 1024px) {
  .wp-block-custom-blocks-card-wrapper.is-carousel .card-track .wp-block-custom-blocks-card {
    flex-basis: calc((100% - var(--columns-tablet-gaps, 1) * var(--spacing--xl)) / var(--columns-tablet, 2));
  }
}
@media (max-width: 768px) {
  .wp-block-custom-blocks-card-wrapper.is-carousel .card-track .wp-block-custom-blocks-card {
    flex-basis: calc((100% - var(--columns-mobile-gaps, 0) * var(--spacing--xl)) / var(--columns-mobile, 1));
  }
}
/* Carousel nav buttons */
.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: var(--color--white);
  border: 1px solid var(--color--green-forest);
  border-radius: var(--wp--custom--border-radius--pill);
  color: transparent;
  cursor: pointer;
  font-size: 18px;
  transition: background 250ms ease, color 250ms ease;
}

.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn.is-prev::after {
  content: "";
  width: 25px;
  height: 25px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 10L3 10" stroke="%2314366B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 4.16699L2.16667 10.0003L8 15.8337" stroke="%2314366B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn.is-prev:hover::after {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 10L3 10" stroke="%23ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 4.16699L2.16667 10.0003L8 15.8337" stroke="%23ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn.is-next::after {
  content: "";
  width: 25px;
  height: 25px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 10L17 10" stroke="%2314366B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 4.16699L17.8333 10.0003L12 15.8337" stroke="%2314366B" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn.is-next:hover::after {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 10L17 10" stroke="%23ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 4.16699L17.8333 10.0003L12 15.8337" stroke="%23ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn:hover {
  background: var(--color--green-forest);
  color: var(--color--green-forest);
}

.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn.is-prev {
  left: -22px;
}

.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn.is-next {
  right: -22px;
}

.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn[disabled] {
  opacity: 0.35;
  cursor: default;
}

/* ── Grid pagination ─────────────────────────────────────────────────────── */
.card-pagination {
  margin-top: var(--spacing--xl);
}

.card-pagination__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: center;
}

.card-pagination__item a,
.card-pagination__item span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0px 10px;
  border-radius: 0px;
  font-family: var(--font-family--body);
  font-size: var(--wp--preset--font-size--h4);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
  color: var(--color--near-black);
  background: transparent;
}

.card-pagination__item a:hover {
  border: 1px solid var(--color--green-forest);
  border-radius: 5px;
  color: var(--color--green-forest);
}

.card-pagination__item a:focus {
  outline: none;
}

.card-pagination__item span.current {
  border: 1px solid var(--color--green-forest);
  border-radius: 5px;
  color: var(--color--green-forest);
}

.card-pagination__item span.dots {
  border-color: transparent;
  background: transparent;
}

.card-pagination__item span.disabled {
  opacity: 1;
  cursor: default;
}

.card-pagination__item .prev {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 10L3 10" stroke="%231C7C41" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 4.16663L2.16667 9.99996L8 15.8333" stroke="%231C7C41" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  color: transparent;
  border: 0px !important;
}

.card-pagination__item .next {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 10L17 10" stroke="%231C7C41" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 4.16663L17.8333 9.99996L12 15.8333" stroke="%231C7C41" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  color: transparent;
}

.card-pagination__item .next:hover, .card-pagination__item .prev:hover {
  color: transparent;
  border: 0px !important;
}

/* ── Carousel dots ───────────────────────────────────────────────────────── */
/* Carousel dots */
.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: var(--spacing--lg);
}

.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color--light-grey);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background 250ms ease, transform 250ms ease;
}

.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-dot.is-active {
  background: var(--color--green-forest);
  transform: scale(1.35);
}

/* ── Dashicon picker (editor sidebar) ────────────────────────────────────── */
.card-dashicon-picker .dashicons {
  font-size: 16px !important;
  width: 16px !important;
  height: 16px !important;
  line-height: 1 !important;
}

/* ── Default — centered icon card ─────────────────────────────────────────── */
.default .wp-block-custom-blocks-card {
  background: var(--color--white);
  border: 1px solid var(--color--light-grey);
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(26, 40, 32, 0.06);
  padding: 40px 28px;
  align-items: center;
  text-align: center;
}

.default .wp-block-custom-blocks-card .card-image {
  width: 100%;
  height: 142px;
  overflow: visible;
  margin-bottom: 0px;
}

.default .wp-block-custom-blocks-card .card-image img,
.default .wp-block-custom-blocks-card .card-image svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.default .wp-block-custom-blocks-card .card-content {
  border-top: 1px solid var(--color--light-grey);
  justify-content: start;
  align-items: center;
  text-align: center;
}

.default .wp-block-custom-blocks-card .card-title {
  font-weight: 700;
  color: var(--color--near-black);
}

.default .wp-block-custom-blocks-card .card-description {
  color: var(--color--medium-grey);
}

.default .wp-block-custom-blocks-card .card-link {
  height: 100%;
  justify-content: center;
  align-items: flex-end;
  margin-top: var(--spacing--sm);
}

.default .wp-block-custom-blocks-card .card-link .card-link-icon.dashicons {
  height: 1.5em !important;
}

.default .card-track-outer,
.default .card-track {
  overflow: visible !important;
}

.carousel-section {
  overflow-x: clip;
  overflow-y: visible;
}

.default.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn.is-prev {
  top: 108% !important;
  left: calc(50% - 74px);
}

.default.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn.is-next {
  top: 108% !important;
  right: calc(50% - 74px);
}

@media (max-width: 1080px) and (max-width: 1080px) {
  .default.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn {
    top: 108% !important;
  }
  .default.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn.is-prev {
    left: 25%;
  }
  .default.wp-block-custom-blocks-card-wrapper.is-carousel .carousel-btn.is-next {
    right: 25%;
  }
}
.default.wp-block-custom-blocks-card-wrapper.is-carousel .card-track {
  justify-content: center;
}

.default .wp-block-custom-blocks-card {
  padding: 15px !important;
  border-radius: 16px !important;
}

.default.is-grid {
  gap: 9px !important;
}

/* ── Design 1 — Logo Card ─────────────────────────────────────────────────
   White bordered card: logo/image letterboxed at top, divider line,
   centered title + description below.
   ─────────────────────────────────────────────────────────────────────── */
.design-1 .wp-block-custom-blocks-card {
  background: var(--color--green-light, #ffffff);
  border: 1px solid var(--color--light-grey, #cccccc);
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  justify-self: center;
}
.design-1 .wp-block-custom-blocks-card .card-image {
  width: 100%;
  aspect-ratio: auto;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 32px 24px;
}
.design-1 .wp-block-custom-blocks-card .card-image img,
.design-1 .wp-block-custom-blocks-card .card-image svg {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 110px;
  object-fit: contain;
}
.design-1 .wp-block-custom-blocks-card .card-image svg {
  overflow: visible;
}
.design-1 .wp-block-custom-blocks-card .card-content {
  justify-content: start;
  align-items: center;
  text-align: center;
  padding: 0 32px 32px;
  /* Divider between the image and the text content */
  /*
  &--post {
  	&::before {
  		content: '';
  		display: block;
  		width: 100%;
  		height: 1px;
  		background: var(--wp--preset--color--light-grey, #dddbd4);
  		margin-bottom: 24px;
  	}
  }
  */
}
.design-1 .wp-block-custom-blocks-card .card-title {
  font-weight: 600;
  color: var(--color--near-black);
}
.design-1 .wp-block-custom-blocks-card .card-description {
  color: var(--color--medium-grey);
}
.design-1 .wp-block-custom-blocks-card .card-link {
  justify-content: center;
  margin-top: var(--wp--preset--spacing--sm);
}

.ctm-dark-card-design-one .wp-block-custom-blocks-card-wrapper.design-1 {
  gap: var(--spacing--xl);
}
.ctm-dark-card-design-one .wp-block-custom-blocks-card-wrapper.design-1 .wp-block-custom-blocks-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  position: relative;
}
.ctm-dark-card-design-one .wp-block-custom-blocks-card-wrapper.design-1 .wp-block-custom-blocks-card .card-content {
  padding: 0 var(--spacing--md);
}
.ctm-dark-card-design-one .wp-block-custom-blocks-card-wrapper.design-1 .wp-block-custom-blocks-card .card-content .card-title {
  color: var(--color--green-light);
}
.ctm-dark-card-design-one .wp-block-custom-blocks-card-wrapper.design-1 .wp-block-custom-blocks-card .card-content .card-description {
  color: var(--color--green-light);
}

.ctm-white-card-design-one .wp-block-custom-blocks-card-wrapper.design-1 {
  gap: var(--spacing--xl);
}
.ctm-white-card-design-one .wp-block-custom-blocks-card-wrapper.design-1 .wp-block-custom-blocks-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  position: relative;
}
.ctm-white-card-design-one .wp-block-custom-blocks-card-wrapper.design-1 .wp-block-custom-blocks-card .card-content {
  padding: 0 var(--spacing--md);
}
.ctm-white-card-design-one .wp-block-custom-blocks-card-wrapper.design-1 .wp-block-custom-blocks-card .card-content .card-title {
  color: var(--color--near-black);
}
.ctm-white-card-design-one .wp-block-custom-blocks-card-wrapper.design-1 .wp-block-custom-blocks-card .card-content .card-description {
  color: var(--color--near-black);
}

.design-2 .wp-block-custom-blocks-card {
  background: var(--color--white);
  border: 1px solid var(--color--light-grey);
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(26, 40, 32, 0.06);
  overflow: visible;
  padding: 40px 28px 32px;
  align-items: center;
}
.design-2 .wp-block-custom-blocks-card .card-image {
  position: relative;
  width: 13rem;
  height: 13rem;
  aspect-ratio: auto;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  border-radius: 50%;
  background: conic-gradient(from 180deg, var(--color--green-forest), var(--color--accent-primary), var(--color--green-forest));
}
.design-2 .wp-block-custom-blocks-card .card-image::before {
  content: "";
  position: absolute;
  inset: 2px;
  border-radius: 50%;
  background: var(--color--white);
}
.design-2 .wp-block-custom-blocks-card .card-image img,
.design-2 .wp-block-custom-blocks-card .card-image svg {
  position: relative;
  z-index: 1;
  width: 11.5rem;
  height: 11.5rem;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.design-2 .wp-block-custom-blocks-card .card-image::after {
  content: "▶";
  position: absolute;
  bottom: 4px;
  right: 4px;
  z-index: 2;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--color--accent-primary);
  color: var(--color--near-black);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
.design-2 .wp-block-custom-blocks-card .card-content {
  padding: 0;
  width: 100%;
  align-items: center;
  justify-content: start;
}
.design-2 .wp-block-custom-blocks-card .card-content--post {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}
.design-2 .wp-block-custom-blocks-card .card-title {
  font-size: var(--font-size--h4);
  font-weight: 700;
  color: var(--color--near-black);
}
.design-2 .wp-block-custom-blocks-card .card-meta-post-date {
  position: relative;
  color: var(--color--green-forest);
  font-size: var(--font-size--body);
  font-weight: 600;
  text-transform: none;
  opacity: 1;
  padding-bottom: 16px;
}
.design-2 .wp-block-custom-blocks-card .card-meta-post-date::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 2px;
  background: var(--color--green-forest);
}
.design-2 .wp-block-custom-blocks-card .card-description {
  color: var(--color--medium-grey);
}
.design-2 .wp-block-custom-blocks-card .card-meta-field {
  flex: 0 0 auto;
  margin: 0;
  padding: 8px 16px;
  border: 1px solid var(--color--light-grey);
  border-radius: 999px;
  background: var(--color--off-white);
  color: var(--color--near-black);
  font-size: 13px;
  font-weight: 600;
  text-transform: none;
  opacity: 1;
}
.design-2 .wp-block-custom-blocks-card .card-link {
  justify-content: center;
  margin-top: var(--spacing--sm);
}

.wp-block-custom-blocks-card-wrapper.design-2 {
  margin: 0px 50px;
}
.wp-block-custom-blocks-card.design-2 .card-meta-author-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.wp-block-custom-blocks-card.design-2 .card-meta-author-badge {
  padding: 10px 15px;
  background: #eaeaea;
  border: 1px solid #ccc;
  border-radius: 8px;
  color: #000;
  font-weight: 600;
  text-transform: capitalize;
}

.wp-block-custom-blocks-card-wrapper.design-2 .carousel-btn.is-prev {
  left: -70px !important;
}
.wp-block-custom-blocks-card-wrapper.design-2 .carousel-btn.is-next {
  right: -70px !important;
}

.design-3 .wp-block-custom-blocks-card {
  background: var(--color--white);
  border: 1px solid var(--color--light-grey);
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(26, 40, 32, 0.06);
  overflow: hidden;
}
.design-3 .wp-block-custom-blocks-card .card-image {
  width: 100%;
  height: 10rem;
}
.design-3 .wp-block-custom-blocks-card .card-image img,
.design-3 .wp-block-custom-blocks-card .card-image svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.design-3 .wp-block-custom-blocks-card .card-content {
  padding: 45px;
  justify-content: flex-start !important;
}
.design-3 .wp-block-custom-blocks-card .card-title {
  text-align: center;
  font-size: var(--font-size--h4);
  font-weight: 700;
  color: var(--color--near-black);
}
.design-3 .wp-block-custom-blocks-card .card-meta-item {
  text-align: center !important;
}
.design-3 .wp-block-custom-blocks-card .card-description {
  text-align: center !important;
  color: var(--color--medium-grey);
}
.design-3 .wp-block-custom-blocks-card .card-description + .card-meta-item {
  margin-top: 8px;
  padding-top: 20px;
  border-top: 1px solid var(--color--light-grey);
}
.design-3 .wp-block-custom-blocks-card .card-meta-field {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
  text-transform: none;
  opacity: 1;
  font-size: var(--font-size--body);
  color: var(--color--near-black);
}
.design-3 .wp-block-custom-blocks-card .card-meta-field::before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.design-3 .wp-block-custom-blocks-card .card-meta-address::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a73e8'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}
.design-3 .wp-block-custom-blocks-card .card-meta-phone::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a73e8'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24 11.36 11.36 0 0 0 3.56.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11.36 11.36 0 0 0 .57 3.56 1 1 0 0 1-.25 1.01l-2.2 2.22z'/%3E%3C/svg%3E");
}

.design-3 .card-address,
.design-3 .card-phone {
  color: #3F4F67;
  font-size: 16px;
  font-weight: 500;
  position: relative;
  padding-left: 28px;
}
.design-3 .card-address::before,
.design-3 .card-phone::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
}
.design-3 .card-address::before {
  background-image: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.3 21.2C11.0667 21.1167 10.8583 20.9917 10.675 20.825C9.59167 19.825 8.63333 18.85 7.8 17.9C6.96667 16.95 6.27083 16.0292 5.7125 15.1375C5.15417 14.2458 4.72917 13.3875 4.4375 12.5625C4.14583 11.7375 4 10.95 4 10.2C4 7.7 4.80417 5.70833 6.4125 4.225C8.02083 2.74167 9.88333 2 12 2C14.1167 2 15.9792 2.74167 17.5875 4.225C19.1958 5.70833 20 7.7 20 10.2C20 10.95 19.8542 11.7375 19.5625 12.5625C19.2708 13.3875 18.8458 14.2458 18.2875 15.1375C17.7292 16.0292 17.0333 16.95 16.2 17.9C15.3667 18.85 14.4083 19.825 13.325 20.825C13.1417 20.9917 12.9333 21.1167 12.7 21.2C12.4667 21.2833 12.2333 21.325 12 21.325C11.7667 21.325 11.5333 21.2833 11.3 21.2ZM13.4125 11.4125C13.8042 11.0208 14 10.55 14 10C14 9.45 13.8042 8.97917 13.4125 8.5875C13.0208 8.19583 12.55 8 12 8C11.45 8 10.9792 8.19583 10.5875 8.5875C10.1958 8.97917 10 9.45 10 10C10 10.55 10.1958 11.0208 10.5875 11.4125C10.9792 11.8042 11.45 12 12 12C12.55 12 13.0208 11.8042 13.4125 11.4125Z" fill="%233F4F67"/></svg>');
}
.design-3 .card-phone::before {
  background-image: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 12C19.7333 12 19.4958 11.9042 19.2875 11.7125C19.0792 11.5208 18.9583 11.2833 18.925 11C18.7083 9.45 18.0542 8.12917 16.9625 7.0375C15.8708 5.94583 14.55 5.29167 13 5.075C12.7167 5.04167 12.4792 4.925 12.2875 4.725C12.0958 4.525 12 4.28333 12 4C12 3.71667 12.1 3.47917 12.3 3.2875C12.5 3.09583 12.7333 3.01667 13 3.05C15.1 3.28333 16.8917 4.14167 18.375 5.625C19.8583 7.10833 20.7167 8.9 20.95 11C20.9833 11.2667 20.9042 11.5 20.7125 11.7C20.5208 11.9 20.2833 12 20 12ZM15.825 12C15.6083 12 15.4167 11.925 15.25 11.775C15.0833 11.625 14.9583 11.425 14.875 11.175C14.7417 10.6917 14.4875 10.2625 14.1125 9.8875C13.7375 9.5125 13.3083 9.25833 12.825 9.125C12.575 9.04167 12.375 8.91667 12.225 8.75C12.075 8.58333 12 8.38333 12 8.15C12 7.81667 12.1167 7.54583 12.35 7.3375C12.5833 7.12917 12.8417 7.05833 13.125 7.125C14.0583 7.34167 14.8625 7.7875 15.5375 8.4625C16.2125 9.1375 16.6583 9.94167 16.875 10.875C16.9417 11.1583 16.8667 11.4167 16.65 11.65C16.4333 11.8833 16.1583 12 15.825 12ZM19.95 21C17.8667 21 15.8083 20.5458 13.775 19.6375C11.7417 18.7292 9.89167 17.4417 8.225 15.775C6.55833 14.1083 5.27083 12.2583 4.3625 10.225C3.45417 8.19167 3 6.13333 3 4.05C3 3.75 3.1 3.5 3.3 3.3C3.5 3.1 3.75 3 4.05 3H8.1C8.33333 3 8.54167 3.07917 8.725 3.2375C8.90833 3.39583 9.01667 3.58333 9.05 3.8L9.7 7.3C9.73333 7.56667 9.725 7.79167 9.675 7.975C9.625 8.15833 9.53333 8.31667 9.4 8.45L6.975 10.9C7.30833 11.5167 7.70417 12.1125 8.1625 12.6875C8.62083 13.2625 9.125 13.8167 9.675 14.35C10.1917 14.8667 10.7333 15.3458 11.3 15.7875C11.8667 16.2292 12.4667 16.6333 13.1 17L15.45 14.65C15.6 14.5 15.7958 14.3875 16.0375 14.3125C16.2792 14.2375 16.5167 14.2167 16.75 14.25L20.2 14.95C20.4333 15.0167 20.625 15.1375 20.775 15.3125C20.925 15.4875 21 15.6833 21 15.9V19.95C21 20.25 20.9 20.5 20.7 20.7C20.5 20.9 20.25 21 19.95 21Z" fill="%233F4F67"/></svg>');
}

.design-3.is-grid {
  gap: var(--spacing--lg);
}

.ctm-blog-style .wp-block-custom-blocks-card-wrapper.design-3 .wp-block-custom-blocks-card .card-image {
  height: 13rem;
}
.ctm-blog-style .wp-block-custom-blocks-card-wrapper.design-3 .wp-block-custom-blocks-card .card-content {
  padding: 24px !important;
}
.ctm-blog-style .wp-block-custom-blocks-card-wrapper.design-3 .wp-block-custom-blocks-card .card-content .card-title {
  text-align: left;
  font-size: var(--font-size--h5);
  font-weight: 600;
  margin-bottom: 10px;
}
.ctm-blog-style .wp-block-custom-blocks-card-wrapper.design-3 .wp-block-custom-blocks-card .card-content .card-description {
  text-align: left !important;
}
.ctm-blog-style .wp-block-custom-blocks-card-wrapper.design-3 .wp-block-custom-blocks-card .card-content .card-meta-item {
  margin-bottom: 0;
  color: var(--color--near-black);
  text-transform: capitalize;
  font-size: var(--wp--preset--font-size--body-small);
  text-align: left !important;
}
.ctm-blog-style .wp-block-custom-blocks-card-wrapper.design-3 .wp-block-custom-blocks-card .card-content .card-link {
  font-size: var(--wp--preset--font-size--body-large) !important;
  justify-content: flex-start !important;
}

.design-4 .wp-block-custom-blocks-card {
  flex-direction: row;
  align-items: stretch;
  background: var(--color--white);
  border: 1px solid var(--color--light-grey);
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(26, 40, 32, 0.06);
  overflow: hidden;
  min-height: 12rem;
}
.design-4 .wp-block-custom-blocks-card .card-image {
  width: 34%;
  aspect-ratio: auto;
  flex-shrink: 0;
}
.design-4 .wp-block-custom-blocks-card .card-image img,
.design-4 .wp-block-custom-blocks-card .card-image svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.design-4 .wp-block-custom-blocks-card .card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 20px;
  text-align: left;
  gap: 0px !important;
}
.design-4 .wp-block-custom-blocks-card .card-title {
  text-align: left;
  font-size: var(--font-size--h3);
  font-weight: 700;
  color: var(--color--near-black);
  margin-bottom: 15px;
}
.design-4 .wp-block-custom-blocks-card .card-description {
  text-align: left;
  color: var(--color--medium-grey);
}
.design-4 .wp-block-custom-blocks-card .card-meta-field {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
  text-transform: none;
  opacity: 1;
  font-size: var(--font-size--body);
  color: var(--color--near-black);
}
.design-4 .wp-block-custom-blocks-card .card-meta-field::before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.design-4 .wp-block-custom-blocks-card .card-meta-address::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a2820'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}
.design-4 .wp-block-custom-blocks-card .card-meta-phone::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a2820'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24 11.36 11.36 0 0 0 3.56.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11.36 11.36 0 0 0 .57 3.56 1 1 0 0 1-.25 1.01l-2.2 2.22z'/%3E%3C/svg%3E");
}
@media (max-width: 768px) {
  .design-4 .wp-block-custom-blocks-card {
    flex-direction: column;
  }
  .design-4 .wp-block-custom-blocks-card .card-image {
    width: 100%;
    height: 200px;
  }
}

.design-4 .card-address,
.design-4 .card-phone {
  color: #3F4F67;
  font-size: 16px;
  font-weight: 500;
  position: relative;
  padding-left: 28px;
}
.design-4 .card-address::before,
.design-4 .card-phone::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
}
.design-4 .card-address::before {
  background-image: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.3 21.2C11.0667 21.1167 10.8583 20.9917 10.675 20.825C9.59167 19.825 8.63333 18.85 7.8 17.9C6.96667 16.95 6.27083 16.0292 5.7125 15.1375C5.15417 14.2458 4.72917 13.3875 4.4375 12.5625C4.14583 11.7375 4 10.95 4 10.2C4 7.7 4.80417 5.70833 6.4125 4.225C8.02083 2.74167 9.88333 2 12 2C14.1167 2 15.9792 2.74167 17.5875 4.225C19.1958 5.70833 20 7.7 20 10.2C20 10.95 19.8542 11.7375 19.5625 12.5625C19.2708 13.3875 18.8458 14.2458 18.2875 15.1375C17.7292 16.0292 17.0333 16.95 16.2 17.9C15.3667 18.85 14.4083 19.825 13.325 20.825C13.1417 20.9917 12.9333 21.1167 12.7 21.2C12.4667 21.2833 12.2333 21.325 12 21.325C11.7667 21.325 11.5333 21.2833 11.3 21.2ZM13.4125 11.4125C13.8042 11.0208 14 10.55 14 10C14 9.45 13.8042 8.97917 13.4125 8.5875C13.0208 8.19583 12.55 8 12 8C11.45 8 10.9792 8.19583 10.5875 8.5875C10.1958 8.97917 10 9.45 10 10C10 10.55 10.1958 11.0208 10.5875 11.4125C10.9792 11.8042 11.45 12 12 12C12.55 12 13.0208 11.8042 13.4125 11.4125Z" fill="%233F4F67"/></svg>');
}
.design-4 .card-phone::before {
  background-image: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 12C19.7333 12 19.4958 11.9042 19.2875 11.7125C19.0792 11.5208 18.9583 11.2833 18.925 11C18.7083 9.45 18.0542 8.12917 16.9625 7.0375C15.8708 5.94583 14.55 5.29167 13 5.075C12.7167 5.04167 12.4792 4.925 12.2875 4.725C12.0958 4.525 12 4.28333 12 4C12 3.71667 12.1 3.47917 12.3 3.2875C12.5 3.09583 12.7333 3.01667 13 3.05C15.1 3.28333 16.8917 4.14167 18.375 5.625C19.8583 7.10833 20.7167 8.9 20.95 11C20.9833 11.2667 20.9042 11.5 20.7125 11.7C20.5208 11.9 20.2833 12 20 12ZM15.825 12C15.6083 12 15.4167 11.925 15.25 11.775C15.0833 11.625 14.9583 11.425 14.875 11.175C14.7417 10.6917 14.4875 10.2625 14.1125 9.8875C13.7375 9.5125 13.3083 9.25833 12.825 9.125C12.575 9.04167 12.375 8.91667 12.225 8.75C12.075 8.58333 12 8.38333 12 8.15C12 7.81667 12.1167 7.54583 12.35 7.3375C12.5833 7.12917 12.8417 7.05833 13.125 7.125C14.0583 7.34167 14.8625 7.7875 15.5375 8.4625C16.2125 9.1375 16.6583 9.94167 16.875 10.875C16.9417 11.1583 16.8667 11.4167 16.65 11.65C16.4333 11.8833 16.1583 12 15.825 12ZM19.95 21C17.8667 21 15.8083 20.5458 13.775 19.6375C11.7417 18.7292 9.89167 17.4417 8.225 15.775C6.55833 14.1083 5.27083 12.2583 4.3625 10.225C3.45417 8.19167 3 6.13333 3 4.05C3 3.75 3.1 3.5 3.3 3.3C3.5 3.1 3.75 3 4.05 3H8.1C8.33333 3 8.54167 3.07917 8.725 3.2375C8.90833 3.39583 9.01667 3.58333 9.05 3.8L9.7 7.3C9.73333 7.56667 9.725 7.79167 9.675 7.975C9.625 8.15833 9.53333 8.31667 9.4 8.45L6.975 10.9C7.30833 11.5167 7.70417 12.1125 8.1625 12.6875C8.62083 13.2625 9.125 13.8167 9.675 14.35C10.1917 14.8667 10.7333 15.3458 11.3 15.7875C11.8667 16.2292 12.4667 16.6333 13.1 17L15.45 14.65C15.6 14.5 15.7958 14.3875 16.0375 14.3125C16.2792 14.2375 16.5167 14.2167 16.75 14.25L20.2 14.95C20.4333 15.0167 20.625 15.1375 20.775 15.3125C20.925 15.4875 21 15.6833 21 15.9V19.95C21 20.25 20.9 20.5 20.7 20.7C20.5 20.9 20.25 21 19.95 21Z" fill="%233F4F67"/></svg>');
}

.design-4.is-grid {
  gap: var(--spacing--lg);
}

.design-5 .wp-block-custom-blocks-card {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 20px;
  background: var(--color--near-black);
  transition: max-height 400ms ease, opacity 300ms ease, margin-top 400ms ease, height 1000ms ease;
}
.design-5 .wp-block-custom-blocks-card .card-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  z-index: 0;
}
.design-5 .wp-block-custom-blocks-card .card-image img,
.design-5 .wp-block-custom-blocks-card .card-image svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.design-5 .wp-block-custom-blocks-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(33, 36, 49, 0.8901960784) 0%, rgba(33, 36, 49, 0.568627451) 37%, rgba(33, 36, 49, 0) 100%);
  transition: opacity 500ms ease;
}
.design-5 .wp-block-custom-blocks-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  background: linear-gradient(90deg, rgba(49, 39, 33, 0.3137254902) 0%, rgba(49, 39, 33, 0.3137254902) 63%, rgba(49, 39, 33, 0) 100%);
  transition: opacity 500ms ease;
}
.design-5 .wp-block-custom-blocks-card:hover::before {
  backdrop-filter: blur(90px);
  -webkit-backdrop-filter: blur(90px);
  background: linear-gradient(to top, rgba(33, 36, 49, 0.4823529412) 0%, rgba(33, 36, 49, 0.4392156863) 37%, rgba(33, 36, 49, 0) 100%);
}
.design-5 .wp-block-custom-blocks-card:hover::after {
  opacity: 1;
}
.design-5 .wp-block-custom-blocks-card .card-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 28px 28px 24px;
  gap: 0;
  justify-content: flex-start;
}
.design-5 .wp-block-custom-blocks-card .card-title {
  color: var(--color--white);
  font-size: var(--font-size--h3);
  font-weight: 500;
  position: static;
  margin-bottom: 14px;
}
.design-5 .wp-block-custom-blocks-card .card-title::after {
  content: "";
  display: block;
  width: 32px;
  height: 3px;
  margin-top: 12px;
  background: var(--color--green-forest);
}
.design-5 .wp-block-custom-blocks-card .card-description {
  height: 0px;
  opacity: 0;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  overflow: hidden;
  transition: max-height 100ms ease, opacity 300ms ease, margin-top 400ms ease;
}
.design-5 .wp-block-custom-blocks-card:hover .card-description {
  height: auto;
  opacity: 1;
  margin-top: 2px;
  margin-bottom: 16px;
}
.design-5 .wp-block-custom-blocks-card .card-link {
  color: var(--color--accent-primary);
  margin-top: 0;
  font-size: var(--font-size--body-large);
}
.design-5 .wp-block-custom-blocks-card .card-link:hover {
  color: var(--color--accent-soft);
}
.design-5 .wp-block-custom-blocks-card .card-link-icon {
  color: currentColor;
}

.design-5 .card-content--post {
  transition: all 600ms ease !important;
  bottom: 25px !important;
}

.design-5 .card-link {
  position: absolute;
  left: 25px !important;
  bottom: 0;
}
.design-5 .wp-block-custom-blocks-card:hover .card-content--post {
  top: 0;
}

.design-5 .card-link-icon.dashicons {
  height: 1.5em !important;
}

.design-5.wp-block-custom-blocks-card {
  min-height: 25rem;
}

@media (max-width: 769px) {
  .is-grid.design-5 {
    max-width: 450px !important;
  }
}
/* ── Design 7 — Featured Mosaic ───────────────────────────────────────────
   One large image-overlay card on the left (spans full height), two
   smaller image-overlay cards stacked on the right. Each card is a
   full-bleed image with a dark bottom scrim carrying an eyebrow date,
   bold title, and author row with a generic avatar icon (CSS-only, same
   technique as Design 4's address/phone icons — no photo, so no per-post
   avatar data is needed).

   Assumes the default element order (featured_image first, then
   post_date / title / author after) so all three land in
   `.card-content--post`, which this design bottom-anchors over the image.
   Grid mode only — carousel/list modes still get the per-card overlay
   look, just without the mosaic wrapper layout (matches how Design 4's
   own `.is-grid` gap tweak doesn't touch carousel/list either).
   ─────────────────────────────────────────────────────────────────────── */
.design-7 .wp-block-custom-blocks-card {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: var(--color--near-black);
  min-height: 279px;
}
.design-7 .wp-block-custom-blocks-card .card-image {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
}
.design-7 .wp-block-custom-blocks-card .card-image img,
.design-7 .wp-block-custom-blocks-card .card-image svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.design-7 .wp-block-custom-blocks-card {
  /* Dark scrim behind the overlaid text, layered above the image. */
}
.design-7 .wp-block-custom-blocks-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.99) 100%);
  pointer-events: none;
}
.design-7 .wp-block-custom-blocks-card .card-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: var(--spacing--lg);
  gap: var(--spacing--xs);
}
.design-7 .wp-block-custom-blocks-card .card-meta-post-date {
  color: var(--color--accent-soft);
  font-size: var(--font-size--label);
  font-weight: 600;
  letter-spacing: 1.5px;
  opacity: 1;
  margin-bottom: 10px;
}
.design-7 .wp-block-custom-blocks-card .card-title {
  color: var(--color--white);
  font-size: var(--font-size--h3);
  font-weight: 600;
  line-height: 1.3;
  margin: var(--spacing--xs) 0 var(--spacing--sm);
  /* Clamp to 2 lines so a long title can't push the author row
     below the visible overlay area. */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.design-7 .wp-block-custom-blocks-card .card-meta-author {
  display: flex;
  align-items: center;
  gap: var(--spacing--sm);
  color: #d2d2d2;
  font-size: var(--font-size--body-large);
  font-weight: 500;
  text-transform: capitalize;
  opacity: 1;
  margin-bottom: 0;
}
.design-7 .wp-block-custom-blocks-card .card-meta-author::before {
  content: "";
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="16" cy="16" r="16" fill="%237C7C7C"/><circle cx="16" cy="16" r="15.5" stroke="white" stroke-opacity="0.29"/><path d="M13.175 14.825C12.3917 14.0417 12 13.1 12 12C12 10.9 12.3917 9.95833 13.175 9.175C13.9583 8.39167 14.9 8 16 8C17.1 8 18.0417 8.39167 18.825 9.175C19.6083 9.95833 20 10.9 20 12C20 13.1 19.6083 14.0417 18.825 14.825C18.0417 15.6083 17.1 16 16 16C14.9 16 13.9583 15.6083 13.175 14.825ZM8 22V21.2C8 20.6333 8.14583 20.1125 8.4375 19.6375C8.72917 19.1625 9.11667 18.8 9.6 18.55C10.6333 18.0333 11.6833 17.6458 12.75 17.3875C13.8167 17.1292 14.9 17 16 17C17.1 17 18.1833 17.1292 19.25 17.3875C20.3167 17.6458 21.3667 18.0333 22.4 18.55C22.8833 18.8 23.2708 19.1625 23.5625 19.6375C23.8542 20.1125 24 20.6333 24 21.2V22C24 22.55 23.8042 23.0208 23.4125 23.4125C23.0208 23.8042 22.55 24 22 24H10C9.45 24 8.97917 23.8042 8.5875 23.4125C8.19583 23.0208 8 22.55 8 22Z" fill="%23C8C8C8"/></svg>');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.design-7 {
  /* ── Mosaic grid (wrapper) ────────────────────────────────────────────
     Card 1 spans both rows in column 1 (the big card); cards 2 and 3
     auto-place into column 2's two rows. Designed for exactly 3 cards,
     matching the reference layout — a 4th+ card auto-flows into a new
     full-width row below rather than breaking the mosaic shape. */
}
.design-7.wp-block-custom-blocks-card-wrapper.is-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(2, minmax(200px, 1fr));
  gap: var(--spacing--lg);
}
.design-7.wp-block-custom-blocks-card-wrapper.is-grid .wp-block-custom-blocks-card:first-child {
  grid-row: 1/span 2;
  min-height: 100%;
}

@media (max-width: 768px) {
  .design-7.wp-block-custom-blocks-card-wrapper.is-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }
  .design-7.wp-block-custom-blocks-card-wrapper.is-grid .wp-block-custom-blocks-card {
    min-height: 260px;
  }
  .design-7.wp-block-custom-blocks-card-wrapper.is-grid .wp-block-custom-blocks-card:first-child {
    grid-row: auto;
  }
}
/* =============================================================
   Custom List Block
   ============================================================= */
.wp-block-custom-blocks-custom-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ── Vertical layout ────────────────────────────────────────── */
.wp-block-custom-blocks-custom-list.is-vertical {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.wp-block-custom-blocks-custom-list.is-vertical .custom-list-item {
  display: flex;
  align-items: center;
  gap: 12px;
  opacity: 1; /* border inherits text color */
}

/* ── Horizontal layout ──────────────────────────────────────── */
.wp-block-custom-blocks-custom-list.is-horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.wp-block-custom-blocks-custom-list.is-horizontal .custom-list-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0px solid currentColor;
  border-radius: 10px;
  position: relative;
}

/* When an item has a link, icon + text are wrapped in an inner <a> instead of
   being direct flex children of .custom-list-item — `inherit` here pulls the
   parent's display (flex/inline-flex) and gap (12px vertical / 8px
   horizontal) so the layout is identical to the unlinked version, since <a>
   is inline and non-flex by default. */
.custom-list-item-link {
  display: inherit;
  align-items: center;
  gap: inherit;
  text-decoration: none;
  color: inherit;
  width: 100%;
}

/* ── Icon ───────────────────────────────────────────────────── */
.custom-list-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size--body-large);
  width: 1.5em;
  height: 1.4;
  line-height: 1;
}

.custom-list-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.custom-list-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* ── Text ───────────────────────────────────────────────────── */
.custom-list-item-text {
  flex: 1;
  font-size: var(--font-size--body-large);
  font-weight: 500;
}

/* ── Reduced motion ─────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .wp-block-custom-blocks-custom-list * {
    transition: none !important;
  }
}
.wp-block-custom-blocks-custom-list.is-style-variation-1.is-vertical, .wp-block-custom-blocks-custom-list.is-style-variation-1.is-horizontal {
  gap: 0;
  border-radius: 10px;
}
.wp-block-custom-blocks-custom-list.is-style-variation-1.is-vertical .custom-list-item, .wp-block-custom-blocks-custom-list.is-style-variation-1.is-horizontal .custom-list-item {
  padding: 0.8em 1em;
  background: linear-gradient(90deg, hsl(45, 96%, 50%) 0%, hsl(167, 50%, 39%) 100%);
  position: relative;
  margin-block-end: 0 !important;
}
.wp-block-custom-blocks-custom-list.is-style-variation-1.is-vertical .custom-list-item::after, .wp-block-custom-blocks-custom-list.is-style-variation-1.is-horizontal .custom-list-item::after {
  content: "";
  position: absolute;
  inset: 1px;
  background: #3F6743;
  z-index: 1;
}
.wp-block-custom-blocks-custom-list.is-style-variation-1.is-vertical .custom-list-item:first-child {
  border-radius: 10px 10px 0 0;
}
.wp-block-custom-blocks-custom-list.is-style-variation-1.is-vertical .custom-list-item:first-child::after {
  border-radius: 10px 10px 0 0;
}
.wp-block-custom-blocks-custom-list.is-style-variation-1.is-vertical .custom-list-item:last-child {
  border-radius: 0 0 10px 10px;
}
.wp-block-custom-blocks-custom-list.is-style-variation-1.is-vertical .custom-list-item:last-child::after {
  border-radius: 0 0 10px 10px;
}
.wp-block-custom-blocks-custom-list.is-style-variation-1.is-horizontal {
  gap: 0.6em;
}
.wp-block-custom-blocks-custom-list.is-style-variation-1.is-horizontal .custom-list-item {
  border-radius: 10px;
  background: linear-gradient(360deg, hsl(45, 96%, 50%) 0%, hsl(167, 50%, 39%) 100%);
}
.wp-block-custom-blocks-custom-list.is-style-variation-1.is-horizontal .custom-list-item::after {
  border-radius: 10px;
}

.wp-block-custom-blocks-custom-list.is-vertical.is-style-variation-1 .custom-list-item .custom-list-icon, .wp-block-custom-blocks-custom-list.is-horizontal.is-style-variation-1 .custom-list-item .custom-list-icon {
  width: 1.75em;
  height: 1.75em;
  z-index: 2;
}
.wp-block-custom-blocks-custom-list.is-vertical.is-style-variation-1 .custom-list-item .custom-list-item-text, .wp-block-custom-blocks-custom-list.is-horizontal.is-style-variation-1 .custom-list-item .custom-list-item-text {
  z-index: 2;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
}

.wp-block-custom-blocks-custom-list.is-vertical.is-style-variation-1 .custom-list-item .custom-list-icon svg rect, .wp-block-custom-blocks-custom-list.is-horizontal.is-style-variation-1 .custom-list-item .custom-list-icon svg rect {
  opacity: 0.15;
}

@media (max-width: 768px) {
  .wp-block-custom-blocks-custom-list.is-style-variation-1.is-vertical .custom-list-item, .wp-block-custom-blocks-custom-list.is-style-variation-1.is-horizontal .custom-list-item {
    padding: 9px;
  }
  .wp-block-custom-blocks-custom-list.is-style-variation-1.is-vertical .custom-list-item .custom-list-icon, .wp-block-custom-blocks-custom-list.is-style-variation-1.is-horizontal .custom-list-item .custom-list-icon {
    width: 1.75em;
    height: 1.75em;
  }
  .wp-block-custom-blocks-custom-list.is-style-variation-1.is-vertical .custom-list-item .custom-list-item-text, .wp-block-custom-blocks-custom-list.is-style-variation-1.is-horizontal .custom-list-item .custom-list-item-text {
    font-size: 14px;
  }
}
.wp-block-custom-blocks-custom-list.is-style-variation-2.is-vertical, .wp-block-custom-blocks-custom-list.is-style-variation-2.is-horizontal {
  gap: 5px;
}
.wp-block-custom-blocks-custom-list.is-style-variation-2.is-vertical .custom-list-item, .wp-block-custom-blocks-custom-list.is-style-variation-2.is-horizontal .custom-list-item {
  border-top: none;
  border-bottom: none;
  border-radius: 10px;
  padding: 15px 20px;
  background: linear-gradient(360deg, hsl(45, 96%, 50%) 0%, hsl(167, 50%, 39%) 100%);
  position: relative;
  margin-bottom: 0px;
}
.wp-block-custom-blocks-custom-list.is-style-variation-2.is-vertical .custom-list-item::after, .wp-block-custom-blocks-custom-list.is-style-variation-2.is-horizontal .custom-list-item::after {
  content: "";
  position: absolute;
  inset: 1px;
  background: #EEF7CB;
  border-radius: 8px;
  z-index: 1;
}

.wp-block-custom-blocks-custom-list.is-vertical.is-style-variation-2 .custom-list-item .custom-list-icon, .wp-block-custom-blocks-custom-list.is-horizontal.is-style-variation-2 .custom-list-item .custom-list-icon {
  width: auto;
  height: auto;
  z-index: 2;
}
.wp-block-custom-blocks-custom-list.is-vertical.is-style-variation-2 .custom-list-item .custom-list-item-text, .wp-block-custom-blocks-custom-list.is-horizontal.is-style-variation-2 .custom-list-item .custom-list-item-text {
  z-index: 2;
  font-size: 18px;
  font-weight: 600;
  position: relative;
}

.wp-block-custom-blocks-custom-list.is-vertical.is-style-variation-2 .custom-list-item {
  position: relative;
}
.wp-block-custom-blocks-custom-list.is-vertical.is-style-variation-2 .custom-list-item .custom-list-item-text {
  position: relative;
}
.wp-block-custom-blocks-custom-list.is-vertical.is-style-variation-2 .custom-list-item .custom-list-item-text::after {
  content: "";
  position: absolute;
  top: 10%;
  right: 0;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.4746 12L7.12462 4.65C6.87462 4.4 6.75379 4.10417 6.76212 3.7625C6.77046 3.42083 6.89962 3.125 7.14962 2.875C7.39962 2.625 7.69546 2.5 8.03712 2.5C8.37879 2.5 8.67462 2.625 8.92462 2.875L16.5996 10.575C16.7996 10.775 16.9496 11 17.0496 11.25C17.1496 11.5 17.1996 11.75 17.1996 12C17.1996 12.25 17.1496 12.5 17.0496 12.75C16.9496 13 16.7996 13.225 16.5996 13.425L8.89962 21.125C8.64962 21.375 8.35796 21.4958 8.02462 21.4875C7.69129 21.4792 7.39962 21.35 7.14962 21.1C6.89962 20.85 6.77462 20.5542 6.77462 20.2125C6.77462 19.8708 6.89962 19.575 7.14962 19.325L14.4746 12Z' fill='%233F4F67'/%3E%3C/svg%3E");
}

@media (max-width: 768px) {
  .wp-block-custom-blocks-custom-list.is-style-variation-2.is-vertical .custom-list-item, .wp-block-custom-blocks-custom-list.is-style-variation-2.is-horizontal .custom-list-item {
    padding: 9px;
  }
  .wp-block-custom-blocks-custom-list.is-style-variation-2.is-vertical .custom-list-item .custom-list-item-text, .wp-block-custom-blocks-custom-list.is-style-variation-2.is-horizontal .custom-list-item .custom-list-item-text {
    font-size: 14px;
  }
  .wp-block-custom-blocks-custom-list.is-style-variation-2.is-vertical .custom-list-item .custom-list-item-text::after, .wp-block-custom-blocks-custom-list.is-style-variation-2.is-horizontal .custom-list-item .custom-list-item-text::after {
    width: 20px;
    height: 20px;
  }
}
.wp-block-custom-blocks-custom-list.is-style-variation-3.is-vertical .custom-list-item {
  border-top: none;
  border-bottom: none;
  border-right: none;
  border-left: 4px solid currentColor;
  border-radius: 0;
  padding: 10px 16px;
  margin-bottom: 4px;
}
.wp-block-custom-blocks-custom-list.is-style-variation-3.is-vertical .custom-list-item:first-child {
  border-top: none;
}
.wp-block-custom-blocks-custom-list.is-style-variation-3.is-horizontal .custom-list-item {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 3px solid currentColor;
  border-radius: 0;
  padding: 8px 12px;
}

/* =============================================================
   Accordion Block
   ============================================================= */
.wp-block-custom-blocks-accordion {
  --accordion-border: #e2e2e2;
  --accordion-text: inherit;
  --accordion-answer-color: #555555;
  --accordion-padding-v: 18px;
  --accordion-font-size: 20px;
  --accordion-font-weight: 600;
  --accordion-icon-size: 20px;
  --accordion-radius: 0px;
  width: 100%;
}

/* ── Category group ─────────────────────────────────────────── */
.accordion-group {
  margin-bottom: 8px;
}

.accordion-group-title {
  font-size: 26px;
  font-weight: 600;
  padding: 14px 0 12px;
  border-bottom: 0px solid currentColor;
  margin-top: 20px;
  margin-bottom: -10px;
  line-height: 1.3;
  color: #1A2620;
}

/* ── Item ───────────────────────────────────────────────────── */
.accordion-item {
  border-bottom: 1px solid var(--accordion-border);
  margin-bottom: 0px;
}

.accordion-item:last-child {
  border-bottom: 0px solid var(--accordion-border);
}

/* ── Header / button ────────────────────────────────────────── */
/* Reset default heading margin/font-size when the trigger is wrapped
   in an h2–h6 (see AccordionBlock::render_item()) so it looks the
   same as the unwrapped <button> default. */
.accordion-heading {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

.accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: var(--spacing--md) 0px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-size: var(--accordion-font-size);
  font-weight: var(--accordion-font-weight);
  color: var(--accordion-text);
  line-height: 1.4;
  border-radius: var(--accordion-radius);
}

.accordion-header:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.accordion-question {
  flex: 1;
  font-size: var(--accordion-font-size);
  font-weight: 500;
  color: var(--color--white);
}

/* ── Icon — rotates + into × when expanded ──────────────────── */
.accordion-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 35px;
  line-height: 1;
  font-weight: 400;
  transition: transform 0.25s ease;
  user-select: none;
  color: var(--color--white);
}

/* Rendered as generated content (not DOM text) so heading text stays clean
   for SEO tools; rotating 45deg turns the "+" into a "×" when expanded. */
.accordion-icon::before {
  content: "+";
}

.accordion-header[aria-expanded=true] .accordion-icon {
  transform: rotate(45deg);
}

.accordion-header[aria-expanded=true] .accordion-question {
  font-weight: 500;
  color: var(--color--white);
}

/* ── Body ───────────────────────────────────────────────────── */
.accordion-body[hidden] {
  display: none;
}

.accordion-answer {
  padding: 4px 0 12px;
  color: var(--accordion-answer-color);
  line-height: 1.65;
  color: var(--color--white);
  font-weight: 400;
}

.accordion-read-more {
  display: inline-block;
  margin-bottom: 20px;
  padding: 20px var(--spacing--xl);
  background-color: var(--color--accent-primary);
  color: var(--color--dark-grey);
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  transition: opacity 0.2s ease;
  letter-spacing: 1px;
  position: relative;
}

.accordion-read-more:hover {
  background-color: var(--color--accent-soft);
  color: var(--color--dark-grey);
}

.wp-block-custom-blocks-accordion .accordion-body .accordion-read-more .dashicons {
  margin-top: 3px;
  margin-left: 5px;
}

.wp-block-custom-blocks-accordion.is-style-variation-1 .accordion-item {
  border: 0px solid var(--accordion-border);
  border-radius: 8px;
  padding: 0 20px;
  margin-bottom: 12px;
  background-color: var(--color--white);
}

.wp-block-custom-blocks-accordion.is-style-variation-1 .accordion-item .accordion-header .accordion-question {
  color: var(--color--near-black);
  font-size: 18px;
  font-weight: 600;
}

.wp-block-custom-blocks-accordion.is-style-variation-1 .accordion-item .accordion-header .accordion-icon {
  font-size: 35px;
  color: var(--color--near-black);
}

.wp-block-custom-blocks-accordion.is-style-variation-1 .accordion-item .accordion-answer {
  color: #3F4F67;
}

.is-style-variation-1 .accordion-body .accordion-read-more {
  background-color: var(--color--green-dark);
  color: var(--color--white);
}
.is-style-variation-1 .accordion-body .accordion-read-more:hover {
  background-color: var(--color--green-forest);
}
.is-style-variation-1 .accordion-body .accordion-read-more .accordion-link-text {
  color: var(--color--white);
}
.is-style-variation-1 .accordion-body .accordion-read-more.dashicons {
  margin-top: 3px;
  margin-left: 5px;
  color: var(--color--white);
}

.is-style-variation-1 .accordion-item:has(.accordion-header[aria-expanded=true]) {
  -webkit-box-shadow: 0px 16px 48px 3px rgba(158, 158, 158, 0.3843137255);
  box-shadow: 0px 16px 48px 3px rgba(158, 158, 158, 0.3843137255);
}

/* ── Cedar Springs Icon Text ─────────────────────────────────────────────── */
.wp-block-custom-blocks-icon-text {
  --icon-text-cols-desktop: 3;
  --icon-text-cols-tablet: 2;
  --icon-text-cols-mobile: 1;
  --icon-text-gap: var(--wp--preset--spacing--2xl, 48px);
  width: 100%;
}

/* ── Grid ────────────────────────────────────────────────────────────────── */
.icon-text-grid {
  display: grid;
  grid-template-columns: repeat(var(--icon-text-cols-desktop), 1fr);
  gap: var(--spacing--sm);
}

/* ── Carousel ────────────────────────────────────────────────────────────── */
.icon-text-carousel {
  position: relative;
}

.icon-text-track-outer {
  overflow: hidden;
}

.icon-text-track {
  display: flex;
  gap: var(--icon-text-gap);
  transition: transform 0.4s ease;
}

.icon-text-track .icon-text-item {
  flex: 0 0 calc(100% / var(--icon-text-cols-desktop) - var(--icon-text-gap) + var(--icon-text-gap) / var(--icon-text-cols-desktop));
  min-width: 0;
}

.icon-text-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: background 0.2s, box-shadow 0.2s;
}

.icon-text-btn:hover {
  background: #f0f0f0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

.icon-text-btn.is-prev {
  left: -20px;
}

.icon-text-btn.is-next {
  right: -20px;
}

.icon-text-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}

.icon-text-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ccc;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background 0.2s;
}

.icon-text-dot.is-active {
  background: currentColor;
}

/* ── Item ────────────────────────────────────────────────────────────────── */
.icon-text-item {
  text-align: center;
  display: block;
}

/* Linked item is an <a> (inline by default) instead of a <div> — reset it so
   the icon/heading/text still stack the same as the unlinked version. */
.icon-text-item--linked {
  text-decoration: none;
  color: inherit;
}

.icon-text-content {
  flex: 1;
  min-width: 0;
}

/* ── Icon position: Left ─────────────────────────────────────────────────── */
.icon-pos-left .icon-text-item {
  display: flex;
  align-items: center;
  gap: 20px;
  text-align: left;
  background-color: #325432;
  border-radius: 10px;
  border: 1px solid #FFB500;
  padding: 8px 24px;
}

.icon-pos-left .icon-text-icon {
  flex-shrink: 0;
  margin-bottom: 0;
}

.icon-text-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  font-size: 40px;
  line-height: 1;
}

.icon-text-icon img,
.icon-text-icon svg {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

/* SVG pasted by user may carry its own width/height — force it to fill the wrapper */
.icon-text-svg-wrap svg,
.icon-text-icon > svg {
  width: 100% !important;
  height: 100% !important;
  display: block;
}

.icon-text-heading {
  /* Heading Tag (Display panel) can be span, which is inline by default —
     force block so margin/line-height/full-width behave the same
     regardless of which tag is selected. */
  display: block;
  margin: 0px;
  font-size: var(--wp--preset--font-size--body);
  font-weight: 500;
  line-height: 1.3;
  color: #fff;
}

.icon-text-body {
  margin: 0 0 14px;
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.65;
  color: #FABD05;
  font-weight: 500;
}

.icon-text-link {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: underline;
  color: currentColor;
  transition: opacity 0.2s;
}

.icon-text-link:hover {
  opacity: 0.76;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .icon-text-grid {
    grid-template-columns: repeat(var(--icon-text-cols-tablet), 1fr);
  }
  .icon-text-track .icon-text-item {
    flex-basis: calc(100% / var(--icon-text-cols-tablet) - var(--icon-text-gap) + var(--icon-text-gap) / var(--icon-text-cols-tablet));
  }
}
@media (max-width: 600px) {
  .icon-text-grid {
    grid-template-columns: repeat(var(--icon-text-cols-mobile), 1fr);
  }
  .icon-text-track .icon-text-item {
    flex-basis: calc(100% / var(--icon-text-cols-mobile) - var(--icon-text-gap) + var(--icon-text-gap) / var(--icon-text-cols-mobile));
  }
}
/* ── Icon position: top ─────────────────────────────────────────────────── */
.wp-block-custom-blocks-icon-text.icon-pos-top .icon-text-icon {
  width: 62px;
  height: 62px;
  margin: 0 auto;
}

.wp-block-custom-blocks-icon-text.icon-pos-top .icon-text-item {
  padding: 12px;
  border-radius: 16px;
  border: 1px solid #cccccc;
  background: #fff;
  color: #1D1E3A;
}

.wp-block-custom-blocks-icon-text.icon-pos-top .icon-text-item .icon-text-heading {
  color: #1D1E3A;
  font-weight: 600;
  margin-top: 10px;
}

/* =============================================================
   Container Block
   ============================================================= */
.wp-block-custom-blocks-container {
  width: 100%;
  box-sizing: border-box;
}

.wp-block-custom-blocks-container__inner {
  width: 100%;
  padding: 0 var(--spacing--lg);
  box-sizing: border-box;
}

.wp-block-custom-blocks-container__inner .wp-block-custom-blocks-container__inner {
  padding: 0;
}

/* ── Background image (+ optional color/gradient overlay) ────
 *
 * background-image here is only the non-responsive fallback — Container's
 * actual background-image (layering the per-breakpoint Background Color/
 * Gradient control on top of the image) is generated dynamically in
 * custom-blocks.php's custom_blocks_responsive_background_css(), which
 * wins the cascade (later in source order) at equal specificity. Kept
 * here for background-size/position/repeat, which that function doesn't
 * set. */
.wp-block-custom-blocks-container[style*="--cb-bg-image"] {
  background-image: var(--cb-bg-overlay, none), var(--cb-bg-image) !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
  background-repeat: no-repeat, no-repeat !important;
}

/* =============================================================
   Editor canvas — Width Control UI
   ============================================================= */
.cb-width-control {
  margin-bottom: 8px;
}

.cb-width-control__label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #1e1e1e;
  margin: 0 0 8px;
}

.cb-width-control__toggle {
  display: flex;
  gap: 4px;
  margin-bottom: 8px;
}

/* =============================================================
   Section Block — shared frontend styles
   ============================================================= */
.wp-block-custom-blocks-section {
  width: 100%;
  display: block;
}

/* Section Padding (Theme Options > Layout & Grid) + the responsive Padding/
 * Margin control's per-instance overrides are generated dynamically —
 * see custom-blocks.php's custom_blocks_responsive_spacing_css(), enqueued
 * via wp_add_inline_style() so the @media breakpoints always reflect the
 * LIVE values from Theme Options > Responsive (CSS custom properties can't
 * be used inside an @media condition, so this can't be static compiled CSS). */
/* ── Background image (+ optional color/gradient overlay) ── */
.wp-block-custom-blocks-section[style*="--cb-bg-image"] {
  background-image: var(--cb-bg-overlay, none), var(--cb-bg-image) !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
  background-repeat: no-repeat, no-repeat !important;
}

/* ── Slide mode ────────────────────────────────────────────── */
.wp-block-custom-blocks-section.is-slider {
  position: relative;
}

.section-slider-track {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.section-slide {
  width: 100%;
  box-sizing: border-box;
  transition: opacity 0.6s ease;
}

/*
 * CLS prevention — CSS sets the initial slider layout before JS runs.
 *
 * The first slide stays in normal flow and drives the track height.
 * All subsequent slides are absolutely stacked behind it and hidden.
 * JS only needs to lock the measured height then make slide[0] absolute —
 * no visible layout shift ever occurs.
 */
.wp-block-custom-blocks-section.is-slider .section-slide:first-child {
  position: relative;
  opacity: 1;
  z-index: 1;
}

.wp-block-custom-blocks-section.is-slider .section-slide + .section-slide {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}

/* ── Arrow buttons ─────────────────────────────────────────── */
.section-slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: #fff;
  border: 1px solid #C6D1E2;
  color: #000;
  width: 64px;
  height: 64px;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.section-slider-btn:hover,
.section-slider-btn:focus-visible {
  background: var(--color--green-forest);
  border-color: var(--color--green-forest);
  color: #fff;
  transform: translateY(-50%) scale(1.08);
}

.section-slider-btn:focus-visible {
  background: var(--color--green-forest);
  border-color: var(--color--green-forest);
  color: #fff;
}

.section-slider-btn.is-prev {
  left: -80px;
}

.section-slider-btn.is-next {
  right: -80px;
}

@media (max-width: 1330px) {
  .section-slider-btn {
    width: 45px;
    height: 45px;
    font-size: 18px;
  }
  .section-slider-btn.is-prev {
    left: 0px;
  }
  .section-slider-btn.is-next {
    right: 0px;
  }
}
@media (max-width: 480px) {
  .section-slider-btn {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
  .section-slider-btn.is-prev {
    left: 8px;
  }
  .section-slider-btn.is-next {
    right: 8px;
  }
}
/* ── Dot navigation ────────────────────────────────────────── */
.section-slider-dots {
  display: flex;
  justify-content: center;
  gap: 0.8rem;
  padding: 0;
  position: absolute;
  bottom: 1rem;
  left: 0;
  right: 0;
  z-index: 2;
}

.section-slider-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  border: none;
  cursor: pointer;
  padding: 0;
}

.section-slider-dot::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.section-slider-dot:hover::before,
.section-slider-dot:focus-visible::before {
  background: rgba(255, 255, 255, 0.2);
}

.section-slider-dot.is-active::before {
  background: var(--color--white);
  transform: scale(1.3);
}

.section-slider-dot:focus-visible {
  outline: 2px solid var(--color--white);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ── Reduced motion ────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .section-slide {
    transition: none !important;
  }
  .section-slider-btn {
    transition: none;
  }
  .section-slider-dot::before {
    transition: none;
  }
}
/* =============================================================
   Editor canvas styles
   ============================================================= */
.wp-block-custom-blocks-section-edit.is-slide-mode {
  outline: 2px dashed #0073aa;
  outline-offset: 4px;
  padding: 4px;
}

/* ── Tabs Block — pill nav bar + panels ────────────────────────────────────
   TabItemBlock's own content (whatever blocks were placed inside) renders
   unstyled here — this block only owns the tab bar and show/hide behavior,
   never the panel content's own appearance. */
.wp-block-custom-blocks-tabs,
.wp-block-custom-blocks-tabs-edit {
  width: 100%;
}

.tabs-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacing--sm);
  margin-bottom: var(--spacing--xl);
}

.tabs-nav-btn {
  appearance: none;
  border: none;
  background: transparent;
  color: var(--color--near-black);
  font-family: var(--font-family--body);
  font-size: var(--font-size--body);
  font-weight: 600;
  padding: var(--spacing--sm-plus) var(--spacing--lg);
  border-radius: var(--wp--custom--border-radius--pill, 999px);
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease;
}

.tabs-nav-btn:hover {
  background: var(--color--warm-grey);
}

.tabs-nav-btn.is-active {
  background: var(--color--green-light);
  color: var(--color--near-black);
}

.tabs-nav-btn.is-active:hover {
  background: var(--color--green-light);
}

.tabs-nav-btn:focus-visible {
  outline: 2px solid var(--color--green-forest);
  outline-offset: 2px;
}

/* Editor-only "+ Add Tab" button — never rendered on the frontend. */
.tabs-nav-btn--add {
  border: 1px dashed var(--color--medium-grey);
  color: var(--color--medium-grey);
}

.tabs-nav-btn--add:hover {
  background: transparent;
  border-color: var(--color--green-forest);
  color: var(--color--green-forest);
}

.tabs-panel-wrap[hidden] {
  display: none;
}

.tab-panel {
  width: 100%;
}

/* ── Editor canvas ──────────────────────────────────────────────────────── */
.tab-item-label-field {
  display: flex;
  align-items: center;
  gap: var(--spacing--sm);
  margin-bottom: var(--spacing--md);
  padding: var(--spacing--sm) var(--spacing--md);
  background: #f6f7f7;
  border: 1px dashed #ccc;
  border-radius: 4px;
}

.tab-item-label-field__prefix {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #757575;
  flex-shrink: 0;
}

.tab-item-label-field__input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  color: var(--color--near-black);
  outline: none;
}

/* ── Image Grid Block — responsive logo/badge row ──────────────────────────
   Single row on desktop, compact multi-column grid on narrower screens.
   Breakpoints (1024/768) match Card's own grid breakpoints for consistency
   across the plugin. */
.wp-block-custom-blocks-image-grid,
.wp-block-custom-blocks-image-grid-edit {
  display: grid;
  grid-template-columns: repeat(var(--image-grid-columns-desktop, 6), 1fr);
  align-items: center;
  justify-items: center;
  gap: var(--spacing--xl);
  width: 100%;
}

@media (max-width: 1024px) {
  .wp-block-custom-blocks-image-grid,
  .wp-block-custom-blocks-image-grid-edit {
    grid-template-columns: repeat(var(--image-grid-columns-tablet, 4), 1fr);
    gap: var(--spacing--lg);
  }
}
@media (max-width: 768px) {
  .wp-block-custom-blocks-image-grid,
  .wp-block-custom-blocks-image-grid-edit {
    grid-template-columns: repeat(var(--image-grid-columns-mobile, 3), 1fr);
    gap: var(--spacing--md);
  }
}
.image-grid-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.image-grid-link {
  display: inline-flex;
}

.image-grid-img {
  height: var(--image-grid-logo-height, 48px);
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

/* Editor sidebar ("Content" panel) — the collapsible image list is styled
   entirely with inline styles in editor.js, matching the Card block's
   manual-card list byte-for-byte (same collapsible-row look/interaction),
   so there's nothing to declare here. */

/*# sourceMappingURL=custom-blocks.css.map */
