/*
 * LaMilka 0.4.53 — focused mobile parity and component-spacing correction.
 * Source references: Lovable transfer, tour detail, tours index, Private Tours,
 * and Aesthetic/Beauty mobile component contracts.
 */

/* Shared outline message-bubble icon. No handset glyph. */
.lamilka-message-bubble-icon {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  overflow: visible !important;
  color: currentColor !important;
}

/* --------------------------------------------------------------------------
   Transfers: breathing room between boxed components and stable mobile CTA.
   -------------------------------------------------------------------------- */
.lamilka-transfer__aside {
  gap: 16px !important;
}
.lamilka-transfer__benefits,
.lamilka-transfer__group {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.lamilka-transfer__group {
  align-items: center !important;
  display: flex !important;
  gap: 10px !important;
  justify-content: center !important;
  text-align: center !important;
}
.lamilka-transfer__group > span {
  min-width: 0 !important;
}
.lamilka-transfer__faq h2 {
  margin: 0 0 16px !important;
}
.lamilka-transfer__faq > div {
  margin-top: 0 !important;
}
.lamilka-transfer__mobile-bar a:first-child {
  color: #fff !important;
}
.lamilka-transfer__mobile-bar .lamilka-message-bubble-icon {
  width: 24px !important;
  height: 24px !important;
}
@media (min-width: 1024px) {
  .lamilka-transfer__aside {
    gap: 20px !important;
  }
}
@media (max-width: 640px) {
  .lamilka-transfer__benefits,
  .lamilka-transfer__group {
    width: 100% !important;
  }
  .lamilka-transfer__group {
    gap: 8px !important;
    padding: 14px 16px !important;
  }
  .lamilka-transfer__group .lamilka-message-bubble-icon {
    width: 20px !important;
    height: 20px !important;
    flex-basis: 20px !important;
  }
}

/* --------------------------------------------------------------------------
   Homepage: all six source cards always retain their Bestseller badge.
   -------------------------------------------------------------------------- */
.lamilka-home-best-sellers .lamilka-tour-card__image > b,
.lamilka-home-best-sellers [data-lamilka-home-clone] .lamilka-tour-card__image > b {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

/* --------------------------------------------------------------------------
   Tours index filters: native horizontal scrolling plus a visible progress
   line on narrow screens. Buttons remain 44px minimum touch targets.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .lamilka-tours__chips-shell {
    overflow: visible !important;
    padding-bottom: 10px !important;
  }
  .lamilka-tours__chips {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .lamilka-tours__chips::-webkit-scrollbar {
    display: none !important;
  }
  .lamilka-tours__chips button {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    scroll-snap-align: start !important;
    white-space: nowrap !important;
  }
  .lamilka-tours__chips-indicator {
    --lm-filter-thumb-width: 32px;
    --lm-filter-thumb-offset: 0px;
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: calc(100% - 32px) !important;
    height: 2px !important;
    margin: 8px 16px 0 !important;
    border-radius: 999px !important;
    background: rgba(10, 25, 47, .14) !important;
    pointer-events: none !important;
    overflow: hidden !important;
  }
  .lamilka-tours__chips-indicator::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: var(--lm-filter-thumb-width) !important;
    height: 2px !important;
    border-radius: inherit !important;
    background: #0a192f !important;
    transform: translateX(var(--lm-filter-thumb-offset)) !important;
    transition: width .16s ease, transform .08s linear !important;
  }
  .lamilka-tours__chips-indicator[hidden] {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .lamilka-tours__chips-indicator {
    display: none !important;
  }
}

/* --------------------------------------------------------------------------
   Tour detail mobile: exact 2x2 feature box and 2x2 + full-width trust pills.
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .lamilka-detail__features {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 8px !important;
    row-gap: 2px !important;
    margin-top: 16px !important;
    padding: 4px 8px !important;
    border: 1px solid #dbe3ea !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: rgba(15, 27, 61, .80) !important;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
  }
  .lamilka-detail__features > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-width: 0 !important;
    padding: 2px 8px !important;
    text-align: left !important;
  }
  .lamilka-detail__features > span > span {
    min-width: 0 !important;
  }
  .lamilka-detail__features svg {
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 17px !important;
  }
  .lamilka-detail__pills {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-top: 8px !important;
  }
  .lamilka-detail__pills > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    min-height: 30px !important;
    padding: 5px 8px !important;
    border: 1px solid rgba(15, 27, 61, .15) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0f1b3d !important;
    box-shadow: 0 1px 0 rgba(15, 27, 61, .04) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  .lamilka-detail__pills > span:last-child {
    grid-column: 1 / -1 !important;
  }
  .lamilka-detail__pills svg {
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;
  }
  .lamilka-detail__mobile-whatsapp .lamilka-message-bubble-icon {
    width: 26px !important;
    height: 26px !important;
    flex-basis: 26px !important;
  }
}
@media (max-width: 360px) {
  .lamilka-detail__features {
    font-size: 11.5px !important;
  }
  .lamilka-detail__features > span {
    gap: 5px !important;
    padding-inline: 4px !important;
  }
  .lamilka-detail__pills > span {
    gap: 4px !important;
    padding-inline: 5px !important;
    font-size: 10.8px !important;
  }
}

/* --------------------------------------------------------------------------
   Private Tours: source mobile loop carousel with 82% centered cards, side
   peeks and six-position indicator. Desktop remains the 3x2 grid.
   -------------------------------------------------------------------------- */
.lamilka-private__idea-dots {
  display: none;
}
@media (max-width: 767px) {
  .lamilka-private__ideas {
    overflow: hidden !important;
    padding-inline: 0 !important;
  }
  .lamilka-private__ideas > h2,
  .lamilka-private__ideas > p {
    padding-inline: 20px !important;
  }
  .lamilka-private__ideas > div[data-lamilka-private-ideas] {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    gap: 12px !important;
    margin-top: 32px !important;
    padding: 0 7.5% 8px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    scroll-behavior: smooth !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .lamilka-private__ideas > div[data-lamilka-private-ideas]::-webkit-scrollbar {
    display: none !important;
  }
  .lamilka-private__ideas a[data-lamilka-private-idea] {
    flex: 0 0 82% !important;
    min-width: 0 !important;
    aspect-ratio: 2 / 3 !important;
    scroll-snap-align: center !important;
    scroll-snap-stop: always !important;
  }
  .lamilka-private__idea-dots {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
    padding-inline: 20px !important;
  }
  .lamilka-private__idea-dots button {
    width: 8px !important;
    height: 8px !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(10, 25, 47, .28) !important;
    cursor: pointer !important;
    transition: width .2s ease, background .2s ease !important;
  }
  .lamilka-private__idea-dots button.is-active {
    width: 24px !important;
    background: #0a192f !important;
  }
  .lamilka-private__mobile a:first-child,
  .lamilka-aesthetic-hub__mobile-cta a:first-child,
  .lamilka-concierge__mobile-cta a:first-child,
  .lamilka-contact-source__mobile-wa {
    gap: 8px !important;
  }
}

/* --------------------------------------------------------------------------
   Aesthetic/Beauty: source mobile loop carousel with 74vw cards and 11vw side
   peeks. Desktop remains the three-column source grid.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .lamilka-aesthetic-hub__categories {
    overflow: hidden !important;
    padding-inline: 0 !important;
  }
  .lamilka-aesthetic-hub__category-track {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    gap: 12px !important;
    padding: 0 11vw 8px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    scroll-behavior: smooth !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .lamilka-aesthetic-hub__category-track::-webkit-scrollbar {
    display: none !important;
  }
  .lamilka-aesthetic-hub__category[data-lamilka-aesthetic-category] {
    flex: 0 0 74vw !important;
    width: 74vw !important;
    min-width: 0 !important;
    scroll-snap-align: center !important;
    scroll-snap-stop: always !important;
  }
  .lamilka-aesthetic-hub__category-dots {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
  }
  .lamilka-aesthetic-hub__category-dots i {
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: rgba(10, 25, 47, .25) !important;
    transition: width .2s ease, background .2s ease !important;
  }
  .lamilka-aesthetic-hub__category-dots i.is-active {
    width: 24px !important;
    background: #0a192f !important;
  }
}

/* Stable mobile bubble icons in the remaining sticky contact bars. */
@media (max-width: 767px) {
  .lamilka-contact-source__mobile-wa,
  .lamilka-concierge__mobile-cta a:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .lamilka-contact-source__mobile-wa .lamilka-message-bubble-icon,
  .lamilka-concierge__mobile-cta .lamilka-message-bubble-icon {
    width: 22px !important;
    height: 22px !important;
    flex-basis: 22px !important;
  }
}
