/* MOBILE.CSS — отдельные стили только для mobile.html */
: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); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.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;
}
.locations-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  margin: 12px auto 24px;
}
.location-card {
  display: block;
  overflow: hidden;
  border-radius: 14px;
  background: #ffffff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(27, 39, 94, 0.09);
}
.location-card img { width: 100%; height: 72px; object-fit: cover; }
.location-content { min-height: 98px; padding: 9px 7px 10px; }
.location-content h3 { margin: 0 0 5px; color: #071d52; font-size: 11px; line-height: 1.15; font-weight: 900; }
.location-content p { margin: 0; color: #26365f; font-size: 9.5px; line-height: 1.25; font-weight: 700; }
.location-phone { margin-top: 4px !important; color: #526078 !important; }
.location-pink .location-content { background: #ffd2e1; }
.location-yellow .location-content { background: #ffe77a; }
.location-green .location-content { background: #c9f09a; }
@media (max-width: 360px) {
  .locations-grid { gap: 6px; }
  .location-card img { height: 64px; }
  .location-content { min-height: 94px; padding: 8px 6px; }
  .location-content h3 { font-size: 10px; }
  .location-content p { font-size: 8.8px; }
}
/* MOBILE SEPARATE PAGE */
.mobile-page-body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 0 110px, rgba(255, 214, 230, 0.9) 0 120px, transparent 121px),
    radial-gradient(circle at 100% 90px, rgba(190, 232, 255, 0.85) 0 130px, transparent 131px),
    linear-gradient(180deg, #fffdf8 0%, #fff8ed 100%);
}
.mobile-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
  box-shadow: 0 4px 24px rgba(20, 25, 70, 0.06);
}
.mobile-header-inner {
  width: min(100% - 28px, 520px);
  min-height: 72px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.mobile-logo { font-size: 24px; }
.mobile-menu-btn {
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 14px;
  background: #ffffff;
  color: #071d52;
  font-size: 28px;
  line-height: 1;
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(27, 39, 94, 0.10);
}
.mobile-empty-main { flex: 1; }
.mobile-footer {
  position: sticky;
  bottom: 0;
  z-index: 50;
  padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
  box-shadow: 0 -6px 24px rgba(20, 25, 70, 0.08);
}
.mobile-footer-inner {
  width: min(100%, 520px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.mobile-footer-btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(27, 39, 94, 0.12);
}
.mobile-footer-whatsapp { background: linear-gradient(45deg, #25d366, #32c45b); }
.mobile-footer-call { background: linear-gradient(45deg, var(--accent), var(--accent-2)); }
@media (min-width: 768px) { .mobile-page-body { display: none; } }

/* MOBILE HERO BLOCK — STATIC BACKGROUND */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.mobile-page-body {
  width: 100%;
  overflow-x: hidden;
  touch-action: pan-y;
}

.mobile-main {
  flex: 1;
  width: min(100% - 24px, 520px);
  margin: 0 auto;
  padding: 14px 0 92px;
  overflow: hidden;
}

.mobile-hero {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border-radius: 28px;
  background:
    linear-gradient(90deg, rgba(255, 250, 242, 0.98) 0%, rgba(255, 250, 242, 0.9) 44%, rgba(255, 250, 242, 0.36) 66%, rgba(255, 250, 242, 0.04) 100%),
    url("assets/img/hero-mobile-girl.jpg") no-repeat right center / cover,
    url("assets/img/hero.png") no-repeat right center / cover,
    linear-gradient(135deg, #fffaf2 0%, #fff3f8 48%, #fff8ee 100%);
  box-shadow: 0 14px 34px rgba(34, 40, 80, 0.10);
}

.mobile-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background:
    radial-gradient(circle at 6% 8%, rgba(255, 232, 184, 0.72) 0 76px, transparent 77px),
    radial-gradient(circle at 104% 10%, rgba(181, 229, 255, 0.70) 0 98px, transparent 99px),
    linear-gradient(180deg, rgba(255, 250, 242, 0) 0%, rgba(255, 250, 242, 0.24) 100%);
  pointer-events: none;
}

.mobile-hero-content {
  position: relative;
  z-index: 3;
  max-width: 72%;
  padding: 34px 22px 0;
}

.mobile-hero h1 {
  margin: 0 0 22px;
  color: #071d52;
  font-size: 29px;
  line-height: 1.28;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.mobile-hero h1 span {
  color: var(--accent);
}

.mobile-hero p {
  margin: 0 0 28px;
  color: #1d294d;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
}

.mobile-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 58px;
  padding: 0 22px;
  border-radius: 16px;
  background: linear-gradient(45deg, var(--accent), var(--accent-2));
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  box-shadow: 0 12px 28px rgba(255, 95, 143, 0.28);
}

.mobile-hero-btn-icon {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  font-size: 15px;
  line-height: 1;
}

.mobile-hero-star {
  position: absolute;
  z-index: 4;
  right: 31%;
  top: 14px;
  color: #ffd85c;
  font-size: 48px;
  line-height: 1;
  transform: rotate(12deg);
  text-shadow: 0 7px 16px rgba(255, 216, 92, 0.28);
}

.mobile-hero-heart {
  position: absolute;
  z-index: 4;
  right: 36%;
  top: 238px;
  color: var(--accent);
  font-size: 30px;
  line-height: 1;
  transform: rotate(-12deg);
  opacity: 0.88;
  text-shadow: 0 8px 16px rgba(255, 95, 143, 0.22);
}

.mobile-hero-dots {
  display: none !important;
}

@media (max-width: 420px) {
  .mobile-main {
    width: min(100% - 20px, 520px);
  }

  .mobile-hero {
    min-height: 510px;
    background:
      linear-gradient(90deg, rgba(255, 250, 242, 0.98) 0%, rgba(255, 250, 242, 0.92) 46%, rgba(255, 250, 242, 0.42) 68%, rgba(255, 250, 242, 0.08) 100%),
      url("assets/img/hero-mobile-girl.jpg") no-repeat right 42% center / cover,
      url("assets/img/hero.png") no-repeat right 42% center / cover,
      linear-gradient(135deg, #fffaf2 0%, #fff3f8 48%, #fff8ee 100%);
  }

  .mobile-hero-content {
    max-width: 74%;
    padding: 30px 18px 0;
  }

  .mobile-hero h1 {
    font-size: 25px;
  }

  .mobile-hero p {
    font-size: 14px;
  }

  .mobile-hero-btn {
    min-height: 54px;
    padding: 0 18px;
    font-size: 14px;
  }

  .mobile-hero-star {
    right: 29%;
    top: 12px;
    font-size: 42px;
  }

  .mobile-hero-heart {
    right: 34%;
    top: 230px;
    font-size: 28px;
  }
}

/* MOBILE HERO TOP COLOR BLEND */
.mobile-main {
  padding-top: 0;
}

.mobile-hero {
  margin-top: 0;
  border-radius: 0 0 28px 28px;
}

.mobile-hero::before {
  background:
    linear-gradient(180deg,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(255, 250, 242, 0.86) 10%,
      rgba(255, 246, 237, 0.48) 24%,
      rgba(255, 246, 237, 0.12) 42%,
      rgba(255, 250, 242, 0.24) 100%
    ),
    radial-gradient(circle at 6% 8%, rgba(255, 232, 184, 0.72) 0 76px, transparent 77px),
    radial-gradient(circle at 104% 10%, rgba(181, 229, 255, 0.70) 0 98px, transparent 99px);
}

.mobile-hero::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 150px;
  border-radius: inherit;
  background:
    linear-gradient(180deg,
      rgba(255, 255, 255, 0.92) 0%,
      rgba(255, 250, 242, 0.68) 35%,
      rgba(255, 246, 237, 0.22) 72%,
      rgba(255, 246, 237, 0) 100%
    );
  pointer-events: none;
}

.mobile-hero-content {
  z-index: 4;
}

.mobile-hero-star,
.mobile-hero-heart {
  z-index: 5;
}

/* MOBILE HERO WIDE FINAL */
html,
body,
.mobile-page-body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.mobile-main {
  width: min(100%, 520px);
  margin: 0 auto;
  padding: 0 0 84px;
  overflow: hidden;
}

.mobile-hero {
  min-height: 420px;
  height: auto;
  overflow: hidden;
  border-radius: 0 0 24px 24px;
  padding-bottom: 3mm;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,0.95) 0%,
      rgba(255,250,242,0.72) 18%,
      rgba(255,250,242,0.16) 42%,
      rgba(255,250,242,0) 100%
    ),
    linear-gradient(90deg,
      rgba(255,250,242,0.99) 0%,
      rgba(255,250,242,0.92) 42%,
      rgba(255,250,242,0.48) 61%,
      rgba(255,250,242,0.04) 100%
    ),
    url("assets/img/hero-mobile-girl.jpg") no-repeat right -10px bottom / auto 98%,
    url("assets/img/hero.png") no-repeat right bottom / cover,
    linear-gradient(135deg, #fffaf2 0%, #fff3f8 50%, #fff8ee 100%);
  box-shadow: 0 12px 30px rgba(34, 40, 80, 0.10);
}

.mobile-hero::before {
  background:
    radial-gradient(circle at 5% 10%, rgba(255, 232, 184, 0.42) 0 58px, transparent 59px),
    radial-gradient(circle at 104% 8%, rgba(181, 229, 255, 0.44) 0 78px, transparent 79px),
    linear-gradient(180deg, rgba(255,255,255,0.42) 0%, rgba(255,250,242,0) 58%);
}

.mobile-hero::after {
  height: 100px;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,0.76) 0%,
      rgba(255,250,242,0.34) 44%,
      rgba(255,246,237,0) 100%
    );
}

.mobile-hero-content {
  max-width: 68%;
  padding: 25px 18px 0;
}

.mobile-hero h1 {
  margin: 0 0 15px;
  font-size: 25px;
  line-height: 1.22;
}

.mobile-hero p {
  max-width: 88%;
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.45;
}

.mobile-hero-btn {
  min-height: 50px;
  padding: 0 16px;
  border-radius: 14px;
  font-size: 14px;
}

.mobile-hero-btn-icon {
  width: 24px;
  height: 24px;
  border-radius: 7px;
  font-size: 12px;
}

.mobile-hero-star {
  right: 18%;
  top: 6px;
  font-size: 38px;
}

.mobile-hero-heart {
  right: 31%;
  top: 168px;
  font-size: 24px;
}

.mobile-hero-dots {
  display: none !important;
}

@media (max-width: 420px) {
  .mobile-main {
    width: 100%;
  }

  .mobile-hero {
    min-height: 400px;
    background:
      linear-gradient(180deg,
        rgba(255,255,255,0.95) 0%,
        rgba(255,250,242,0.72) 18%,
        rgba(255,250,242,0.16) 42%,
        rgba(255,250,242,0) 100%
      ),
      linear-gradient(90deg,
        rgba(255,250,242,0.99) 0%,
        rgba(255,250,242,0.92) 43%,
        rgba(255,250,242,0.46) 62%,
        rgba(255,250,242,0.04) 100%
      ),
      url("assets/img/hero-mobile-girl.jpg") no-repeat right -34px bottom / auto 98%,
      url("assets/img/hero.png") no-repeat right bottom / cover,
      linear-gradient(135deg, #fffaf2 0%, #fff3f8 50%, #fff8ee 100%);
  }

  .mobile-hero-content {
    max-width: 68%;
    padding: 23px 15px 0;
  }

  .mobile-hero h1 {
    font-size: 23px;
    line-height: 1.22;
  }

  .mobile-hero p {
    font-size: 13px;
    line-height: 1.42;
    margin-bottom: 18px;
    max-width: 88%;
  }

  .mobile-hero-btn {
    min-height: 48px;
    padding: 0 14px;
    font-size: 13px;
  }

  .mobile-hero-star {
    right: 17%;
    top: 4px;
    font-size: 35px;
  }

  .mobile-hero-heart {
    right: 31%;
    top: 158px;
    font-size: 22px;
  }
}


/* FINAL GIRL POSITION FIX */
.mobile-hero{
  background:
    linear-gradient(90deg, rgba(255,250,242,0.98) 0%, rgba(255,250,242,0.92) 42%, rgba(255,250,242,0.45) 65%, rgba(255,250,242,0.05) 100%),
    url("assets/img/hero-mobile-girl.jpg") no-repeat right center / auto 100%,
    linear-gradient(135deg,#fffaf2 0%,#fff3f8 50%,#fff8ee 100%);
}

.mobile-hero-content{
  max-width:75%;
}

/* === MOBILE HERO PREMIUM BACKGROUND FINAL === */
html,
body,
.mobile-page-body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.mobile-main {
  width: min(100%, 520px);
  margin: 0 auto;
  padding: 0 0 84px;
  overflow: hidden;
}

.mobile-hero {
  position: relative;
  min-height: 420px;
  height: auto;
  overflow: hidden;
  border-radius: 0 0 24px 24px;
  padding-bottom: 3mm;
  background: url("assets/img/hero-mobile-premium.png") no-repeat center center / cover !important;
  box-shadow: 0 12px 30px rgba(34, 40, 80, 0.10);
}

.mobile-hero::before,
.mobile-hero::after {
  content: none !important;
  display: none !important;
}

.mobile-hero-content {
  position: relative;
  z-index: 4;
  max-width: 66%;
  padding: 26px 16px 0;
}

.mobile-hero h1 {
  margin: 0 0 14px;
  color: #071d52;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.mobile-hero h1 span {
  color: var(--accent);
}

.mobile-hero p {
  max-width: 92%;
  margin: 0 0 18px;
  color: #1d294d;
  font-size: 13.5px;
  line-height: 1.42;
  font-weight: 700;
}

.mobile-hero-btn {
  min-height: 48px;
  padding: 0 15px;
  border-radius: 14px;
  font-size: 13px;
  box-shadow: 0 12px 28px rgba(255, 95, 143, 0.28);
}

.mobile-hero-btn-icon {
  width: 24px;
  height: 24px;
  border-radius: 7px;
  font-size: 12px;
}

.mobile-hero-star,
.mobile-hero-heart {
  display: none !important;
}

@media (max-width: 420px) {
  .mobile-hero {
    min-height: 400px;
    background-position: center center !important;
    background-size: cover !important;
  }

  .mobile-hero-content {
    max-width: 66%;
    padding: 23px 15px 0;
  }

  .mobile-hero h1 {
    font-size: 22px;
    line-height: 1.2;
  }

  .mobile-hero p {
    font-size: 12.7px;
    margin-bottom: 16px;
  }

  .mobile-hero-btn {
    min-height: 46px;
    padding: 0 13px;
    font-size: 12.5px;
  }
}

@media (max-width: 360px) {
  .mobile-hero-content {
    max-width: 68%;
    padding: 20px 13px 0;
  }

  .mobile-hero h1 {
    font-size: 20px;
  }

  .mobile-hero p {
    font-size: 12px;
  }
}

/* === MOBILE HEADER LOGO SUBTITLE FIX === */
.mobile-header-inner {
  width: min(100% - 28px, 520px);
  min-height: 72px;
  margin: 0 auto;
  display: flex;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px;
}

.mobile-logo-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}

.mobile-logo-wrap .mobile-logo {
  display: block;
  line-height: 1;
}

.logo-subtitle {
  margin: 0;
  padding: 0;
  color: #526078;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: lowercase;
}

.mobile-menu-btn {
  flex: 0 0 44px;
  margin-left: auto;
}

/* === MOBILE INFO BLOCK === */
.mobile-info-block {
  position: relative;
  z-index: 6;
  width: min(100% - 20px, 500px);
  margin: -8px auto 22px;
  padding: 18px 12px 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 12px 30px rgba(34, 40, 80, 0.08);
  backdrop-filter: blur(12px);
}

.mobile-info-item {
  min-width: 0;
  text-align: center;
}

.mobile-info-icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 10px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 27px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.55);
}

.mobile-info-pink { background: #ffd2e1; }
.mobile-info-yellow { background: #ffe9a6; }
.mobile-info-green { background: #d9f4c6; }
.mobile-info-blue { background: #cfefff; }

.mobile-info-item h3 {
  margin: 0 0 7px;
  color: #071d52;
  font-size: 13px;
  line-height: 1.1;
  font-weight: 800;
}

.mobile-info-item p {
  margin: 0;
  color: #26365f;
  font-size: 12px;
  line-height: 1.28;
  font-weight: 700;
}

@media (max-width: 380px) {
  .mobile-info-block {
    width: min(100% - 16px, 500px);
    padding: 16px 8px 18px;
    gap: 6px;
  }

  .mobile-info-icon {
    width: 52px;
    height: 52px;
    font-size: 24px;
  }

  .mobile-info-item h3 {
    font-size: 12px;
  }

  .mobile-info-item p {
    font-size: 11px;
  }
}


/* === FIXED MOBILE FOOTER === */
.mobile-footer {
  position: fixed !important;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

.mobile-main {
  padding-bottom: 110px !important;
}

/* === MOBILE NEAREST WORKSHOPS === */
.mobile-nearest {
  width: min(100% - 20px, 500px);
  margin: 4px auto 26px;
  padding-bottom: 8px;
}

.mobile-nearest-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
}

.mobile-nearest-head h2 {
  margin: 0;
  color: #071d52;
  font-size: 21px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.mobile-nearest-head a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--accent);
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
}

.mobile-nearest-head a span {
  font-size: 28px;
  line-height: 0.8;
}

.mobile-workshop-list {
  display: grid;
  gap: 12px;
}

.mobile-workshop-card {
  display: grid;
  grid-template-columns: 38% 1fr;
  overflow: hidden;
  min-height: 168px;
  border-radius: 16px;
  background: rgba(255,255,255,0.88);
  box-shadow: 0 10px 26px rgba(34, 40, 80, 0.07);
}

.mobile-workshop-card img {
  width: 100%;
  height: 100%;
  min-height: 168px;
  object-fit: cover;
}

.mobile-workshop-content {
  min-width: 0;
  padding: 13px 13px 12px;
}

.mobile-tag {
  display: inline-flex;
  max-width: 100%;
  margin-bottom: 9px;
  padding: 5px 9px;
  border-radius: 8px;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mobile-tag-pink {
  background: #ffd5e2;
  color: #bd3d68;
}

.mobile-tag-yellow {
  background: #ffe58a;
  color: #705711;
}

.mobile-tag-green {
  background: #d9f4c6;
  color: #3e7f2a;
}

.mobile-workshop-content h3 {
  margin: 0 0 9px;
  color: #071d52;
  font-size: 16px;
  line-height: 1.15;
  font-weight: 900;
}

.mobile-meta,
.mobile-place {
  margin: 0 0 8px;
  color: #26365f;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
}

.mobile-meta span {
  margin: 0 6px;
}

.mobile-price {
  margin: 0 0 8px;
  color: #071d52;
  font-size: 18px;
  line-height: 1;
  font-weight: 900;
}

.mobile-place {
  color: #36476c;
}

.mobile-all-workshops-btn {
  min-height: 58px;
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 2px solid var(--accent);
  border-radius: 14px;
  background: rgba(255,255,255,0.78);
  color: var(--accent);
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(255, 95, 143, 0.08);
}

.mobile-all-workshops-btn span {
  font-size: 22px;
}

@media (max-width: 380px) {
  .mobile-nearest {
    width: min(100% - 16px, 500px);
  }

  .mobile-nearest-head h2 {
    font-size: 19px;
  }

  .mobile-nearest-head a {
    font-size: 12px;
  }

  .mobile-workshop-card {
    grid-template-columns: 37% 1fr;
    min-height: 160px;
  }

  .mobile-workshop-card img {
    min-height: 160px;
  }

  .mobile-workshop-content {
    padding: 11px 10px;
  }

  .mobile-workshop-content h3 {
    font-size: 15px;
  }

  .mobile-meta,
  .mobile-place {
    font-size: 11.3px;
  }

  .mobile-price {
    font-size: 17px;
  }

  .mobile-all-workshops-btn {
    min-height: 54px;
    font-size: 16px;
  }
}
.instagram-section {
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  padding: 18px 14px 22px;
  background: #ffffff;
  font-family: Arial, sans-serif;
}

.instagram-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.instagram-header h2 {
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  color: #121633;
}

.instagram-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  font-size: 10px;
  line-height: 1;
  font-weight: 600;
  color: #9b5cff;
  text-decoration: none;
}

.instagram-icon {
  width: 15px;
  height: 15px;
  border: 1.6px solid #9b5cff;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  line-height: 1;
}

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

.instagram-grid img {
  width: 100%;
  aspect-ratio: 1 / 0.9;
  object-fit: cover;
  display: block;
  border-radius: 8px;
  background: #f2f2f2;
}

@media (max-width: 360px) {
  .instagram-section {
    padding-left: 12px;
    padding-right: 12px;
  }

  .instagram-grid {
    gap: 9px;
  }

  .instagram-header h2 {
    font-size: 15px;
  }

  .instagram-link {
    font-size: 9px;
  }
}


/* FULL SITE LINK CENTER */
.mobile-fullsite-link-center {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: 100%;
  margin: 18px auto 0;
  padding: 10px 16px;
  border: 1.8px dashed var(--accent);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--accent);
  text-align: center;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(255, 95, 143, 0.08);
}

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

@media (max-width: 360px) {
  .mobile-fullsite-link-center {
    min-height: 42px;
    font-size: 12px;
  }
}

/* ONLINE USERS BLOCK */
.mobile-online-block {
  position: relative;
  display: grid;
  grid-template-columns: 54px 1fr auto;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin: 18px auto 0;
  padding: 14px 16px;
  overflow: hidden;
  border: 2px solid #cfe9ff;
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 18%, rgba(255, 216, 92, 0.18) 0 42px, transparent 43px),
    linear-gradient(135deg, #f7fcff 0%, #eef8ff 100%);
  box-shadow: 0 10px 26px rgba(56, 142, 220, 0.10);
}

.mobile-online-icon {
  position: relative;
  width: 46px;
  height: 46px;
}

.mobile-online-icon::before,
.mobile-online-icon::after,
.mobile-online-icon span::before,
.mobile-online-icon span::after {
  content: "";
  position: absolute;
  background: #7bc2ff;
}

.mobile-online-icon::before {
  width: 16px;
  height: 16px;
  left: 6px;
  top: 6px;
  border-radius: 50%;
}

.mobile-online-icon::after {
  width: 28px;
  height: 18px;
  left: 0;
  bottom: 6px;
  border-radius: 16px 16px 7px 7px;
}

.mobile-online-icon span::before {
  width: 14px;
  height: 14px;
  right: 6px;
  top: 9px;
  border-radius: 50%;
  opacity: 0.9;
}

.mobile-online-icon span::after {
  width: 24px;
  height: 16px;
  right: 0;
  bottom: 7px;
  border-radius: 16px 16px 7px 7px;
  opacity: 0.9;
}

.mobile-online-text {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.mobile-online-text h2 {
  margin: 0 0 6px;
  color: #071d52;
  font-size: 21px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.mobile-online-text p {
  margin: 0;
  color: #071d52;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 800;
}

.mobile-online-text strong {
  color: #188cff;
  font-weight: 900;
}

.mobile-online-kids {
  position: relative;
  min-width: 118px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 2px;
  padding-top: 6px;
}

.mobile-kid {
  display: inline-block;
  font-size: 31px;
  line-height: 1;
  filter: drop-shadow(0 5px 8px rgba(27, 39, 94, 0.12));
}

.mobile-confetti {
  position: absolute;
  color: var(--accent);
  font-size: 10px;
  line-height: 1;
}

.mobile-confetti-1 {
  left: 8px;
  top: 0;
  color: #ffb15d;
}

.mobile-confetti-2 {
  left: 50%;
  top: 10px;
  color: #54b9f7;
}

.mobile-confetti-3 {
  right: 4px;
  top: 4px;
  color: #80d66d;
}

@media (max-width: 380px) {
  .mobile-online-block {
    grid-template-columns: 44px 1fr auto;
    gap: 10px;
    padding: 12px 12px;
    border-radius: 18px;
  }

  .mobile-online-icon {
    width: 40px;
    height: 40px;
  }

  .mobile-online-text h2 {
    font-size: 18px;
  }

  .mobile-online-text p {
    font-size: 12.5px;
  }

  .mobile-online-kids {
    min-width: 88px;
  }

  .mobile-kid {
    font-size: 25px;
  }
}

/* FULL SITE LINK — как на макете */
.mobile-fullsite-link {
  display: flex;
  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);
}

/* лёгкий hover */
.mobile-fullsite-link:active {
  transform: scale(0.98);
  background: #fff3f7;
}


/* === MOBILE CAMP LIKE MOCKUP === */
.mobile-camp-section{width:min(100% - 18px,500px);margin:6px auto 24px}
.mobile-camp-card{position:relative;overflow:hidden;padding:14px 12px;border:1px solid rgba(255,225,170,.9);border-radius:22px;background:radial-gradient(circle at 8% 14%,rgba(255,95,143,.06) 0 58px,transparent 59px),radial-gradient(circle at 92% 16%,rgba(255,216,92,.15) 0 70px,transparent 71px),linear-gradient(135deg,#fffef8 0%,#fff8eb 100%);box-shadow:0 14px 34px rgba(34,40,80,.08)}
.mobile-camp-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 9%,rgba(255,95,143,.06) 0 42px,transparent 43px),radial-gradient(circle at 82% 90%,rgba(115,201,245,.10) 0 52px,transparent 53px);pointer-events:none}
.mobile-camp-head,.mobile-camp-benefits,.mobile-camp-schedule,.mobile-camp-bottom{position:relative;z-index:2}
.mobile-camp-head{display:grid;grid-template-columns:minmax(0,1fr) 42%;gap:8px;align-items:center;margin-bottom:12px}
.mobile-camp-sign{display:inline-flex;align-items:center;gap:5px;padding:8px 13px;border-radius:7px;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent 26%),linear-gradient(180deg,#a7632d 0%,#7b421d 100%);color:#fff;font-size:14px;font-weight:900;line-height:1;letter-spacing:.04em;white-space:nowrap;box-shadow:inset 0 -3px 0 rgba(88,43,18,.26),0 7px 14px rgba(88,43,18,.14);transform:rotate(-4deg)}
.mobile-camp-sign span{color:#ffd85c;font-size:18px}
.mobile-camp-ribbon{width:fit-content;margin:-2px 0 8px 52px;padding:7px 22px;border-radius:7px;background:linear-gradient(45deg,#ff5f8f,#ff8aac);color:#fff;font-size:13px;line-height:1;font-weight:900;box-shadow:0 8px 16px rgba(255,95,143,.18)}
.mobile-camp-title{margin:0 0 10px;text-transform:uppercase;line-height:.96;letter-spacing:-.035em}
.mobile-camp-title span,.mobile-camp-title b{display:block;font-size:31px;font-weight:900}
.mobile-camp-title span{color:#ff5f8f}.mobile-camp-title b{color:#071d52}
.mobile-camp-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}
.mobile-camp-meta span{color:#071d52;font-size:13.5px;line-height:1;font-weight:900;white-space:nowrap}
.mobile-camp-visual{position:relative;min-height:132px;border-radius:18px;background:radial-gradient(ellipse at 50% 92%,rgba(117,190,75,.42) 0 58px,transparent 59px),radial-gradient(circle at 18% 66%,rgba(72,164,76,.35) 0 32px,transparent 33px),radial-gradient(circle at 78% 67%,rgba(72,164,76,.30) 0 36px,transparent 37px),linear-gradient(180deg,rgba(196,235,255,.34),rgba(255,255,255,0))}
.mobile-camp-tent{position:absolute;right:-6px;bottom:4px;font-size:92px;line-height:1;filter:drop-shadow(0 8px 12px rgba(27,39,94,.10))}
.mobile-camp-basket{position:absolute;left:8px;bottom:20px;font-size:30px;transform:rotate(-6deg)}
.mobile-camp-cloud{position:absolute;left:10px;top:14px;color:#a9e6f7;font-size:28px;opacity:.95}.mobile-camp-heart{position:absolute;right:34px;top:16px;color:#ffb13b;font-size:15px;transform:rotate(-12deg)}
.mobile-camp-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 10px}
.mobile-camp-benefit{min-height:58px;display:grid;grid-template-columns:28px 1fr;grid-template-areas:"icon title" "icon text";align-items:center;gap:0 6px;padding:9px 8px;border:1.2px solid rgba(255,198,135,.56);border-radius:11px;background:rgba(255,255,255,.70);box-shadow:0 6px 14px rgba(27,39,94,.04)}
.mobile-camp-benefit strong{grid-area:icon;font-size:23px;line-height:1}.mobile-camp-benefit b{grid-area:title;color:#071d52;font-size:13.5px;line-height:1.08;font-weight:900}.mobile-camp-benefit span{grid-area:text;color:#26365f;font-size:11px;line-height:1.08;font-weight:800}
.mobile-camp-schedule{display:grid;gap:7px}.mobile-camp-row{min-height:72px;display:grid;grid-template-columns:68px minmax(0,1fr) 112px;align-items:center;gap:9px;overflow:hidden;border:1.4px solid var(--camp-line);border-radius:11px;background:rgba(255,255,255,.82);box-shadow:0 6px 16px rgba(27,39,94,.045)}
.mobile-camp-day{align-self:stretch;display:grid;place-items:center;align-content:center;color:#fff;background:linear-gradient(160deg,var(--camp-color),var(--camp-color-2));text-align:center}.mobile-camp-day b{display:block;font-size:30px;line-height:.85;font-weight:900}.mobile-camp-day span{display:block;margin-top:4px;font-size:10.5px;line-height:1;font-weight:900;text-transform:uppercase}
.mobile-camp-text{color:#071d52;font-size:13.7px;line-height:1.18;font-weight:900}.mobile-camp-row img{width:100%;height:64px;object-fit:contain;object-position:right center;padding-right:7px;filter:drop-shadow(0 8px 10px rgba(27,39,94,.13))}
.camp-row-pink{--camp-color:#ff5f8f;--camp-color-2:#ff9ab8;--camp-line:rgba(255,95,143,.33)}.camp-row-orange{--camp-color:#ffae32;--camp-color-2:#ffd25d;--camp-line:rgba(255,177,59,.42)}.camp-row-green{--camp-color:#80d248;--camp-color-2:#b4e86d;--camp-line:rgba(142,210,77,.48)}.camp-row-blue{--camp-color:#38bce8;--camp-color-2:#75daf5;--camp-line:rgba(69,189,233,.48)}.camp-row-purple{--camp-color:#8e63d9;--camp-color-2:#b68df1;--camp-line:rgba(142,99,217,.45)}
.mobile-camp-bottom{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;margin-top:12px;padding:10px;border:1.7px dashed rgba(255,95,143,.44);border-radius:15px;background:rgba(255,255,255,.64)}
.mobile-camp-address{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center}.mobile-camp-address span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(45deg,#ff5f8f,#ff8aac);color:#fff;font-size:18px;box-shadow:0 8px 16px rgba(255,95,143,.20)}.mobile-camp-address p{margin:0;color:#26365f;font-size:11.8px;line-height:1.2;font-weight:800}.mobile-camp-address b{color:#071d52;font-size:13.5px;font-weight:900}
.mobile-camp-btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:13px;background:linear-gradient(45deg,#ff5f8f,#ff2f73);color:#fff;font-size:13px;line-height:1.1;font-weight:900;text-align:center;box-shadow:0 10px 22px rgba(255,95,143,.22)}
.mobile-camp-card,.mobile-camp-head,.mobile-camp-benefits,.mobile-camp-row,.mobile-camp-bottom{opacity:0;transform:translateY(16px)}.mobile-camp-visible .mobile-camp-card,.mobile-camp-visible .mobile-camp-head,.mobile-camp-visible .mobile-camp-benefits,.mobile-camp-visible .mobile-camp-row,.mobile-camp-visible .mobile-camp-bottom{animation:mobileCampFade .68s ease forwards}
.mobile-camp-visible .mobile-camp-card{animation-delay:.02s}.mobile-camp-visible .mobile-camp-head{animation-delay:.10s}.mobile-camp-visible .mobile-camp-benefits{animation-delay:.20s}.mobile-camp-visible .mobile-camp-row:nth-child(1){animation-delay:.28s}.mobile-camp-visible .mobile-camp-row:nth-child(2){animation-delay:.36s}.mobile-camp-visible .mobile-camp-row:nth-child(3){animation-delay:.44s}.mobile-camp-visible .mobile-camp-row:nth-child(4){animation-delay:.52s}.mobile-camp-visible .mobile-camp-row:nth-child(5){animation-delay:.60s}.mobile-camp-visible .mobile-camp-bottom{animation-delay:.70s}
@keyframes mobileCampFade{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:380px){.mobile-camp-section{width:min(100% - 14px,500px)}.mobile-camp-card{padding:12px 9px}.mobile-camp-head{grid-template-columns:minmax(0,1fr) 39%}.mobile-camp-sign{font-size:12px;padding:7px 10px}.mobile-camp-ribbon{margin-left:38px;padding:6px 17px;font-size:12px}.mobile-camp-title span,.mobile-camp-title b{font-size:27px}.mobile-camp-meta span{font-size:12px}.mobile-camp-visual{min-height:116px}.mobile-camp-tent{font-size:74px}.mobile-camp-benefit{grid-template-columns:24px 1fr;padding:8px 5px}.mobile-camp-row{grid-template-columns:58px minmax(0,1fr) 84px;min-height:66px;gap:7px}.mobile-camp-text{font-size:12px}.mobile-camp-row img{height:56px;padding-right:4px}.mobile-camp-bottom{grid-template-columns:1fr}.mobile-camp-btn{min-height:44px;font-size:14px}}


/* === FIX CAMP EMPTY SPACE FINAL === */
/* Блок больше не может пропасть, даже если JS/анимация не загрузится */
.mobile-camp-section,
.mobile-camp-card,
.mobile-camp-head,
.mobile-camp-benefits,
.mobile-camp-schedule,
.mobile-camp-row,
.mobile-camp-bottom,
.mobile-camp-extra {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Аккуратный блок "А также в течение дня" */
.mobile-camp-extra {
  position: relative;
  z-index: 2;
  margin: 12px 0 0;
  padding: 12px 9px 10px;
  overflow: hidden;
  border: 1.5px solid rgba(69, 189, 233, 0.34);
  border-radius: 16px;
  background:
    radial-gradient(circle at 96% 12%, rgba(255, 216, 92, 0.26) 0 38px, transparent 39px),
    linear-gradient(135deg, rgba(255,255,255,0.82) 0%, rgba(245,252,255,0.76) 100%);
  box-shadow: 0 7px 18px rgba(27, 39, 94, 0.05);
}

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

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

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

.mobile-camp-extra-icon {
  width: 48px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: rgba(255,255,255,0.78);
  font-size: 27px;
  line-height: 1;
  box-shadow: 0 6px 14px rgba(27,39,94,0.07);
}

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

/* Мягкая анимация без скрытия блока до загрузки JS */
.mobile-camp-visible .mobile-camp-row img {
  animation: mobileCampImageSoft .55s ease both;
}

@keyframes mobileCampImageSoft {
  from {
    opacity: .55;
    transform: translateX(8px) scale(.96);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@media (max-width: 380px) {
  .mobile-camp-extra {
    padding: 10px 7px 9px;
  }

  .mobile-camp-extra-title {
    font-size: 10.5px;
    padding: 5px 14px 6px;
  }

  .mobile-camp-extra-list {
    gap: 5px;
  }

  .mobile-camp-extra-icon {
    width: 40px;
    height: 36px;
    border-radius: 13px;
    font-size: 22px;
  }

  .mobile-camp-extra-item span {
    font-size: 8.5px;
  }
}


/* ===== MOBILE ALL WORKSHOPS SEPARATE PAGE ===== */
.mobile-all-workshops-page {
  background:
    radial-gradient(circle at 0 120px, rgba(255,210,225,.7) 0 120px, transparent 121px),
    radial-gradient(circle at 100% 180px, rgba(201,236,255,.8) 0 120px, transparent 121px),
    linear-gradient(180deg,#fffdf9 0%, #fff7ef 100%);
}

.mobile-all-back {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #ffffff;
  color: #071d52;
  font-size: 24px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(27,39,94,.08);
}

.mobile-all-main {
  width: min(100% - 20px, 500px);
  margin: 0 auto;
  padding: 14px 0 112px;
}

.mobile-all-hero {
  position: relative;
  overflow: hidden;
  padding: 30px 18px;
  margin-bottom: 18px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 10% 18%, rgba(255,216,92,.20) 0 80px, transparent 81px),
    radial-gradient(circle at 92% 20%, rgba(255,95,143,.12) 0 90px, transparent 91px),
    linear-gradient(135deg,#fffef9 0%, #fff8ee 100%);
  box-shadow: 0 12px 28px rgba(34,40,80,.08);
  text-align: center;
}

.mobile-all-hero h1 {
  margin: 0 0 12px;
  color: #071d52;
  font-size: 42px;
  line-height: .94;
  font-weight: 900;
  letter-spacing: -.045em;
}

.mobile-all-hero h1 span {
  color: #ff5f8f;
}

.mobile-all-hero p {
  max-width: 330px;
  margin: 0 auto;
  color: #314267;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 800;
}

.mobile-all-star,
.mobile-all-heart {
  position: absolute;
  font-size: 28px;
  opacity: .72;
}

.mobile-all-star {
  left: 17px;
  top: 16px;
  color: #ffd85c;
}

.mobile-all-heart {
  right: 18px;
  top: 18px;
  color: #ff5f8f;
}

.mobile-all-filters {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

.mobile-all-filters button {
  min-height: 48px;
  border: none;
  border-radius: 16px;
  background: #ffffff;
  color: #071d52;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(34,40,80,.06);
}

.mobile-all-list {
  display: grid;
  gap: 16px;
}

.mobile-all-card {
  overflow: hidden;
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 28px rgba(34,40,80,.08);
}

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

.mobile-all-content {
  padding: 16px;
}

.mobile-all-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.mobile-all-tag {
  max-width: 62%;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mobile-all-tag.yellow { background: #ffe58a; color: #705711; }
.mobile-all-tag.pink { background: #ffd5e2; color: #bd3d68; }
.mobile-all-tag.green { background: #d9f4c6; color: #3e7f2a; }

.mobile-all-date {
  color: #ff5f8f;
  font-size: 18px;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
}

.mobile-all-content h2 {
  margin: 0 0 12px;
  color: #071d52;
  font-size: 26px;
  line-height: 1.08;
  font-weight: 900;
}

.mobile-all-content p {
  margin: 0 0 8px;
  color: #314267;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 800;
}

.mobile-all-seats {
  margin: 12px 0;
  color: #ff5f8f;
  font-size: 18px;
  font-weight: 900;
}

.mobile-all-btn {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: linear-gradient(45deg,#ff5f8f,#ff8aac);
  color: #ffffff;
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(255,95,143,.22);
}

@media (max-width: 380px) {
  .mobile-all-main {
    width: min(100% - 16px, 500px);
  }

  .mobile-all-hero h1 {
    font-size: 36px;
  }

  .mobile-all-filters {
    gap: 6px;
  }

  .mobile-all-filters button {
    font-size: 11.5px;
  }

  .mobile-all-card img {
    height: 185px;
  }

  .mobile-all-content h2 {
    font-size: 23px;
  }
}



/* === 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;
}
}


/* === MOBILE OUTBOUND BUTTON === */

.mobile-outbound-btn{
display:flex;
align-items:center;
justify-content:center;
gap:10px;
margin:18px 16px 6px;
padding:16px 20px;
border-radius:22px;
background:linear-gradient(135deg,#ff7ca8,#ffb347);
color:#fff;
font-size:16px;
font-weight:900;
text-decoration:none;
box-shadow:0 14px 30px rgba(255,95,143,.22);
transition:.25s ease;
}

.mobile-outbound-btn:active{
transform:scale(.98);
}


/* === MOBILE OUTBOUND BUTTON CENTER FIX === */

.mobile-outbound-wrap{
width:100%;
display:flex;
justify-content:center;
align-items:center;
padding:0 16px;
margin:18px 0 10px;
box-sizing:border-box;
}

.mobile-outbound-btn{
width:100%;
max-width:340px;
margin:0 auto !important;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
}
