/**
 * LaMilka Tour 0.4.99
 * Width-shell standardisation and focused mobile refinements requested in the
 * July 29 acceptance round. Full-bleed heroes remain untouched.
 */

:root {
  --lamilka-v099-shell: 1280px;
  --lamilka-v099-mobile-gutter: 20px;
}

/* --------------------------------------------------------------------------
   Shared desktop shell: the main navigation/Transfers width is the outer cap.
   Existing narrower editorial and form widths remain narrower.
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .lamilka-riviera-news__inner,
  .lamilka-transfer__layout,
  .lamilka-riviera-category,
  .lamilka-riviera-destination__inner {
    box-sizing: border-box !important;
    margin-inline: auto !important;
    max-width: var(--lamilka-v099-shell) !important;
    width: min(calc(100% - 48px), var(--lamilka-v099-shell)) !important;
  }

  /* Preserve full-width section backgrounds while aligning their contents to
     the same 1280px navigation shell. */
  .lamilka-about__cards,
  .lamilka-about__trust,
  .lamilka-about__services,
  .lamilka-about__partners,
  .lamilka-about__regions,
  .lamilka-about__licence,
  .lamilka-about__cta {
    padding-inline: max(24px, calc((100% - var(--lamilka-v099-shell)) / 2)) !important;
  }

  .lamilka-private__ideas > div[data-lamilka-private-ideas],
  .lamilka-concierge__process-inner,
  .lamilka-concierge__services-inner,
  .lamilka-concierge__contact-inner,
  .lamilka-aesthetic-hub__category-track {
    box-sizing: border-box;
    margin-inline: auto;
    max-width: var(--lamilka-v099-shell);
  }
}

/* --------------------------------------------------------------------------
   Contact / My Booking hero sentence structure.
   -------------------------------------------------------------------------- */
.lamilka-contact-source__hero-sentences span {
  display: block;
}

@media (min-width: 768px) {
  .lamilka-contact-source__hero-sentences span {
    white-space: nowrap;
  }
}

/* --------------------------------------------------------------------------
   Homepage mobile hero buttons: full-width vertical stack.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .lamilka-home .lamilka-home-mobile-actions {
    bottom: 24px !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    left: var(--lamilka-v099-mobile-gutter) !important;
    right: var(--lamilka-v099-mobile-gutter) !important;
  }

  .lamilka-home .lamilka-home-mobile-actions .lamilka-home-action {
    border-radius: 14px !important;
    gap: 12px !important;
    justify-content: center !important;
    min-height: 62px !important;
    padding-inline: 18px !important;
    width: 100% !important;
  }

  .lamilka-home .lamilka-home-mobile-actions .lamilka-home-action__icon {
    flex: 0 0 28px !important;
    height: 28px !important;
    width: 28px !important;
  }

  .lamilka-home .lamilka-home-mobile-actions .lamilka-home-action__label {
    flex: 0 1 auto !important;
    text-align: center !important;
  }

  /* The attached approved mobile system contains the two actions only. */
  .lamilka-home .lamilka-home-mobile-trust {
    display: none !important;
  }
}

/* --------------------------------------------------------------------------
   Transfers: balanced green notice and one-line trust pills on mobile.
   -------------------------------------------------------------------------- */
.lamilka-transfer__group-break {
  display: none;
}

@media (max-width: 767px) {
  .lamilka-transfer__group {
    align-items: center !important;
    text-align: center !important;
  }

  .lamilka-transfer__group-break {
    display: block;
  }

  .lamilka-transfer__group-question,
  .lamilka-transfer__group-answer {
    display: block !important;
  }

  .lamilka-transfer__group-answer {
    margin-top: 4px;
  }

  .lamilka-transfer__benefits li {
    font-size: clamp(10px, 2.75vw, 12px) !important;
    gap: 7px !important;
    min-height: 52px !important;
    padding-inline: 8px !important;
    white-space: nowrap !important;
  }

  .lamilka-transfer__benefits li > span:last-child {
    min-width: 0;
    white-space: nowrap !important;
  }

  .lamilka-transfer__benefit-check {
    flex: 0 0 18px !important;
    height: 18px !important;
    width: 18px !important;
  }
}

