/**
 * margins
 */

* + .kiss-margin,
.kiss-margin-top {
    margin-top: var(--kiss-block-element-margin, 1rem) !important;
}

.kiss-margin:not(:last-child),
.kiss-margin-bottom {
    margin-bottom: var(--kiss-block-element-margin, 1rem) !important;
}

.kiss-margin-left {
    margin-left: var(--kiss-block-element-margin, 1rem) !important;
}
.kiss-margin-right {
    margin-right: var(--kiss-block-element-margin, 1rem) !important;
}

* + .kiss-margin-small,
.kiss-margin-small-top {
    margin-top: var(--kiss-block-element-margin-small, .6rem) !important;
}

.kiss-margin-small:not(:last-child),
.kiss-margin-small-bottom {
    margin-bottom: var(--kiss-block-element-margin-small, .6rem) !important;
}
.kiss-margin-small-left {
    margin-left: var(--kiss-block-element-margin-small, .6rem) !important;
}
.kiss-margin-small-right {
    margin-right: var(--kiss-block-element-margin-small, .6rem) !important;
}

* + .kiss-margin-xsmall,
.kiss-margin-xsmall-top {
    margin-top: var(--kiss-block-element-margin-xsmall, 4px) !important;
}

.kiss-margin-xsmall:not(:last-child),
.kiss-margin-xsmall-bottom {
    margin-bottom: var(--kiss-block-element-margin-xsmall, 4px) !important;
}
.kiss-margin-xsmall-left {
    margin-left: var(--kiss-block-element-margin-xsmall, 4px) !important;
}
.kiss-margin-xsmall-right {
    margin-right: var(--kiss-block-element-margin-xsmall, 4px) !important;
}

* + .kiss-margin-large,
.kiss-margin-large-top {
    margin-top: var(--kiss-block-element-margin-large, 3rem) !important;
}
.kiss-margin-large:not(:last-child),
.kiss-margin-large-bottom {
    margin-bottom: var(--kiss-block-element-margin-large, 3rem) !important;
}
.kiss-margin-large-left {
    margin-left: var(--kiss-block-element-margin-large, 3rem) !important;
}
.kiss-margin-large-right {
    margin-right: var(--kiss-block-element-margin-large, 3rem) !important;
}

.kiss-margin-remove { margin: 0 !important; }
.kiss-margin-remove-top { margin-top: 0 !important; }
.kiss-margin-remove-bottom { margin-bottom: 0 !important; }
.kiss-margin-remove-left { margin-left: 0 !important; }
.kiss-margin-remove-right { margin-right: 0 !important; }

.kiss-margin-remove-vertical {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.kiss-margin-remove-horizontal {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.kiss-margin-remove-adjacent + * { margin-top: 0 !important; }

.kiss-margin-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}

.kiss-margin-auto-top { margin-top: auto !important; }
.kiss-margin-auto-bottom { margin-bottom: auto !important; }
.kiss-margin-auto-left { margin-left: auto !important; }
.kiss-margin-auto-right { margin-right: auto !important; }

.kiss-margin-auto-vertical {
    margin-top: auto !important;
    margin-bottom: auto !important;
}


/**
 * paddings
 */

.kiss-padding { padding: var(--kiss-padding, 1rem); }
.kiss-padding-left { padding-left: var(--kiss-padding, 1rem) !important; }
.kiss-padding-right { padding-right: var(--kiss-padding, 1rem) !important; }

.kiss-padding-small { padding: var(--kiss-padding-small, .6rem); }
.kiss-padding-small-left { padding-left: var(--kiss-padding-small, .6rem) !important; }
.kiss-padding-small-right { padding-right: var(--kiss-padding-small, .6rem) !important; }

.kiss-padding-xsmall { padding: var(--kiss-padding-xsmall, .3rem); }
.kiss-padding-xsmall-left { padding-left: var(--kiss-padding-xsmall, .3rem) !important; }
.kiss-padding-xsmall-right { padding-right: var(--kiss-padding-xsmall, .3rem) !important; }

.kiss-padding-larger { padding: var(--kiss-padding-larger, 2rem); }
.kiss-padding-larger-left { padding-left: var(--kiss-padding-larger, 2rem) !important; }
.kiss-padding-larger-right { padding-right: var(--kiss-padding-larger, 2rem) !important; }

.kiss-padding-large { padding: var(--kiss-padding-large, 3rem); }
.kiss-padding-large-left { padding-left: var(--kiss-padding-large, 3rem) !important; }
.kiss-padding-large-right { padding-right: var(--kiss-padding-large, 3rem) !important; }

.kiss-padding-remove { padding: 0 !important; }
.kiss-padding-remove-top { padding-top: 0 !important; }
.kiss-padding-remove-bottom { padding-bottom: 0 !important; }
.kiss-padding-remove-left { padding-left: 0 !important; }
.kiss-padding-remove-right { padding-right: 0 !important; }

.kiss-padding-remove-vertical {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.kiss-padding-remove-horizontal {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* RTL support */

.kiss-margin-start { margin-inline-start: var(--kiss-block-element-margin, 1rem) !important; }
.kiss-margin-end { margin-inline-end: var(--kiss-block-element-margin, 1rem) !important; }
.kiss-margin-small-start { margin-inline-start: var(--kiss-block-element-margin-small, .6rem) !important; }
.kiss-margin-small-end { margin-inline-end: var(--kiss-block-element-margin-small, .6rem) !important; }
.kiss-margin-xsmall-start { margin-inline-start: var(--kiss-block-element-margin-xsmall, 4px) !important; }
.kiss-margin-xsmall-end { margin-inline-end: var(--kiss-block-element-margin-xsmall, 4px) !important; }
.kiss-margin-large-start { margin-inline-start: var(--kiss-block-element-margin-large, 3rem) !important; }
.kiss-margin-large-end { margin-inline-end: var(--kiss-block-element-margin-large, 3rem) !important; }

.kiss-margin-auto-start { margin-inline-start: auto !important; }
.kiss-margin-auto-end { margin-inline-end: auto !important; }

.kiss-padding-start { padding-inline-start: var(--kiss-padding, 1rem) !important; }
.kiss-padding-end { padding-inline-end: var(--kiss-padding, 1rem) !important; }
.kiss-padding-small-start { padding-inline-start: var(--kiss-padding-small, .6rem) !important; }
.kiss-padding-small-end { padding-inline-end: var(--kiss-padding-small, .6rem) !important; }
.kiss-padding-xsmall-start { padding-inline-start: var(--kiss-padding-xsmall, .3rem) !important; }
.kiss-padding-xsmall-end { padding-inline-end: var(--kiss-padding-xsmall, .3rem) !important; }
.kiss-padding-larger-start { padding-inline-start: var(--kiss-padding-larger, 2rem) !important; }
.kiss-padding-larger-end { padding-inline-end: var(--kiss-padding-larger, 2rem) !important; }
.kiss-padding-large-start { padding-inline-start: var(--kiss-padding-large, 3rem) !important; }
.kiss-padding-large-end { padding-inline-end: var(--kiss-padding-large, 3rem) !important; }
