/*
Theme Name: DS Juice
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.1.1
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

/* Teabreak — khối giới thiệu và số liệu thương hiệu. */
.ds-teabreak-proof {
  padding: 48px 24px 54px;
  color: #4f352c;
  background: #f7fbf9;
}

.ds-teabreak-proof__inner {
  width: min(100%, 1280px);
  margin: 0 auto;
  text-align: center;
}

.ds-teabreak-proof__title {
  margin: 0;
  color: #573b31;
  font-size: clamp(27px, 2.35vw, 38px);
  font-weight: 700;
  line-height: 1.2;
}

.ds-teabreak-proof__title span {
  white-space: nowrap;
}

.ds-teabreak-proof__rule {
  width: 100px;
  height: 4px;
  margin: 18px auto 20px;
  border-radius: 999px;
  background: #6f988a;
}

.ds-teabreak-proof__intro {
  max-width: 1220px;
  margin: 0 auto;
  color: #382f2b;
  font-size: clamp(17px, 1.42vw, 22px);
  font-weight: 400;
  line-height: 1.5;
}

.ds-teabreak-proof__intro strong {
  color: #6f988a;
  font-weight: 600;
}

.ds-teabreak-proof__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  margin-top: 30px;
}

.ds-teabreak-proof__stat {
  min-width: 0;
}

.ds-proof-number {
  color: #6f988a;
  font-size: clamp(34px, 3vw, 48px);
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.ds-teabreak-proof__stat p {
  margin: 28px 0 0;
  color: #573b31;
  font-size: clamp(17px, 1.45vw, 22px);
  font-weight: 600;
  line-height: 1.25;
}

@media only screen and (max-width: 849px) {
  .ds-teabreak-proof {
    padding: 38px 20px 42px;
  }

  .ds-teabreak-proof__title span {
    white-space: normal;
  }

  .ds-teabreak-proof__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 18px;
    margin-top: 34px;
  }

  .ds-teabreak-proof__stat p {
    margin-top: 12px;
  }
}

@media only screen and (max-width: 479px) {
  .ds-teabreak-proof__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 12px;
  }
}

/* Khái niệm Teabreak theo nhận diện Lam Lam. */
.ds-teabreak-about {
  padding: 46px 24px 52px;
  color: #573b31;
  background: #fff;
}

.ds-teabreak-about__inner {
  width: min(100%, 1280px);
  margin: 0 auto;
  text-align: center;
}

.ds-teabreak-about__title {
  margin: 0;
  color: #573b31;
  font-size: clamp(27px, 2.35vw, 38px);
  font-weight: 700;
  line-height: 1.2;
}

.ds-teabreak-about__rule {
  width: 100px;
  height: 4px;
  margin: 17px auto 20px;
  border-radius: 999px;
  background: #6f988a;
}

.ds-teabreak-about__intro {
  max-width: 1220px;
  margin: 0 auto;
  color: #382f2b;
  font-size: clamp(17px, 1.42vw, 22px);
  font-weight: 400;
  line-height: 1.5;
}

.ds-teabreak-about__intro strong {
  color: #6f988a;
  font-weight: 600;
}

.ds-teabreak-about__benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
  margin-top: 32px;
}

.ds-teabreak-about__card {
  min-width: 0;
  min-height: 168px;
  padding: 18px 22px 20px;
  border: 1.5px solid #6f988a;
  border-radius: 12px;
  background: #f7fbf9;
  box-shadow: 0 5px 18px rgba(87, 59, 49, 0.05);
}

.ds-teabreak-about__card h3 {
  margin: 0 0 8px;
  color: #573b31;
  font-size: clamp(18px, 1.55vw, 23px);
  font-weight: 700;
  line-height: 1.25;
}

.ds-teabreak-about__card p {
  margin: 0;
  color: #382f2b;
  font-size: clamp(16px, 1.35vw, 21px);
  font-weight: 400;
  line-height: 1.48;
}

@media only screen and (max-width: 849px) {
  .ds-teabreak-about {
    padding: 38px 20px 42px;
  }

  .ds-teabreak-about__benefits {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 28px;
  }

  .ds-teabreak-about__card {
    min-height: 0;
    padding: 20px;
  }
}

/* Slider thực đơn Teabreak. */
.ds-menu-slider {
  padding: 44px 0 50px;
  overflow: hidden;
  color: #573b31;
  background: #f7fbf9;
}

.ds-menu-slider__inner {
  width: min(100%, 1280px);
  margin: 0 auto;
  text-align: center;
}

.ds-menu-slider__title {
  margin: 0;
  padding: 0 24px;
  color: #573b31;
  font-size: clamp(27px, 2.35vw, 38px);
  font-weight: 700;
  line-height: 1.2;
}

.ds-menu-slider__rule {
  width: 100px;
  height: 4px;
  margin: 17px auto 22px;
  border-radius: 999px;
  background: #6f988a;
}

.ds-menu-slider__shell {
  position: relative;
  padding: 0 58px;
}

.ds-menu-slider__viewport {
  overflow: hidden;
}

