:root {
  --bg: #fffaf0;
  --text: #101f46;
  --muted: #526078;
  --white: #ffffff;
  --accent: #ff5f8f;
  --accent-2: #ff8aac;
  --blue: #73c9f5;
  --green: #b9de74;
  --yellow: #ffd85c;
  --pink: #f8a8c9;
  --shadow: 0 10px 28px rgba(34, 40, 80, 0.08);
  --radius: 20px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: 'Nunito', sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at -80px 170px, rgba(255, 214, 230, 0.9) 0 120px, transparent 121px),
    radial-gradient(circle at 105% 80px, rgba(190, 232, 255, 0.85) 0 130px, transparent 131px),
    linear-gradient(180deg, #fffdf8 0%, #fff8ed 45%, #fffaf2 100%);
  overflow-x: hidden;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

.container {
  width: min(1200px, 92%);
  margin: 0 auto;
}

.header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--white);
  padding: 16px 0;
  box-shadow: 0 4px 24px rgba(20, 25, 70, 0.05);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.logo {
  font-size: 27px;
  font-weight: 800;
  letter-spacing: 0.05em;
  background: linear-gradient(90deg, #ff5f8f, #ffc33c, #61d77f, #4dabf7, #9d7bff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  white-space: nowrap;
}

.logo-sub {
  margin-top: 2px !important;
  color: #768098 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: lowercase !important;
}

.nav {
  display: flex;
  align-items: center;
  gap: 34px;
}

.nav a {
  font-size: 15px;
  font-weight: 800;
  transition: 0.25s;
}

.nav a:hover {
  color: var(--accent);
}

.header-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(45deg, var(--accent), var(--accent-2));
  color: var(--white);
  padding: 13px 22px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 10px 24px rgba(255, 95, 143, 0.28);
}

.hero {
  position: relative;
  min-height: 360px;
  margin-top: 26px;
  padding: 48px 60px;
  border-radius: 24px;
  background: url('assets/img/hero.png') no-repeat center right;
  background-size: cover;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(255, 250, 242, 0.98) 0%,
    rgba(255, 250, 242, 0.82) 38%,
    rgba(255, 250, 242, 0.15) 68%,
    rgba(255, 250, 242, 0) 100%
  );
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 530px;
}

.hero h1 {
  margin: 0 0 14px;
  font-size: clamp(34px, 4.5vw, 52px);
  line-height: 1.08;
  font-weight: 800;
}

.hero p {
  margin: 0 0 24px;
  color: #172449;
  font-size: 18px;
  line-height: 1.45;
}

.btn {
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(45deg, var(--accent), var(--accent-2));
  color: var(--white);
  padding: 14px 28px;
  border-radius: 999px;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(255, 95, 143, 0.25);
  transition: 0.25s;
}

.btn:hover,
.cards-nav button:hover,
.subscribe button:hover {
  transform: translateY(-2px);
}

.features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
  align-items: center;
  margin: 42px auto 48px;
  padding: 26px 28px;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(34, 40, 80, 0.04);
}

.feature-item {
  display: flex;
  align-items: center;
  gap: 16px;
}

.feature-icon {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 30px;
}

.feature-icon.pink { background: var(--pink); }
.feature-icon.yellow { background: var(--yellow); }
.feature-icon.green { background: var(--green); }
.feature-icon.blue { background: var(--blue); }

.feature-item h3 {
  margin: 0 0 5px;
  font-size: 18px;
  font-weight: 800;
}

.feature-item p {
  margin: 0;
  color: #1d294d;
  font-size: 15px;
  line-height: 1.25;
}


.workshops {
  background: rgba(255, 249, 239, 0.94);
  border: 1px solid rgba(255, 216, 92, 0.55);
  border-radius: 28px;
  padding: 34px 36px 40px;
  box-shadow: 0 14px 34px rgba(34, 40, 80, 0.06);
}

.section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.section-head h2 {
  margin: 0 0 10px;
  color: #071d52;
  font-size: clamp(32px, 4.5vw, 44px);
  line-height: 1.05;
  font-weight: 800;
}

.section-head p {
  margin: 0;
  max-width: 520px;
  color: #4b5a78;
  font-size: 19px;
  line-height: 1.45;
}

.cards-nav {
  display: flex;
  gap: 14px;
  padding-top: 12px;
}

.cards-nav button {
  width: 58px;
  height: 58px;
  border: none;
  border-radius: 50%;
  background: var(--white);
  color: var(--accent);
  cursor: pointer;
  font-size: 28px;
  font-weight: 800;
  box-shadow: 0 10px 28px rgba(27, 39, 94, 0.1);
  transition: 0.25s;
}

.cards-scroll {
  overflow-x: auto;
  padding: 4px 2px 16px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.cards-scroll::-webkit-scrollbar {
  display: none;
}

.cards {
  display: flex;
  gap: 28px;
  width: max-content;
}

.card {
  width: 290px;
  flex: 0 0 290px;
  background: var(--white);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(27, 39, 94, 0.12);
  transition: 0.25s;
}

.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(27, 39, 94, 0.16);
}

.card img {
  width: 100%;
  height: 205px;
  object-fit: cover;
}

.card-content {
  padding: 18px 18px 20px;
}

.tag {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 12px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tag-pink { background: #ffd5e2; color: #cc3f6b; }
.tag-yellow { background: #ffe58a; color: #6d5310; }
.tag-green { background: #d9f4b5; color: #3c7c26; }

.card h3 {
  margin: 0 0 16px;
  color: #071d52;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 800;
}

.card p {
  margin: 0 0 12px;
  color: #24365d;
  font-size: 16px;
  line-height: 1.35;
}

.card-icon {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  color: var(--accent);
  font-weight: 900;
}

.card-meta,
.card-price {
  font-weight: 700;
}

.card-place {
  color: var(--muted) !important;
}

.card-whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 18px;
  padding: 13px 14px;
  border: 2px solid #32c45b;
  border-radius: 999px;
  color: #20a944;
  background: #ffffff;
  font-size: 15px;
  font-weight: 800;
  transition: 0.25s;
}

.card-whatsapp:hover {
  transform: translateY(-2px);
  background: #32c45b;
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(50, 196, 91, 0.22);
}


.workshops-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 34px;
}

.workshops-more-btn {
  min-width: 280px;
}


/* HOW TO BOOK */

.workshop-help-new {
  margin: 34px auto 0;
  padding: 28px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 18%, rgba(255, 95, 143, 0.12) 0 48px, transparent 49px),
    radial-gradient(circle at 94% 12%, rgba(115, 201, 245, 0.18) 0 58px, transparent 59px),
    linear-gradient(135deg, #fff3f7 0%, #fffaf2 100%);
  border: 2px dashed var(--accent);
  text-align: center;
  box-shadow: 0 12px 28px rgba(255, 95, 143, 0.10);
}

.workshop-help-new h3 {
  margin: 0 0 22px;
  font-size: 28px;
  color: var(--accent);
  font-weight: 800;
}

.steps {
  display: flex;
  justify-content: center;
  gap: 26px;
  flex-wrap: wrap;
}

.step {
  width: 190px;
  min-height: 128px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 18px 20px;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(27, 39, 94, 0.10);
  opacity: 0;
  transform: translateY(18px) scale(0.96);
  animation: stepFadeUp 0.7s ease forwards;
}

.step:nth-child(1) {
  animation-delay: 0.15s;
}

.step:nth-child(2) {
  animation-delay: 0.35s;
}

.step:nth-child(3) {
  animation-delay: 0.55s;
}

.step:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(27, 39, 94, 0.14);
}

.step-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(45deg, var(--accent), var(--accent-2));
  color: #ffffff;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(255, 95, 143, 0.22);
}

