/* Opt-in group spacing and column proportions; default components are unchanged. */
.kvds-columns.kvds-ext-columns-spacing {
  padding:var(--kvds-ext-columns-padding-top,0px) var(--kvds-ext-columns-padding-right,0px) var(--kvds-ext-columns-padding-bottom,0px) var(--kvds-ext-columns-padding-left,0px);
  margin-top:var(--kvds-ext-columns-margin-top,28px) !important;
  margin-bottom:var(--kvds-ext-columns-margin-bottom,28px) !important;
}
@media(max-width:720px) {
.kvds-columns.kvds-ext-columns-spacing.kvds-ext-columns-spacing-breakpoint-720 {
  padding:var(--kvds-ext-columns-mobile-padding-top,0px) var(--kvds-ext-columns-mobile-padding-right,0px) var(--kvds-ext-columns-mobile-padding-bottom,0px) var(--kvds-ext-columns-mobile-padding-left,0px);
  margin-top:var(--kvds-ext-columns-mobile-margin-top,28px) !important;
  margin-bottom:var(--kvds-ext-columns-mobile-margin-bottom,28px) !important;
}
}
@media(max-width:768px) {
.kvds-columns.kvds-ext-columns-spacing.kvds-ext-columns-spacing-breakpoint-768 {
  padding:var(--kvds-ext-columns-mobile-padding-top,0px) var(--kvds-ext-columns-mobile-padding-right,0px) var(--kvds-ext-columns-mobile-padding-bottom,0px) var(--kvds-ext-columns-mobile-padding-left,0px);
  margin-top:var(--kvds-ext-columns-mobile-margin-top,28px) !important;
  margin-bottom:var(--kvds-ext-columns-mobile-margin-bottom,28px) !important;
}
}
@media(max-width:900px) {
.kvds-columns.kvds-ext-columns-spacing.kvds-ext-columns-spacing-breakpoint-900 {
  padding:var(--kvds-ext-columns-mobile-padding-top,0px) var(--kvds-ext-columns-mobile-padding-right,0px) var(--kvds-ext-columns-mobile-padding-bottom,0px) var(--kvds-ext-columns-mobile-padding-left,0px);
  margin-top:var(--kvds-ext-columns-mobile-margin-top,28px) !important;
  margin-bottom:var(--kvds-ext-columns-mobile-margin-bottom,28px) !important;
}
}
/* Device buttons represent 390px and 760px, regardless of the Studio window. */
.kvds-preview-device-pc .kvds-columns.kvds-ext-columns-spacing,
.kvds-preview-device-tablet .kvds-columns.kvds-ext-columns-spacing.kvds-ext-columns-spacing-breakpoint-720 {
  padding:var(--kvds-ext-columns-padding-top,0px) var(--kvds-ext-columns-padding-right,0px) var(--kvds-ext-columns-padding-bottom,0px) var(--kvds-ext-columns-padding-left,0px);
  margin-top:var(--kvds-ext-columns-margin-top,28px) !important;
  margin-bottom:var(--kvds-ext-columns-margin-bottom,28px) !important;
}
.kvds-preview-device-mobile .kvds-columns.kvds-ext-columns-spacing,
.kvds-preview-device-tablet .kvds-columns.kvds-ext-columns-spacing:is(.kvds-ext-columns-spacing-breakpoint-768,.kvds-ext-columns-spacing-breakpoint-900) {
  padding:var(--kvds-ext-columns-mobile-padding-top,0px) var(--kvds-ext-columns-mobile-padding-right,0px) var(--kvds-ext-columns-mobile-padding-bottom,0px) var(--kvds-ext-columns-mobile-padding-left,0px);
  margin-top:var(--kvds-ext-columns-mobile-margin-top,28px) !important;
  margin-bottom:var(--kvds-ext-columns-mobile-margin-bottom,28px) !important;
}
/* Editor selection wrappers must not add another margin around opted-in groups. */
.kvds-mce-view:has(> .kvds-columns.kvds-ext-columns-spacing) { margin-top:0 !important; margin-bottom:0 !important; }