.ds-menu-slider__track {
  display: flex;
  gap: 26px;
  margin: 0;
  padding: 0;
  list-style: none;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.ds-menu-slider__slide {
  flex: 0 0 calc((100% - 52px) / 3);
  min-width: 0;
}

.ds-menu-slider__slide img {
  display: block;
  width: 100%;
  aspect-ratio: 1.4 / 1;
  border: 1px solid rgba(111, 152, 138, 0.28);
  border-radius: 12px;
  object-fit: cover;
  background: #fff;
  box-shadow: 0 7px 24px rgba(87, 59, 49, 0.08);
}

.ds-menu-slider__button {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: inline-flex;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1.5px solid #6f988a;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  color: #573b31;
  background: #fff;
  box-shadow: 0 5px 16px rgba(87, 59, 49, 0.1);
  cursor: pointer;
  transform: translateY(-50%);
  transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.ds-menu-slider__button:hover,
.ds-menu-slider__button:focus-visible {
  color: #fff;
  background: #6f988a;
  outline: none;
}

.ds-menu-slider__button:active {
  transform: translateY(-50%) scale(0.94);
}

.ds-menu-slider__button--prev {
  left: 4px;
}

.ds-menu-slider__button--next {
  right: 4px;
}

.ds-menu-slider__button i {
  font-size: 31px;
  font-weight: 400;
  line-height: 1;
}

.ds-menu-slider__dots {
  display: flex;
  min-height: 14px;
  margin-top: 20px;
  gap: 9px;
  align-items: center;
  justify-content: center;
}

.ds-menu-slider__dot {
  display: block;
  flex: 0 0 12px;
  width: 12px !important;
  min-width: 12px !important;
  max-width: 12px !important;
  height: 12px !important;
  min-height: 12px !important;
  max-height: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid #6f988a !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.ds-menu-slider__dot.is-active {
  background: #6f988a !important;
  transform: scale(1.08);
}

.ds-menu-slider__dot:focus-visible {
  outline: 2px solid rgba(111, 152, 138, 0.4);
  outline-offset: 3px;
}

@media only screen and (max-width: 849px) {
  .ds-menu-slider {
    padding: 38px 0 42px;
  }

  .ds-menu-slider__shell {
    padding: 0 50px;
  }

  .ds-menu-slider__track {
    gap: 18px;
  }

  .ds-menu-slider__slide {
    flex-basis: 100%;
  }

  .ds-menu-slider__slide img {
    aspect-ratio: 1.4 / 1;
  }

  .ds-menu-slider__button {
    width: 40px;
    height: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ds-menu-slider__track {
    transition: none;
  }
}

/* Lưới các gói tiệc Teabreak. */
.ds-teabreak-packages {
  padding: 48px 24px 54px;
  color: #573b31;
  background: #fff;
}

.ds-teabreak-packages__inner {
  width: min(100%, 1280px);
  margin: 0 auto;
}

.ds-teabreak-packages__title {
  margin: 0;
  color: #573b31;
  font-size: clamp(27px, 2.35vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.ds-teabreak-packages__rule {
  width: 100px;
  height: 4px;
  margin: 17px auto 26px;
  border-radius: 999px;
  background: #6f988a;
}

.ds-teabreak-packages__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 22px;
}

.ds-teabreak-package {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(111, 152, 138, 0.28);
  border-radius: 12px;
  background: #f7fbf9;
  box-shadow: 0 7px 22px rgba(87, 59, 49, 0.07);
}

.ds-teabreak-package__image {
  display: block;
  position: relative;
  aspect-ratio: 1.32 / 1;
  overflow: hidden;
  background: #eaf4f0;
}

.ds-teabreak-package__image img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  object-fit: cover;
  transform: translateZ(0) scale(1);
  transform-origin: center center;
  transition: opacity 420ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
  backface-visibility: hidden;
}

.ds-teabreak-package__image img.is-active {
  z-index: 1;
  opacity: 1;
}

.ds-teabreak-package:hover .ds-teabreak-package__image img.is-active {
  transform: translateZ(0) scale(1.06);
}

.ds-package-gallery__button {
  position: absolute;
  z-index: 3;
  top: 50%;
  display: inline-flex;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.78) !important;
  border-radius: 50% !important;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(87, 59, 49, 0.74) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18) !important;
  cursor: pointer;
  transform: translateY(-50%);
  transition: background-color 180ms ease, transform 180ms ease;
}

.ds-package-gallery__button:hover,
.ds-package-gallery__button:focus-visible {
  background: #6f988a !important;
  outline: none;
}

.ds-package-gallery__button--prev {
  left: 10px;
}

.ds-package-gallery__button--next {
  right: 10px;
}

.ds-package-gallery__button i {
  font-size: 25px;
  line-height: 1;
}

.ds-package-gallery__dots {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 10px;
  left: 0;
  display: flex;
  gap: 7px;
  justify-content: center;
}

.ds-package-gallery__dot {
  display: block;
  flex: 0 0 9px;
  width: 9px !important;
  min-width: 9px !important;
  max-width: 9px !important;
  height: 9px !important;
  min-height: 9px !important;
  max-height: 9px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #fff !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.35) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22) !important;
  cursor: pointer;
  appearance: none;
}

.ds-package-gallery__dot.is-active {
  background: #fff !important;
  transform: scale(1.12);
}

.ds-teabreak-package__image {
  cursor: zoom-in;
}

body.ds-gallery-open {
  overflow: hidden;
}

.ds-package-lightbox {
  position: fixed;
  z-index: 999999;
  inset: 0;
  display: none;
  padding: 18px 72px;
  align-items: center;
  justify-content: center;
  background: rgba(20, 20, 20, 0.64);
  backdrop-filter: blur(2px);
}

.ds-package-lightbox.is-open {
  display: flex;
}

.ds-package-lightbox__dialog {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.ds-package-lightbox__image {
  display: block;
  width: auto;
  max-width: min(78vw, 1120px);
  height: auto;
  max-height: calc(100vh - 36px);
  border-radius: 2px;
  object-fit: contain;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.45);
  user-select: none;
}

.ds-package-lightbox__close,
.ds-package-lightbox__nav {
  position: fixed;
  z-index: 2;
  display: inline-flex;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
}

.ds-package-lightbox__close:hover,
.ds-package-lightbox__close:focus-visible,
.ds-package-lightbox__nav:hover,
.ds-package-lightbox__nav:focus-visible {
  color: #fff;
  background: transparent !important;
  outline: none;
  opacity: 1;
}

.ds-package-lightbox__close {
  top: 14px;
  right: 18px;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  color: #111 !important;
  opacity: 1;
}

.ds-package-lightbox__close:hover,
.ds-package-lightbox__close:focus-visible {
  color: #000 !important;
}

.ds-package-lightbox__nav {
  top: 50%;
  width: 48px !important;
  min-width: 48px !important;
  height: 72px !important;
  min-height: 72px !important;
  opacity: 0.72;
  transform: translateY(-50%);
}

.ds-package-lightbox__nav--prev {
  left: 12px;
}

.ds-package-lightbox__nav--next {
  right: 12px;
}

.ds-package-lightbox__close img {
  display: block;
  width: 30px;
  height: 30px;
  filter: brightness(0) invert(1);
}

.ds-package-lightbox__nav i {
  font-size: 38px;
  font-weight: 300;
  line-height: 1;
}

.ds-package-lightbox__dots {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 12px;
  left: 0;
  display: flex;
  gap: 10px;
  justify-content: center;
}

.ds-package-lightbox__dot {
  display: block;
  width: 12px !important;
  min-width: 12px !important;
  height: 12px !important;
  min-height: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid #fff !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.32) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.28) !important;
  cursor: pointer;
}

.ds-package-lightbox__dot.is-active {
  background: #fff !important;
}

@media only screen and (max-width: 549px) {
  .ds-package-lightbox {
    padding: 54px 14px 36px;
  }

  .ds-package-lightbox__dialog {
    width: 100%;
    height: 100%;
  }

  .ds-package-lightbox__image {
    max-width: 100%;
    max-height: calc(100vh - 90px);
    border-radius: 2px;
  }

  .ds-package-lightbox__close {
    top: 8px;
    right: 8px;
  }

  .ds-package-lightbox__nav {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  .ds-package-lightbox__nav--prev {
    left: 2px;
  }

  .ds-package-lightbox__nav--next {
    right: 2px;
  }
}

/* Video inspiration section below the Teabreak decor slider. */
.ds-social-videos {
  padding: 56px 20px 64px;
  background: #fff;
}

.ds-social-videos__inner {
  width: 70%;
  max-width: 784px;
  margin: 0 auto;
}

.ds-social-videos h2 {
  max-width: 900px;
  margin: 0 auto;
  color: #58341f;
  font-size: clamp(26px, 2.5vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}

.ds-social-videos__rule {
  width: 86px;
  height: 4px;
  margin: 18px auto 38px;
  border-radius: 999px;
  background: #6f9a8e;
}

.ds-social-videos__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
}

.ds-social-video {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: 4px;
  background: #f3f7f6;
  box-shadow: 0 12px 34px rgba(88, 52, 31, 0.12);
}

.ds-social-video iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media only screen and (max-width: 849px) {
  .ds-social-videos {
    padding: 44px 18px 52px;
  }

  .ds-social-videos__grid {
    gap: 24px;
  }

}

@media only screen and (max-width: 549px) {
  .ds-social-videos {
    padding: 38px 16px 44px;
  }

  .ds-social-videos__inner {
    width: 100%;
  }

  .ds-social-videos h2 {
    font-size: 25px;
  }

  .ds-social-videos__rule {
    margin-bottom: 28px;
  }

  .ds-social-videos__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

}

.ds-teabreak-package__body {
  padding: 14px 14px 17px;
}

.ds-teabreak-package__meta {
  display: flex;
  margin-bottom: 12px;
  gap: 8px;
  flex-wrap: wrap;
}

.ds-teabreak-package__badge {
  display: inline-flex;
  min-height: 28px;
  padding: 4px 9px;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  color: #573b31;
  background: #e5f1ed;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
}

.ds-teabreak-package__badge i {
  color: #6f988a;
}

.ds-teabreak-package h3 {
  margin: 0;
  color: #573b31;
  font-size: clamp(17px, 1.35vw, 21px);
  font-weight: 700;
  line-height: 1.3;
}

.ds-teabreak-package__link {
  color: inherit;
  text-decoration: none;
}

.ds-teabreak-package__link:focus-visible {
  outline: 2px solid #6f988a;
  outline-offset: -2px;
}

@media only screen and (max-width: 1049px) {
  .ds-teabreak-packages__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 549px) {
  .ds-teabreak-packages {
    padding: 38px 20px 42px;
  }

  .ds-teabreak-packages__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Teabreak — CTA tư vấn nhanh sau các gói tiệc. */
.ds-teabreak-consult {
  padding: var(--ds-consult-padding, 52px) 24px;
  color: var(--ds-consult-title, #573b31);
  background: var(--ds-consult-bg, #eef6f3);
}

.ds-teabreak-consult__inner {
  display: grid;
  width: min(100%, var(--ds-consult-width, 1280px));
  margin: 0 auto;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.92fr);
  gap: clamp(54px, 7vw, 110px);
  align-items: center;
}

.ds-teabreak-consult__eyebrow {
  margin: 0 0 9px !important;
  color: #6f988a;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ds-teabreak-consult__copy h2 {
  margin: 0 0 18px;
  color: var(--ds-consult-title, #573b31);
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 700;
  line-height: 1.16;
}

.ds-teabreak-consult__copy > p:last-child {
  margin: 0;
  color: var(--ds-consult-text, #382f2b);
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.55;
}

.ds-teabreak-consult__form {
  display: grid;
  gap: 14px;
}

.ds-teabreak-consult__field label {
  display: block;
  margin-bottom: 7px;
  color: var(--ds-consult-title, #573b31);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}

.ds-teabreak-consult__field input {
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 15px;
  border: 1px solid rgba(87, 59, 49, 0.24);
  border-radius: 6px;
  color: #382f2b;
  background: #fff;
  box-shadow: none;
  font-size: 16px;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.ds-teabreak-consult__field input:focus {
  border-color: var(--ds-consult-button, #6f988a);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-consult-button, #6f988a) 18%, transparent);
  outline: none;
}

.ds-teabreak-consult__form button {
  width: max-content;
  min-height: 46px;
  margin: 7px 0 0;
  padding: 0 24px;
  border: 1px solid var(--ds-consult-button, #6f988a);
  border-radius: 999px;
  color: #fff;
  background: var(--ds-consult-button, #6f988a);
  box-shadow: none;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: background-color 180ms ease, transform 180ms ease;
}

.ds-teabreak-consult__form button:hover,
.ds-teabreak-consult__form button:focus-visible {
  border-color: #573b31;
  background: #573b31;
  outline: none;
}

.ds-teabreak-consult__form button:active {
  transform: translateY(1px);
}

.ds-teabreak-consult__form button:disabled {
  cursor: wait;
  opacity: 0.68;
}

.ds-teabreak-consult__status {
  min-height: 20px;
  margin: 0;
  color: #573b31;
  font-size: 14px;
  line-height: 1.4;
}

.ds-teabreak-consult__status.is-success {
  color: #3f7564;
}

.ds-teabreak-consult__status.is-error {
  color: #a33a32;
}

@media only screen and (max-width: 849px) {
  .ds-teabreak-consult {
    padding: 42px 20px;
  }

  .ds-teabreak-consult__inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

@media only screen and (max-width: 549px) {
  .ds-teabreak-consult__copy h2 {
    font-size: 30px;
  }

  .ds-teabreak-consult__copy > p:last-child br {
    display: none;
  }

  .ds-teabreak-consult__form button {
    width: 100%;
  }
}

/* Finger Food — compact editable consultation block matching the two-column reference. */
.ds-teabreak-consult.ds-consult-compact {
  padding: var(--ds-consult-padding, 30px) 24px;
  background: var(--ds-consult-bg, #fff);
}

.ds-consult-compact .ds-teabreak-consult__inner {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.96fr);
  gap: clamp(40px, 6vw, 84px);
}

.ds-consult-compact .ds-teabreak-consult__eyebrow:empty {
  display: none;
}

.ds-consult-compact .ds-teabreak-consult__copy h2 {
  margin-bottom: 12px;
  font-size: clamp(25px, 2.25vw, 32px);
}

.ds-consult-compact .ds-teabreak-consult__copy > p:last-child {
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.5;
}

.ds-consult-compact .ds-teabreak-consult__form {
  gap: 10px;
}

.ds-consult-compact .ds-teabreak-consult__field label {
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 500;
}

.ds-consult-compact .ds-teabreak-consult__field input {
  height: 42px;
  border-radius: 0;
  font-size: 15px;
}

.ds-consult-compact .ds-teabreak-consult__form button {
  min-height: 42px;
  margin-top: 5px;
  padding: 0 22px;
  border-color: #573b31;
  border-radius: 3px;
  background: #573b31;
  font-size: 14px;
}

.ds-consult-compact .ds-teabreak-consult__form button:hover,
.ds-consult-compact .ds-teabreak-consult__form button:focus-visible {
  border-color: #6f988a;
  background: #6f988a;
}

@media only screen and (max-width: 849px) {
  .ds-teabreak-consult.ds-consult-compact {
    padding: 34px 20px 36px;
  }

  .ds-consult-compact .ds-teabreak-consult__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media only screen and (max-width: 549px) {
  .ds-consult-compact .ds-teabreak-consult__copy h2 {
    font-size: 27px;
  }

  .ds-consult-compact .ds-teabreak-consult__form {
    padding-right: 58px;
  }
}

/* Slider tone màu decor Teabreak. */
.ds-decor-tones {
  width: 100%;
  padding: 54px 22px 58px;
  overflow: hidden;
  background: #fff;
  color: #573522;
}

.ds-decor-tones__inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.ds-decor-tones h2 {
  max-width: 900px;
  margin: 0 auto;
  color: #573522;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-align: center;
  text-transform: uppercase;
}

.ds-decor-tones__rule {
  width: 98px;
  height: 4px;
  margin: 18px auto 38px;
  border-radius: 999px;
  background: #6f988a;
}

.ds-decor-tones__slider {
  position: relative;
  padding: 0 38px 28px;
}

.ds-decor-tones__viewport {
  overflow: hidden;
}

.ds-decor-tones__track {
  display: flex;
  gap: 18px;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.ds-decor-tone {
  position: relative;
  flex: 0 0 calc((100% - 54px) / 4);
  height: 286px;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #e4f1ee;
  box-shadow: 0 8px 22px rgba(65, 91, 82, 0.1);
}

.ds-decor-tone img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.ds-decor-tone:hover img {
  transform: scale(1.045);
}

.ds-decor-tones__button {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 44px;
  height: 44px;
  min-height: 44px;
  margin: -36px 0 0;
  padding: 0;
  border: 1px solid #6f988a;
  border-radius: 50%;
  color: #573522;
  background: #fff;
  box-shadow: 0 5px 16px rgba(65, 91, 82, 0.14);
  font-size: 25px;
  line-height: 42px;
  transition: color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.ds-decor-tones__button:hover,
.ds-decor-tones__button:focus-visible {
  color: #fff;
  background: #6f988a;
  transform: scale(1.06);
}

.ds-decor-tones__button--prev {
  left: 0;
}

.ds-decor-tones__button--next {
  right: 0;
}

.ds-decor-tones__dots {
  display: flex;
  min-height: 16px;
  margin-top: 20px;
  gap: 9px;
  align-items: center;
  justify-content: center;
}

.ds-decor-tones__dot {
  display: block;
  flex: 0 0 14px;
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px;
  height: 14px !important;
  min-height: 14px !important;
  max-height: 14px;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #6f988a !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: none !important;
  line-height: 0;
  appearance: none;
}

.ds-decor-tones__dot.is-active {
  border-color: #6f988a !important;
  background: #6f988a !important;
}

@media only screen and (max-width: 849px) {
  .ds-decor-tones {
    padding: 44px 16px 48px;
  }

  .ds-decor-tones__slider {
    padding-right: 30px;
    padding-left: 30px;
  }

  .ds-decor-tones__track {
    gap: 14px;
  }

  .ds-decor-tone {
    flex-basis: calc((100% - 14px) / 2);
    height: 260px;
  }
}

@media only screen and (max-width: 549px) {
  .ds-decor-tones h2 {
    font-size: 27px;
  }

  .ds-decor-tones__rule {
    margin-bottom: 28px;
  }

  .ds-decor-tones__slider {
    padding-right: 0;
    padding-left: 0;
  }

  .ds-decor-tones__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 10px) / 2);
    grid-template-rows: repeat(2, 190px);
    gap: 10px;
  }

  .ds-decor-tone {
    width: auto;
    min-width: 0;
    height: 190px;
    border-radius: 8px;
  }

  .ds-decor-tones__button {
    width: 40px;
    height: 40px;
    min-height: 40px;
    line-height: 38px;
  }

  .ds-decor-tones__button--prev {
    left: -8px;
  }

  .ds-decor-tones__button--next {
    right: -8px;
  }
}

/* Header Lam Lam theo ảnh tham chiếu. */
@media only screen and (min-width: 850px) {
  #header {
    border: 0;
  }

  #masthead.header-main {
    height: 130px;
    background: #fff;
  }

  #header.header-full-width #masthead .header-inner {
    width: calc(100% - 22px);
    max-width: 1280px !important;
    height: 130px;
    padding: 0;
    gap: 0;
    margin-right: auto;
    margin-left: auto;
    position: relative;
  }

  #masthead #logo,
  #masthead #logo img {
    width: 124px;
    max-height: 124px;
  }

  #masthead #logo {
    margin-right: clamp(32px, 2.5vw, 35px);
  }

  #masthead #logo img {
    object-fit: contain;
  }

  #masthead .flex-left.flex-grow {
    position: static;
    flex: 1 1 auto;
    min-width: 0;
    transform: none;
  }

  #masthead .header-nav-main {
    align-items: center;
  }

  #masthead .nav-left.header-nav-main {
    width: max-content;
    max-width: none;
    flex-flow: row nowrap !important;
    flex-wrap: nowrap !important;
  }

  #masthead .nav-left.header-nav-main > li {
    flex: 0 0 auto;
  }

  #masthead .nav-left > li {
    margin: 0 clamp(8px, 0.85vw, 16px);
  }

  #masthead .nav-left > li:first-child {
    margin-left: 0;
  }

  #masthead .nav-left > li:last-child {
    margin-right: 0;
  }

  #masthead .nav-left > li > a {
    min-height: 0;
    padding: 0 0 5px;
    color: #050505;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    white-space: nowrap;
  }

  #masthead .nav-left.nav-line-bottom > li > a::before {
    height: 3px;
    bottom: 0;
    background: #6f988a;
  }

  #masthead .nav-left > li.active > a,
  #masthead .nav-left > li.current-menu-item > a,
  #masthead .nav-left > li > a:hover {
    color: #6f988a;
  }

  #masthead .flex-right {
    margin-left: auto;
  }

  #masthead .nav-right {
    gap: clamp(12px, 1.25vw, 24px);
    flex-wrap: nowrap;
  }

  #masthead .nav-right > li {
    margin: 0;
  }

  #masthead .header-social-icons .social-icons {
    display: flex;
    gap: clamp(9px, 0.7vw, 13px);
    flex-wrap: nowrap;
  }

  #masthead .header-social-icons .icon {
    width: auto;
    height: auto;
    margin: 0;
    color: #89918d;
    font-size: clamp(17px, 1.05vw, 20px);
    line-height: 1;
  }

  #masthead .ds-header-contact__link {
    display: inline-flex;
    min-height: 44px;
    padding: 0 23px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #6f988a;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
    white-space: nowrap;
  }

  #masthead .ds-header-contact__link:hover,
  #masthead .ds-header-contact__link:focus-visible {
    color: #fff;
    background: #587f72;
  }

  /* Header thu gọn khi Flatsome chuyển sang trạng thái sticky. */
  #header .header-wrapper.stuck #masthead.header-main,
  #header.header-full-width .header-wrapper.stuck #masthead .header-inner {
    height: 88px !important;
  }

  #header .header-wrapper.stuck #masthead #logo,
  #header .header-wrapper.stuck #masthead #logo img {
    width: 88px !important;
    height: 88px !important;
    max-height: 88px !important;
  }

  #header .header-wrapper.stuck #masthead #logo {
    margin-right: 68px;
  }

  /*
   * Flatsome đã tự animate cả khối sticky bằng transform. Không animate thêm
   * height/width ở đây: chiều cao thay đổi trong lúc translateY dùng phần trăm
   * khiến điểm neo của header liên tục dịch chuyển và gây giật khi đổi hướng
   * cuộn. Kích thước sticky được áp dụng ngay, còn chuyển động xuất hiện/ẩn
   * vẫn do hiệu ứng gốc của theme đảm nhiệm.
   */
  #masthead.header-main,
  #masthead .header-inner,
  #masthead #logo,
  #masthead #logo img {
    transition: none;
  }
}