.step p {
  margin: 0;
  color: #16213e;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
}

@keyframes stepFadeUp {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 760px) {
  .workshop-help-new {
    padding: 24px 18px;
  }

  .step {
    width: 100%;
    max-width: 260px;
  }
}

/* LOCATIONS */

.locations {
  margin: 50px auto 0;
  padding: 24px;
  background: rgba(255, 255, 255, 0.78);
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(34, 40, 80, 0.05);
}

.locations h2 {
  margin: 0 0 18px;
  text-align: center;
  font-size: clamp(28px, 4vw, 36px);
  font-weight: 800;
  color: #071d52;
}

.locations-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.location-card {
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(27, 39, 94, 0.1);
  background: #ffffff;
}

.location-card img {
  width: 100%;
  height: 130px;
  object-fit: cover;
}

.location-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
}

.location-content h3 {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 800;
  color: #071d52;
}

.location-content p {
  margin: 0;
  font-size: 14px;
  color: #1f2f4d;
}

.location-pink .location-content {
  background: #ffd2e1;
}

.location-yellow .location-content {
  background: #ffe77a;
}

.location-green .location-content {
  background: #c9f09a;
}


/* INSTAGRAM */

.instagram-section {
  margin: 22px auto 32px;
}

.instagram-strip {
  position: relative;
  display: grid;
  grid-template-columns: 290px 1fr;
  gap: 26px;
  align-items: center;
  overflow: hidden;
  padding: 18px 28px;
  border: 2px solid var(--accent);
  border-radius: 20px;
  background: linear-gradient(135deg, #fff8fb 0%, #fff3f7 100%);
  box-shadow: 0 12px 28px rgba(255, 95, 143, 0.10);
}

.instagram-info {
  position: relative;
  z-index: 2;
}

.instagram-info h2 {
  margin: 0 0 10px;
  color: #071d52;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 800;
}

.instagram-info p {
  margin: 0 0 16px;
  color: #24324a;
  font-size: 15px;
  line-height: 1.35;
  max-width: 260px;
}

.instagram-name {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--accent);
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 14px;
}

.instagram-name span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(135deg, #ff5f8f, #ffb13b);
  color: #ffffff;
  font-size: 18px;
}

.instagram-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 230px;
  padding: 13px 22px;
  border-radius: 999px;
  background: linear-gradient(45deg, var(--accent), var(--accent-2));
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(255, 95, 143, 0.22);
  transition: 0.25s;
}

.instagram-btn:hover {
  transform: translateY(-2px);
}

.instagram-photos {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 22px;
}

.instagram-photos img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(27, 39, 94, 0.12);
}

.inst-heart {
  position: absolute;
  color: var(--accent);
  line-height: 1;
  opacity: 0.9;
}

.inst-heart-1 {
  right: -18px;
  top: 20px;
  font-size: 28px;
  transform: rotate(-18deg);
}

.inst-heart-2 {
  right: -44px;
  top: 42px;
  font-size: 18px;
  transform: rotate(15deg);
}

.inst-lines {
  position: absolute;
  right: -5px;
  bottom: 22px;
  color: var(--accent);
  font-size: 44px;
  font-weight: 800;
  transform: rotate(90deg);
  letter-spacing: -12px;
}


.subscribe {
  background: linear-gradient(45deg, #4dabf7, #74c0fc);
  padding: 22px 0;
  color: var(--white);
}

.subscribe-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.subscribe-text h2 {
  margin: 0 0 6px;
  font-size: 24px;
  font-weight: 800;
  color: var(--white);
}

.subscribe-text p {
  margin: 0;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.92);
}

.subscribe-form {
  display: flex;
  width: min(520px, 100%);
  min-width: 360px;
  background: var(--white);
  border-radius: 999px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(20, 25, 70, 0.12);
}

.subscribe input {
  flex: 1;
  min-width: 0;
  border: none;
  padding: 15px 22px;
  border-radius: 999px 0 0 999px;
  color: var(--text);
  background: var(--white);
  letter-spacing: 0.02em;
}

.subscribe input:focus {
  outline: none;
}

.subscribe button {
  border: none;
  border-radius: 0 999px 999px 0;
  background: var(--accent);
  color: var(--white);
  padding: 15px 34px;
  font-weight: 800;
  cursor: pointer;
  transition: 0.25s;
  white-space: nowrap;
}

.footer {
  text-align: center;
  padding: 24px;
}

.whatsapp-btn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 100;
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  background: #25d366;
  color: var(--white);
  border-radius: 50%;
  font-size: 28px;
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35);
}

.whatsapp-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 50%;
  background: #25d366;
  opacity: 0.45;
  animation: pulse 1.8s infinite;
}

.fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: 0.8s;
}

.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}

@keyframes pulse {
  0% { transform: scale(1); opacity: 0.45; }
  70%, 100% { transform: scale(1.45); opacity: 0; }
}


