.lash-gallery { padding-block: 28px 12px; }
.lash-track { display: flex; gap: 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; margin: 0; padding: 4px 0 12px; list-style: none; border-radius: 24px; }
.lash-slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: center; }
.lash-slide img { display: block; width: 100%; aspect-ratio: 9 / 16; height: auto; object-fit: cover; border-radius: 24px; }
.lash-controls { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 10px; }
.lash-controls[hidden] { display: none; }
.lash-dots { display: flex; }
.lash-dot { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; background: transparent; border: 0; border-radius: 50%; }
.lash-dot span { width: 7px; height: 7px; border-radius: 50%; background: #8499a8; }
.lash-dot[aria-current="true"] span { background: var(--blue); width: 10px; height: 10px; }
.lash-arrow { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: white; color: var(--blue-dark); font-size: 20px; }
.lash-arrow:disabled { opacity: .4; cursor: default; }
.lash-pricing { max-width: 1000px; display: grid; gap: 28px; padding-block: 32px 56px; }
.lash-pricing h2 { font-size: clamp(26px, 3vw, 34px); margin-bottom: 24px; }
.lash-price-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.lash-price-card { min-width: 0; border: 1px solid var(--line); border-radius: 22px; padding: 24px 20px; }
.lash-price-card h3 { margin: 0 0 16px; color: var(--blue-dark); font-size: 13px; font-weight: 600; letter-spacing: .12em; }
.lash-price-card h2 { color: var(--blue-dark); }
.lash-price-card dl { margin: 0; }
.lash-price-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 16px; padding-block: 16px; font-size: 14px; line-height: 1.6; }
.lash-price-row + .lash-price-row { border-top: 1px solid var(--line); }
.lash-price-row dt { min-width: 0; overflow-wrap: anywhere; }
.lash-price-row dd { margin: 0; white-space: nowrap; color: var(--blue-dark); font-weight: 600; font-variant-numeric: tabular-nums; }
.lash-offer { background: #fdf2f6; border-color: #eedce4; }
.lash-booking { padding-top: 8px; text-align: center; }
.lash-booking .button { width: 100%; }
.lash-booking p { color: var(--muted); font-size: 13px; line-height: 1.6; margin: 14px 0 0; }
@media (min-width: 600px) {
  .lash-track { padding-inline: calc((100% - 340px) / 2); scroll-padding-inline: calc((100% - 340px) / 2); }
  .lash-slide { flex-basis: 340px; }
  .lash-arrow { display: block; }
  .lash-booking .button { width: auto; }
}
@media (min-width: 900px) {
  .lash-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lash-price-card { padding: 28px; }
  .lash-price-row { font-size: 15px; }
}