@media only screen and (min-width: 850px) and (max-width: 1199px) {
  #masthead.header-main,
  #header.header-full-width #masthead .header-inner {
    height: 130px;
  }

  #masthead #logo,
  #masthead #logo img {
    width: 124px;
    max-height: 124px;
  }

  #masthead .nav-left > li {
    margin: 0 11px;
  }

  #masthead .nav-left > li > a {
    min-height: 0;
    font-size: 14px;
  }

  #masthead .nav-right {
    gap: 9px;
  }

  #masthead .header-social-icons .social-icons {
    gap: 6px;
  }

  #masthead .ds-header-contact__link {
    min-height: 44px;
    padding: 0 23px;
    font-size: 15px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1499px) {
  #masthead.header-main,
  #header.header-full-width #masthead .header-inner {
    height: 130px;
  }

  #masthead #logo,
  #masthead #logo img {
    width: 124px;
    max-height: 124px;
  }

  #masthead #logo {
    margin-right: 32px;
  }

  #masthead .nav-left > li {
    margin: 0 13px;
  }

  #masthead .nav-left > li > a {
    min-height: 0;
    font-size: 17px;
  }

  #masthead .nav-right {
    gap: 10px;
  }

  #masthead .header-social-icons .social-icons {
    gap: 7px;
  }

  #masthead .ds-header-contact__link {
    min-height: 44px;
    padding: 0 23px;
    font-size: 15px;
  }
}

@media only screen and (min-width: 1500px) {
  #masthead .nav-left > li {
    margin: 0 13px;
  }

  #masthead .nav-left > li > a {
    font-size: 17px;
  }

  #masthead .nav-right {
    gap: 12px;
  }
}

/* Header mobile theo layout logo trái, social và menu cùng một hàng. */
@media only screen and (max-width: 849px) {
  #masthead.header-main,
  #header .header-wrapper.stuck #masthead.header-main {
    height: 66px !important;
    background: #fff;
  }

  #header.header-full-width #masthead .header-inner,
  #header .header-wrapper.stuck #masthead .header-inner {
    width: 100%;
    height: 66px !important;
    min-height: 66px;
    padding: 0 6px;
    align-items: center;
  }

  #masthead #logo,
  #header .header-wrapper.stuck #masthead #logo {
    flex: 0 0 65px;
    width: 65px !important;
    height: 65px !important;
    margin: 0;
  }

  #masthead #logo a {
    display: block;
    width: 65px;
    height: 65px;
  }

  #masthead #logo img,
  #header .header-wrapper.stuck #masthead #logo img {
    width: 65px !important;
    height: 65px !important;
    max-height: 65px !important;
    padding: 0;
    object-fit: contain;
  }

  #masthead .show-for-medium.flex-left {
    display: none !important;
  }

  #masthead .show-for-medium.flex-right {
    display: flex !important;
    flex: 0 0 auto;
    margin-left: auto;
    align-items: center;
  }

  #masthead .mobile-nav.nav-right {
    display: flex;
    margin: 0;
    gap: 14px;
    align-items: center;
    flex-wrap: nowrap;
  }

  #masthead .mobile-nav.nav-right > li {
    margin: 0;
  }

  #masthead .mobile-nav .header-social-icons {
    margin: 0;
  }

  #masthead .mobile-nav .header-social-icons .social-icons {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: nowrap;
  }

  #masthead .mobile-nav .header-social-icons .icon {
    display: inline-flex;
    width: 18px;
    height: 24px;
    margin: 0;
    align-items: center;
    justify-content: center;
    color: #89918d;
    font-size: 18px;
    line-height: 1;
  }

  #masthead .mobile-nav .nav-icon .header-button,
  #masthead .mobile-nav .nav-icon .header-button .button {
    margin: 0;
  }

  #masthead .mobile-nav .nav-icon .header-button .button {
    display: inline-flex;
    width: 31px;
    min-width: 31px;
    height: 31px;
    min-height: 31px;
    padding: 0 !important;
    border: 0;
    border-radius: 5px !important;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #6f988a;
    box-shadow: none;
    font-size: 17px;
    line-height: 1;
  }
}

/*
 * Trang chủ — căn chỉnh khối giới thiệu Lam Lam.
 * Ảnh desktop cao hơn vùng chứa cũ 300px nên bị tràn lên section tiệc phía
 * dưới. Giữ nguyên artwork và các khung trang trí, chỉ sửa nhịp bố cục.
 */
@media only screen and (min-width: 850px) {
  .home .ds-home-intro-head {
    margin-bottom: 0 !important;
  }

  .home .ds-home-intro-head > .col > .col-inner {
    padding: 0 24px;
  }

  .home .ds-grad-bg > .col > .col-inner {
    margin-bottom: 50px !important;
  }

  .home .ds-grad-bg .row.align-middle {
    align-items: center;
  }

  .home .ds-home-intro-left {
    height: 370px;
    min-height: 370px;
  }

  .home .ds-home-intro-left > .col-inner {
    width: min(400px, calc(100% - 48px));
    right: auto;
    bottom: 0;
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
  }

  .home .ds-home-intro-left .img,
  .home .ds-home-intro-left .img-inner {
    width: 100%;
    height: auto;
  }

  .home .ds-home-intro-left img {
    display: block;
    width: 100%;
    height: auto !important;
    max-width: 100%;
    object-fit: contain;
    image-rendering: auto;
  }

  .home .ds-home-intro-left + .col > .col-inner {
    width: min(400px, calc(100% - 48px));
    margin: 0 auto;
    padding: 24px 0;
  }

  .home .ds-home-intro-left + .col .text {
    max-width: 560px;
  }

  .home .ds-home-intro-left + .col p {
    line-height: 1.55;
  }

  .home .ds-grad-bg + * {
    clear: both;
  }
}

@media only screen and (min-width: 850px) and (max-width: 1024px) {
  .home .ds-home-intro-left + .col > .col-inner {
    padding-right: 24px;
  }
}


@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}

/* Ba nút liên hệ Zalo cố định. */
.ds-zalo-contacts {
  position: fixed;
  z-index: 9998;
  right: var(--zalo-right, 18px);
  bottom: var(--zalo-bottom, 92px);
  display: flex;
  gap: var(--zalo-gap, 10px);
  flex-direction: column;
  align-items: flex-end;
}