@media (max-width: 900px) {
  .instagram-strip {
    grid-template-columns: 1fr;
  }

  .instagram-info p {
    max-width: none;
  }

  .instagram-photos {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 520px) {
  .instagram-strip {
    padding: 20px;
  }

  .instagram-photos {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .instagram-btn {
    width: 100%;
    min-width: 0;
  }
}


@media (max-width: 760px) {
  .subscribe {
    padding: 28px 0;
  }

  .subscribe-inner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .subscribe-form {
    min-width: 0;
    width: 100%;
  }

  .subscribe input {
    border-radius: 999px 0 0 999px;
  }

  .subscribe button {
    border-radius: 0 999px 999px 0;
  }
}

@media (max-width: 480px) {
  .subscribe-form {
    flex-direction: column;
    gap: 10px;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
  }

  .subscribe input,
  .subscribe button {
    width: 100%;
    border-radius: 999px;
  }
}


@media (max-width: 980px) {
  .locations-grid {
    grid-template-columns: 1fr;
  }

  .location-card img {
    height: 180px;
  }
}


@media (max-width: 980px) {
  .header-inner {
    flex-wrap: wrap;
    justify-content: center;
  }

  .nav {
    order: 3;
    width: 100%;
    justify-content: center;
    gap: 18px;
  }

  .features {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 700px) {
  .hero {
    min-height: 520px;
    align-items: flex-start;
    padding: 32px 24px;
    background-position: center bottom;
  }

  .hero::before {
    background: linear-gradient(
      to bottom,
      rgba(255, 250, 242, 0.98) 0%,
      rgba(255, 250, 242, 0.8) 45%,
      rgba(255, 250, 242, 0.15) 100%
    );
  }

  .features {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .section-head {
    align-items: flex-start;
    flex-direction: column;
  }
.subscribe input,
  .subscribe button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .header-whatsapp {
    width: 100%;
  }

  .nav {
    gap: 12px;
    font-size: 14px;
  }

  .hero h1 {
    font-size: 30px;
  }

  .card {
    width: 210px;
    flex-basis: 210px;
  }
}


.location-text {
  font-size: 14px;
  color: #1f2f4d;
  margin-bottom: 4px;
}

.location-phone {
  font-size: 13px;
  color: #5a6b8a;
}


.location-card {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.location-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(27, 39, 94, 0.16);
}

.location-card:hover img {
  transform: scale(1.04);
}

.location-card img {
  transition: transform 0.35s ease;
}

.location-content::after {
  content: "Позвонить";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  padding: 8px 14px;
  border-radius: 999px;
  background: #ffffff;
  color: #071d52;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 6px 16px rgba(27, 39, 94, 0.12);
  white-space: nowrap;
}

@media (max-width: 520px) {
  .location-content {
    align-items: flex-start;
    flex-direction: column;
  }

  .location-content::after {
    margin-left: 0;
  }
}


/* ALL WORKSHOPS PAGE */

.all-workshops-page {
  padding-bottom: 60px;
}

.all-hero {
  position: relative;
  min-height: 380px;
  margin-top: 26px;
  padding: 70px 70px;
  border-radius: 28px;
  overflow: hidden;
  background: url('assets/img/hero.png') no-repeat center right;
  background-size: cover;
  box-shadow: 0 14px 34px rgba(34, 40, 80, 0.06);
}

.all-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 0% 50%, rgba(255, 214, 230, 0.9) 0 130px, transparent 131px),
    radial-gradient(circle at 100% 12%, rgba(190, 232, 255, 0.75) 0 130px, transparent 131px),
    linear-gradient(
      to right,
      rgba(255, 250, 242, 0.98) 0%,
      rgba(255, 250, 242, 0.88) 42%,
      rgba(255, 250, 242, 0.25) 68%,
      rgba(255, 250, 242, 0) 100%
    );
}

.all-hero-content {
  position: relative;
  z-index: 2;
  max-width: 560px;
}

.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
  color: #31436b;
  font-weight: 800;
  font-size: 16px;
}

.breadcrumbs a {
  color: #31436b;
}

.all-hero h1 {
  margin: 0 0 22px;
  color: #071d52;
  font-size: clamp(44px, 5.5vw, 68px);
  line-height: 1.02;
  font-weight: 800;
}

.all-hero p {
  margin: 0;
  color: #142657;
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.35;
  font-weight: 700;
}

.filters-panel {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  gap: 18px;
  align-items: end;
  margin-top: -44px;
  padding: 26px 28px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 14px 34px rgba(27, 39, 94, 0.12);
  backdrop-filter: blur(12px);
}

.filter-item {
  position: relative;
  display: grid;
  grid-template-columns: 46px 1fr;
  grid-template-areas:
    "icon label"
    "icon select";
  gap: 6px 14px;
  align-items: center;
}

.filter-icon {
  grid-area: icon;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f4f6fb;
  color: #071d52;
  font-size: 24px;
  box-shadow: inset 0 0 0 1px rgba(16, 31, 70, 0.06);
}

.filter-item label {
  grid-area: label;
  color: #071d52;
  font-size: 15px;
  font-weight: 800;
}

.filter-item select {
  grid-area: select;
  width: 100%;
  min-height: 44px;
  padding: 10px 36px 10px 14px;
  border: 1px solid #e4e9f4;
  border-radius: 12px;
  background: #ffffff;
  color: #26365f;
  font-weight: 700;
  cursor: pointer;
}

.filter-item select:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(255, 95, 143, 0.12);
}

.reset-filters {
  min-height: 44px;
  padding: 12px 18px;
  border: 1px solid #e4e9f4;
  border-radius: 14px;
  background: #ffffff;
  color: #26365f;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(27, 39, 94, 0.06);
  transition: 0.25s;
  white-space: nowrap;
}

.reset-filters:hover {
  transform: translateY(-2px);
  color: var(--accent);
  box-shadow: 0 12px 22px rgba(27, 39, 94, 0.10);
}

@media (max-width: 1100px) {
  .filters-panel {
    grid-template-columns: repeat(2, 1fr);
  }

  .reset-filters {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  .all-hero {
    min-height: 500px;
    padding: 34px 24px;
    background-position: center bottom;
  }

  .all-hero::before {
    background:
      radial-gradient(circle at 0% 35%, rgba(255, 214, 230, 0.9) 0 100px, transparent 101px),
      linear-gradient(
        to bottom,
        rgba(255, 250, 242, 0.98) 0%,
        rgba(255, 250, 242, 0.82) 48%,
        rgba(255, 250, 242, 0.18) 100%
      );
  }

  .filters-panel {
    grid-template-columns: 1fr;
    margin-top: 20px;
    padding: 22px;
  }

  .filter-item {
    grid-template-columns: 42px 1fr;
  }
}


/* ALL WORKSHOPS CARDS */

.all-cards-section {
  margin-top: 34px;
  padding: 18px;
  border-radius: 24px;
  background: rgba(255, 249, 239, 0.82);
}

.all-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}

.all-workshop-card {
  overflow: hidden;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(27, 39, 94, 0.10);
  transition: 0.25s ease;
}

.all-workshop-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(27, 39, 94, 0.14);
}

.all-workshop-card img {
  width: 100%;
  height: 215px;
  object-fit: cover;
}

.all-card-content {
  padding: 14px 16px 16px;
}

.all-tag {
  display: inline-flex;
  max-width: 100%;
  margin-bottom: 12px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tag-blue {
  background: #d9efff;
  color: #226da6;
}

.tag-purple {
  background: #eee2ff;
  color: #6d4baa;
}

.all-card-content h3 {
  min-height: 58px;
  margin: 0 0 12px;
  color: #071d52;
  font-size: 21px;
  line-height: 1.18;
  font-weight: 800;
}

.all-card-content p {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 10px;
  color: #24365d;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
}

.all-card-content p span {
  width: 18px;
  flex: 0 0 18px;
  color: var(--accent);
}

.all-card-content p b {
  color: #8a93aa;
}

.all-card-whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 14px;
  padding: 11px 12px;
  border-radius: 10px;
  background: #32c45b;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 8px 16px rgba(50, 196, 91, 0.18);
  transition: 0.25s;
}

.all-card-whatsapp:hover {
  transform: translateY(-2px);
  background: #24b14d;
}

@media (max-width: 1100px) {
  .all-cards-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 800px) {
  .all-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .all-workshop-card img {
    height: 190px;
  }
}

@media (max-width: 520px) {
  .all-cards-section {
    padding: 12px;
  }

  .all-cards-grid {
    grid-template-columns: 1fr;
  }
}


/* HOW BOOK NEW */

.how-book {
  margin: 42px auto 0;
}

