/* =========== © 2025 Centroarts.com - https://magenta.su =========== */

@font-face {
	font-display: swap;
	font-family: 'Gerbera';
	font-style: normal;
	font-weight: normal;
	src: url('../fonts/gerbera-400.woff2') format('woff2');
}
@font-face {
	font-display: swap;
	font-family: 'Gerbera';
	font-style: normal;
	font-weight: bold;
	src: url('../fonts/gerbera-700.woff2') format('woff2');
}
:root {
  color-scheme: light;

  --mg-text: #1d1d1d;
  --mg-text-rgb: 29, 29, 29;
  --mg-body-bg: #ffffff;
  --mg-body-bg-rgb: 255, 255, 255;
  --mg-primary: #E63882;
  --mg-primary-rgb: 230, 56, 130;
  --mg-primary-hover: #cc1967;
  --mg-primary-hover-rgb: 204, 25, 103;
  --mg-primary-active: #b6165b;
  --mg-primary-active-rgb: 182, 22, 91;
  --mg-btn-text: #ffffff;
  --mg-border: rgba(var(--mg-text-rgb), 0.1);
  --mg-vert-margin: 1.5rem;
  --mg-back-margin: 0.5rem;
  --mg-dropdown-padding: 0.75rem;

  --mg-fc-padding-x: 1rem;
  --mg-fc-padding-y: 0.75rem;
  --mg-fc-font-size: 1rem;
  --mg-fc-height: 3rem;
  --mg-fc-border-radius: 0.75rem;
  --mg-fc-line-height: 1.5rem;
  --mg-fc-bg: var(--mg-body-bg);
  --mg-fc-color: var(--mg-text);
  --mg-fc-border-color: rgba(var(--mg-text-rgb), 0.125);
  --mg-fc-border-color-active: rgba(var(--mg-text-rgb), 0.3);

  --mg-check-border-color: rgba(var(--mg-text-rgb), 0.5);
  --mg-check-border-color-active: var(--mg-primary);

	--bs-font-sans-serif: Gerbera, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--bs-body-color: var(--mg-text);
	--bs-body-color-rgb: var(--mg-text-rgb);
	--bs-body-bg: var(--mg-body-bg);
	--bs-body-bg-rgb: var(--mg-body-bg-rgb);

  --bs-border-radius: 0.75rem;
  --bs-border-color: var(--mg-border);
  --bs-dropdown-divider-bg: var(--mg-border);
  --bs-border-color-translucent: rgba(var(--mg-text-rgb), 0.1);

  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.1);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);

	--bs-primary: var(--mg-primary);
	--bs-primary-rgb: var(--mg-primary-rgb);
	--bs-link-color: var(--mg-primary);
	--bs-link-color-rgb: var(--mg-primary-rgb);
	--bs-link-hover-color: var(--mg-primary-hover);
	--bs-link-hover-color-rgb: var(--mg-primary-hover-rgb);

  --bs-secondary-color: rgba(var(--mg-text-rgb), 0.5);
  --bs-secondary-color-rgb: var(--mg-text-rgb);
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;

  --bs-modal-border-radius: 2rem;
}

a { text-decoration: none; }
a:hover { text-decoration: underline; }

.btn {
  --bs-btn-padding-x: 1rem;
  --bs-btn-padding-y: .75rem;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5rem;
	--bs-btn-border-radius: 1.5rem;

  border: 0 none !important;
  box-shadow: inset 0 0 var(--bs-btn-border-width) 0 var(--bs-btn-border-color);
  text-decoration: none !important;
}

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-x: 1rem;
  --bs-btn-padding-y: .75rem;
  --bs-btn-font-size: 1rem;
  --bs-btn-border-radius: 1.5rem;
  --bs-btn-line-height: 1.5rem;
}

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-x: 1rem;
  --bs-btn-padding-y: .5rem;
  --bs-btn-font-size: .9375rem;
  --bs-btn-border-radius: 1.5rem;
}

.btn-primary {
  --bs-btn-color: var(--mg-btn-text);
  --bs-btn-bg: var(--mg-primary);
  --bs-btn-border-color: var(--mg-primary);
  --bs-btn-hover-color: var(--mg-btn-text);
  --bs-btn-hover-bg: var(--mg-primary-hover);
  --bs-btn-hover-border-color: var(--mg-primary-hover);
  --bs-btn-focus-box-shadow: none;
  --bs-btn-active-color: var(--mg-btn-text);
  --bs-btn-active-bg: var(--mg-primary-active);
  --bs-btn-active-border-color: var(--mg-primary-active);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: var(--mg-btn-text);
  --bs-btn-disabled-bg: var(--mg-primary);
  --bs-btn-disabled-border-color: var(--mg-primary);

  text-decoration: none !important;
}