/* Source facts use unequal columns above 768px. Mobile stacking/scrolling stays native. */
@media(min-width:769px) {
  .kvds-columns.kvds-columns-2.kvds-ext-columns-ratio > .kvds-columns__grid {
    grid-template-columns:minmax(0,var(--kvds-ext-columns-ratio-1,1fr)) minmax(0,var(--kvds-ext-columns-ratio-2,1fr));
  }
  .kvds-columns.kvds-columns-3.kvds-ext-columns-ratio > .kvds-columns__grid {
    grid-template-columns:minmax(0,var(--kvds-ext-columns-ratio-1,1fr)) minmax(0,var(--kvds-ext-columns-ratio-2,1fr)) minmax(0,var(--kvds-ext-columns-ratio-3,1fr));
  }
}
.kvds-preview-device-pc .kvds-columns.kvds-columns-2.kvds-ext-columns-ratio > .kvds-columns__grid {
  grid-template-columns:minmax(0,var(--kvds-ext-columns-ratio-1,1fr)) minmax(0,var(--kvds-ext-columns-ratio-2,1fr));
}
.kvds-preview-device-tablet .kvds-columns.kvds-columns-2.kvds-ext-columns-ratio > .kvds-columns__grid,
.kvds-preview-device-mobile .kvds-columns.kvds-columns-2.kvds-ext-columns-ratio > .kvds-columns__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.kvds-preview-device-mobile .kvds-columns.kvds-columns-2.kvds-ext-columns-ratio.kvds-mobile-stack > .kvds-columns__grid { grid-template-columns:minmax(0,1fr); }
.kvds-preview-device-pc .kvds-columns.kvds-columns-3.kvds-ext-columns-ratio > .kvds-columns__grid {
  grid-template-columns:minmax(0,var(--kvds-ext-columns-ratio-1,1fr)) minmax(0,var(--kvds-ext-columns-ratio-2,1fr)) minmax(0,var(--kvds-ext-columns-ratio-3,1fr));
}
.kvds-preview-device-tablet .kvds-columns.kvds-columns-3.kvds-ext-columns-ratio > .kvds-columns__grid,
.kvds-preview-device-mobile .kvds-columns.kvds-columns-3.kvds-ext-columns-ratio > .kvds-columns__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

/* Optional card dividers: each side remains editable, including on mobile. */
:is(.kvds-box,.kvds-spoiler).kvds-ext-card-border {
  border-style:solid !important;
  border-color:rgba(var(--kvds-ext-card-border-rgb,222,222,218),var(--kvds-ext-card-border-alpha,1)) !important;
  border-width:var(--kvds-ext-card-border-top,0px) var(--kvds-ext-card-border-right,0px) var(--kvds-ext-card-border-bottom,0px) var(--kvds-ext-card-border-left,0px) !important;
}
@media(max-width:720px) {
:is(.kvds-box,.kvds-spoiler).kvds-ext-card-border.kvds-ext-card-breakpoint-720 {
  border-width:var(--kvds-ext-card-mobile-border-top,0px) var(--kvds-ext-card-mobile-border-right,0px) var(--kvds-ext-card-mobile-border-bottom,0px) var(--kvds-ext-card-mobile-border-left,0px) !important;
}
}
@media(max-width:768px) {
:is(.kvds-box,.kvds-spoiler).kvds-ext-card-border.kvds-ext-card-breakpoint-768 {
  border-width:var(--kvds-ext-card-mobile-border-top,0px) var(--kvds-ext-card-mobile-border-right,0px) var(--kvds-ext-card-mobile-border-bottom,0px) var(--kvds-ext-card-mobile-border-left,0px) !important;
}
}
@media(max-width:900px) {
:is(.kvds-box,.kvds-spoiler).kvds-ext-card-border.kvds-ext-card-breakpoint-900 {
  border-width:var(--kvds-ext-card-mobile-border-top,0px) var(--kvds-ext-card-mobile-border-right,0px) var(--kvds-ext-card-mobile-border-bottom,0px) var(--kvds-ext-card-mobile-border-left,0px) !important;
}
}
.kvds-preview-device-pc :is(.kvds-box,.kvds-spoiler).kvds-ext-card-border,
.kvds-preview-device-tablet :is(.kvds-box,.kvds-spoiler).kvds-ext-card-border.kvds-ext-card-breakpoint-720 {
  border-width:var(--kvds-ext-card-border-top,0px) var(--kvds-ext-card-border-right,0px) var(--kvds-ext-card-border-bottom,0px) var(--kvds-ext-card-border-left,0px) !important;
}
.kvds-preview-device-mobile :is(.kvds-box,.kvds-spoiler).kvds-ext-card-border,
.kvds-preview-device-tablet :is(.kvds-box,.kvds-spoiler).kvds-ext-card-border:is(.kvds-ext-card-breakpoint-768,.kvds-ext-card-breakpoint-900) {
  border-width:var(--kvds-ext-card-mobile-border-top,0px) var(--kvds-ext-card-mobile-border-right,0px) var(--kvds-ext-card-mobile-border-bottom,0px) var(--kvds-ext-card-mobile-border-left,0px) !important;
}