.how-book-inner {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 28px;
  align-items: center;
  padding: 28px 34px;
  border: 2px dashed var(--accent);
  border-radius: 22px;
  background:
    radial-gradient(circle at 8% 80%, rgba(117, 217, 139, 0.18) 0 45px, transparent 46px),
    radial-gradient(circle at 96% 12%, rgba(255, 95, 143, 0.13) 0 48px, transparent 49px),
    linear-gradient(135deg, #fff3f7 0%, #fffaf2 100%);
  box-shadow: 0 12px 30px rgba(255, 95, 143, 0.10);
}

.how-mascot {
  font-size: 96px;
  line-height: 1;
  justify-self: center;
  filter: drop-shadow(0 12px 18px rgba(27, 39, 94, 0.14));
  opacity: 0;
  transform: translateX(-18px) scale(0.92);
  animation: mascotPop 0.8s ease forwards;
}

.how-content h2 {
  margin: 0 0 24px;
  color: #071d52;
  font-size: 30px;
  font-weight: 800;
  text-align: left;
}

.how-steps {
  display: grid;
  grid-template-columns: 1fr 42px 1fr 42px 1fr;
  gap: 14px;
  align-items: center;
}

.how-step {
  position: relative;
  display: grid;
  grid-template-columns: 42px 58px 1fr;
  gap: 12px;
  align-items: center;
  opacity: 0;
  transform: translateY(18px) scale(0.96);
  animation: howStepFade 0.7s ease forwards;
}

.how-step:nth-of-type(1) {
  animation-delay: 0.18s;
}

.how-step:nth-of-type(2) {
  animation-delay: 0.38s;
}

.how-step:nth-of-type(3) {
  animation-delay: 0.58s;
}

.circle {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--accent);
  color: #ffffff;
  font-size: 16px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(255, 95, 143, 0.22);
}

.circle-yellow {
  background: #ffd85c;
  color: #ffffff;
}

.circle-blue {
  background: #73c9f5;
  color: #ffffff;
}

.how-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5ff;
  font-size: 26px;
  box-shadow: inset 0 0 0 1px rgba(16, 31, 70, 0.06);
}

.how-step p {
  margin: 0;
  color: #142657;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 800;
  text-align: left;
}

.how-arrow {
  color: #b6c6df;
  font-size: 34px;
  font-weight: 800;
  opacity: 0;
  transform: translateX(-10px);
  animation: arrowFade 0.6s ease forwards;
}

.how-arrow:nth-of-type(1) {
  animation-delay: 0.3s;
}

.how-arrow:nth-of-type(2) {
  animation-delay: 0.5s;
}

.how-heart {
  position: absolute;
  color: var(--accent);
  line-height: 1;
  opacity: 0;
  animation: heartFloat 1.2s ease forwards;
}

.how-heart-1 {
  right: 36px;
  top: 32px;
  font-size: 24px;
  animation-delay: 0.7s;
}

.how-heart-2 {
  right: 64px;
  top: 58px;
  font-size: 18px;
  animation-delay: 0.9s;
}

.back-home-wrap {
  display: flex;
  justify-content: center;
  margin: 24px auto 46px;
}

.back-home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 270px;
  padding: 14px 28px;
  border: 2px solid var(--accent);
  border-radius: 999px;
  background: #ffffff;
  color: var(--accent);
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(255, 95, 143, 0.12);
  transition: 0.25s;
}

.back-home-btn:hover {
  transform: translateY(-2px);
  background: var(--accent);
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(255, 95, 143, 0.22);
}

@keyframes howStepFade {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes arrowFade {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes mascotPop {
  from {
    opacity: 0;
    transform: translateX(-18px) scale(0.92);
  }

  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes heartFloat {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.8) rotate(-8deg);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1) rotate(0);
  }
}

@media (max-width: 900px) {
  .how-book-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .how-content h2 {
    text-align: center;
  }

  .how-steps {
    grid-template-columns: 1fr;
  }

  .how-arrow {
    transform: rotate(90deg);
  }

  .how-step {
    max-width: 420px;
    margin: 0 auto;
  }
}

@media (max-width: 520px) {
  .how-book-inner {
    padding: 24px 18px;
  }

  .how-mascot {
    font-size: 76px;
  }

  .how-step {
    grid-template-columns: 36px 52px 1fr;
  }

  .how-icon {
    width: 52px;
    height: 52px;
  }

  .back-home-btn {
    width: 100%;
    min-width: 0;
  }
}


/* FINAL VISUAL POLISH */

:root {
  --soft-card: rgba(255, 255, 255, 0.82);
  --soft-border: rgba(255, 95, 143, 0.14);
  --shadow-soft: 0 14px 34px rgba(34, 40, 80, 0.08);
  --shadow-hover: 0 20px 42px rgba(34, 40, 80, 0.14);
}

body { min-height: 100vh; }

.header { backdrop-filter: blur(14px); }

.nav a.active,
.nav a[aria-current="page"] { color: var(--accent); }

.hero,
.workshops,
.locations,
.instagram-strip,
.all-hero,
.filters-panel,
.all-cards-section,
.how-book-inner,
.workshop-help-new,
.features {
  border: 1px solid var(--soft-border);
}

.hero,
.all-hero,
.all-cards-section { box-shadow: var(--shadow-soft); }

.features { backdrop-filter: blur(10px); }

.feature-item { min-height: 82px; }

.workshops { margin-top: 18px; }

.card,
.all-workshop-card,
.location-card {
  border: 1px solid rgba(27, 39, 94, 0.06);
}

.card img,
.all-workshop-card img,
.location-card img,
.instagram-photos img {
  background: #f7f4f0;
}