/* --------------------------------------------------------------------------
   Medical / Beauty / Lifestyle mobile hero and action system.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .lamilka-concierge__hero-content {
    box-sizing: border-box !important;
    left: 0 !important;
    max-width: 100% !important;
    padding-inline: 24px !important;
    right: 0 !important;
    width: 100% !important;
  }

  .lamilka-concierge__hero-content h1,
  .lamilka-concierge__hero-content p,
  .lamilka-concierge__hero-markers {
    margin-inline: auto !important;
    max-width: 360px !important;
    text-wrap: balance;
  }

  .lamilka-concierge__mobile-cta {
    background: transparent !important;
    border: 0 !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    display: block !important;
    height: auto !important;
    left: 16px !important;
    padding: 0 !important;
    right: 16px !important;
  }

  .lamilka-concierge__mobile-cta .lamilka-concierge__mobile-ask {
    align-items: center !important;
    background: #00b4d8 !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 28px rgba(15, 27, 61, .18) !important;
    color: #fff !important;
    display: flex !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    justify-content: center !important;
    min-height: 60px !important;
    width: 100% !important;
  }

  .lamilka-concierge__mobile-wa {
    align-items: center;
    background: #25d366;
    border-radius: 50%;
    bottom: calc(84px + env(safe-area-inset-bottom));
    box-shadow: 0 10px 25px rgba(15, 27, 61, .2);
    display: flex;
    height: 58px;
    justify-content: center;
    left: 20px;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transform: translateY(10px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    visibility: hidden;
    width: 58px;
    z-index: 45;
  }

  .lamilka-concierge__mobile-wa.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
  }

  .lamilka-concierge__mobile-wa svg {
    color: #fff;
    height: 31px;
    width: 31px;
  }
}

/* --------------------------------------------------------------------------
   Tour and Riviera gallery controls: controls stay close to the active media.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .lamilka-detail .lamilka-gallery-lightbox .lamilka-gallery-lightbox__shell {
    padding: 58px 10px 78px !important;
  }

  .lamilka-detail .lamilka-gallery-lightbox .lamilka-gallery-lightbox__media {
    max-height: calc(100dvh - 160px) !important;
  }

  .lamilka-detail .lamilka-gallery-lightbox .lamilka-gallery-lightbox__close {
    right: 12px !important;
    top: 12px !important;
  }

  .lamilka-detail .lamilka-gallery-lightbox .lamilka-gallery-lightbox__arrow {
    bottom: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .lamilka-detail .lamilka-gallery-lightbox .lamilka-gallery-lightbox__arrow--previous {
    left: 8px !important;
  }

  .lamilka-detail .lamilka-gallery-lightbox .lamilka-gallery-lightbox__arrow--next {
    right: 8px !important;
  }

  .lamilka-riviera-guest-lightbox__shell,
  body.lamilka-best-of-riviera-detail .lamilka-riviera-best-detail__lightbox-shell {
    padding-top: 56px !important;
  }

  .lamilka-riviera-guest-lightbox__close,
  body.lamilka-best-of-riviera-detail .lamilka-riviera-best-detail__lightbox-close {
    right: 12px !important;
    top: 12px !important;
  }

  .lamilka-riviera-guest-lightbox__arrow,
  body.lamilka-best-of-riviera-detail .lamilka-riviera-best-detail__lightbox-arrow {
    bottom: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .lamilka-riviera-guest-lightbox__arrow--previous,
  body.lamilka-best-of-riviera-detail .lamilka-riviera-best-detail__lightbox-arrow--previous {
    left: 8px !important;
  }

  .lamilka-riviera-guest-lightbox__arrow--next,
  body.lamilka-best-of-riviera-detail .lamilka-riviera-best-detail__lightbox-arrow--next {
    right: 8px !important;
  }
}

/* --------------------------------------------------------------------------
   Private Tours cards: consistent title/subtitle spacing and balanced wraps.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .lamilka-private__ideas a > div {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    height: auto !important;
    justify-content: flex-start !important;
    min-height: 126px !important;
    padding: 18px 14px 20px !important;
  }

  .lamilka-private__ideas h3 {
    font-size: clamp(17px, 4.7vw, 20px) !important;
    line-height: 1.18 !important;
    margin: 0 !important;
    text-wrap: balance;
  }

  .lamilka-private__ideas a p {
    font-size: clamp(13px, 3.5vw, 15px) !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    min-height: 2.7em;
    text-wrap: balance;
  }

  .lamilka-private__ideas img {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .lamilka-private__mobile a:first-child {
    gap: 9px !important;
  }
}

/* --------------------------------------------------------------------------
   Best of Riviera intentional subtitle line break.
   -------------------------------------------------------------------------- */
.lamilka-best-of-riviera__intro span {
  display: block;
}

/* --------------------------------------------------------------------------
   About mobile card containment.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .lamilka-about__cards article,
  .lamilka-about__trust article,
  .lamilka-about__services a,
  .lamilka-about__partners a {
    box-sizing: border-box;
    min-width: 0;
    overflow: hidden;
    padding-inline: 14px !important;
  }

  .lamilka-about__cards h3,
  .lamilka-about__trust h3,
  .lamilka-about__services h3,
  .lamilka-about__partners h3 {
    font-size: clamp(16px, 4.2vw, 20px) !important;
    line-height: 1.18 !important;
    max-width: 100%;
    overflow-wrap: break-word;
    text-wrap: balance;
    word-break: normal;
  }

  .lamilka-about__cards article p,
  .lamilka-about__trust article p,
  .lamilka-about__services a p,
  .lamilka-about__partners a p {
    font-size: clamp(13px, 3.5vw, 16px) !important;
    line-height: 1.35 !important;
    max-width: 100%;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
}

/* Footer contact deliberately omits the street address in v0.4.99. */