/* Optional columns dividers: each side remains editable, including on mobile. */
.kvds-columns.kvds-ext-columns-border {
  border-style:solid !important;
  border-color:rgba(var(--kvds-ext-columns-border-rgb,222,222,218),var(--kvds-ext-columns-border-alpha,1)) !important;
  border-width:var(--kvds-ext-columns-border-top,0px) var(--kvds-ext-columns-border-right,0px) var(--kvds-ext-columns-border-bottom,0px) var(--kvds-ext-columns-border-left,0px) !important;
}
@media(max-width:720px) {
.kvds-columns.kvds-ext-columns-border.kvds-ext-columns-border-breakpoint-720 {
  border-width:var(--kvds-ext-columns-mobile-border-top,0px) var(--kvds-ext-columns-mobile-border-right,0px) var(--kvds-ext-columns-mobile-border-bottom,0px) var(--kvds-ext-columns-mobile-border-left,0px) !important;
}
}
@media(max-width:768px) {
.kvds-columns.kvds-ext-columns-border.kvds-ext-columns-border-breakpoint-768 {
  border-width:var(--kvds-ext-columns-mobile-border-top,0px) var(--kvds-ext-columns-mobile-border-right,0px) var(--kvds-ext-columns-mobile-border-bottom,0px) var(--kvds-ext-columns-mobile-border-left,0px) !important;
}
}
@media(max-width:900px) {
.kvds-columns.kvds-ext-columns-border.kvds-ext-columns-border-breakpoint-900 {
  border-width:var(--kvds-ext-columns-mobile-border-top,0px) var(--kvds-ext-columns-mobile-border-right,0px) var(--kvds-ext-columns-mobile-border-bottom,0px) var(--kvds-ext-columns-mobile-border-left,0px) !important;
}
}
.kvds-preview-device-pc .kvds-columns.kvds-ext-columns-border,
.kvds-preview-device-tablet .kvds-columns.kvds-ext-columns-border.kvds-ext-columns-border-breakpoint-720 {
  border-width:var(--kvds-ext-columns-border-top,0px) var(--kvds-ext-columns-border-right,0px) var(--kvds-ext-columns-border-bottom,0px) var(--kvds-ext-columns-border-left,0px) !important;
}
.kvds-preview-device-mobile .kvds-columns.kvds-ext-columns-border,
.kvds-preview-device-tablet .kvds-columns.kvds-ext-columns-border:is(.kvds-ext-columns-border-breakpoint-768,.kvds-ext-columns-border-breakpoint-900) {
  border-width:var(--kvds-ext-columns-mobile-border-top,0px) var(--kvds-ext-columns-mobile-border-right,0px) var(--kvds-ext-columns-mobile-border-bottom,0px) var(--kvds-ext-columns-mobile-border-left,0px) !important;
}