.card-whatsapp,
.all-card-whatsapp {
  border: none;
  background: linear-gradient(45deg, #25d366, #32c45b);
  color: #ffffff;
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(37, 211, 102, 0.20);
}

.card-whatsapp:hover,
.all-card-whatsapp:hover {
  background: linear-gradient(45deg, #20bd5a, #29b957);
  box-shadow: 0 14px 28px rgba(37, 211, 102, 0.26);
}

.location-card { transition: transform 0.25s ease, box-shadow 0.25s ease; }

.location-content { min-height: 118px; }

.location-content::after { transition: 0.25s ease; }

.location-card:hover .location-content::after {
  background: var(--accent);
  color: #ffffff;
}

.instagram-strip { min-height: 210px; }

.subscribe {
  margin-top: 28px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.footer {
  color: #526078;
  font-weight: 700;
}

.all-workshops-page { padding-bottom: 20px; }

.all-cards-grid { align-items: stretch; }

.all-workshop-card {
  display: flex;
  flex-direction: column;
}

.all-card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.all-card-content h3 { min-height: 54px; }

.all-card-whatsapp { margin-top: auto; }

.filters-panel select,
.subscribe input {
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.reset-filters { border-color: rgba(255, 95, 143, 0.18); }

.reset-filters:hover { border-color: var(--accent); }

.how-step:nth-child(1) { animation-delay: 0.18s; }
.how-step:nth-child(3) { animation-delay: 0.38s; }
.how-step:nth-child(5) { animation-delay: 0.58s; }
.how-arrow:nth-child(2) { animation-delay: 0.28s; }
.how-arrow:nth-child(4) { animation-delay: 0.48s; }

.btn,
.header-whatsapp,
.instagram-btn,
.back-home-btn,
.card-whatsapp,
.all-card-whatsapp,
.reset-filters {
  will-change: transform;
}

@media (max-width: 1100px) {
  .all-cards-grid { grid-template-columns: repeat(3, 1fr); }
  .filters-panel { grid-template-columns: repeat(2, 1fr); }
  .reset-filters { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
  .header-inner { gap: 18px; }
  .nav { row-gap: 10px; }
  .features { grid-template-columns: repeat(2, 1fr); }
  .locations-grid { grid-template-columns: 1fr; }
  .location-card img { height: 190px; }
  .instagram-strip { grid-template-columns: 1fr; }
  .instagram-info p { max-width: none; }
  .instagram-photos { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 800px) {
  .all-cards-grid { grid-template-columns: repeat(2, 1fr); }
  .all-workshop-card img { height: 190px; }
}

@media (max-width: 700px) {
  .container { width: min(100% - 28px, 1200px); }

  .header { padding: 12px 0; }

  .header-inner {
    flex-direction: column;
    gap: 12px;
  }

  .nav {
    order: 2;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 18px;
  }

  .header-whatsapp {
    order: 3;
    width: 100%;
  }

  .hero {
    min-height: 500px;
    padding: 32px 24px;
    align-items: flex-start;
    background-position: center bottom;
  }

  .hero::before {
    background: linear-gradient(
      to bottom,
      rgba(255, 250, 242, 0.98) 0%,
      rgba(255, 250, 242, 0.82) 48%,
      rgba(255, 250, 242, 0.12) 100%
    );
  }

  .features {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 20px;
  }

  .workshops,
  .locations,
  .all-cards-section {
    padding: 18px;
    border-radius: 22px;
  }

  .section-head { flex-direction: column; }
  .section-head p { font-size: 16px; }
  .cards { gap: 18px; }

  .card {
    width: 260px;
    flex-basis: 260px;
  }

  .card img { height: 180px; }

  .all-hero {
    min-height: 470px;
    padding: 34px 24px;
    background-position: center bottom;
  }

  .all-hero::before {
    background:
      linear-gradient(
        to bottom,
        rgba(255, 250, 242, 0.98) 0%,
        rgba(255, 250, 242, 0.84) 52%,
        rgba(255, 250, 242, 0.14) 100%
      );
  }

  .filters-panel {
    grid-template-columns: 1fr;
    margin-top: 20px;
    padding: 20px;
  }

  .filter-item { grid-template-columns: 42px 1fr; }

  .how-book-inner {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 24px 18px;
  }

  .how-content h2 { text-align: center; }
  .how-steps { grid-template-columns: 1fr; }
  .how-arrow { transform: rotate(90deg); }

  .how-step {
    max-width: 420px;
    margin: 0 auto;
  }

  .subscribe-inner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .subscribe-form {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 520px) {
  .logo { font-size: 24px; }
  .nav a { font-size: 14px; }
  .hero h1 { font-size: 30px; }

  .hero p,
  .all-hero p { font-size: 17px; }

  .card {
    width: 235px;
    flex-basis: 235px;
  }

  .all-cards-grid { grid-template-columns: 1fr; }

  .instagram-photos {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .instagram-btn,
  .back-home-btn {
    width: 100%;
    min-width: 0;
  }

  .subscribe-form {
    flex-direction: column;
    gap: 10px;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
  }

  .subscribe input,
  .subscribe button {
    width: 100%;
    border-radius: 999px;
  }

  .whatsapp-btn {
    right: 14px;
    bottom: 14px;
    width: 54px;
    height: 54px;
    font-size: 25px;
  }
}
/* FINAL SITE CLEANUP */
:root{--soft-border:rgba(255,95,143,.14);--shadow-soft:0 14px 34px rgba(34,40,80,.08)}
.header{backdrop-filter:blur(14px)}.nav a.active{color:var(--accent)}
.hero,.workshops,.locations,.instagram-strip,.all-hero,.filters-panel,.all-cards-section,.how-book-inner,.workshop-help-new,.features{border:1px solid var(--soft-border)}
.hero,.all-hero,.all-cards-section{box-shadow:var(--shadow-soft)}
.card,.all-workshop-card,.location-card{border:1px solid rgba(27,39,94,.06)}
.card-whatsapp,.all-card-whatsapp{border:none;background:linear-gradient(45deg,#25d366,#32c45b);color:#fff;border-radius:999px;box-shadow:0 10px 22px rgba(37,211,102,.2)}
.card-whatsapp:hover,.all-card-whatsapp:hover{background:linear-gradient(45deg,#20bd5a,#29b957);box-shadow:0 14px 28px rgba(37,211,102,.26)}
.all-workshop-card,.cards .card{display:flex;flex-direction:column}
.all-card-content,.cards .card-content{display:flex;flex:1;flex-direction:column}
.all-card-whatsapp,.cards .card-whatsapp{margin-top:auto}
.tag-blue{background:#d9efff;color:#226da6}.tag-purple{background:#eee2ff;color:#6d4baa}
.location-content{min-height:118px}.location-content::after{transition:.25s ease}.location-card:hover .location-content::after{background:var(--accent);color:#fff}
.subscribe{margin-top:28px}.footer{color:#526078;font-weight:700}
@media(max-width:1100px){.all-cards-grid{grid-template-columns:repeat(3,1fr)}.filters-panel{grid-template-columns:repeat(2,1fr)}.reset-filters{grid-column:1/-1}}
@media(max-width:980px){.header-inner{gap:18px}.nav{row-gap:10px}.features{grid-template-columns:repeat(2,1fr)}.locations-grid{grid-template-columns:1fr}.location-card img{height:190px}.instagram-strip{grid-template-columns:1fr}.instagram-info p{max-width:none}.instagram-photos{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.all-cards-grid{grid-template-columns:repeat(2,1fr)}.all-workshop-card img{height:190px}}
@media(max-width:700px){.container{width:min(100% - 28px,1200px)}.header{padding:12px 0}.header-inner{flex-direction:column;gap:12px}.nav{order:2;width:100%;justify-content:center;flex-wrap:wrap;gap:12px 18px}.header-whatsapp{order:3;width:100%}.hero{min-height:500px;padding:32px 24px;align-items:flex-start;background-position:center bottom}.hero::before{background:linear-gradient(to bottom,rgba(255,250,242,.98) 0%,rgba(255,250,242,.82) 48%,rgba(255,250,242,.12) 100%)}.features{grid-template-columns:1fr;gap:18px;padding:20px}.workshops,.locations,.all-cards-section{padding:18px;border-radius:22px}.section-head{flex-direction:column}.section-head p{font-size:16px}.card{width:260px;flex-basis:260px}.card img{height:180px}.all-hero{min-height:470px;padding:34px 24px;background-position:center bottom}.filters-panel{grid-template-columns:1fr;margin-top:20px;padding:20px}.filter-item{grid-template-columns:42px 1fr}.how-book-inner{grid-template-columns:1fr;text-align:center;padding:24px 18px}.how-content h2{text-align:center}.how-steps{grid-template-columns:1fr}.how-arrow{transform:rotate(90deg)}.how-step{max-width:420px;margin:0 auto}.subscribe-inner{flex-direction:column;align-items:stretch;text-align:center}.subscribe-form{width:100%;min-width:0}}
@media(max-width:520px){.logo{font-size:24px}.nav a{font-size:14px}.hero h1{font-size:30px}.hero p,.all-hero p{font-size:17px}.card{width:235px;flex-basis:235px}.all-cards-grid{grid-template-columns:1fr}.instagram-photos{grid-template-columns:repeat(2,1fr);gap:12px}.instagram-btn,.back-home-btn{width:100%;min-width:0}.subscribe-form{flex-direction:column;gap:10px;background:transparent;box-shadow:none;border-radius:0}.subscribe input,.subscribe button{width:100%;border-radius:999px}.whatsapp-btn{right:14px;bottom:14px;width:54px;height:54px;font-size:25px}}

/* FINAL CARD UNIFICATION 2026-04-28 */
.card,
.all-workshop-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 16px;
  background: #ffffff;
}

.card-content,
.all-card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 14px 16px 16px;
}

.card h3,
.all-card-content h3 {
  min-height: 54px;
  margin: 0 0 12px;
  color: #071d52;
  font-size: 21px;
  line-height: 1.18;
  font-weight: 800;
}

.card-content p,
.all-card-content p {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 10px;
  color: #24365d;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
}

.card-icon,
.all-card-icon,
.card-content p > span,
.all-card-content p > span {
  display: inline-grid;
  place-items: center;
  width: 18px;
  min-width: 18px;
  height: 18px;
  margin-right: 0;
  color: var(--accent);
  font-weight: 900;
  line-height: 1;
}

.card-place,
.all-card-content p:nth-of-type(3) {
  color: var(--muted) !important;
}

.card-whatsapp,
.all-card-whatsapp {
  margin-top: auto;
  min-height: 42px;
  font-size: 13px;
  line-height: 1.2;
}

.card img,
.all-workshop-card img {
  height: 215px;
  object-fit: cover;
}

@media (max-width: 700px) {
  .card img,
  .all-workshop-card img {
    height: 190px;
  }
}

@media (max-width: 520px) {
  .card h3,
  .all-card-content h3 {
    font-size: 20px;
  }
}


/* SUBSCRIBE FORM MESSAGE */
.subscribe-action {
  width: min(520px, 100%);
  min-width: 360px;
}

.subscribe-action .subscribe-form {
  width: 100%;
  min-width: 0;
}

.subscribe-message {
  min-height: 22px;
  margin: 10px 12px 0;
  color: rgba(255, 255, 255, 0.96);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  opacity: 0;
  transform: translateY(-4px);
  transition: 0.25s ease;
}

.subscribe-message.show {
  opacity: 1;
  transform: translateY(0);
}

.subscribe-message-success::before {
  content: "✓ ";
}

.subscribe-message-error {
  color: #fff3f6;
}

.subscribe-message-error::before {
  content: "! ";
}

@media (max-width: 760px) {
  .subscribe-action {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .subscribe-message {
    margin: 8px 4px 0;
    text-align: center;
  }
}

/* PHONE VALIDATION */
.subscribe input.input-error {
  box-shadow: inset 0 0 0 2px rgba(255, 95, 143, 0.45);
}

.subscribe button:disabled {
  cursor: not-allowed;
  opacity: 0.75;
  transform: none !important;
}

/* КНОПКА КАК В МОБИЛЬНОЙ ВЕРСИИ 1:1 */
.back-mobile-link {
  display: none;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-height: 46px;

  margin: 16px auto 0;
  padding: 10px 16px;

  border: 2px dashed #ff5f8f;
  border-radius: 16px;

  background: rgba(255, 255, 255, 0.7);

  color: #ff5f8f;
  font-size: 14px;
  font-weight: 900;
  text-align: center;

  text-decoration: none;

  box-shadow: 0 6px 18px rgba(255, 95, 143, 0.08);
}

/* эффект нажатия как в mobile */
.back-mobile-link:active {
  transform: scale(0.98);
  background: #fff3f7;
}

/* показываем только на мобильных */
@media (max-width: 768px) {
  .back-mobile-link {
    display: flex;
  }
}

.back-mobile-link:hover {
  background: #fff3f7;
}

/* По умолчанию скрываем (для ПК) */
.mobile-fullsite-link,
.back-mobile-link {
  display: none;
}

/* Показываем только на мобильных и планшетах */
@media (max-width: 768px) {
  .mobile-fullsite-link,
  .back-mobile-link {
    display: flex;
  }
}

/* Фиксированный размер карточек ближайших мастер-классов */
.cards .all-workshop-card {
  width: 290px;
  min-width: 290px;
  max-width: 290px;
  flex: 0 0 290px;
  height: 520px;
}

.cards .all-card-content {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.cards .all-card-content h3 {
  min-height: 56px;
}

.cards .all-card-whatsapp {
  margin-top: auto;
}

/* чтобы длинный текст не расширял карточку */
.cards .all-workshop-card,
.cards .all-workshop-card * {
  box-sizing: border-box;
  max-width: 100%;
}

.cards .all-card-content p {
  overflow-wrap: anywhere;
}

/* адаптация */
@media (max-width: 700px) {
  .cards .all-workshop-card {
    width: 260px;
    min-width: 260px;
    max-width: 260px;
    flex-basis: 260px;
    height: 500px;
  }
}

@media (max-width: 520px) {
  .cards .all-workshop-card {
    width: 235px;
    min-width: 235px;
    max-width: 235px;
    flex-basis: 235px;
    height: 500px;
  }
}

/* ТВОРЧЕСКИЙ ЛАГЕРЬ — НОВЫЙ БЛОК */
.creative-camp {
  margin: 18px auto 48px;
}

.camp-board {
  position: relative;
  display: grid;
  grid-template-columns: minmax(420px, 0.95fr) minmax(480px, 1.05fr);
  gap: 32px;
  overflow: hidden;
  padding: 28px 28px 26px;
  border: 2px dashed rgba(255, 95, 143, 0.42);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 14%, rgba(255, 95, 143, 0.08) 0 62px, transparent 63px),
    radial-gradient(circle at 84% 10%, rgba(255, 216, 92, 0.18) 0 75px, transparent 76px),
    radial-gradient(circle at 62% 90%, rgba(115, 201, 245, 0.14) 0 86px, transparent 87px),
    linear-gradient(135deg, #fffdf8 0%, #fff8ee 100%);
  box-shadow: 0 16px 42px rgba(34, 40, 80, 0.08);
}

.camp-board::before {
  content: "";
  position: absolute;
  left: -30px;
  bottom: -20px;

  width: 260px;
  height: 360px;

  background: url('assets/img/camp-leaves.png') no-repeat left bottom / contain;

  opacity: 0.95;
  transform: rotate(-6deg);
  filter: drop-shadow(0 18px 28px rgba(27, 39, 94, 0.18));

  pointer-events: none;
  z-index: 1;
}

.camp-board::after {
  content: "✦  ·  ☀  ·  ♥";
  position: absolute;
  left: 36px;
  top: 78px;
  color: rgba(255, 95, 143, 0.5);
  font-size: 22px;
  letter-spacing: 34px;
  transform: rotate(-8deg);
  pointer-events: none;
}

.camp-hero-side,
.camp-schedule {
  position: relative;
  z-index: 2;
}

.camp-topline {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-bottom: 26px;
  flex-wrap: wrap;
}

.camp-wood-sign {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 13px 24px;
  border-radius: 9px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.14), transparent 26%),
    linear-gradient(180deg, #a5602d 0%, #7a421d 100%);
  color: #ffffff;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.02em;
  box-shadow: inset 0 -4px 0 rgba(88, 43, 18, 0.28), 0 9px 18px rgba(88, 43, 18, 0.18);
  transform: rotate(-3deg);
}

.camp-wood-sign span {
  color: #ffd85c;
  font-size: 30px;
}

.camp-ribbon {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 13px 32px;
  background: linear-gradient(45deg, #ff5f8f, #ff8aac);
  color: #ffffff;
  border-radius: 12px;
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 10px 18px rgba(255, 95, 143, 0.18);
  transform: rotate(-4deg);
}

.camp-ribbon::after {
  content: "";
  position: absolute;
  right: -19px;
  top: 0;
  border-top: 23px solid transparent;
  border-bottom: 23px solid transparent;
  border-left: 20px solid #ff8aac;
}

.camp-title-wrap {
  margin-bottom: 22px;
}

.camp-title-wrap h2 {
  margin: 0;
  color: #7046bf;
  font-size: clamp(46px, 6vw, 78px);
  line-height: 0.95;
  font-weight: 900;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  text-shadow: 0 4px 0 rgba(112, 70, 191, 0.08);
}

.camp-meta-row {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.camp-meta {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #6f42c1;
  font-size: 21px;
  font-weight: 900;
  white-space: nowrap;
}

.camp-meta:nth-child(2) {
  color: #19a6d6;
}

.camp-meta span {
  display: inline-grid;
  place-items: center;
  color: #ff5f8f;
  font-size: 24px;
}

.camp-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  max-width: 500px;
  margin: 0 0 24px;
  border: 1px solid rgba(255, 198, 135, 0.6);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.55);
}

.camp-benefit {
  min-height: 82px;
  display: grid;
  grid-template-columns: 42px 1fr;
  grid-template-areas:
    "icon title"
    "icon text";
  gap: 2px 10px;
  align-items: center;
  padding: 15px 14px;
  border-right: 1px solid rgba(255, 198, 135, 0.45);
}

.camp-benefit:last-child {
  border-right: none;
}

.camp-benefit strong {
  grid-area: icon;
  font-size: 32px;
  line-height: 1;
}

.camp-benefit b {
  grid-area: title;
  color: #071d52;
  font-size: 16px;
  font-weight: 900;
}

.camp-benefit span {
  grid-area: text;
  color: #071d52;
  font-size: 13px;
  font-weight: 800;
}

.camp-whatsapp {
  width: min(360px, 100%);
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-left: 74px;
  border-radius: 999px;
  background: linear-gradient(45deg, #25d366, #77d84d);
  color: #ffffff;
  font-size: 20px;
  font-weight: 900;
  box-shadow: 0 12px 26px rgba(37, 211, 102, 0.22);
  transition: 0.25s ease;
}

.camp-whatsapp:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(37, 211, 102, 0.28);
}

.camp-whatsapp span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 2px solid #ffffff;
  border-radius: 50%;
  font-size: 22px;
  line-height: 1;
}

.camp-schedule {
  display: grid;
  gap: 10px;
  align-content: center;
}

.camp-schedule-row {
  position: relative;
  min-height: 110px;
  padding: 6px 16px 6px 0;
  display: grid;
  grid-template-columns: 90px minmax(160px, 1fr) 230px;
  align-items: center;
  gap: 18px;
  overflow: hidden;
  backdrop-filter: blur(6px);

  border: 1.5px solid var(--camp-line, rgba(255, 95, 143, 0.35));
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 6px 16px rgba(27, 39, 94, 0.05);
}

.camp-day-number {
  height: 100%;
  min-height: 87px;
  display: grid;
  place-items: center;
  align-content: center;
  color: #ffffff;
  background: linear-gradient(160deg, var(--camp-color), var(--camp-color-2));
  text-align: center;
}

.camp-day-number b {
  display: block;
  font-size: 42px;
  line-height: 0.9;
  font-weight: 900;
}

.camp-day-number span {
  display: block;
  font-size: 16px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
}

.camp-day-text {
  color: #071d52;
  font-size: 18px;
  line-height: 1.25;
  max-width: 260px;
  font-weight: 900;
}

.camp-schedule-row img {
  width: 100%;
  height: 104px;
  object-fit: contain;
  object-position: right center;
  padding-right: 8px;
  transform: none;
  filter: drop-shadow(0 10px 16px rgba(27, 39, 94, 0.14));
}

.camp-pink {
  --camp-color: #ff5f8f;
  --camp-color-2: #ff8aac;
  --camp-line: rgba(255, 95, 143, 0.34);
}

.camp-orange {
  --camp-color: #ffb13b;
  --camp-color-2: #ffca4d;
  --camp-line: rgba(255, 177, 59, 0.42);
}

.camp-green {
  --camp-color: #8ed24d;
  --camp-color-2: #b3e66b;
  --camp-line: rgba(142, 210, 77, 0.48);
}

.camp-blue {
  --camp-color: #45bde9;
  --camp-color-2: #71d8f4;
  --camp-line: rgba(69, 189, 233, 0.48);
}

.camp-purple {
  --camp-color: #8e63d9;
  --camp-color-2: #b48af0;
  --camp-line: rgba(142, 99, 217, 0.45);
}

@media (max-width: 1100px) {
  .camp-board {
    grid-template-columns: 1fr;
  }

  .camp-whatsapp {
    margin-left: 0;
  }
}

@media (max-width: 700px) {
  .creative-camp {
    margin-top: 10px;
  }

  .camp-board {
    padding: 20px 16px 24px;
    border-radius: 24px;
  }

  .camp-board::before {
    width: 105px;
    height: 155px;
    opacity: 0.85;
  }

  .camp-topline {
    gap: 14px;
    margin-bottom: 18px;
  }

  .camp-wood-sign,
  .camp-ribbon {
    font-size: 17px;
  }

  .camp-title-wrap {
    align-items: flex-start;
    gap: 12px;
  }

  .camp-title-wrap h2 {
    font-size: 42px;
  }

  .camp-meta-row {
    gap: 12px;
  }

  .camp-meta {
    font-size: 16px;
  }

  .camp-benefits {
    grid-template-columns: 1fr;
  }

  .camp-benefit {
    border-right: none;
    border-bottom: 1px solid rgba(255, 198, 135, 0.45);
  }

  .camp-benefit:last-child {
    border-bottom: none;
  }

  .camp-whatsapp {
    width: 100%;
    font-size: 17px;
  }

  .camp-schedule-row {
    grid-template-columns: 74px 1fr;
    grid-template-areas:
      "day text"
      "day image";
    gap: 8px 12px;
    min-height: 122px;
    padding: 0 12px 8px 0;
  }

  .camp-day-number {
    grid-area: day;
    min-height: 122px;
  }

  .camp-day-number b {
    font-size: 34px;
  }

  .camp-day-number span {
    font-size: 13px;
  }

  .camp-day-text {
    grid-area: text;
    padding-top: 10px;
    font-size: 15px;
  }

  .camp-schedule-row img {
    grid-area: image;
    height: 68px;
    object-position: left center;
    padding-right: 0;
  }
}


/* LANDING ANIMATION — ТВОРЧЕСКИЙ ЛАГЕРЬ */
.creative-camp.show .camp-board {
  animation: campBoardReveal 0.9s ease both;
}

.creative-camp.show .camp-wood-sign,
.creative-camp.show .camp-ribbon,
.creative-camp.show .camp-title-wrap,
.creative-camp.show .camp-meta-row,
.creative-camp.show .camp-benefits,
.creative-camp.show .camp-whatsapp {
  animation: campLeftReveal 0.8s ease both;
}

.creative-camp.show .camp-wood-sign { animation-delay: 0.05s; }
.creative-camp.show .camp-ribbon { animation-delay: 0.14s; }
.creative-camp.show .camp-title-wrap { animation-delay: 0.22s; }
.creative-camp.show .camp-meta-row { animation-delay: 0.32s; }
.creative-camp.show .camp-benefits { animation-delay: 0.42s; }
.creative-camp.show .camp-whatsapp { animation-delay: 0.52s; }

.camp-schedule-row {
  transform-origin: right center;
}

.creative-camp.show .camp-schedule-row {
  animation: campRowReveal 0.75s cubic-bezier(.2,.9,.25,1.15) both;
}

.creative-camp.show .camp-schedule-row:nth-child(1) { animation-delay: 0.16s; }
.creative-camp.show .camp-schedule-row:nth-child(2) { animation-delay: 0.26s; }
.creative-camp.show .camp-schedule-row:nth-child(3) { animation-delay: 0.36s; }
.creative-camp.show .camp-schedule-row:nth-child(4) { animation-delay: 0.46s; }
.creative-camp.show .camp-schedule-row:nth-child(5) { animation-delay: 0.56s; }

.camp-schedule-row img {
  will-change: transform, opacity;
}

.creative-camp.show .camp-schedule-row img {
  animation: campImagePop 0.85s cubic-bezier(.2,.9,.25,1.25) both;
}

.creative-camp.show .camp-schedule-row:nth-child(1) img { animation-delay: 0.34s; }
.creative-camp.show .camp-schedule-row:nth-child(2) img { animation-delay: 0.44s; }
.creative-camp.show .camp-schedule-row:nth-child(3) img { animation-delay: 0.54s; }
.creative-camp.show .camp-schedule-row:nth-child(4) img { animation-delay: 0.64s; }
.creative-camp.show .camp-schedule-row:nth-child(5) img { animation-delay: 0.74s; }

.camp-schedule-row::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,0.58) 45%, transparent 70%);
  transform: translateX(-120%);
  pointer-events: none;
}

.creative-camp.show .camp-schedule-row::after {
  animation: campShine 1.1s ease both;
}

.creative-camp.show .camp-schedule-row:nth-child(1)::after { animation-delay: 0.45s; }
.creative-camp.show .camp-schedule-row:nth-child(2)::after { animation-delay: 0.55s; }
.creative-camp.show .camp-schedule-row:nth-child(3)::after { animation-delay: 0.65s; }
.creative-camp.show .camp-schedule-row:nth-child(4)::after { animation-delay: 0.75s; }
.creative-camp.show .camp-schedule-row:nth-child(5)::after { animation-delay: 0.85s; }

.camp-schedule-row:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 14px 26px rgba(27, 39, 94, 0.12);
}

.camp-schedule-row:hover img {
  transform: translateY(-2px) scale(1.04);
}

.camp-board::before {
  animation: campLeavesFloat 4.5s ease-in-out infinite;
}

@keyframes campBoardReveal {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes campLeftReveal {
  from {
    opacity: 0;
    transform: translateX(-24px) translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateX(0) translateY(0);
  }
}

@keyframes campRowReveal {
  from {
    opacity: 0;
    transform: translateX(42px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes campImagePop {
  0% {
    opacity: 0;
    transform: translateX(28px) scale(0.72) rotate(4deg);
  }
  65% {
    opacity: 1;
    transform: translateX(0) scale(1.08) rotate(-2deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1) rotate(0);
  }
}

@keyframes campShine {
  from {
    transform: translateX(-120%);
  }
  to {
    transform: translateX(120%);
  }
}

@keyframes campLeavesFloat {
  0%, 100% {
    transform: rotate(-6deg) translateY(0);
  }
  50% {
    transform: rotate(-4deg) translateY(-8px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .creative-camp.show .camp-board,
  .creative-camp.show .camp-wood-sign,
  .creative-camp.show .camp-ribbon,
  .creative-camp.show .camp-title-wrap,
  .creative-camp.show .camp-meta-row,
  .creative-camp.show .camp-benefits,
  .creative-camp.show .camp-whatsapp,
  .creative-camp.show .camp-schedule-row,
  .creative-camp.show .camp-schedule-row img,
  .creative-camp.show .camp-schedule-row::after,
  .camp-board::before {
    animation: none !important;
  }
}


/* === CAMP EXTRA ACTIVITIES FINAL FIX === */
.camp-extra-activities {
  position: relative;
  z-index: 3;
  display: block !important;
  width: min(500px, 100%);
  margin: 0 0 20px;
  padding: 14px 16px 13px;
  overflow: visible;
  border: 1.7px solid rgba(69, 189, 233, 0.38);
  border-radius: 20px;
  background:
    radial-gradient(circle at 96% 10%, rgba(255, 216, 92, 0.24) 0 42px, transparent 43px),
    linear-gradient(135deg, rgba(255,255,255,0.86) 0%, rgba(245,252,255,0.82) 100%);
  box-shadow: 0 8px 22px rgba(27, 39, 94, 0.06);
}

.camp-extra-title {
  width: fit-content;
  margin: 0 auto 12px;
  padding: 7px 24px 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #34bfd6, #18a9c5);
  color: #ffffff;
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  box-shadow: 0 8px 18px rgba(24, 169, 197, 0.22);
  transform: rotate(-1deg);
}

.camp-extra-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  align-items: start;
}

.camp-extra-item {
  display: grid;
  justify-items: center;
  gap: 6px;
  min-width: 0;
  text-align: center;
}

.camp-extra-icon {
  width: 64px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(255,255,255,0.84);
  font-size: 34px;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(27, 39, 94, 0.08);
}

.camp-extra-item span {
  color: #168fad;
  font-size: 12px;
  line-height: 1.08;
  font-weight: 900;
  text-transform: uppercase;
}

.camp-hero-side .camp-whatsapp {
  margin-top: 0;
}

@media (max-width: 1100px) {
  .camp-extra-activities {
    width: 100%;
  }
}

@media (max-width: 700px) {
  .camp-extra-activities {
    padding: 13px 10px 12px;
    border-radius: 18px;
  }

  .camp-extra-title {
    margin-bottom: 10px;
    padding: 6px 18px 7px;
    font-size: 11px;
  }

  .camp-extra-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 7px;
  }

  .camp-extra-icon {
    width: 48px;
    height: 42px;
    border-radius: 14px;
    font-size: 26px;
  }

  .camp-extra-item span {
    font-size: 9px;
    line-height: 1.05;
  }
}



/* === VACATION MARQUEE === */
.vacation-marquee{
position:relative;
z-index:999;
width:100%;
overflow:hidden;
background:linear-gradient(90deg,#ff5f8f,#ff8aac,#ffb347);
padding:12px 0;
box-shadow:0 6px 18px rgba(255,95,143,.18);
}

.vacation-marquee-track{
display:inline-block;
white-space:nowrap;
padding-left:100%;
color:#ffffff;
font-size:17px;
line-height:1;
font-weight:900;
letter-spacing:.01em;
animation:vacationMarquee 24s linear infinite;
text-shadow:0 2px 6px rgba(0,0,0,.12);
}

@keyframes vacationMarquee{
0%{transform:translateX(0);}
100%{transform:translateX(-100%);}
}

@media (max-width:700px){
.vacation-marquee{
padding:10px 0;
}

.vacation-marquee-track{
font-size:13px;
animation-duration:18s;
}
}
