
/* ==============================================*/
/* ============ ArtMuz Lightbox Style ========== */
/* ==============================================*/

.mfp-bg {
  background: rgba(0, 0, 0, 0.75);
  opacity: 0;
  transition: opacity 0.45s ease;
}

.mfp-ready .mfp-bg { opacity: 1; }

.lightbox-content {
  background: #fff;
  color: #222;
  padding: 40px 35px;
  border-radius: 12px;
  max-width: 650px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.25);
  transform: scale(0.95) translateY(40px);
  opacity: 0;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

.mfp-ready .lightbox-content {
  transform: scale(1) translateY(0);
  opacity: 1;
}

.mfp-removing .lightbox-content {
  transform: scale(0.97) translateY(30px);
  opacity: 0;
}

.lightbox-content h3, .lightbox-content h2 {
  font-family: "Inter", "Open Sans", sans-serif;
  font-weight: 600;
  font-size: 22px;
  margin-bottom: 15px;
  text-align: center;
}

.lightbox-content p {
  font-size: 16px;
  line-height: 1.6;
  color: #444;
}

.lightbox-content .dt-btn:hover,
.lightbox-content button:hover {
  background: #99999923;
}

@media (max-width: 600px) {
  .lightbox-content {
    max-width: 90%;
    padding: 25px 20px;
	margin-bottom: 5px;
  }
  .lightbox-content h3 { font-size: 18px; }
}
  
/* ==============================================*/
/* tPrev + tNext - Lightbox ArtMuz */
/* ==============================================*/

.mfp-arrow {
  opacity: 1 !important;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  backdrop-filter: blur(4px);
  transition: 0.3s ease;
}

.mfp-arrow:hover {
  background: rgba(255,255,255,0.55);
}

.mfp-arrow:before,
.mfp-arrow:after {
  color: #fff;
  font-size: 28px;
}

.mfp-arrow-left:before {
  content: '←';
  margin-right: 4px;
}

.mfp-arrow-right:before {
  content: '→';
  margin-left: 4px;
}

/* Text Foto */
.mfp-alt, .mfp-title, .mfp-caption, .mfp-description {
  text-align: center;
  color: #fff;
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.45;
}

.mfp-title {
  font-size: 18px;
  font-weight: 600;
}

.mfp-caption {
  opacity: 0.9;
}

.mfp-description {
  opacity: 0.8;
  font-size: 15px;
}

/* ==============================================*/
/* ===== ArtMuz Universal Buttons + Anime ===== */
/* ==============================================*/