/* Mobile card margins have an independent gate from card border/layout controls. */
@media(max-width:720px) {
:is(.kvds-box,.kvds-spoiler).kvds-ext-card-mobile-spacing.kvds-ext-card-breakpoint-720 {
  margin-top:var(--kvds-ext-card-mobile-margin-top,26px) !important;
  margin-bottom:var(--kvds-ext-card-mobile-margin-bottom,26px) !important;
}
.kvds-mce-view:has(> :is(.kvds-box,.kvds-spoiler).kvds-ext-card-mobile-spacing.kvds-ext-card-breakpoint-720) { margin-top:0 !important; margin-bottom:0 !important; }
}
@media(max-width:768px) {
:is(.kvds-box,.kvds-spoiler).kvds-ext-card-mobile-spacing.kvds-ext-card-breakpoint-768 {
  margin-top:var(--kvds-ext-card-mobile-margin-top,26px) !important;
  margin-bottom:var(--kvds-ext-card-mobile-margin-bottom,26px) !important;
}
.kvds-mce-view:has(> :is(.kvds-box,.kvds-spoiler).kvds-ext-card-mobile-spacing.kvds-ext-card-breakpoint-768) { margin-top:0 !important; margin-bottom:0 !important; }
}
@media(max-width:900px) {
:is(.kvds-box,.kvds-spoiler).kvds-ext-card-mobile-spacing.kvds-ext-card-breakpoint-900 {
  margin-top:var(--kvds-ext-card-mobile-margin-top,26px) !important;
  margin-bottom:var(--kvds-ext-card-mobile-margin-bottom,26px) !important;
}
.kvds-mce-view:has(> :is(.kvds-box,.kvds-spoiler).kvds-ext-card-mobile-spacing.kvds-ext-card-breakpoint-900) { margin-top:0 !important; margin-bottom:0 !important; }
}
.kvds-preview-device-pc :is(.kvds-box,.kvds-spoiler).kvds-ext-card-mobile-spacing,
.kvds-preview-device-tablet :is(.kvds-box,.kvds-spoiler).kvds-ext-card-mobile-spacing.kvds-ext-card-breakpoint-720 {
  margin-top:var(--kvds-box-margin-top,26px) !important;
  margin-bottom:var(--kvds-box-margin-bottom,26px) !important;
}
.kvds-preview-device-mobile :is(.kvds-box,.kvds-spoiler).kvds-ext-card-mobile-spacing,
.kvds-preview-device-tablet :is(.kvds-box,.kvds-spoiler).kvds-ext-card-mobile-spacing:is(.kvds-ext-card-breakpoint-768,.kvds-ext-card-breakpoint-900) {
  margin-top:var(--kvds-ext-card-mobile-margin-top,26px) !important;
  margin-bottom:var(--kvds-ext-card-mobile-margin-bottom,26px) !important;
}

/* Opt-in mobile gaps reuse the native columns breakpoint, independently of layout. */
@media(max-width:720px) {
  .kvds-columns.kvds-ext-columns-mobile-gap.kvds-ext-columns-mobile-breakpoint-720 > .kvds-columns__grid { gap:var(--kvds-ext-columns-mobile-gap,18px) !important; }
}
@media(max-width:768px) {
  .kvds-columns.kvds-ext-columns-mobile-gap.kvds-ext-columns-mobile-breakpoint-768 > .kvds-columns__grid { gap:var(--kvds-ext-columns-mobile-gap,18px) !important; }
}
.kvds-preview-device-pc .kvds-columns.kvds-ext-columns-mobile-gap > .kvds-columns__grid,
.kvds-preview-device-tablet .kvds-columns.kvds-ext-columns-mobile-gap.kvds-ext-columns-mobile-breakpoint-720 > .kvds-columns__grid { gap:var(--kvds-cols-gap,24px) !important; }
.kvds-preview-device-mobile .kvds-columns.kvds-ext-columns-mobile-gap > .kvds-columns__grid,
.kvds-preview-device-tablet .kvds-columns.kvds-ext-columns-mobile-gap.kvds-ext-columns-mobile-breakpoint-768 > .kvds-columns__grid { gap:var(--kvds-ext-columns-mobile-gap,18px) !important; }