.btn-dark {
  --bs-btn-color: var(--mg-btn-text);
  --bs-btn-bg: var(--mg-text);
  --bs-btn-border-color: var(--mg-text);
  --bs-btn-hover-color: var(--mg-btn-text);
  --bs-btn-hover-bg: #343434;
  --bs-btn-hover-border-color: #343434;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: var(--mg-btn-text);
  --bs-btn-active-bg: #111111;
  --bs-btn-active-border-color: #111111;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: var(--mg-btn-text);
  --bs-btn-disabled-bg: #494949;
  --bs-btn-disabled-border-color: #494949;
}

.btn-tonal {
  --bs-btn-color: var(--mg-primary);
  --bs-btn-bg: rgba(var(--mg-primary-rgb), 0.1);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--mg-primary);
  --bs-btn-hover-bg: rgba(var(--mg-primary-rgb), 0.15);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-focus-shadow: none;
  --bs-btn-active-color: var(--mg-primary);
  --bs-btn-active-bg: rgba(var(--mg-primary-rgb), 0.25);
  --bs-btn-active-border-color: transparent;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: rgba(var(--mg-primary-rgb), 0.5);
  --bs-btn-disabled-bg: rgba(var(--mg-primary-rgb), 0.05);
  --bs-btn-disabled-border-color: transparent;
}
.btn-outline-primary {
  --bs-btn-color: var(--mg-primary);
  --bs-btn-border-color: var(--mg-primary);
  --bs-btn-hover-color: var(--mg-primary);
  --bs-btn-hover-bg: rgba(var(--mg-primary-rgb), 0.05);
  --bs-btn-hover-border-color: var(--mg-primary);
  --bs-btn-focus-shadow: none;
  --bs-btn-active-color: var(--mg-primary);
  --bs-btn-active-bg: rgba(var(--mg-primary-rgb), 0.15);
  --bs-btn-active-border-color: var(--mg-primary);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: var(--mg-primary);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--mg-primary);
}

.btn-icon { display: inline-flex; align-items: center; --bs-btn-padding-x: var(--bs-btn-padding-y); }
.btn-cont { padding: 0 .375rem; }

.btn-monosymbol {
  --bs-btn-color: rgba(var(--mg-text-rgb), .7);
  --bs-btn-hover-color: rgba(var(--mg-text-rgb), .5);
  --bs-btn-active-color: rgba(var(--mg-text-rgb), .9);
  --bs-btn-active-bg: rgba(var(--mg-text-rgb), .05);
  --bs-btn-border-color: transparent;
  --bs-btn-active-border-color: transparent;
}

.btn-link { text-decoration: none; }

.pagination {
  --bs-pagination-active-color: var(--mg-btn-text);
  --bs-pagination-active-bg: var(--mg-primary);
  --bs-pagination-active-border-color: var(--mg-primary);
}
.page-link, .nav-link { text-decoration: none !important; }

/* Covers */
.cover { position: relative; display: flex; overflow: hidden; flex-direction: column; flex-grow: 1; margin: 0; }
.cover img {
	position: absolute; top: 0; left: 50%; display: block; pointer-events: none; user-select: none;
	min-width: calc(100% + 1px); width: auto; height: 100%; transform: translateX(-50%);
	object-fit: cover; object-position: center center;
	-o-object-position: center center; -o-object-fit: cover;
}

/* Trigger */
.trigger { position: relative; }
.trigger-btn { display: block; cursor: pointer; }
.trigger-action { position: absolute; left: 0; top: 0; opacity: 0; pointer-events: none; }

.sepwave::after {
  --sepwave-color: rgba(var(--mg-primary-rgb),0.3);
  --sepwave-height: 6px;
  --sepwave-img: url(../images/sepwave.svg);

  content: "";
  background-color: var(--sepwave-color);
  display: block; width: 100%; height: var(--sepwave-height);
  mask-size: auto 100%; -webkit-mask-size: auto 100%;
  mask-position: 0 0; -webkit-mask-position: 0 0;
  mask-repeat: repeat-x; -webkit-mask-repeat: repeat-x;
  mask-image: var(--sepwave-img); -webkit-mask-image: var(--sepwave-img);
}

/* Form Label */
.form-group .form-label { font-weight: bold; }
.form-label.imp::after { content: " *"; color: var(--mg-primary); }

.form-submit { display: flex; flex-wrap: wrap; }
.form-submit .btn { flex: 1; }