.ds-zalo-contact {
  position: relative;
  display: flex;
  width: var(--zalo-size, 58px);
  min-width: var(--zalo-size, 58px);
  height: var(--zalo-size, 58px);
  min-height: var(--zalo-size, 58px);
  padding: 0;
  border: 1px solid var(--zalo-border, #c8eade);
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  color: #fff;
  overflow: visible;
  background: var(--zalo-background, #fff);
  /* Soft mint glow beneath the white circle; keep the logo and border sharp. */
  box-shadow: 0 0 var(--zalo-blur, 16px) var(--zalo-spread, 3px) var(--zalo-glow, #9bc9b866);
  text-decoration: none;
}

.ds-zalo-contact:hover,
.ds-zalo-contact:focus-visible {
  color: #fff;
}

.ds-zalo-contact:focus-visible {
  outline: 3px solid #6f9a8e;
  outline-offset: 3px;
}

.ds-zalo-contact__image {
  display: block;
  width: var(--zalo-image-size, 70%);
  height: var(--zalo-image-size, 70%);
  object-fit: contain;
  transform: rotate(0deg);
  transform-origin: center;
  transition: transform var(--zalo-duration, 400ms) ease;
}

/* One turn on entry; the same transition reverses on pointer exit. */
.ds-zalo-contact:hover .ds-zalo-contact__image,
.ds-zalo-contact:focus-visible .ds-zalo-contact__image {
  transform: rotate(var(--zalo-rotation, 360deg));
}

.ds-zalo-contact__text {
  position: absolute;
  top: 50%;
  right: calc(100% + 12px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: max-content;
  max-width: calc(100vw - 100px);
  min-width: 142px;
  min-height: 44px;
  padding: 8px 12px;
  border-radius: 3px;
  color: var(--zalo-tooltip-color, #fff);
  background: var(--zalo-tooltip-background, #9fc8b9);
  box-shadow: none;
  font-size: 15px;
  line-height: 23px;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(10px, -50%);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  white-space: nowrap;
}

/* Keep the label open while the pointer crosses the gap from the icon. */
.ds-zalo-contact__text::after {
  position: absolute;
  top: 0;
  left: 100%;
  width: 12px;
  height: 100%;
  content: "";
}

.ds-zalo-contact:hover .ds-zalo-contact__text,
.ds-zalo-contact:focus-visible .ds-zalo-contact__text {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(0, -50%);
}

.ds-zalo-contact__text strong {
  font-size: inherit;
  font-weight: 400;
  white-space: nowrap;
}

.ds-zalo-contact__text small {
  margin-top: 0;
  color: inherit;
  font-size: inherit;
  font-weight: 400;
}

@media only screen and (max-width: 549px) {
  .ds-zalo-contacts {
    right: var(--zalo-right-sm, 12px);
    bottom: var(--zalo-bottom-sm, 84px);
    gap: var(--zalo-gap-sm, 8px);
  }

  .ds-zalo-contact {
    width: var(--zalo-size-sm, 54px);
    min-width: var(--zalo-size-sm, 54px);
    height: var(--zalo-size-sm, 54px);
    min-height: var(--zalo-size-sm, 54px);
    padding: 0;
    justify-content: center;
  }

  .ds-zalo-contact__text {
    right: calc(100% + 10px);
    padding: 8px 12px;
  }

  .ds-zalo-contact__text::after {
    width: 10px;
  }
}

.ds-zalo-contacts--left { right: auto; left: var(--zalo-right, 18px); align-items: flex-start; }
.ds-zalo-contacts--left .ds-zalo-contact__text { right: auto; left: calc(100% + 12px); }
.ds-zalo-contacts--left .ds-zalo-contact__text::after { left: auto; right: 100%; }
@media only screen and (max-width: 549px) {
  .ds-zalo-contacts--left { right: auto; left: var(--zalo-right-sm, 12px); }
  .ds-zalo-contacts--left .ds-zalo-contact__text { left: calc(100% + 10px); }
}
/* Keep the shared block visible and selectable on the Builder canvas. */
.ux-builder-iframe .ds-zalo-contacts { position: relative; right: auto; left: auto; bottom: auto; z-index: 1; width: fit-content; margin: 32px auto; }

@media (prefers-reduced-motion: reduce) {
  /* Keep the explicitly enabled Builder rotation; reduce tooltip motion only. */
  .ds-zalo-contact__text {
    transition: none;
  }
}
/* Native UX Builder feedback section: Text + Divider + Gallery. */
.ds-feedback > .section-content > .row { max-width: 1100px; }
.ds-feedback .ds-feedback-gallery.slider-nav-outside { width: calc(100% - 80px); margin-left: auto; margin-right: auto; }
.ds-feedback .ds-feedback-gallery.slider-nav-outside .flickity-prev-next-button.previous { left: -40px; }
.ds-feedback .ds-feedback-gallery.slider-nav-outside .flickity-prev-next-button.next { right: -40px; }
.ds-feedback .ds-feedback-gallery.slider-nav-outside .flickity-prev-next-button:not(:disabled) { opacity: 1; }
.ds-feedback .ds-feedback-heading h2 {
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.35;
  font-weight: 700;
  margin-bottom: 0;
}
.ds-feedback .ds-feedback-intro {
  max-width: 850px;
  margin: 0 auto 28px;
}
.ds-feedback .ds-feedback-intro p { margin-bottom: 0; }
.ds-feedback .ds-feedback-gallery .box-text { display: none; }
.ds-feedback .ds-feedback-gallery .box-image { overflow: hidden; isolation: isolate; }
.ds-feedback .ds-feedback-gallery .box-image img { display: block; margin: 0; }
.ds-feedback .ds-feedback-gallery .flickity-page-dots { bottom: -18px; }
.ds-feedback div.ds-feedback-gallery { margin-bottom: 20px; }
@media (max-width: 549px) {
  .ds-feedback .ds-feedback-intro { font-size: 14px; margin-bottom: 22px; }
  .ds-feedback div.ds-feedback-gallery { max-width: 360px; margin-left: auto; margin-right: auto; }
  .ds-feedback .ds-feedback-gallery .flickity-prev-next-button { width: 32px; }
}

/* Editable decor section; only this section and its custom carousel. */
.ds-decor-editable { padding-left: 22px; padding-right: 22px; }
.ds-decor-editable > .section-content > .row { max-width: 1280px; margin: 0 auto; }
.ds-decor-editable > .section-content > .row > .col { padding: 0; }
.ds-decor-editable .ds-decor-heading { margin: 0; }
.ds-decor-editable .ds-decor-heading h2 { color: inherit; text-align: inherit; font-size: inherit; }
.ds-decor-editable .is-divider { border-radius: 999px; }
.ds-decor-native-slider .ds-decor-tones__track { gap: var(--decor-gap); transition-duration: var(--decor-speed); }
.ds-decor-native-slider .ds-decor-tones__track > .img { flex: 0 0 calc((100% - (var(--decor-columns) - 1) * var(--decor-gap)) / var(--decor-columns)); height: var(--decor-height); margin: 0; overflow: hidden; border-radius: 12px; background: #e4f1ee; box-shadow: 0 8px 22px rgba(65,91,82,.1); }
.ds-decor-native-slider .img .img-inner { height: 100%; overflow: hidden; }
.ds-decor-native-slider .img img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.22,1,.36,1); }
.ds-decor-native-slider .img:hover img { transform: scale(1.045); }
.ds-decor-native-slider .img { touch-action: pan-y; }
.ds-decor-native-slider .img img { -webkit-user-drag: none; user-select: none; }
.ds-decor-native-slider .ds-decor-tones__button { border-color: var(--decor-nav-color); }
.ds-decor-native-slider .ds-decor-tones__button:hover { background: var(--decor-nav-color); }
.ds-decor-native-slider .ds-decor-tones__dot { border-color: var(--decor-nav-color) !important; }
.ds-decor-native-slider .ds-decor-tones__dot.is-active { background: var(--decor-nav-color) !important; }
.ds-decor-native-slider.decor-nav-square .ds-decor-tones__button { border-radius: 4px; }
.ds-decor-native-slider.decor-nav-simple .ds-decor-tones__button { border: 0; box-shadow: none; background: transparent; color: var(--decor-nav-color); }
.ds-decor-native-slider.decor-nav-inside { padding-left: 0; padding-right: 0; }
.ds-decor-native-slider.decor-nav-inside .ds-decor-tones__button--prev { left: 8px; }
.ds-decor-native-slider.decor-nav-inside .ds-decor-tones__button--next { right: 8px; }
@media (max-width:849px) {
 .ds-decor-editable { padding-left:16px; padding-right:16px; }
 .ds-decor-native-slider .ds-decor-tones__track { gap:var(--decor-gap-md); }
 .ds-decor-native-slider .ds-decor-tones__track > .img { flex-basis:calc((100% - (var(--decor-columns-md) - 1) * var(--decor-gap-md)) / var(--decor-columns-md)); height:var(--decor-height-md); }
}
@media (max-width:549px) {
 .ds-decor-native-slider .ds-decor-tones__track { grid-auto-columns:calc((100% - (var(--decor-columns-sm) - 1) * var(--decor-gap-sm)) / var(--decor-columns-sm)); grid-template-rows:repeat(var(--decor-rows-sm),var(--decor-height-sm)); gap:var(--decor-gap-sm); }
 .ds-decor-native-slider .ds-decor-tones__track > .img { height:var(--decor-height-sm); min-width:0; width:100% !important; border-radius:8px; }
}
.ds-decor-editable .ds-decor-heading h2 { font-size: clamp(min(30px, 1em), 3vw, 1em); }
.ds-decor-editable { margin-top: -30px; margin-bottom: 30px; }

/* Editable proof section: native rows, columns, text, divider and individual counters. */
.ds-proof-editable{margin-top:30px;margin-bottom:-30px;padding-left:24px;padding-right:24px;color:#4f352c}
.ds-proof-editable .ds-proof-heading-col{padding-bottom:0}
.ds-proof-editable .ds-proof-heading h2{margin:0;font-size:clamp(min(27px,1em),2.35vw,1em);font-weight:700;line-height:inherit}
.ds-proof-editable .ds-proof-heading h2 span{white-space:nowrap}
.ds-proof-editable .divider{border-radius:999px}
.ds-proof-editable .ds-proof-intro{max-width:1220px;margin:0 auto;font-size:clamp(min(17px,1em),1.42vw,1em)}
.ds-proof-editable .ds-proof-intro p{margin:0;line-height:inherit;padding-top:2px}
.ds-proof-editable .ds-proof-intro strong{color:#6f988a;font-weight:600}
.ds-proof-editable .ds-proof-stat-label{font-size:clamp(min(17px,1em),1.45vw,1em);font-weight:600}
.ds-proof-editable .ds-proof-stat-label p{margin:0;line-height:inherit}
.ds-proof-editable .ds-proof-editable-number{font-size:clamp(min(34px,var(--proof-number-size)),3vw,var(--proof-number-size))}
@media(min-width:850px){
 .ds-finger-food-proof .ds-proof-heading h2{font-size:clamp(min(32px,1em),2.9vw,1em)}
 .ds-finger-food-proof .ds-proof-intro,.ds-finger-food-proof .ds-proof-intro p{font-size:clamp(min(17px,1em),1.65vw,1em)}
 .ds-finger-food-proof .ds-proof-stat-label,.ds-finger-food-proof .ds-proof-stat-label p{font-size:clamp(min(17px,1em),1.65vw,1em)}
 .ds-finger-food-proof .ds-proof-editable-number{font-size:clamp(min(34px,var(--proof-number-size)),3.65vw,var(--proof-number-size))}
}
@media(max-width:849px){
 .ds-proof-editable{padding-left:20px;padding-right:20px}
 .ds-proof-editable .ds-proof-heading h2 span{white-space:normal}
}
.ds-proof-editable .ds-proof-intro p{font-size:clamp(min(17px,1em),1.42vw,1em)}
.ds-proof-editable .ds-proof-stat-label p{font-size:clamp(min(17px,1em),1.45vw,1em)}

.section.ds-proof-editable{padding-left:24px;padding-right:24px}
@media(max-width:849px){
 .section.ds-proof-editable{padding-left:20px;padding-right:20px}
}
@media(max-width:849px){.section.ds-proof-editable .ds-proof-stats-row{row-gap:30px}}
@media(max-width:767px){.section.ds-proof-editable{width:calc(100% - 24px);margin-left:12px;margin-right:12px}}
@media(max-width:479px){.section.ds-proof-editable .ds-proof-stats-row{row-gap:26px}}
@media(min-width:850px){
 .ds-finger-food-proof .ds-proof-intro p,.ds-finger-food-proof .ds-proof-stat-label p{font-size:22px}
}


/* Editable Teabreak introduction: native Section / Row / Column / Text. */
.section.ds-about-editable{margin-top:30px;margin-bottom:-30px;padding-left:24px;padding-right:24px}
.ds-about-editable .section-content{max-width:1280px;margin:0 auto}
.ds-about-editable .ds-about-heading-col{padding-bottom:0}
.ds-about-editable .ds-about-heading h2{margin:0;font-size:clamp(min(27px,1em),2.35vw,1em);font-weight:700;line-height:inherit}
.ds-about-editable .divider{border-radius:999px}
.ds-about-editable .ds-about-intro{max-width:1220px;margin:0 auto}
.ds-about-editable .ds-about-intro p{margin:0;padding-top:3px;font-size:clamp(min(17px,1em),1.42vw,1em);line-height:inherit}
.ds-about-editable .ds-about-benefits-row{width:calc(100% + 36px);position:relative;left:-18px}
.ds-about-editable .ds-about-benefits-row > .col{padding:0 18px}
.ds-about-editable .ds-about-benefit-col > .col-inner{height:100%;min-height:168px;box-shadow:0 5px 18px rgba(87,59,49,.05)}
.ds-about-editable .ds-about-benefit-title h3{margin:0;font-size:clamp(min(18px,1em),1.55vw,1em);font-weight:700;line-height:inherit}
.ds-about-editable .ds-about-benefit-copy p{margin:0;font-size:clamp(min(16px,1em),1.35vw,1em);line-height:inherit}
@media(max-width:849px){
 .section.ds-about-editable{padding-left:20px;padding-right:20px}
 .ds-about-editable .ds-about-benefits-row{width:100%;left:0;row-gap:18px}
 .ds-about-editable .ds-about-benefits-row > .col{padding:0}
 .ds-about-editable .ds-about-benefit-col > .col-inner{min-height:0}
}
@media(max-width:767px){.section.ds-about-editable{width:calc(100% - 24px);margin-left:12px;margin-right:12px}}

/* Editable menu: native Text/Divider and native Image children in carousel. */
.section.ds-menu-editable{margin-top:30px;margin-bottom:-30px;padding-left:0;padding-right:0}
.ds-menu-editable .ds-menu-col{padding-bottom:0}
.ds-menu-editable .ds-menu-heading h2{margin:0;padding:0 24px;font-size:clamp(min(27px,1em),2.35vw,1em);font-weight:700;line-height:inherit}
.ds-menu-editable .divider{border-radius:999px}
.ds-menu-native-slider .ds-menu-slider__track{gap:var(--menu-gap);transition-duration:var(--menu-speed)}
.ds-menu-native-slider .ds-menu-slider__track > .img{flex:0 0 calc((100% - (var(--menu-columns) - 1)*var(--menu-gap))/var(--menu-columns));width:auto;margin:0;min-width:0}
.ds-menu-native-slider .img-inner{aspect-ratio:1.4 / 1;overflow:hidden;border:1px solid rgba(111,152,138,.28);border-radius:12px;background:#fff;box-shadow:0 7px 24px rgba(87,59,49,.08)}
.ds-menu-native-slider .img-inner img{height:100%;object-fit:cover}
.ds-menu-native-slider .ds-menu-slider__button{border-color:var(--menu-nav-color)}
.ds-menu-native-slider .ds-menu-slider__button:hover{background:var(--menu-nav-color)}
.ds-menu-native-slider .ds-menu-slider__dot{border-color:var(--menu-nav-color)!important}
.ds-menu-native-slider .ds-menu-slider__dot.is-active{background:var(--menu-nav-color)!important}
.ds-menu-native-slider.menu-nav-square .ds-menu-slider__button{border-radius:4px}
.ds-menu-native-slider.menu-nav-simple .ds-menu-slider__button{border:0;box-shadow:none;background:transparent;color:var(--menu-nav-color)}
.ds-menu-native-slider.menu-nav-inside .ds-menu-slider__shell{padding:0}
.ds-menu-native-slider.menu-nav-inside .ds-menu-slider__button--prev{left:8px}
.ds-menu-native-slider.menu-nav-inside .ds-menu-slider__button--next{right:8px}
@media(max-width:849px){
 .ds-menu-native-slider .ds-menu-slider__track{gap:var(--menu-gap-md)}
 .ds-menu-native-slider .ds-menu-slider__track > .img{flex-basis:calc((100% - (var(--menu-columns-md) - 1)*var(--menu-gap-md))/var(--menu-columns-md))}
}
@media(max-width:549px){
 .ds-menu-native-slider .ds-menu-slider__track{gap:var(--menu-gap-sm)}
 .ds-menu-native-slider .ds-menu-slider__track > .img{flex-basis:calc((100% - (var(--menu-columns-sm) - 1)*var(--menu-gap-sm))/var(--menu-columns-sm))}
}
@media(max-width:767px){.section.ds-menu-editable{width:calc(100% - 24px);margin-left:12px;margin-right:12px}}
/* Preserve the original list item's bottom space and image border dimensions. */
.ds-menu-native-slider .ds-menu-slider__track > .img{margin-bottom:.6em}
.ds-menu-native-slider .img-inner{border:0}
.ds-menu-native-slider .img-inner img{border:1px solid rgba(111,152,138,.28);border-radius:12px;box-sizing:border-box}
.ds-menu-native-slider.ds-feedback-native-slider .img-inner{aspect-ratio:var(--feedback-aspect-ratio,1 / 1)}
/* Editable package section: keep the former card geometry within this section. */
.section.ds-packages-editable{margin-top:30px;margin-bottom:-30px;padding-left:24px;padding-right:24px;color:#573b31}
.ds-packages-editable .ds-package-heading h2{margin:0;font-size:clamp(min(27px,1em),2.35vw,1em);font-weight:700;line-height:inherit}
.ds-packages-editable .divider{border-radius:999px}
.ds-packages-editable .ds-packages-heading-col{padding-bottom:0}
.ds-packages-editable .ds-packages-cards{gap:28px 22px}
.ds-packages-editable .ds-packages-cards > .col{padding:0;flex-basis:calc(25% - 16.5px);max-width:calc(25% - 16.5px)}
.ds-packages-editable .ds-packages-cards > .col.large-6{flex-basis:calc(50% - 11px);max-width:calc(50% - 11px)}
.ds-packages-editable .ds-packages-cards > .col.large-4{flex-basis:calc(33.3333% - 14.6667px);max-width:calc(33.3333% - 14.6667px)}
.ds-packages-editable .ds-packages-cards > .col.large-12{flex-basis:100%;max-width:100%}
.ds-packages-editable .ds-package-card > .col-inner{height:100%;overflow:hidden;border-radius:12px;background:#f7fbf9;box-shadow:0 7px 22px rgba(87,59,49,.07)}
.ds-packages-editable .ds-package-body{padding:14px 14px 17px}
.ds-packages-editable .ds-package-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.ds-packages-editable .ds-package-badge{display:inline-flex;min-height:28px;padding:4px 9px;border-radius:999px;background:#e5f1ed;font-size:13px;font-weight:600;line-height:1.2;align-items:center;gap:6px}
.ds-packages-editable .ds-package-badge p{margin:0}
.ds-packages-editable .ds-package-badge i{color:#6f988a;margin-right:6px}
.ds-packages-editable .ds-package-badge{cursor:pointer;transition:background-color .2s ease,color .2s ease}
.ds-packages-editable .ds-package-badge p,.ds-packages-editable .ds-package-badge i{transition:color .2s ease}
.ds-packages-editable .ds-package-badge:hover{background:#9bc9b8}
/* Hover colors override the native Text element's per-item color only while hovered. */
.ds-packages-editable .ds-package-badge:hover,
.ds-packages-editable .ds-package-badge:hover p,
.ds-packages-editable .ds-package-badge:hover i{color:#fff!important}
.ds-packages-editable .ds-package-title h3{margin:0;font-size:clamp(min(17px,1em),1.35vw,1em);line-height:inherit;font-weight:700}
.ds-package-native .ds-package-native__track{position:absolute;inset:0}
.ds-package-native .ds-package-native__track > .img{position:absolute;top:0;height:100%;margin:0;opacity:0;transition:opacity var(--package-speed) ease;pointer-events:none}
.ds-package-native .ds-package-native__track > .img.is-active{opacity:1;pointer-events:auto;z-index:1}
.ds-package-native .img-inner{height:100%;overflow:hidden}
.ds-package-native .ds-package-gallery__button{background:var(--package-nav-color)!important}
.ds-package-native .ds-package-gallery__button[hidden],.ds-package-native .ds-package-gallery__dots[hidden]{display:none!important}
.ds-package-native.package-nav-square .ds-package-gallery__button{border-radius:4px!important}
.ds-package-native.package-nav-simple .ds-package-gallery__button{border:0!important;background:transparent!important;box-shadow:none!important;color:var(--package-nav-color)}
.ds-package-native.package-nav-outside .ds-package-gallery__button--prev{left:0}
.ds-package-native.package-nav-outside .ds-package-gallery__button--next{right:0}
@media(max-width:1049px) and (min-width:550px){.ds-packages-editable .ds-packages-cards > .col{flex-basis:calc(50% - 11px);max-width:calc(50% - 11px)}}
@media(max-width:549px){.section.ds-packages-editable{width:calc(100% - 24px);margin-left:12px;margin-right:12px;padding-left:20px;padding-right:20px}.ds-packages-editable .ds-packages-cards{gap:20px}.ds-packages-editable .ds-packages-cards > .col{flex-basis:100%;max-width:100%}}
.ds-packages-editable .ds-package-body > .col-inner{padding:14px 14px 17px}
.ds-packages-editable .ds-package-body{padding:0}
.ds-packages-editable .ds-package-meta > .col > .col-inner{display:flex;flex-wrap:wrap;gap:8px}
.ds-packages-editable .ds-package-meta > .col{padding:0}
.ds-packages-editable .ds-package-meta{gap:0}
.ds-packages-editable .ds-package-card:hover .ds-package-native img.is-active{transform:translateZ(0) scale(1.06)}
.ds-packages-editable .ds-packages-cards::after{display:none}
.ds-package-native .ds-package-gallery__button{background:color-mix(in srgb,var(--package-nav-color) 74%,transparent)!important}
.ds-package-native .ds-package-gallery__button:hover,.ds-package-native .ds-package-gallery__button:focus-visible{background:#6f988a!important}
.ds-package-native img{transition:opacity var(--package-speed) ease,transform 520ms cubic-bezier(.22,1,.36,1)}
/* Respect native Column widths at the original package breakpoints. */
@media (min-width:1050px){
.ds-packages-editable .ds-packages-cards > .col.large-1{flex-basis:calc(8.333333% - 20.166667px);max-width:calc(8.333333% - 20.166667px)}
.ds-packages-editable .ds-packages-cards > .col.large-2{flex-basis:calc(16.666667% - 18.333333px);max-width:calc(16.666667% - 18.333333px)}
.ds-packages-editable .ds-packages-cards > .col.large-3{flex-basis:calc(25% - 16.5px);max-width:calc(25% - 16.5px)}
.ds-packages-editable .ds-packages-cards > .col.large-4{flex-basis:calc(33.333333% - 14.666667px);max-width:calc(33.333333% - 14.666667px)}
.ds-packages-editable .ds-packages-cards > .col.large-5{flex-basis:calc(41.666667% - 12.833333px);max-width:calc(41.666667% - 12.833333px)}
.ds-packages-editable .ds-packages-cards > .col.large-6{flex-basis:calc(50% - 11px);max-width:calc(50% - 11px)}
.ds-packages-editable .ds-packages-cards > .col.large-7{flex-basis:calc(58.333333% - 9.166667px);max-width:calc(58.333333% - 9.166667px)}
.ds-packages-editable .ds-packages-cards > .col.large-8{flex-basis:calc(66.666667% - 7.333333px);max-width:calc(66.666667% - 7.333333px)}
.ds-packages-editable .ds-packages-cards > .col.large-9{flex-basis:calc(75% - 5.5px);max-width:calc(75% - 5.5px)}
.ds-packages-editable .ds-packages-cards > .col.large-10{flex-basis:calc(83.333333% - 3.666667px);max-width:calc(83.333333% - 3.666667px)}
.ds-packages-editable .ds-packages-cards > .col.large-11{flex-basis:calc(91.666667% - 1.833333px);max-width:calc(91.666667% - 1.833333px)}
.ds-packages-editable .ds-packages-cards > .col.large-12{flex-basis:calc(100% - 0px);max-width:calc(100% - 0px)}
}
@media (min-width:550px) and (max-width:1049px){
.ds-packages-editable .ds-packages-cards > .col.medium-1{flex-basis:calc(8.333333% - 20.166667px);max-width:calc(8.333333% - 20.166667px)}
.ds-packages-editable .ds-packages-cards > .col.medium-2{flex-basis:calc(16.666667% - 18.333333px);max-width:calc(16.666667% - 18.333333px)}
.ds-packages-editable .ds-packages-cards > .col.medium-3{flex-basis:calc(25% - 16.5px);max-width:calc(25% - 16.5px)}
.ds-packages-editable .ds-packages-cards > .col.medium-4{flex-basis:calc(33.333333% - 14.666667px);max-width:calc(33.333333% - 14.666667px)}
.ds-packages-editable .ds-packages-cards > .col.medium-5{flex-basis:calc(41.666667% - 12.833333px);max-width:calc(41.666667% - 12.833333px)}
.ds-packages-editable .ds-packages-cards > .col.medium-6{flex-basis:calc(50% - 11px);max-width:calc(50% - 11px)}
.ds-packages-editable .ds-packages-cards > .col.medium-7{flex-basis:calc(58.333333% - 9.166667px);max-width:calc(58.333333% - 9.166667px)}
.ds-packages-editable .ds-packages-cards > .col.medium-8{flex-basis:calc(66.666667% - 7.333333px);max-width:calc(66.666667% - 7.333333px)}
.ds-packages-editable .ds-packages-cards > .col.medium-9{flex-basis:calc(75% - 5.5px);max-width:calc(75% - 5.5px)}
.ds-packages-editable .ds-packages-cards > .col.medium-10{flex-basis:calc(83.333333% - 3.666667px);max-width:calc(83.333333% - 3.666667px)}
.ds-packages-editable .ds-packages-cards > .col.medium-11{flex-basis:calc(91.666667% - 1.833333px);max-width:calc(91.666667% - 1.833333px)}
.ds-packages-editable .ds-packages-cards > .col.medium-12{flex-basis:calc(100% - 0px);max-width:calc(100% - 0px)}
}
@media (max-width:549px){
.ds-packages-editable .ds-packages-cards > .col.small-1{flex-basis:calc(8.333333% - 18.333333px);max-width:calc(8.333333% - 18.333333px)}
.ds-packages-editable .ds-packages-cards > .col.small-2{flex-basis:calc(16.666667% - 16.666667px);max-width:calc(16.666667% - 16.666667px)}
.ds-packages-editable .ds-packages-cards > .col.small-3{flex-basis:calc(25% - 15px);max-width:calc(25% - 15px)}
.ds-packages-editable .ds-packages-cards > .col.small-4{flex-basis:calc(33.333333% - 13.333333px);max-width:calc(33.333333% - 13.333333px)}
.ds-packages-editable .ds-packages-cards > .col.small-5{flex-basis:calc(41.666667% - 11.666667px);max-width:calc(41.666667% - 11.666667px)}
.ds-packages-editable .ds-packages-cards > .col.small-6{flex-basis:calc(50% - 10px);max-width:calc(50% - 10px)}
.ds-packages-editable .ds-packages-cards > .col.small-7{flex-basis:calc(58.333333% - 8.333333px);max-width:calc(58.333333% - 8.333333px)}
.ds-packages-editable .ds-packages-cards > .col.small-8{flex-basis:calc(66.666667% - 6.666667px);max-width:calc(66.666667% - 6.666667px)}
.ds-packages-editable .ds-packages-cards > .col.small-9{flex-basis:calc(75% - 5px);max-width:calc(75% - 5px)}
.ds-packages-editable .ds-packages-cards > .col.small-10{flex-basis:calc(83.333333% - 3.333333px);max-width:calc(83.333333% - 3.333333px)}
.ds-packages-editable .ds-packages-cards > .col.small-11{flex-basis:calc(91.666667% - 1.666667px);max-width:calc(91.666667% - 1.666667px)}
.ds-packages-editable .ds-packages-cards > .col.small-12{flex-basis:calc(100% - 0px);max-width:calc(100% - 0px)}
}

/* Editable Finger Food menu: native UX Builder heading, divider, row and images. */
.section.ds-finger-food-menu-editable{margin-top:30px;margin-bottom:-30px;padding-left:24px;padding-right:24px;color:#573b31}
.ds-finger-food-menu-editable .ds-finger-food-menu-heading-col{padding-bottom:0}
.ds-finger-food-menu-editable .ds-finger-food-menu-heading h2{margin:0;font-size:clamp(min(27px,1em),2.35vw,1em);font-weight:700;line-height:inherit;color:inherit}
.ds-finger-food-menu-editable .divider{border-radius:999px}
.section.ds-finger-food-menu-editable .row.ds-finger-food-menu-grid{max-width:1040px!important;margin-left:auto!important;margin-right:auto!important;gap:16px}
.ds-finger-food-menu-editable .ds-finger-food-menu-grid>.col{padding:0;flex-basis:calc(50% - 8px);max-width:calc(50% - 8px)}
.ds-finger-food-menu-editable .ds-finger-food-menu-card>.col-inner{overflow:hidden;border:1px solid rgba(111,152,138,.3);border-radius:10px;background:#073f40;box-shadow:0 8px 24px rgba(87,59,49,.09)}
.ds-finger-food-menu-editable .ds-finger-food-menu-card .img{margin:0}
.ds-finger-food-menu-editable .ds-finger-food-menu-card .img-inner{overflow:hidden}
.ds-finger-food-menu-editable .ds-finger-food-menu-card img{display:block;width:100%;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.ds-finger-food-menu-editable .ds-finger-food-menu-card:hover img{transform:scale(1.012)}
@media(max-width:549px){
 .section.ds-finger-food-menu-editable{width:calc(100% - 24px);margin-left:12px;margin-right:12px;padding-left:16px;padding-right:16px}
 .ds-finger-food-menu-editable .ds-finger-food-menu-grid{gap:14px}
 .ds-finger-food-menu-editable .ds-finger-food-menu-grid>.col{flex-basis:100%;max-width:100%}
 .ds-finger-food-menu-editable .ds-finger-food-menu-card>.col-inner{border-radius:8px}
}

/* Finger Food feedback: native UX Builder Text, Divider and Gallery. */
.section.ds-finger-food-feedback{margin-top:30px;margin-bottom:-30px;padding-left:24px;padding-right:24px;color:#573b31}
.ds-finger-food-feedback>.section-content>.row{max-width:1160px}
.ds-finger-food-feedback .ds-feedback-heading h2{margin:0;font-size:clamp(min(27px,1em),2.35vw,1em);font-weight:700;line-height:1.2;color:inherit}
.ds-finger-food-feedback .divider{border-radius:999px}
.ds-finger-food-feedback .ds-feedback-intro{max-width:1030px;margin-left:auto;margin-right:auto;color:#382f2b;font-size:18px;line-height:1.5}
.ds-finger-food-feedback .ds-feedback-native-slider{max-width:1060px;margin:0 auto}
.ds-finger-food-feedback .ds-feedback-native-slider .ds-menu-slider__shell{padding-left:0;padding-right:0}
.ds-finger-food-feedback .ds-feedback-native-slider .img-inner{aspect-ratio:var(--feedback-aspect-ratio,1 / 1);border:1px solid rgba(111,152,138,.24);border-radius:10px;background:#f7fbf9;box-shadow:0 7px 22px rgba(87,59,49,.07)}
.ds-finger-food-feedback .ds-feedback-native-slider .img-inner img{width:100%;height:100%;object-fit:cover}
.ds-finger-food-feedback .ds-feedback-native-slider .ds-menu-slider__dot{border-color:#6f988a!important}
.ds-finger-food-feedback .ds-feedback-native-slider .ds-menu-slider__dot.is-active{background:#6f988a!important}
.ds-finger-food-feedback .ds-feedback-native-slider .ds-menu-slider__button[hidden]{display:none!important}
@media(max-width:549px){
 .section.ds-finger-food-feedback{width:calc(100% - 24px);margin-left:12px;margin-right:12px;padding-left:16px;padding-right:16px}
 .ds-finger-food-feedback .ds-feedback-heading h2{font-size:26px}
 .ds-finger-food-feedback .ds-feedback-intro{font-size:15px;line-height:1.55}
 .ds-finger-food-feedback .ds-feedback-native-slider{max-width:330px}
 .ds-finger-food-feedback .ds-feedback-native-slider .img-inner{border-radius:8px}
}

/* Homepage service carousel: editable through the Lam Lam UX Builder elements. */
.home .ds-home-services {
  background: #fff;
}

/* Client logo strip: native UX Builder Images, continuous motion on the public page. */
.home .ds-home-clients,
.ds-client-marquee {
  background: var(--client-background, #fff);
}

.home .ds-home-clients > .section-content > .row {
  max-width: 1440px;
}

.home .ds-home-clients .col {
  padding-bottom: 0;
}

.ds-client-marquee {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--client-padding, 18px) 0;
}

.ds-client-marquee:focus-visible {
  outline: 2px solid #9bc9b8;
  outline-offset: 4px;
}

.ds-client-marquee__viewport {
  overflow: hidden;
}

.ds-client-marquee__track {
  display: flex;
  width: 100%;
}

.ds-client-marquee__group {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: var(--client-gap, 56px);
}

.ds-client-marquee[data-client-ready] .ds-client-marquee__track {
  width: max-content;
}

.ds-client-marquee[data-client-ready] .ds-client-marquee__group {
  flex-wrap: nowrap;
  justify-content: flex-start;
  width: max-content;
  padding-right: var(--client-gap, 56px);
}

.ds-client-marquee__group > .img {
  flex: 0 0 var(--client-logo-width, 160px);
  width: var(--client-logo-width, 160px) !important;
  margin: 0 !important;
}

.ds-client-marquee .img-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--client-logo-height, 84px) !important;
  padding: 0 !important;
  background: transparent;
}

.ds-client-marquee .img-inner img {
  position: static !important;
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

.ds-client-marquee--grayscale img {
  filter: grayscale(1);
  opacity: .7;
  mix-blend-mode: multiply;
}

.ds-client-marquee.is-ready[data-auto-slide="true"] .ds-client-marquee__track {
  animation: ds-client-marquee-scroll var(--client-duration, 100s) linear infinite;
  will-change: transform;
}

.ds-client-marquee.is-paused .ds-client-marquee__track,
.ds-client-marquee:focus-visible .ds-client-marquee__track,
.ds-client-marquee:focus-within:not(:focus) .ds-client-marquee__track {
  animation-play-state: paused !important;
}

@keyframes ds-client-marquee-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-1 * var(--client-distance)), 0, 0); }
}

@media (max-width: 849px) {
  .ds-client-marquee__group {
    gap: min(36px, var(--client-gap, 56px));
  }
  .ds-client-marquee[data-client-ready] .ds-client-marquee__group {
    padding-right: min(36px, var(--client-gap, 56px));
  }
}

@media (max-width: 549px) {
  .ds-client-marquee__group {
    gap: min(28px, var(--client-gap, 56px));
  }
  .ds-client-marquee[data-client-ready] .ds-client-marquee__group {
    padding-right: min(28px, var(--client-gap, 56px));
  }
  .ds-client-marquee__group > .img {
    flex-basis: min(195px, var(--client-logo-width, 160px));
    width: min(195px, var(--client-logo-width, 160px)) !important;
  }
  .ds-client-marquee .img-inner {
    height: min(105px, var(--client-logo-height, 84px)) !important;
  }
}

/* Homepage customer feedback: native UX Builder copy, divider and image carousel. */
.home .ds-home-feedback {
  background: #fff;
  color: #573b31;
}

.home .ds-home-feedback > .section-content > .row {
  max-width: 1160px;
}

.home .ds-home-feedback .ds-feedback-heading h2 {
  margin: 0;
  color: #573b31;
  font-size: clamp(28px, 2.35vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.home .ds-home-feedback .divider {
  border-radius: 999px;
}

.home .ds-home-feedback .ds-feedback-intro {
  max-width: 1030px;
  margin: 0 auto;
  color: #382f2b;
  font-size: 18px;
  line-height: 1.5;
}

.home .ds-home-feedback .ds-feedback-intro p {
  margin: 0;
}

.home .ds-home-feedback .ds-feedback-native-slider {
  max-width: 1020px;
  margin: 0 auto;
}

.home .ds-home-feedback .ds-feedback-native-slider .ds-menu-slider__shell {
  padding-right: 0;
  padding-left: 0;
}

.home .ds-home-feedback .ds-feedback-native-slider .img-inner {
  aspect-ratio: var(--feedback-aspect-ratio, 1 / 1);
  overflow: hidden;
  border: 1px solid rgba(111, 152, 138, .24);
  border-radius: 10px;
  background: #f7fbf9;
  box-shadow: 0 7px 22px rgba(87, 59, 49, .07);
}

.home .ds-home-feedback .ds-feedback-native-slider .img-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home .ds-home-feedback .ds-feedback-native-slider .ds-menu-slider__dot {
  border-color: #6f988a !important;
}

.home .ds-home-feedback .ds-feedback-native-slider .ds-menu-slider__dot.is-active {
  background: #573b31 !important;
  border-color: #573b31 !important;
}

.home .ds-home-feedback .ds-feedback-native-slider .ds-menu-slider__button[hidden] {
  display: none !important;
}

@media (max-width: 849px) {
  .home .ds-home-feedback .ds-feedback-native-slider { max-width: 720px; }
}

@media (max-width: 549px) {
  .home .ds-home-feedback {
    width: calc(100% - 24px);
    margin-right: 12px;
    margin-left: 12px;
    padding-right: 16px;
    padding-left: 16px;
  }
  .home .ds-home-feedback .ds-feedback-heading h2 { font-size: 25px; }
  .home .ds-home-feedback .ds-feedback-intro { font-size: 15px; line-height: 1.55; }
  .home .ds-home-feedback .ds-feedback-native-slider { max-width: 330px; }
  .home .ds-home-feedback .ds-feedback-native-slider .img-inner { border-radius: 8px; }
}

.home .ds-home-services .ds-service-heading h2 {
  margin: 0;
  color: #573b31;
  font-weight: 700;
  letter-spacing: -.02em;
}

.ds-service-carousel {
  position: relative;
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: 0 8px 2px;
}

.ds-service-carousel__viewport {
  overflow: hidden;
}

.ds-service-carousel__track {
  display: flex;
  align-items: stretch;
  transition: transform .48s ease;
  will-change: transform;
}

.ds-service-card {
  flex: 0 0 auto;
  min-width: 0;
  text-align: center;
}

.ds-service-card__image {
  display: block;
  width: 100%;
  aspect-ratio: .705;
  overflow: hidden;
  background: #f7fbf9;
  border: 1px solid rgba(111, 152, 138, .2);
}

.ds-service-card__image img {
  width: 100%;
  height: 100%;
  margin: 0;
  transition: transform .35s ease;
}

.ds-service-card--contain .ds-service-card__image img { object-fit: contain; }
.ds-service-card--cover .ds-service-card__image img { object-fit: cover; }

.ds-service-card__image:hover img,
.ds-service-card__image:focus-visible img {
  transform: scale(1.025);
}

.ds-service-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin-top: 16px;
  padding: 9px 20px;
  border: 1px solid #573b31;
  border-radius: 6px;
  background: #573b31;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.ds-service-card__button:hover,
.ds-service-card__button:focus-visible {
  background: #6f988a;
  border-color: #6f988a;
  transform: translateY(-1px);
}

.ds-service-carousel__nav {
  position: absolute;
  top: calc(50% - 34px);
  z-index: 3;
  display: grid;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  place-items: center;
  border: 2px solid #6f988a;
  border-radius: 50%;
  background: #fff;
  color: #573b31;
  box-shadow: 0 4px 14px rgba(87, 59, 49, .1);
}

.ds-service-carousel__nav:hover,
.ds-service-carousel__nav:focus-visible {
  border-color: #573b31;
  background: #573b31;
  color: #fff;
}

.ds-service-carousel__nav--prev { left: -54px; }
.ds-service-carousel__nav--next { right: -54px; }

.ds-service-carousel__dots {
  display: flex;
  min-height: 14px;
  margin-top: 16px;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.ds-service-carousel__dot {
  appearance: none;
  box-sizing: border-box;
  flex: 0 0 10px;
  width: 10px;
  min-width: 10px;
  max-width: 10px;
  height: 10px;
  min-height: 10px;
  max-height: 10px;
  margin: 0;
  padding: 0;
  border: 2px solid #6f988a;
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
  line-height: 0;
}

.ds-service-carousel__dot.is-active {
  background: #573b31;
  border-color: #573b31;
}

@media (max-width: 1299px) {
  .ds-service-carousel { width: calc(100% - 80px); }
  .ds-service-carousel__nav--prev { left: -42px; }
  .ds-service-carousel__nav--next { right: -42px; }
}

@media (max-width: 849px) {
  .home .ds-home-services .ds-service-heading h2 { font-size: 30px; }
  .ds-service-carousel { width: calc(100% - 54px); }
  .ds-service-carousel__nav { width: 36px; height: 36px; }
  .ds-service-carousel__nav--prev { left: -34px; }
  .ds-service-carousel__nav--next { right: -34px; }
}

@media (max-width: 549px) {
  .home .ds-home-services .ds-service-heading h2 { font-size: 25px; line-height: 1.25; }
  .ds-service-carousel { width: calc(100% - 38px); padding: 0; }
  .ds-service-carousel__nav { top: calc(50% - 38px); width: 34px; height: 34px; }
  .ds-service-carousel__nav--prev { left: -18px; }
  .ds-service-carousel__nav--next { right: -18px; }
  .ds-service-card__button { width: 100%; min-height: 44px; margin-top: 12px; font-size: 13px; }
  .ds-service-carousel__dots { margin-top: 14px; gap: 7px; }
  .ds-service-carousel__dot {
    flex-basis: 10px;
    width: 10px;
    min-width: 10px;
    max-width: 10px;
    height: 10px;
    min-height: 10px;
    max-height: 10px;
  }
}

/* Homepage event consultation CTA — editable with the UX Builder element. */
.ds-event-consult { padding: 48px 24px; background: #fff; }
.ds-event-consult__inner {
  width: 100%; max-width: 1320px; min-height: 394px; margin: 0 auto; padding: 40px 48px;
  display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(44px, 6vw, 86px);
  align-items: center; border-radius: 12px; background: var(--ds-event-bg, #573b31); color: #fff;
}
.ds-event-consult__copy h2 {
  margin: 0 0 10px; color: #fff; font-size: clamp(27px, 2.35vw, 36px); line-height: 1.15;
  font-weight: 700; letter-spacing: -.02em; text-transform: uppercase;
}
.ds-event-consult__copy p {
  max-width: 520px; margin: 0 0 6px; color: rgba(255, 255, 255, .92); font-size: 17px; line-height: 1.55;
}
.ds-event-consult__button {
  min-width: 240px; min-height: 60px; margin: 0; padding: 14px 28px; border: 2px solid #fff;
  border-radius: 999px; background: #fff; color: var(--ds-event-bg, #573b31); font-size: 16px;
  font-weight: 700; line-height: 1.2; text-transform: uppercase;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.ds-event-consult__button:hover, .ds-event-consult__button:focus-visible {
  border-color: var(--ds-event-accent, #6f988a); background: var(--ds-event-accent, #6f988a); color: #fff; transform: translateY(-1px);
}
.ds-event-consult__button:disabled { opacity: .7; cursor: wait; transform: none; }
.ds-event-consult__form { display: grid; gap: var(--ds-event-field-gap, 14px); margin: 0; }
.ds-event-consult__field { min-width: 0; }
.ds-event-consult__field label:not(.screen-reader-text) {
  display: block; margin: 0 0 var(--ds-event-label-gap, 6px); color: #fff; font-size: 14px; font-weight: 600; line-height: 1.25; text-transform: uppercase;
}
.ds-event-consult__field input, .ds-event-consult__field select {
  width: 100%; height: var(--ds-event-field-height, 50px); margin: 0; padding: 0 15px; border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 6px; background-color: rgba(0, 0, 0, .14); box-shadow: none; color: #fff; font-size: 16px; line-height: var(--ds-event-field-height, 50px);
}
.ds-event-consult__field input::placeholder { color: rgba(255, 255, 255, .9); opacity: 1; }
.ds-event-consult__field input[type="date"] { color-scheme: dark; }
.ds-event-consult__field select option { background: var(--ds-event-bg, #573b31); color: #fff; }
.ds-event-consult__field input:focus, .ds-event-consult__field select:focus {
  border-color: var(--ds-event-accent, #6f988a); outline: 2px solid var(--ds-event-accent, #6f988a);
  outline-offset: 1px; background-color: rgba(0, 0, 0, .2);
}
.ds-event-consult .ds-teabreak-consult__status { min-height: 20px; margin: -2px 0 0; color: #fff; font-size: 14px; }
.ds-event-consult .ds-teabreak-consult__status.is-success { color: #d7f3e9; }
.ds-event-consult .ds-teabreak-consult__status.is-error { color: #ffe0dc; }

@media (max-width: 849px) {
  .ds-event-consult { padding: 36px 20px; }
  .ds-event-consult__inner { min-height: 0; padding: 38px 32px; grid-template-columns: 1fr; gap: 30px; }
  .ds-event-consult__copy { text-align: center; }
  .ds-event-consult__copy p { margin-right: auto; margin-left: auto; }
}

@media (max-width: 549px) {
  .ds-event-consult { padding: 28px 15px; }
  .ds-event-consult__inner { padding: 32px 20px 26px; gap: 26px; border-radius: 10px; }
  .ds-event-consult__copy h2 { font-size: 25px; }
  .ds-event-consult__copy p { margin-bottom: 4px; font-size: 15px; }
  .ds-event-consult__button { width: 100%; min-width: 0; min-height: 54px; }
  .ds-event-consult__form { gap: var(--ds-event-field-gap, 13px); }
  .ds-event-consult__field input, .ds-event-consult__field select { height: var(--ds-event-field-height, 50px); font-size: 15px; }
}

/* Native UX Builder tree for the homepage event CTA. */
.ds-event-consult-native__row {
  min-height: 280px;
  align-items: stretch;
  overflow: hidden;
  border-radius: 12px;
}

.ds-event-consult-native__row > .col > .col-inner { height: 100%; }

.ds-event-consult-native__title,
.ds-event-consult-native__intro { margin-bottom: 0; }
.ds-event-consult-native__title h2 { margin: 0; font-size: inherit; font-weight: 700; line-height: inherit; letter-spacing: -.02em; text-transform: uppercase; }
.ds-event-consult-native__intro p { margin: 0; }
.ds-event-consult-native__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 24px;
  letter-spacing: 0;
}
.ds-event-consult-native .ds-event-consult__field label:not(.screen-reader-text) { font-size: 12px; }
.ds-event-consult-native .ds-event-consult__field input,
.ds-event-consult-native .ds-event-consult__field select { padding: 0 12px; border-radius: 4px; font-size: 13px; }
.ds-event-consult-native .ds-teabreak-consult__status:empty { display: none; }
/* Banner/Text Box positions remain owned by the native UX Builder controls. */
.ds-event-consult-native__canvas .text-box { font-size: 1rem; }
.ux-builder-iframe .ds-event-consult-native__row { overflow: visible; min-height: 0; }
.ds-event-consult-native__button.is-disabled { pointer-events: none; opacity: .7; }
.ds-event-consult-native .ds-teabreak-consult__status { color: #fff; }

@media (min-width: 850px) and (max-width: 919px) {
  .ds-event-consult-native__row > .col { flex-basis: 100%; max-width: 100%; }
}

@media (max-width: 849px) {
  .ds-event-consult-native__row { min-height: 0; }
  .ds-event-consult-native__copy { text-align: center; }
}

@media (max-width: 549px) {
  .ds-event-consult-native__row { border-radius: 10px; }
  .ds-event-consult-native__button { width: 100%; }
}

/* Homepage Facebook project reels — editable carousel for UX Builder. */
.ds-project-reels {
  padding: 52px 24px 48px;
  overflow: hidden;
  background: #fff;
}

.ds-project-reels__inner {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
}

.ds-project-reels h2 {
  margin: 0;
  color: #573b31;
  font-size: clamp(28px, 2.6vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
  text-align: center;
  text-transform: uppercase;
}

.ds-project-reels__rule {
  width: 80px;
  height: 4px;
  margin: 14px auto 38px;
  border-radius: 999px;
  background: var(--ds-reels-accent, #6f988a);
}

.ds-project-reels__slider {
  position: relative;
  width: min(100%, var(--ds-reels-max-width, 1040px));
  margin: 0 auto;
}
.ds-project-reels__viewport { width: 100%; overflow: hidden; border-radius: 4px; }
.ds-project-reels__track {
  display: flex;
  align-items: stretch;
  gap: 0;
  transition: transform var(--ds-reels-speed, 460ms) ease;
  will-change: transform;
}

.ds-project-reel {
  position: relative;
  flex: 0 0 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 4px;
  background: #eef5f2;
  box-shadow: 0 6px 18px rgba(87, 59, 49, .09);
}

.ds-project-reels--landscape .ds-project-reel { aspect-ratio: 16 / 9; }
.ds-project-reels--square .ds-project-reel { aspect-ratio: 1 / 1; }
.ds-project-reels--portrait .ds-project-reel { aspect-ratio: 5 / 7; }
.ds-project-reels--vertical .ds-project-reel { aspect-ratio: 9 / 16; }

.ds-project-reel iframe {
  position: absolute;
  top: -21.4286%;
  left: -21.4286%;
  display: block;
  width: 142.8572%;
  max-width: none;
  height: 142.8572%;
  border: 0;
  background: #eef5f2;
  transform: scale(.7);
  transform-origin: center;
}

.ds-project-reel__link {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.ds-project-reel__link:focus {
  right: 10px;
  bottom: 10px;
  width: auto;
  height: auto;
  padding: 8px 12px;
  clip: auto;
  border-radius: 4px;
  background: #fff;
  color: #573b31;
  font-weight: 700;
  z-index: 2;
}

.ds-project-reels__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 2px solid #6f706d;
  border-radius: 50%;
  background: #fff;
  color: #573b31;
  font-size: 25px;
  line-height: 36px;
  z-index: 3;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.ds-project-reels__nav:hover,
.ds-project-reels__nav:focus-visible {
  border-color: var(--ds-reels-accent, #6f988a);
  background: var(--ds-reels-accent, #6f988a);
  color: #fff;
}

.ds-project-reels--nav-outside .ds-project-reels__nav--prev { left: -62px; }
.ds-project-reels--nav-outside .ds-project-reels__nav--next { right: -62px; }
.ds-project-reels--nav-inside .ds-project-reels__nav--prev { left: 18px; }
.ds-project-reels--nav-inside .ds-project-reels__nav--next { right: 18px; }
.ds-project-reels--nav-square .ds-project-reels__nav { border-radius: 5px; }
.ds-project-reels--nav-simple .ds-project-reels__nav { border-color: transparent; background: transparent; box-shadow: none; }
.ds-project-reels__nav:disabled { opacity: .35; cursor: default; }
.ds-project-reels__nav[hidden] { display: none; }

.ds-project-reels__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  min-height: 12px;
  margin-top: 28px;
}

.ds-project-reels__dot {
  appearance: none;
  box-sizing: border-box;
  flex: 0 0 11px;
  width: 11px;
  min-width: 11px;
  max-width: 11px;
  height: 11px;
  min-height: 11px;
  max-height: 11px;
  margin: 0;
  padding: 0;
  border: 2px solid var(--ds-reels-accent, #6f988a);
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
  line-height: 0;
}

.ds-project-reels__dot.is-active,
.ds-project-reels__dot.is-active:hover,
.ds-project-reels__dot.is-active:focus {
  border-color: #573b31 !important;
  background: #573b31 !important;
}

@media (max-width: 1299px) {
  .ds-project-reels--nav-outside .ds-project-reels__slider { width: min(calc(100% - 92px), var(--ds-reels-max-width, 1040px)); }
  .ds-project-reels--nav-outside .ds-project-reels__nav--prev { left: -54px; }
  .ds-project-reels--nav-outside .ds-project-reels__nav--next { right: -54px; }
}

@media (max-width: 849px) {
  .ds-project-reels { padding: 44px 20px 42px; }
  .ds-project-reels__rule { margin-bottom: 30px; }
  .ds-project-reels--nav-outside .ds-project-reels__slider { width: calc(100% - 64px); }
  .ds-project-reels__nav { width: 38px; height: 38px; }
  .ds-project-reels--nav-outside .ds-project-reels__nav--prev { left: -43px; }
  .ds-project-reels--nav-outside .ds-project-reels__nav--next { right: -43px; }
}

@media (max-width: 549px) {
  .ds-project-reels { padding: 38px 15px 36px; }
  .ds-project-reels h2 { font-size: 25px; line-height: 1.25; }
  .ds-project-reels__rule { width: 68px; height: 3px; margin: 12px auto 24px; }
  .ds-project-reels--nav-outside .ds-project-reels__slider { width: calc(100% - 54px); }
  .ds-project-reels__nav { width: 36px; height: 36px; font-size: 23px; }
  .ds-project-reels--nav-outside .ds-project-reels__nav--prev { left: -38px; }
  .ds-project-reels--nav-outside .ds-project-reels__nav--next { right: -38px; }
  .ds-project-reels--nav-inside .ds-project-reels__nav--prev { left: 10px; }
  .ds-project-reels--nav-inside .ds-project-reels__nav--next { right: 10px; }
  .ds-project-reels__dots { gap: 7px; margin-top: 20px; }
  .ds-project-reels__dot {
    flex-basis: 10px;
    width: 10px;
    min-width: 10px;
    max-width: 10px;
    height: 10px;
    min-height: 10px;
    max-height: 10px;
  }
}

/* Lam Lam service posters: native UX Builder Text, Gallery, Column and Button. */
.ds-service-posters {
  font-family: 'Be Vietnam Pro', sans-serif;
  color: #1b231f;
}
.ds-service-posters .ds-posters-heading h2 {
  margin: 0;
  font-family: 'Playfair Display', serif;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
  color: inherit;
}
.ds-service-posters .ds-poster-card > .col-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ds-service-posters .ds-poster-panel-row { flex: 1; }
.ds-service-posters .ds-poster-panel > .col-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.ds-service-posters .ds-poster-brand { margin-bottom: 24px; }
.ds-service-posters .ds-poster-brand p { margin: 0; }
.ds-service-posters .ds-poster-brand em {
  display: block;
  font-family: 'Playfair Display', serif;
  font-weight: 500;
  line-height: 1.2;
}
.ds-service-posters .ds-poster-brand small {
  display: block;
  margin-top: 5px;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .27em;
  line-height: 1.5;
}
.ds-service-posters .ds-poster-title {
  min-height: 2.24em;
  margin-bottom: 14px;
}
.ds-service-posters .ds-poster-title h3 {
  margin: 0;
  font-family: 'Playfair Display', serif;
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  color: inherit;
  letter-spacing: -.025em;
}
.ds-service-posters .ds-poster-tagline {
  min-height: 3.2em;
  margin-bottom: 18px;
  font-style: italic;
}
.ds-service-posters .ds-poster-tagline p { margin: 0; }
.ds-service-posters .row.ds-poster-gallery {
  width: calc(100% + 8px);
  margin-left: -4px;
  margin-right: -4px;
  margin-top: auto;
  margin-bottom: 0;
  flex-shrink: 0;
}
.ds-service-posters .ds-poster-gallery .box-text { display: none; }
.ds-service-posters .ds-poster-gallery .gallery-col { padding-bottom: 4px; }
.ds-service-posters .ds-poster-gallery .box-image { background: #eaf6f1; }
.ds-service-posters .ds-poster-gallery img { transition: transform .4s ease; }
.ds-service-posters .ds-poster-gallery .gallery-box:hover img { transform: scale(1.04); }
.ds-service-posters .ds-poster-button {
  margin: 14px 0 0;
  min-height: 46px;
  padding: 0 10px;
  font-family: 'Be Vietnam Pro', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ds-service-posters .ds-poster-button.primary { color: #fbfaf6; background-color: #1b231f; }
.ds-service-posters .ds-poster-button.primary:hover,
.ds-service-posters .ds-poster-button.primary:focus-visible { background-color: #9bc9b8; color: #1b231f; box-shadow: none; }
.ds-service-posters .ds-poster-button.primary.is-outline { color: #1b231f; background: transparent; }
@media (max-width: 549px) {
  .ds-service-posters .ds-poster-card { max-width: 380px; margin: 0 auto; }
  .ds-service-posters .ds-poster-button { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .ds-service-posters .ds-poster-gallery img { transition: none; }
}

/* Meal Pack CTA: layout, copy, colors, sizing and gaps remain UX Builder controls. */
.ds-meal-upgrade .ds-meal-upgrade__heading h2 {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  letter-spacing: -.015em;
}
.ds-meal-upgrade .ds-meal-upgrade__heading strong { font-weight: 700; }
.ds-meal-upgrade .ds-meal-upgrade__description p { margin: 0; }
.ds-meal-upgrade .ds-meal-upgrade__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  letter-spacing: 0;
}
.ds-meal-upgrade .ds-meal-upgrade__button.primary:not(.is-outline) { color: #10251b; }
.ds-meal-upgrade .ds-meal-upgrade__button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

/* Native Meal Pack Slider: image, crop, cell width and autoplay remain Builder controls. */
.ds-meal-photo-carousel .slider > .img,
.ds-meal-photo-carousel .flickity-slider > .img {
  box-sizing: border-box;
  padding: 0 6px;
  margin-bottom: 0;
}
.ds-meal-photo-carousel .ds-meal-photo-card .img-inner {
  overflow: hidden;
  border-radius: 7px;
  background: #eef6f3;
}
.ds-meal-photo-carousel .slider { margin-bottom: 0; }
.ds-meal-photo-carousel .slider[data-ds-meal-player-ready] .flickity-slider {
  will-change: transform;
}
.ds-meal-photo-carousel .slider:not(.flickity-enabled):not(.is-draggable) {
  display: flex;
  overflow: hidden;
}
.ds-meal-photo-carousel .slider:not(.flickity-enabled):not(.is-draggable) > .img {
  flex: 0 0 198px;
  max-width: 198px;
}
@media (max-width: 549px) {
  .ds-meal-photo-carousel .slider:not(.flickity-enabled):not(.is-draggable) > .img {
    flex-basis: 158px;
    max-width: 158px;
  }
}