.artmuz-btn {
  display: inline-block;
  width: auto;
  padding: 12px 14px;
  border: none;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  text-align: center;
  cursor: pointer;
  border-radius: var(--btn-radius, 8px);
  background: var(--btn-bg, #ff6c00);
  color: var(--btn-color, #fff) !important;
  transition: all var(--btn-duration, 0.35s) var(--btn-ease, ease-in-out);
  box-shadow: 0 3px 6px rgba(0,0,0,0.1);
  position: relative;
  overflow: hidden;
}

/* === Hover эффект с лёгким подъёмом === */
.artmuz-btn:hover {
  background: var(--btn-bg-hover, #ff7f24);
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

/* === Анимация при клике (пульс) === */
.artmuz-btn:active {
  transform: scale(0.97);
}

/* === Эффект “вспышка” при наведении === */
.artmuz-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: rgba(255, 255, 255, 0.25);
  transform: skewX(-25deg);
  transition: all 0.7s ease-in-out;
}
.artmuz-btn:hover::after {
  left: 125%;
}

/* === Варианты размера === */
.btn-s { padding: 6px 20px; font-size: 12px; }
.btn-m { padding: 10px 28px; font-size: 14px; }
.btn-l { padding: 14px 36px; font-size: 16px; }
.btn-x { padding: 18px 42px; font-size: 18px; }

/* === Icons === */
.artmuz-btn i {
    margin: 1px 6px;
	padding-top: 3px;
    font-size: 14px;
}

/* === Радиус закругления === */
[data-radius="none"]  { --btn-radius: 0px; }
[data-radius="soft"]  { --btn-radius: 6px; }
[data-radius="round"] { --btn-radius: 30px; }
[data-radius="pill"]  { --btn-radius: 50px; }

/* === Цветовые пресеты === */
.btn-orange { --btn-bg:#ff6c00; --btn-bg-hover:#ff7f24; }
.btn-green  { --btn-bg:#53ad00; --btn-bg-hover:#00d166; }
.btn-olive  { --btn-bg:#9BA11C; --btn-bg-hover:#ADB51B; }
.btn-blue   { --btn-bg:#007bff; --btn-bg-hover:#2196f3; }
.btn-dark   { --btn-bg:#333; --btn-bg-hover:#444; }

/* === Ширина === */
.fullwidth { width: 100%; display: block; }
.halfwidth { width: 50%; display: block; }
.auto      { width: auto !important; display: inline-block !important;}

/* === Выравнивание === */
.btn-left   { display: flex; justify-content: flex-start; }
.btn-center { display: flex; justify-content: center; }
.btn-right  { display: flex; justify-content: flex-end; }

/* === Обёртка кнопки === */
.artmuz-btn-wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 10px 0;
}

/* === ✨ Эффекты появления (entry animations) === */
/* === ✨ Плавные анимации появления ArtMuz Buttons === */
.fade-in,
.slide-up,
.slide-down,
.zoom-in,
.bounce-in {
  opacity: 0;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1); /* более плавная кривая */
}

/* Анимации активируются, когда элемент попадает в область видимости */
.fade-in.visible,
.slide-up.visible,
.slide-down.visible,
.zoom-in.visible,
.bounce-in.visible {
  opacity: 1;
}

/* === Универсальные параметры через CSS-переменные === */
.fade-in.visible {
  animation: fadeIn var(--btn-duration, 1.5s) ease-out var(--btn-delay, 0s);
}

.slide-up.visible {
  animation: slideUp var(--btn-duration, 1.5s) ease-out var(--btn-delay, 0s);
}

.slide-down.visible {
  animation: slideDown var(--btn-duration, 1.5s) ease-out var(--btn-delay, 0s);
}

.zoom-in.visible {
  animation: zoomIn var(--btn-duration, 1.5s) ease-out var(--btn-delay, 0s);
}

.bounce-in.visible {
  animation: bounceIn var(--btn-duration, 1.5s) cubic-bezier(0.68,-0.55,0.27,1.55) var(--btn-delay, 0s);
}

/* === Keyframes === */
@keyframes fadeIn {
  0%   { opacity: 0; transform: translateY(15px) scale(0.98); }
  60%  { opacity: 1; transform: translateY(0) scale(1.02); }
  100% { transform: scale(1); }
}

@keyframes slideUp {
  0%   { opacity: 0; transform: translateY(40px); }
  80%  { opacity: 1; transform: translateY(-3px); }
  100% { transform: translateY(0); }
}

@keyframes slideDown {
  0%   { opacity: 0; transform: translateY(-40px); }
  80%  { opacity: 1; transform: translateY(3px); }
  100% { transform: translateY(0); }
}

@keyframes zoomIn {
  0%   { opacity: 0; transform: scale(0.85); }
  70%  { opacity: 1; transform: scale(1.05); }
  100% { transform: scale(1); }
}

@keyframes bounceIn {
  0%   { opacity: 0; transform: scale(0.3) translateY(40px); }
  50%  { opacity: 1; transform: scale(1.1) translateY(-10px); }
  70%  { transform: scale(0.95) translateY(3px); }
  100% { transform: scale(1) translateY(0); }
}


/* ==============================================*/
/* Sticky-mobile-buttons */
/* ==============================================*/

@media (max-width: 1024px) {
  .sticky-bottom-buttons {
    position: fixed !important;
    bottom: -2px !important;
    left: 0 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    z-index: 9999 !important;
  }

  .sticky-bottom-buttons.single-button {
    grid-template-columns: 1fr !important;
  }

  .sticky-bottom-buttons .sticky-btn {
    width: 100% !important;
    height: 47px;
    line-height: 25px !important;
    font-size: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body {padding-bottom: 28px !important;}
  .scroll-top {bottom: 50px !important;}
}

@media (min-width: 1025px) {
  .sticky-bottom-buttons { display: none !important; }
}

@media screen and (max-width: 768px) {
  .sticky-bottom-buttons .sticky-btn span {
    line-height: 1.6 !important;
  }
}

.desk-block {
  margin: 20px 0 !important;
  padding: 15px !important;
}

/* ==========================================
===== H(1,2,3,4) Category inLine ACF ======== 
==========  class="am-inline-h"  ============
==============================================*/

.term-short-description p {
	margin-bottom:7px !important;
}

.term-short-description .am-inline-h{
	display:block !important;
	margin:0 0 28px 0 !important;
	padding:0 !important;
	font-size:14px !important;
	line-height:0.9 !important;
	font-weight:700 !important;
	text-align:left !important;
	white-space:normal !important;
	overflow-wrap:break-word !important;
	word-wrap:break-word !important;
}


/* ==================================
=========== Titel-Linien ============
================================== */

.am-title-lines {
  display: block;
  text-align: center;
  margin: 22px 0 14px;
  padding: 16px .5em;
  color: #222;
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
  background:
    linear-gradient(#eee, #eee) left 2px / 100% 4px no-repeat,
    linear-gradient(#eee, #eee) left calc(100% - 3px) / 100% 4px no-repeat;
}

.am-title-lines span,
.am-title-lines p,
span.am-title-lines,
p.am-title-lines {
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
}

/*========================================== */ 
/* ============ AM Block + Gradient ======== */
/* ========================================= */

/* ---------- Base ---------- */

.am-block-box {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #f3f3f3;
  --am-block-border: #d7d7d7;
  --am-block-icon: #777;

  display: block;

  background: linear-gradient(
    180deg,
    var(--am-block-bg-top) 0%,
    var(--am-block-bg-bottom) 100%
  );

  color: #333;

  border: 1px solid var(--am-block-border);
  border-radius: 10px;

  padding: 22px 26px;
  margin: 28px 0;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    inset 0 -1px 0 rgba(0, 0, 0, 0.04),
    0 2px 4px rgba(0, 0, 0, 0.06),
    0 10px 22px rgba(0, 0, 0, 0.08);
}


/* ========== Colors ========== */

.am-block-gray {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #f3f3f3;
  --am-block-border: #d7d7d7;
  --am-block-icon: #777;
}

.am-block-light-gray {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #f8f8f8;
  --am-block-border: #dddddd;
  --am-block-icon: #888;
}

.am-block-blue {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #eef8ff;
  --am-block-border: #c8e6f8;
  --am-block-icon: #258ec4;
}

.am-block-green {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #eef9ef;
  --am-block-border: #cce8cf;
  --am-block-icon: #4f8a10;
}

.am-block-light-green {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #f4fbec;
  --am-block-border: #d8edbd;
  --am-block-icon: #76a82a;
}

.am-block-orange {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #fff4ec;
  --am-block-border: #ffd7bd;
  --am-block-icon: #fe5e08;
}

.am-block-olive {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #f6f7e8;
  --am-block-border: #dfe3b5;
  --am-block-icon: #8a9a2a;
}

.am-block-red {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #fff1f1;
  --am-block-border: #f2c7c7;
  --am-block-icon: #d9534f;
}

.am-block-purple {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #f5efff;
  --am-block-border: #d8c4f2;
  --am-block-icon: #7b3fc7;
}

.am-block-deep-purple {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #f1e8ff;
  --am-block-border: #c9a8ef;
  --am-block-icon: #6f2dbd;
}

.am-block-violet {
  --am-block-bg-top: #ffffff;
  --am-block-bg-bottom: #f3f0ff;
  --am-block-border: #cfc8f6;
  --am-block-icon: #5b4bc4;
}

/* ========== Icons Unicode ========== */

.am-block-box.am-with-icon {
  position: relative;
  padding-left: 82px;
}

.am-block-box.am-with-icon::before {
  position: absolute;
  left: 26px;
  top: 50%;
  transform: translateY(-50%);

  width: 38px;
  text-align: center;

  font-size: 34px;
  line-height: 1;
  color: var(--am-block-icon, #777);
}

.am-block-box.am-icon-check::before {
  content: "✓";
}

.am-block-box.am-icon-info::before {
  content: "🛈";
}

.am-block-box.am-icon-warning::before {
  content: "⚠";
}

.am-block-box.am-icon-star::before {
  content: "★";
}

.am-block-box.am-icon-gift::before {
  content: "🎁";
}

/* ========== Mobile ========== */

@media (max-width: 600px) {
  .am-block-box {
    padding: 18px 20px;
    border-radius: 8px;
  }

  .am-block-box.am-with-icon {
    padding-left: 64px;
  }

  .am-block-box.am-with-icon::before {
    left: 20px;
    width: 32px;
    font-size: 28px;
  }
}

/* ============================================== */
/* ------------- ArtMuz Block-Color ------------- */
/* ============================================== */

.am-color-block {
  padding: 10px 10000px 25px;
  margin: 20px -10000px 20px;
  font-size: 16px !important;
  font-style: normal;
  box-sizing: border-box;
}

.am-color-block h2 {
  margin: 20px 0;
  padding: 20px 0;
  color: inherit !important;
}

.am-color-block h3,
.am-color-block h4 {
  margin: 16px 0;
  padding: 16px 0;
  color: inherit !important;
}

.am-color-block p,
.am-color-block ul,
.am-color-block li,
.am-color-block strong {
  color: inherit !important;
}

/* 1. Тёмно-синий */
.am-bg-blue {
  background-color: #0c151e;
  color: #d0d0d0;
}

/* 2. Графит */
.am-bg-graphite {
  background-color: #1f252b;
  color: #d6d6d6;
}

/* 3. Тёмно-зелёный */
.am-bg-green {
  background-color: #102015;
  color: #d8d8d8;
}

/* 4. Бордовый */
.am-bg-burgundy {
  background-color: #3a1111;
  color: #eadada;
}

/* 5. Вишнёвый / винный — твой вариант */
.am-bg-wine {
  background-color: #391129;
  color: #eadada;
}

/* 6. Тёмный фиолетовый */
.am-bg-purple {
  background-color: #160b24;
  color: #ddd3e8;
}

/* 7. Тёмное золото / коричневый */
.am-bg-gold {
  background-color: #211608;
  color: #e3d7c4;
}

/* 8. Светлый серый */
.am-bg-light {
  background-color: #f3f3f3;
  color: #333333;
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  box-shadow: 0 2px 8px rgba(0,0,0,0.10); 
}

  /* 9. Тёмный серо-синий */
.am-bg-slate {
  background-color: #293037;
  color: #d7dadd;
}

/* 10. Тёмный графит */
.am-bg-dark-graphite {
  background-color: #25282c;
  color: #d8dadd;
}

/* Laptop  & Mobil */
@media (max-width: 1024px) {
  .am-color-block {
    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;

    padding: 20px 16px 25px !important;

    box-sizing: border-box;
    overflow: hidden;
  }

  .am-color-block h2,
  .am-color-block h3,
  .am-color-block h4 {
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
  }
}

/* ---------- Gleich tiefer ----------- */

@media (min-width: 1025px) {
  .am-color-block.am-color-block-bottom-gap {
    margin-bottom: -50px !important;
  }
}

@media (max-width: 1024px) {
  .am-color-block.am-color-block-bottom-gap {
    margin-bottom: -20px !important;
  }
}

/* ==============================================
   ArtMuz Image Full Width Background Parallax
   ============================================== */

.am-img-full-bg {
  width: 100vw;
  max-width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  overflow: hidden;
  box-sizing: border-box;

  background-image: var(--am-bg-desktop);
  background-repeat: no-repeat;
  background-position: var(--am-bg-position, center center);
  background-size: cover;
  background-attachment: fixed;

  color: #ebebeb;
}

.am-img-full-bg-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 18px;
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .am-img-full-bg {
    background-image: var(--am-bg-mobile, var(--am-bg-desktop));
    background-position: var(--am-bg-position-mobile, center bottom);
    background-size: cover;
    background-attachment: fixed;
  }

  .am-img-full-bg-inner {
    padding: 30px 18px 32px;
  }

  .am-img-full-bg h2 {
    font-size: 30px !important;
    line-height: 1.25 !important;
    margin-bottom: 20px !important;
  }

  .am-img-full-bg h3 {
    font-size: 24px !important;
    line-height: 1.25 !important;
    margin-bottom: 18px !important;
  }

  .am-img-full-bg .su-spacer {
    height: 24px !important;
  }
}

/* ================================================
   ========== ArtMuz Image Block Full Width =======
   ============================================== */

.am-img-block-full {
  position: relative;

  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  margin-top: 0;
  margin-bottom: 20px;

  padding: 0 !important;
  overflow: hidden;
  box-sizing: border-box;
}

.am-img-block-full picture {
  display: block;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.am-img-block-full img {
  display: block;

  width: 100vw !important;
  max-width: none !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  box-shadow: none !important;
}

@media (min-width: 1025px) {
  .am-img-block-full.am-img-no-top-gap {
    margin-top: -60px !important;
  }
}

/* На планшете и телефоне отступ не убираем */
@media (max-width: 1024px) {
  .am-img-block-full.am-img-no-top-gap {
    margin-top: 0 !important;
  }
}