/* Form Controls */
.form-control, .form-select {
  min-height: var(--mg-fc-height);
  line-height: var(--mg-fc-line-height);
  padding: calc(var(--mg-fc-padding-y) - var(--bs-border-width)) calc(var(--mg-fc-padding-x) - var(--bs-border-width));
  border-radius: var(--mg-fc-border-radius);
  font-size: var(--mg-fc-font-size);
  border-color: var(--mg-fc-border-color);

  color: var(--mg-fc-color); background-color: var(--mg-fc-bg);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control:focus, .form-select:focus {
  color: var(--mg-fc-color); background-color: var(--mg-fc-bg);
  border-color: var(--mg-fc-border-color-active); box-shadow: 0 0 0 0.25rem rgba(var(--mg-text-rgb), 0.05);
}

.form-control-sm, .form-select-sm {
  --mg-fc-height: 2.5rem;
  --mg-fc-padding-y: 0.5rem;
  --mg-fc-padding-x: 0.75rem;
}

.form-select {
  padding-right: 2rem;
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
}
.form-select[multiple], .form-select[size]:not([size="1"]) { padding-right: 0.75rem; background-image: none; }
.form-select:disabled { background-color: var(--bs-secondary-bg); }


.form-check { padding-left: 0; display: flex; gap: .5rem; }
.form-check-reverse { padding-right: 0; }
.form-check .form-check-input { margin-left: 0; }
.form-check-label { align-self: center; }
.form-check-reverse .form-check-input { margin-right: 0; }

.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  width: 1.25rem; height: 1.25rem;
  margin-top: 0.125em;
  border-color: var(--mg-check-border-color);
}
.form-check-input[type=checkbox] {
  border-radius: .375rem;
}
.form-check-input:focus {
  border-color: var(--mg-primary);
  box-shadow: 0 0 0 0.25rem rgba(var(--mg-primary-rgb), 0.15);
}
.form-check-input:checked {
  background-color: var(--mg-primary);
  border-color: var(--mg-primary);
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.95831 15L3.20831 10.25L4.39581 9.06249L7.95831 12.625L15.6041 4.97916L16.7916 6.16666L7.95831 15Z' fill='%23ffffff'/%3E%3C/svg%3E%0A");
}

.search-control { display: flex; position: relative; z-index: 1; }
.search-control-icon { display: block; width: 1px; margin-left: 1px; pointer-events: none; opacity: .3; order: -1; }
.search-control-icon .im { aspect-ratio: 1/1; height: 100%; display: flex; align-items: center; justify-content: center; }

.search-control .form-control:focus ~ .search-control-icon { opacity: .7; }
.search-control .form-control { padding-left: calc(var(--mg-fc-height) - var(--mg-fc-padding-y)); }

/* Content Heading */
.mg-heading-back { display: flex; margin-bottom: var(--mg-back-margin); }
.mg-heading-back-btn { display: flex; gap: .5rem; padding: .5rem; margin: calc(.5rem / -1); align-items: center; text-decoration: none !important; }
.mg-heading-back-btn .im { transition: transform .15s ease; }
.mg-heading-back-btn:hover .im { transform: translateX(-2px); }

.heading { font-size: clamp(1.5rem, 4vw, 2rem); line-height: 1.25em; font-weight: bold; }
.mg-heading { display: flex; gap: .5rem; min-height: 2.5rem; margin-bottom: var(--mg-vert-margin); }
.mg-heading .heading {
  align-self: center; flex: 1 1 auto; min-width: 0; margin-bottom: 0;
  overflow-wrap: break-word;
}

.mg-heading-tools { gap: .5rem; display: flex; justify-content: end; align-items: center; }

@media (max-width: 767px) {
  .mg-heading-fly {
    padding: .75rem;
    margin-left: calc(var(--mg-container-pad-x) / -1);
    margin-right: calc(var(--mg-container-pad-x) / -1);
    padding-left: var(--mg-container-pad-x);
    padding-right: var(--mg-container-pad-x);
    margin-bottom: 0; margin-top: -.75rem;

    position: sticky; top: 0; z-index: 100;
    background-color: var(--mg-body-bg);
  }
  .mg-heading-addbtn .btn-cont { display: none; }
}

/* Content Foot */
.mg-foottools, .mg-foottools-left, .mg-foottools-right { display: flex; gap: .5rem; }
.mg-foottools-right { margin-left: auto; }
.mg-foottools-left, .mg-foottools-right { align-items: center; }
.mg-foottools { margin-top: var(--mg-vert-margin); }

@media (min-width: 768px) {
  .mg-foottools { margin-top: var(--mg-vert-margin); }
  .mg-foottools .form-select { max-width: 220px; }
}
@media (max-width: 767px) {
  .mg-foottools { margin-top: var(--mg-container-pad-y); }
  .mg-foottools-left .form-check-input { margin-right: .5rem; }
  .mg-foottools-left .form-check-label { display: none; }
}

/* Dropdown */
.dropdown-menu {
  --bs-dropdown-border-radius: 1.25rem;
  --bs-dropdown-min-width: 14rem;
}
.dropdown-pad {
  --bs-dropdown-divider-margin-y: var(--mg-dropdown-padding);
  padding: var(--mg-dropdown-padding);
}

/* Addon Menu */
.addonmenu-item {
  --im-size: 1.25rem;
  display: flex; align-items: center; color: inherit !important;
  width: 100%; padding: .5rem; gap: .5rem; outline: none; background: none; border: 0 none !important;
  font-size: .875rem; line-height: var(--im-size); text-decoration: none !important;
  border-radius: .75rem; opacity: .7;
}
.addonmenu-item:hover { opacity: .9; background-color: rgba(var(--mg-text-rgb), .05); }
.addonmenu-item:active { opacity: 1; background-color: rgba(var(--mg-text-rgb), .07); }
.addonmenu-item + .addonmenu-item { margin-top: .25rem; }

/* Tabs */
.mg-heading + .mg-tabs { margin-top: calc((var(--mg-vert-margin) - var(--mg-back-margin)) / -1); }
.mg-tabs {
  --mg-tabs-pad-y: .75rem;
  --mg-tabs-pad-x: .5rem;
  --mg-tabs-lh: 1.5rem;
  display: flex; align-items: end; list-style: none;
  padding: 0; margin-bottom: var(--mg-vert-margin); box-shadow: inset 0 -1px 0 0 var(--bs-border-color);
  user-select: none;
}
.mg-tab:first-child { margin-left: calc(var(--mg-tabs-pad-x) / -1); }
.mg-tab-btn {
  position: relative; z-index: 1;
  padding: var(--mg-tabs-pad-y) var(--mg-tabs-pad-x); border: 0 none;
  color: inherit !important; background: none !important; outline: none !important;
  overflow: hidden; transition: opacity .15s ease;
}
.mg-tab-btn:not(.active) { opacity: .5; }
.mg-tab-btn:not(.active):hover { opacity: .8; }
.mg-tab-btn::after {
  content: ""; position: absolute;
  bottom: 0; left: var(--mg-tabs-pad-x); right: var(--mg-tabs-pad-x); height: 2px;
  background-color: var(--mg-primary);
  opacity: 0; transform: translateY(2px);
  transition: transform .2s ease, opacity .2s ease;
}
.mg-tab-btn.active::after { opacity: 1; transform: translateY(0); }

@media (min-width: 768px) {
  .mg-tabs { --mg-tabs-pad-x: .75rem; }
  .mg-tab-btn { transition: opacity .15s ease; }
}
@media (max-width: 767px) {
  .mg-sticky-tabs {
    margin-left: calc(var(--mg-container-pad-x) / -1);
    margin-right: calc(var(--mg-container-pad-x) / -1);
    padding-left: var(--mg-container-pad-x);
    padding-right: var(--mg-container-pad-x);

    overflow: hidden; overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none;

    position: sticky; top: 0; z-index: 100;
    background-color: var(--mg-body-bg);
  }
  .mg-sticky-tabs::-webkit-scrollbar { display: none; }
}

/* Modal */
.modal {
  --bs-modal-padding: 1.25rem;
  --bs-modal-border-color: var(--mg-border);
  --bs-modal-border-width: 1px;
  --bs-modal-border-radius: 1rem;
  --bs-modal-box-shadow: 0 12px 32px -8px rgba(0,0,0,0.25);
  --bs-modal-inner-border-radius: calc(var(--border-radius-lg) - (var(--border-width)));
}

.modal .modal-body { position: relative; flex: 1 1 auto; padding: var(--bs-modal-padding); }
.modal-tools {
  position: relative; z-index: 2;
  display: flex; justify-content: end; align-items: start; height: 0; gap: .5rem;
  padding-right: .75rem; pointer-events: none;
}

.modal-content > .btn-close, .modal-tools button {
  pointer-events: all;
  width: 2.5rem; height: 2.5rem; padding: .5rem; border-radius: 50%;
  background: none !important; border: 0 none !important;
  outline: none !important; box-shadow: none !important; box-sizing: border-box; opacity: 1;
}
.modal-tools button { margin-top: .75rem; }
.modal-tools button i { vertical-align: top; }
.modal-tools .closebtn { order: 13; }

.modal-content > .btn-close { position: absolute; z-index: 2; right: .75rem; top: .75rem; }
.modal-content > .btn-close::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  border-radius: 50%; background-color: rgba(var(--mg-body-bg-rgb), .9);
}
.modal-content > .btn-close .im { opacity: .5; transition: opacity .2s ease; }
.modal-content > .btn-close:hover .im { opacity: 1; }

@media (min-width: 768px) {
    .modal { --bs-modal-border-radius: 2rem; }
    .modal-mod {
        --bs-modal-padding: 2rem;
        --bs-modal-border-radius: 2rem;
        --bs-modal-margin: 1rem;
    }
}
.form-group.imp > label::after, .form-item.imp .form-item-label > label::after{
  content: " *";
  color: var(--mg-primary);
}