/* Elementor override locks
   Purpose: keep manually tuned layout stable without editing generated Elementor files.
   NOTE: values are intentionally aligned with current live rules to avoid visual drift.
*/

/* Home coffee news cards */
.elementor-27575 .elementor-element.elementor-element-c69dba5 .elementor-posts-container .elementor-post__thumbnail {
  padding-bottom: 0 !important;
}

.elementor-27575 .elementor-element.elementor-element-c69dba5 .elementor-post__thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.elementor-27575 .elementor-element.elementor-element-c69dba5 .elementor-post__text {
  margin-top: 0 !important;
  padding-top: 1cm !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  padding-bottom: 14px !important;
}

/* Home testimonials fine-tuning (tablet + mobile) */
@media (max-width: 1024px) {
  .elementor-27575 .elementor-element.elementor-element-e5db26d,
  .elementor-27575 .elementor-element.elementor-element-e5db26d .elementor-widget-container,
  .elementor-27575 .elementor-element.elementor-element-5816698,
  .elementor-27575 .elementor-element.elementor-element-5816698 .elementor-widget-container,
  .elementor-27575 .elementor-element.elementor-element-5816698 .elementor-heading-title {
    text-align: center !important;
  }

  .elementor-27575 .elementor-element.elementor-element-e5db26d,
  .elementor-27575 .elementor-element.elementor-element-5816698 {
    transform: translateY(0.5cm) !important;
  }

  .elementor-27575 .elementor-element.elementor-element-467bdeb a {
    white-space: nowrap;
  }

  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-8534569,
  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-a59428c,
  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-921b060 {
    margin-top: 0 !important;
    transform: none !important;
  }

  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 > .elementor-container {
    align-items: flex-start !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 > .elementor-container > .elementor-column {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: block !important;
    width: calc(100% - 20px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .frontend-home .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-inner-section .elementor-widget-wrap {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element.elementor-widget-text-editor {
    flex: initial !important;
  }

  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section {
    margin-top: 12px !important;
  }

  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-8534569 .elementor-container,
  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-a59428c .elementor-container,
  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-921b060 .elementor-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: 8px;
  }

  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-8534569 .elementor-column,
  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-a59428c .elementor-column,
  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-921b060 .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-inner-section .elementor-column > .elementor-widget-wrap {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-cc4d3bd .elementor-widget-container,
  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-fa5bdc6 .elementor-widget-container,
  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-element-f3d725c .elementor-widget-container {
    margin: 0 auto !important;
  }

  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-widget-text-editor,
  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-widget-text-editor .elementor-widget-container,
  .elementor-27575 .elementor-element.elementor-element-d8fa2c8 .elementor-widget-text-editor p {
    text-align: center !important;
  }

  .elementor-27575 .elementor-element.elementor-element-467bdeb,
  .elementor-27575 .elementor-element.elementor-element-467bdeb .elementor-widget-container,
  .elementor-27575 .elementor-element.elementor-element-9652336,
  .elementor-27575 .elementor-element.elementor-element-9652336 .elementor-widget-container,
  .elementor-27575 .elementor-element.elementor-element-86b8280,
  .elementor-27575 .elementor-element.elementor-element-86b8280 .elementor-widget-container {
    text-align: center !important;
  }
}

/* Home about-focus block (green marked section in feedback):
   move upward on tablet/mobile and lock with high specificity so it is not
   overridden by post-27575.css or home inline style. */
@media (max-width: 1024px) {
  .frontend-home .elementor-27575 .elementor-element.elementor-element-1ae7f8ad {
    margin-top: -2cm !important;
  }

  /* About-focus text block center align on tablet/mobile only */
  .frontend-home .elementor-27575 .elementor-element.elementor-element-1ae7f8ad .elementor-element.elementor-element-72cffc9c,
  .frontend-home .elementor-27575 .elementor-element.elementor-element-1ae7f8ad .elementor-element.elementor-element-72cffc9c .elementor-widget-container,
  .frontend-home .elementor-27575 .elementor-element.elementor-element-1ae7f8ad .elementor-element.elementor-element-af5eb53,
  .frontend-home .elementor-27575 .elementor-element.elementor-element-1ae7f8ad .elementor-element.elementor-element-af5eb53 .elementor-widget-container {
    text-align: center !important;
  }

  /* Keep paragraph body left-aligned (first-line/start aligned) */
  .frontend-home .elementor-27575 .elementor-element.elementor-element-1ae7f8ad .elementor-element.elementor-element-c9f7c94,
  .frontend-home .elementor-27575 .elementor-element.elementor-element-1ae7f8ad .elementor-element.elementor-element-c9f7c94 .elementor-widget-container {
    text-align: center !important;
  }

  .frontend-home .elementor-27575 .elementor-element.elementor-element-1ae7f8ad .elementor-element.elementor-element-c9f7c94 p {
    display: inline-block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: left !important;
  }
}

/* Home about-focus image: center only on tablet so desktop and mobile stay unchanged. */
@media (min-width: 768px) and (max-width: 1024px) {
  .frontend-home .elementor-27575 .elementor-element.elementor-element-1ae7f8ad
  .elementor-element.elementor-element-5ce8222f .elementor-widget-container {
    display: flex !important;
    justify-content: center !important;
  }

  .frontend-home .elementor-27575 .elementor-element.elementor-element-1ae7f8ad
  .elementor-element.elementor-element-5ce8222f img {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Home journey block ("開始你的咖啡之旅", section 19331cc):
   move upward on tablet/mobile by 3cm. */
@media (max-width: 1024px) {
  .frontend-home .elementor-27575 .elementor-element.elementor-element-19331cc {
    margin-top: -3cm !important;
  }
}

/* Home testimonials block ("學員見證" title + 3 cards):
   move the whole block up by 2cm on tablet/mobile. */
@media (max-width: 1024px) {
  .frontend-home .elementor-27575 .elementor-element.elementor-element-f7ef57a {
    margin-top: calc(18px - 2cm) !important;
  }
}

/* Home map block ("都好朋友地圖", section 93f9ff6):
   move upward by 3cm on tablet/mobile. */
@media (max-width: 1024px) {
  .frontend-home .elementor-27575 .elementor-element.elementor-element-93f9ff6 {
    margin-top: calc(18px - 3cm) !important;
  }
}

/* Home friend map list:
   replace yellow bullets with uploaded V icon without changing layout structure. */
.frontend-home .elementor-27575 .elementor-element.elementor-element-2ee2842 .elementor-icon-list-items {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.frontend-home .elementor-27575 .elementor-element.elementor-element-2ee2842 .elementor-icon-list-item::marker,
.frontend-home .elementor-27575 .elementor-element.elementor-element-2ee2842 .elementor-icon-list-item::before {
  content: none !important;
  display: none !important;
}

.frontend-home .elementor-27575 .elementor-element.elementor-element-2ee2842 .elementor-icon-list-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.frontend-home .elementor-27575 .elementor-element.elementor-element-2ee2842 .home-friend-map-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  background-image: url("/assets/mobile-buttons/letter-v.png?v=20260331");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.frontend-about .elementor-29301 {
  background: #efefef !important;
}

/* Global typography scale */
.frontend-about .elementor-29301 p,
.frontend-about .elementor-29301 .elementor-icon-list-item > .elementor-icon-list-text,
.frontend-about .elementor-29301 .elementor-toggle .elementor-tab-content {
  font-size: 17px !important;
  line-height: 1.7 !important;
}

.frontend-about .elementor-29301 .elementor-element-3d95f3b .elementor-heading-title {
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.frontend-about .elementor-29301 .elementor-element-c60ce3a,
.frontend-about .elementor-29301 .elementor-element-374165b {
  font-size: 17px !important;
  font-weight: 700 !important;
}

/* About content width bands */
.frontend-about .elementor-29301 .elementor-element-4dc3e86e > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-bd09f0c > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-7b7413d5 > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-6e74777 > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-a1aae24 > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-79cb88b > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-7cb727d > .elementor-container {
  max-width: 520px !important;
}

.frontend-about .elementor-29301 .elementor-element-78be1b1 > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-a3313e9 > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-7c86531 > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-e22746c > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-3566a4a > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-4958513b > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-4db7e06b > .elementor-container {
  max-width: 760px !important;
}

.frontend-about .elementor-29301 .elementor-element-d05c1d6 > .elementor-container {
  max-width: 800px !important;
}

/* Hero (exclude header, only about hero section) */
.frontend-about .elementor-29301 .elementor-element-6791a3a {
  background: linear-gradient(135deg, #5f7daa 0%, #4f5f93 100%) !important;
  padding: 46px 0 0 !important;
}

.frontend-about .elementor-29301 .elementor-element-6791a3a > .elementor-container {
  max-width: 1024px !important;
  min-height: 298px !important;
}

.frontend-about .elementor-29301 .elementor-element-050b982 .elementor-button {
  font-size: 18px !important;
  font-weight: 700 !important;
  padding: 11px 30px 13px !important;
  border-radius: 50px !important;
}

/* Hero right profile block: align "王晨宇 執行長" card to reference */
.frontend-about .elementor-29301 .elementor-element-142c211 {
  margin-top: 24px !important;
}

.frontend-about .elementor-29301 .elementor-element-142c211 > .elementor-container {
  max-width: 540px !important;
  align-items: stretch !important;
}

.frontend-about .elementor-29301 .elementor-element-3c257b8 > .elementor-widget-wrap {
  background: #ededed !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  min-height: 228px !important;
  padding: 20px 12px 14px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

.frontend-about .elementor-29301 .elementor-element-197e9a6 img {
  width: 104px !important;
  height: 104px !important;
  object-fit: cover !important;
  border-radius: 999px !important;
  border: 3px solid #ffffff !important;
  margin: 0 auto !important;
}

.frontend-about .elementor-29301 .elementor-element-f1b647a > .elementor-widget-wrap {
  background: rgba(122, 145, 201, 0.42) !important;
  border-radius: 10px !important;
  min-height: 228px !important;
  padding: 10px 18px 12px !important;
  display: flex !important;
  align-items: center !important;
}

.frontend-about .elementor-29301 .elementor-element-374165b {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.65 !important;
}

.frontend-about .elementor-29301 .elementor-element-374165b > .elementor-widget-container {
  margin: 0 !important;
}

/* Hero profile block final match: no card backgrounds, avatar + text on gradient */
.frontend-about .elementor-29301 .elementor-element-142c211 {
  margin-top: 18px !important;
}

.frontend-about .elementor-29301 .elementor-element-142c211 > .elementor-container {
  max-width: 500px !important;
  align-items: center !important;
}

.frontend-about .elementor-29301 .elementor-element-3c257b8 > .elementor-widget-wrap {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  justify-content: center !important;
}

.frontend-about .elementor-29301 .elementor-element-197e9a6 img {
  width: 120px !important;
  height: 120px !important;
  object-fit: cover !important;
  border-radius: 999px !important;
  border: 4px solid #ffffff !important;
}

.frontend-about .elementor-29301 .elementor-element-f1b647a > .elementor-widget-wrap {
  background: transparent !important;
  border-radius: 0 !important;
  min-height: 0 !important;
  padding: 0 0 0 14px !important;
  align-items: center !important;
}

.frontend-about .elementor-29301 .elementor-element-374165b {
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

/* WHY SCA */
.frontend-about .elementor-29301 .elementor-element-402c9fe8 .elementor-heading-title {
  font-size: 34px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
}

.frontend-about .elementor-29301 .elementor-element-4ee7e90 .elementor-heading-title,
.frontend-about .elementor-29301 .elementor-element-159fde6d .elementor-heading-title {
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.frontend-about .elementor-29301 .elementor-element-8e3b748 img,
.frontend-about .elementor-29301 .elementor-element-171cf295 img {
  width: 100% !important;
  border-radius: 8px !important;
}

/* Divider and quote */
.frontend-about .elementor-29301 .elementor-element-507c283 {
  --divider-pattern-height: 20px !important;
}

.frontend-about .elementor-29301 .elementor-element-f884565 .elementor-blockquote {
  background-color: #fff3e0 !important;
  border-radius: 5px !important;
  padding: 14px 20px !important;
}

.frontend-about .elementor-29301 .elementor-element-f884565 {
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto !important;
}

.frontend-about .elementor-29301 .elementor-element-f884565 .elementor-blockquote__content {
  font-size: 28px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  line-height: 1.4 !important;
}

/* Beige middle sections */
.frontend-about .elementor-29301 .elementor-element-78be1b1,
.frontend-about .elementor-29301 .elementor-element-375d24d,
.frontend-about .elementor-29301 .elementor-element-a3313e9,
.frontend-about .elementor-29301 .elementor-element-7c86531,
.frontend-about .elementor-29301 .elementor-element-a1aae24 {
  background: #fff8ef !important;
}

.frontend-about .elementor-29301 .elementor-element-78be1b1 {
  padding: 60px 0 !important;
}

.frontend-about .elementor-29301 .elementor-element-375d24d {
  padding: 40px 0 20px !important;
}

.frontend-about .elementor-29301 .elementor-element-d63a89c .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 700 !important;
}

.frontend-about .elementor-29301 .elementor-element-5ad1ffc .elementor-heading-title {
  font-size: 34px !important;
  font-weight: 700 !important;
}

.frontend-about .elementor-29301 .elementor-element-bf7c81e .elementor-heading-title,
.frontend-about .elementor-29301 .elementor-element-a9280b1 .elementor-heading-title,
.frontend-about .elementor-29301 .elementor-element-48a01f5 .elementor-heading-title,
.frontend-about .elementor-29301 .elementor-element-7757378 .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 700 !important;
}

.frontend-about .elementor-29301 .elementor-element-d9a17c8 img,
.frontend-about .elementor-29301 .elementor-element-f8aa14d img,
.frontend-about .elementor-29301 .elementor-element-700f4c7 img,
.frontend-about .elementor-29301 .elementor-element-33b59cb img {
  width: 150px !important;
  border-radius: 7px !important;
}

/* Timeline + media report block */
.frontend-about .elementor-29301 .elementor-element-e22746c {
  padding: 40px 0 10px !important;
}

.frontend-about .elementor-29301 .elementor-element-ed7b7ce .elementor-heading-title,
.frontend-about .elementor-29301 .elementor-element-e56b151 .elementor-heading-title,
.frontend-about .elementor-29301 .elementor-element-608dfee .elementor-heading-title,
.frontend-about .elementor-29301 .elementor-element-2e6ec94 .elementor-heading-title,
.frontend-about .elementor-29301 .elementor-element-43e0575 .elementor-heading-title {
  font-size: 24px !important;
  line-height: 1.3 !important;
}

.frontend-about .elementor-29301 .elementor-element-35de59c {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Contact + FAQ */
.frontend-about .elementor-29301 .elementor-element-79cb88b {
  padding: 0 0 10px !important;
}

.frontend-about .elementor-29301 .elementor-element-868bb11 .elementor-image-box-wrapper .elementor-image-box-img,
.frontend-about .elementor-29301 .elementor-element-6a27be0 .elementor-image-box-wrapper .elementor-image-box-img,
.frontend-about .elementor-29301 .elementor-element-64dc5a5 .elementor-image-box-wrapper .elementor-image-box-img {
  width: 25% !important;
}

.frontend-about .elementor-29301 .elementor-element-0206c1b .elementor-toggle-title {
  font-size: 16px !important;
  line-height: 1.42 !important;
}

.frontend-about .elementor-29301 .elementor-element-0206c1b .elementor-tab-title {
  padding: 14px 16px !important;
}

.frontend-about .elementor-29301 .elementor-element-0206c1b .elementor-tab-content {
  font-size: 15px !important;
  line-height: 1.5 !important;
  padding: 0 16px 14px !important;
}

/* Product strip */
.frontend-about .elementor-29301 .elementor-element-4958513b {
  padding: 35px 0 20px !important;
}

.frontend-about .elementor-29301 .elementor-element-4db7e06b {
  padding: 0 0 25px !important;
}

.frontend-about .elementor-29301 .elementor-element-190f265a.elementor-wc-products ul.products {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-column-gap: 10px !important;
  grid-row-gap: 20px !important;
}

.frontend-about .elementor-29301 .elementor-element-190f265a.elementor-wc-products ul.products li.product .woocommerce-loop-product__title {
  font-size: 19px !important;
  line-height: 1.35 !important;
}

@media (max-width: 800px) {
  .frontend-about .elementor-29301 .elementor-element-3d95f3b .elementor-heading-title {
    font-size: 30px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-402c9fe8 .elementor-heading-title {
    font-size: 26px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-4ee7e90 .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-159fde6d .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-d63a89c .elementor-heading-title {
    font-size: 22px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-f884565 .elementor-blockquote__content {
    font-size: 20px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-5ad1ffc .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-ed7b7ce .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-e56b151 .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-608dfee .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-2e6ec94 .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-43e0575 .elementor-heading-title {
    font-size: 24px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-190f265a.elementor-wc-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* About fine-tuning pass 2 (section background + spacing parity) */
.frontend-about .elementor-29301 .elementor-element-e22746c,
.frontend-about .elementor-29301 .elementor-element-6dacf0d,
.frontend-about .elementor-29301 .elementor-element-3566a4a,
.frontend-about .elementor-29301 .elementor-element-d05c1d6,
.frontend-about .elementor-29301 .elementor-element-b687527,
.frontend-about .elementor-29301 .elementor-element-7867582,
.frontend-about .elementor-29301 .elementor-element-a1aae24,
.frontend-about .elementor-29301 .elementor-element-79cb88b,
.frontend-about .elementor-29301 .elementor-element-7cb727d,
.frontend-about .elementor-29301 .elementor-element-4958513b,
.frontend-about .elementor-29301 .elementor-element-4db7e06b {
  background: #efefef !important;
}

.frontend-about .elementor-29301 .elementor-element-e22746c {
  padding: 34px 0 0 !important;
}

.frontend-about .elementor-29301 .elementor-element-3566a4a {
  padding: 24px 0 0 !important;
}

.frontend-about .elementor-29301 .elementor-element-d05c1d6 {
  padding: 0 0 28px !important;
}

.frontend-about .elementor-29301 .elementor-element-a1aae24 {
  padding: 34px 0 6px !important;
}

.frontend-about .elementor-29301 .elementor-element-79cb88b {
  padding: 0 0 6px !important;
}

.frontend-about .elementor-29301 .elementor-element-7cb727d {
  padding: 24px 0 26px !important;
}

.frontend-about .elementor-29301 .elementor-element-e3d750f {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
}

/* About hero profile block - final reference lock (no cards) */
.frontend-about .elementor-29301 .elementor-element-142c211 {
  margin-top: 18px !important;
}

.frontend-about .elementor-29301 .elementor-element-142c211 > .elementor-container {
  max-width: 500px !important;
  align-items: center !important;
}

.frontend-about .elementor-29301 .elementor-element-3c257b8 > .elementor-element-populated,
.frontend-about .elementor-29301 .elementor-element-f1b647a > .elementor-element-populated,
.frontend-about .elementor-29301 .elementor-element-3c257b8 > .elementor-widget-wrap,
.frontend-about .elementor-29301 .elementor-element-f1b647a > .elementor-widget-wrap {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.frontend-about .elementor-29301 .elementor-element-3c257b8 > .elementor-widget-wrap {
  min-height: 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.frontend-about .elementor-29301 .elementor-element-197e9a6 img {
  width: 114px !important;
  height: 114px !important;
  max-width: none !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  border: 4px solid #ffffff !important;
}

.frontend-about .elementor-29301 .elementor-element-f1b647a > .elementor-widget-wrap {
  min-height: 0 !important;
  padding: 0 0 0 16px !important;
  display: flex !important;
  align-items: center !important;
}

.frontend-about .elementor-29301 .elementor-element-374165b,
.frontend-about .elementor-29301 .elementor-element-374165b p {
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  white-space: nowrap !important;
}

.frontend-about .elementor-29301 .elementor-element-374165b > .elementor-widget-container {
  margin: 0 !important;
}

/* About hero avatar (green block): lift circular image by 0.45cm on tablet/mobile */
@media (max-width: 1024px) {
  .frontend-about .elementor-29301 .elementor-element-142c211 .elementor-element-197e9a6 .elementor-widget-container {
    margin-top: -0.45cm !important;
  }

  /* About page mobile/tablet: move SCA coffee skills block upward */
  .frontend-about .elementor-29301 .elementor-element-7b7413d5 {
    margin-top: -1.25cm !important;
  }
}

/* About hero avatar (green block): desktop-only fine tune */
@media (min-width: 1025px) {
  .frontend-about .elementor-29301 .elementor-element-142c211 .elementor-element-197e9a6 .elementor-widget-container {
    margin-top: -0.25cm !important;
    margin-left: -1.5cm !important;
  }
}

@media (min-width: 801px) {
  .frontend-about .elementor-29301 .elementor-element-3c257b8 {
    width: 28% !important;
  }

  .frontend-about .elementor-29301 .elementor-element-f1b647a {
    width: 72% !important;
  }
}

.frontend-about .elementor-29301 .elementor-element-0206c1b {
  max-width: 520px !important;
  margin: 0 auto !important;
}

/* Remove generic white card shell from About image-box blocks */
.frontend-about .elementor-29301 .elementor-image-box-wrapper {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* Contact row typography closer to design */
.frontend-about .elementor-29301 .elementor-element-79cb88b .elementor-image-box-title {
  font-size: 18px !important;
  line-height: 1.25 !important;
}

.frontend-about .elementor-29301 .elementor-element-79cb88b .elementor-image-box-description {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.frontend-about .elementor-29301 .elementor-element-229527f,
.frontend-about .elementor-29301 .elementor-element-a8f2b8b,
.frontend-about .elementor-29301 .elementor-element-6cdbfe3,
.frontend-about .elementor-29301 .elementor-element-49c7c2c {
  font-size: 16px !important;
  line-height: 1.62 !important;
}

/* About hot products final lock (loaded last) */
.frontend-about .elementor-29301 .elementor-element-4db7e06b > .elementor-container {
  max-width: 860px !important;
  margin-inline: auto !important;
}

.frontend-about .elementor-29301 .elementor-element-190f265a.elementor-wc-products ul.products {
  max-width: 860px !important;
  margin: 0 auto !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-column-gap: 12px !important;
  grid-row-gap: 12px !important;
}

.frontend-about .elementor-29301 .elementor-element-190f265a.elementor-wc-products ul.products li.product {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.frontend-about .elementor-29301 .elementor-element-190f265a.elementor-wc-products ul.products li.product .ct-image-container {
  border-radius: 4px !important;
  overflow: hidden !important;
}

.frontend-about .elementor-29301 .elementor-element-190f265a.elementor-wc-products ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

@media (max-width: 1024px) {
  .frontend-about .elementor-29301 .elementor-element-4db7e06b > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-190f265a.elementor-wc-products ul.products {
    max-width: 680px !important;
  }

    .frontend-about .elementor-29301 .elementor-element-190f265a.elementor-wc-products ul.products {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* About stabilization patch: service images / yearly tables / HOW icons */
.frontend-about .elementor-29301 .elementor-element-d9a17c8 img,
.frontend-about .elementor-29301 .elementor-element-f8aa14d img,
.frontend-about .elementor-29301 .elementor-element-700f4c7 img,
.frontend-about .elementor-29301 .elementor-element-33b59cb img {
  width: 180px !important;
  max-width: none !important;
  height: auto !important;
  transform: translateX(-0.5cm) !important;
}

.frontend-about .elementor-29301 .elementor-element-d05c1d6 > .elementor-container {
  max-width: 980px !important;
}

.frontend-about .elementor-29301 .elementor-element-0681b62 iframe,
.frontend-about .elementor-29301 .elementor-element-3fb2540 iframe {
  width: 460px !important;
  max-width: 100% !important;
  height: 400px !important;
}

.frontend-about .elementor-29301 .elementor-element-79cb88b > .elementor-container {
  max-width: 820px !important;
  column-gap: 54px !important;
}

.frontend-about .elementor-29301 .elementor-element-868bb11 .elementor-image-box-wrapper .elementor-image-box-img,
.frontend-about .elementor-29301 .elementor-element-6a27be0 .elementor-image-box-wrapper .elementor-image-box-img,
.frontend-about .elementor-29301 .elementor-element-64dc5a5 .elementor-image-box-wrapper .elementor-image-box-img {
  width: 64px !important;
  margin: 0 auto 10px !important;
}

/* About-only isolation fixes (2026-03): text nowrap + table width parity */
.frontend-about .elementor-29301 .elementor-element-4dc3e86e > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-6e74777 > .elementor-container {
  max-width: 760px !important;
}

.frontend-about .elementor-29301 .elementor-element-f884565 {
  max-width: 760px !important;
}

@media (min-width: 901px) {
  .frontend-about .elementor-29301 .elementor-element-402c9fe8 .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-f884565 .elementor-blockquote__content,
  .frontend-about .elementor-29301 .elementor-element-868bb11 .elementor-image-box-description {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
}

.frontend-about .elementor-29301 .elementor-element-d05c1d6 > .elementor-container,
.frontend-about .elementor-29301 .elementor-element-7867582 > .elementor-container {
  max-width: 980px !important;
}

.frontend-about .elementor-29301 .elementor-element-0681b62 iframe,
.frontend-about .elementor-29301 .elementor-element-3fb2540 iframe,
.frontend-about .elementor-29301 .elementor-element-6229630 iframe {
  width: 100% !important;
  max-width: 100% !important;
  height: 400px !important;
  display: block !important;
}

/* About precise fixes only (2026-03-29) */
.frontend-about .elementor-29301 .elementor-element-d9a17c8 img,
.frontend-about .elementor-29301 .elementor-element-f8aa14d img,
.frontend-about .elementor-29301 .elementor-element-700f4c7 img,
.frontend-about .elementor-29301 .elementor-element-33b59cb img {
  width: 120px !important; /* shrink by 1/3 from current 180px */
  max-width: 120px !important;
  height: auto !important;
  transform: none !important;
  position: static !important;
  left: auto !important;
  margin: 0 auto !important;
}

.frontend-about .elementor-29301 .elementor-element-3c64c11 .jet-portfolio__filter {
  margin-bottom: 1cm !important;
}

.frontend-about .elementor-29301 .elementor-element-0681b62 .elementor-widget-container,
.frontend-about .elementor-29301 .elementor-element-3fb2540 .elementor-widget-container,
.frontend-about .elementor-29301 .elementor-element-6229630 .elementor-widget-container {
  max-width: 460px !important;
  margin-inline: auto !important;
}

.frontend-about .elementor-29301 .elementor-element-0681b62 iframe,
.frontend-about .elementor-29301 .elementor-element-3fb2540 iframe,
.frontend-about .elementor-29301 .elementor-element-6229630 iframe {
  width: 100% !important;
  max-width: 460px !important;
}

@media (min-width: 901px) {
  .frontend-about .elementor-29301 .elementor-element-6a27be0 .elementor-image-box-description {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
}

/* About FINAL LOCK: service images + yearly tables (do not affect other pages) */
@media (min-width: 901px) {
  .frontend-about .elementor-29301 .elementor-element-d7c3598 > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-61a9216 > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-2fab5ed > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-291a37a > .elementor-container {
    align-items: flex-start !important;
  }

  .frontend-about .elementor-29301 .elementor-element-48a59e5,
  .frontend-about .elementor-29301 .elementor-element-f729401,
  .frontend-about .elementor-29301 .elementor-element-6649dce,
  .frontend-about .elementor-29301 .elementor-element-446f316,
  .frontend-about .elementor-29301 .elementor-element-9307c80,
  .frontend-about .elementor-29301 .elementor-element-dfdaeba,
  .frontend-about .elementor-29301 .elementor-element-90daf30,
  .frontend-about .elementor-29301 .elementor-element-845b49e {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    padding-left: 0 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-d9a17c8 img,
  .frontend-about .elementor-29301 .elementor-element-f8aa14d img,
  .frontend-about .elementor-29301 .elementor-element-700f4c7 img,
  .frontend-about .elementor-29301 .elementor-element-33b59cb img {
    width: 120px !important;
    max-width: 120px !important;
    height: auto !important;
    transform: translateX(-3cm) !important;
    position: relative !important;
    margin: 0 !important;
  }
}

.frontend-about .elementor-29301 .elementor-element-d05c1d6 > .elementor-container {
  max-width: 1120px !important;
  column-gap: 24px !important;
}

.frontend-about .elementor-29301 .elementor-element-0681b62 .elementor-widget-container,
.frontend-about .elementor-29301 .elementor-element-3fb2540 .elementor-widget-container,
.frontend-about .elementor-29301 .elementor-element-6229630 .elementor-widget-container {
  width: 520px !important;
  max-width: 520px !important;
  margin-inline: auto !important;
}

.frontend-about .elementor-29301 .elementor-element-0681b62 iframe,
.frontend-about .elementor-29301 .elementor-element-3fb2540 iframe,
.frontend-about .elementor-29301 .elementor-element-6229630 iframe {
  width: 520px !important;
  max-width: 520px !important;
  min-width: 520px !important;
  height: 400px !important;
  display: block !important;
}

@media (max-width: 1200px) {
  .frontend-about .elementor-29301 .elementor-element-0681b62 .elementor-widget-container,
  .frontend-about .elementor-29301 .elementor-element-3fb2540 .elementor-widget-container,
  .frontend-about .elementor-29301 .elementor-element-6229630 .elementor-widget-container,
  .frontend-about .elementor-29301 .elementor-element-0681b62 iframe,
  .frontend-about .elementor-29301 .elementor-element-3fb2540 iframe,
  .frontend-about .elementor-29301 .elementor-element-6229630 iframe {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* About service section FINAL lock (match provided reference image) */
@media (min-width: 901px) {
  .frontend-about .elementor-29301 .elementor-element-a3313e9 > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-7c86531 > .elementor-container {
    max-width: 980px !important;
    column-gap: 48px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-d7c3598 > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-61a9216 > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-2fab5ed > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-291a37a > .elementor-container {
    align-items: flex-start !important;
  }

  .frontend-about .elementor-29301 .elementor-element-48a59e5,
  .frontend-about .elementor-29301 .elementor-element-f729401,
  .frontend-about .elementor-29301 .elementor-element-6649dce,
  .frontend-about .elementor-29301 .elementor-element-446f316 {
    width: 110px !important;
    max-width: 110px !important;
    min-width: 110px !important;
    flex: 0 0 110px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-9307c80,
  .frontend-about .elementor-29301 .elementor-element-dfdaeba,
  .frontend-about .elementor-29301 .elementor-element-90daf30,
  .frontend-about .elementor-29301 .elementor-element-845b49e {
    width: calc(100% - 110px) !important;
    max-width: calc(100% - 110px) !important;
    flex: 1 1 auto !important;
    padding-left: 14px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-d9a17c8 img,
  .frontend-about .elementor-29301 .elementor-element-f8aa14d img,
  .frontend-about .elementor-29301 .elementor-element-700f4c7 img,
  .frontend-about .elementor-29301 .elementor-element-33b59cb img {
    width: 110px !important;
    max-width: 110px !important;
    height: auto !important;
    transform: none !important;
    position: static !important;
    left: auto !important;
    margin: 0 !important;
    border-radius: 8px !important;
    display: block !important;
  }

  .frontend-about .elementor-29301 .elementor-element-49c7c2c,
  .frontend-about .elementor-29301 .elementor-element-6cdbfe3,
  .frontend-about .elementor-29301 .elementor-element-229527f,
  .frontend-about .elementor-29301 .elementor-element-a8f2b8b {
    font-size: 16px !important;
    line-height: 1.7 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}

/* About WHY section: keep equal image->title spacing for both SCA blocks */
.frontend-about .elementor-29301 .elementor-element-8e3b748 > .elementor-widget-container,
.frontend-about .elementor-29301 .elementor-element-171cf295 > .elementor-widget-container {
  margin-bottom: 0 !important;
}

.frontend-about .elementor-29301 .elementor-element-4ee7e90 > .elementor-widget-container,
.frontend-about .elementor-29301 .elementor-element-159fde6d > .elementor-widget-container {
  margin-top: 12px !important;
  margin-bottom: 0 !important;
}

/* About service + yearly chronicles pixel lock from reference image */
@media (min-width: 901px) {
  .frontend-about .elementor-29301 .elementor-element-a3313e9 > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-7c86531 > .elementor-container {
    max-width: 1024px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    column-gap: 44px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-d7c3598 > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-61a9216 > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-2fab5ed > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element-291a37a > .elementor-container {
    column-gap: 18px !important;
    align-items: flex-start !important;
  }

  .frontend-about .elementor-29301 .elementor-element-48a59e5,
  .frontend-about .elementor-29301 .elementor-element-f729401,
  .frontend-about .elementor-29301 .elementor-element-6649dce,
  .frontend-about .elementor-29301 .elementor-element-446f316 {
    width: 84px !important;
    max-width: 84px !important;
    min-width: 84px !important;
    flex: 0 0 84px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-9307c80,
  .frontend-about .elementor-29301 .elementor-element-dfdaeba,
  .frontend-about .elementor-29301 .elementor-element-90daf30,
  .frontend-about .elementor-29301 .elementor-element-845b49e {
    width: calc(100% - 84px) !important;
    max-width: calc(100% - 84px) !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding-left: 0 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-d9a17c8 img,
  .frontend-about .elementor-29301 .elementor-element-f8aa14d img,
  .frontend-about .elementor-29301 .elementor-element-700f4c7 img,
  .frontend-about .elementor-29301 .elementor-element-33b59cb img {
    width: 84px !important;
    max-width: 84px !important;
    min-width: 84px !important;
    height: auto !important;
    transform: none !important;
    position: static !important;
    left: auto !important;
    margin: 0 !important;
    border-radius: 7px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-bf7c81e .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-a9280b1 .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-48a01f5 .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-7757378 .elementor-heading-title {
    font-size: 22px !important;
    line-height: 1.26 !important;
    margin: 0 0 8px 0 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-49c7c2c,
  .frontend-about .elementor-29301 .elementor-element-6cdbfe3,
  .frontend-about .elementor-29301 .elementor-element-229527f,
  .frontend-about .elementor-29301 .elementor-element-a8f2b8b {
    max-width: 440px !important;
    font-size: 17px !important;
    line-height: 1.72 !important;
    letter-spacing: 0 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .frontend-about .elementor-29301 .elementor-element-49c7c2c p,
  .frontend-about .elementor-29301 .elementor-element-6cdbfe3 p,
  .frontend-about .elementor-29301 .elementor-element-229527f p,
  .frontend-about .elementor-29301 .elementor-element-a8f2b8b p {
    margin: 0 !important;
  }
}

@media (min-width: 901px) {
  .frontend-about .elementor-29301 .elementor-element-0681b62,
  .frontend-about .elementor-29301 .elementor-element-3fb2540,
  .frontend-about .elementor-29301 .elementor-element-6229630 {
    --container-widget-width: 458px !important;
    --container-widget-flex-grow: 0 !important;
    width: 458px !important;
    max-width: 458px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .frontend-about .elementor-29301 .elementor-element-0681b62 .elementor-widget-container,
  .frontend-about .elementor-29301 .elementor-element-3fb2540 .elementor-widget-container,
  .frontend-about .elementor-29301 .elementor-element-6229630 .elementor-widget-container {
    width: 458px !important;
    max-width: 458px !important;
    margin: 0 auto !important;
  }

  .frontend-about .elementor-29301 .elementor-element-0681b62 iframe,
  .frontend-about .elementor-29301 .elementor-element-3fb2540 iframe,
  .frontend-about .elementor-29301 .elementor-element-6229630 iframe {
    width: 458px !important;
    max-width: 458px !important;
    min-width: 458px !important;
    height: 400px !important;
    display: block !important;
  }
}

/* About service images only: move 4 images down by 2cm (do not affect text layout) */
@media (min-width: 901px) {
  .frontend-about .elementor-29301 .elementor-element-d9a17c8 img,
  .frontend-about .elementor-29301 .elementor-element-f8aa14d img,
  .frontend-about .elementor-29301 .elementor-element-700f4c7 img,
  .frontend-about .elementor-29301 .elementor-element-33b59cb img {
    transform: translateY(2cm) !important;
  }
}

/* About WHY section final lock: make 2nd SCA block image->title gap match 1st block */
.frontend-about .elementor-29301 .elementor-element-8e3b748.elementor-widget,
.frontend-about .elementor-29301 .elementor-element-171cf295.elementor-widget {
  margin-bottom: 20px !important;
}

.frontend-about .elementor-29301 .elementor-element-4ee7e90.elementor-widget,
.frontend-about .elementor-29301 .elementor-element-159fde6d.elementor-widget {
  margin-top: 0 !important;
}

.frontend-about .elementor-29301 .elementor-element-4ee7e90 > .elementor-widget-container,
.frontend-about .elementor-29301 .elementor-element-159fde6d > .elementor-widget-container {
  margin-top: 0 !important;
}

/* About WHY -> 都好咖啡 section visual lock (from uploaded reference image) */
.frontend-about .elementor-29301 .elementor-element-6e74777 > .elementor-container {
  max-width: 920px !important;
}

.frontend-about .elementor-29301 .elementor-element-f884565 {
  width: 100% !important;
  max-width: 790px !important;
  margin: 0 auto !important;
}

.frontend-about .elementor-29301 .elementor-element-f884565 .elementor-blockquote {
  padding: 20px 36px !important;
}

.frontend-about .elementor-29301 .elementor-element-78be1b1 > .elementor-container {
  max-width: 1280px !important;
  align-items: center !important;
}

.frontend-about .elementor-29301 .elementor-element-1f234d1 {
  width: 54% !important;
}

.frontend-about .elementor-29301 .elementor-element-6458000 {
  width: 46% !important;
}

.frontend-about .elementor-29301 .elementor-element-fb0092e img {
  width: 100% !important;
  max-width: 640px !important;
  border-radius: 10px !important;
  display: block !important;
}

.frontend-about .elementor-29301 .elementor-element-6458000 > .elementor-element-populated {
  padding: 18px 18px 18px 10px !important;
}

.frontend-about .elementor-29301 .elementor-element-d63a89c .elementor-heading-title {
  font-size: 46px !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

.frontend-about .elementor-29301 .elementor-element-74fb65ce {
  font-size: 17px !important;
  line-height: 1.9 !important;
}

.frontend-about .elementor-29301 .elementor-element-6523611 > .elementor-widget-container {
  margin-top: 14px !important;
}

.frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-icon i {
  display: inline-block !important;
}

.frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-icon::before {
  content: none !important;
}

.frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-item {
  align-items: center !important;
}

.frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-icon {
  min-width: 20px !important;
  width: 20px !important;
  padding-right: 12px !important;
}

.frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-text {
  font-size: 17px !important;
  line-height: 1.65 !important;
}

/* About WHY->都好咖啡 final proportion lock from 1920x866 reference */
@media (min-width: 1200px) {
  .frontend-about .elementor-29301 .elementor-element-78be1b1 > .elementor-container {
    max-width: 1040px !important;
    column-gap: 36px !important;
    align-items: center !important;
  }

  .frontend-about .elementor-29301 .elementor-element-1f234d1 {
    width: 54% !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6458000 {
    width: 46% !important;
  }

  .frontend-about .elementor-29301 .elementor-element-fb0092e img {
    max-width: 560px !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-d63a89c .elementor-heading-title {
    font-size: 46px !important;
    line-height: 1.12 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-74fb65ce {
    font-size: 17px !important;
    line-height: 1.72 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6523611 > .elementor-widget-container {
    margin-top: 14px !important;
    margin-left: 0 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-items {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-item {
    display: grid !important;
    grid-template-columns: 0.9em minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 0.5em !important;
    margin-bottom: 6px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-icon {
    width: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: none !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-icon i {
    display: none !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-icon::before {
    content: "✓" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #f2cd8e !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-text {
    font-size: 17px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
  }
}

@media (max-width: 1199px) {
  .frontend-about .elementor-29301 .elementor-element-6523611 > .elementor-widget-container {
    margin-left: 0 !important;
  }
}

/* About page (tablet/mobile): move WHY block section up by 2.3cm without affecting desktop */
@media (max-width: 1024px) {
  .frontend-about .elementor-29301 .elementor-element-6e74777 {
    margin-top: -2.3cm !important;
  }
}

/* About page (tablet/mobile) redesign lock:
   "都好咖啡" section follows reference layout (image on top, then title/body/list). */
@media (max-width: 1024px) {
  .frontend-about .elementor-29301 .elementor-element-78be1b1 {
    padding: 20px 14px 26px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-78be1b1 > .elementor-container {
    max-width: 760px !important;
    display: flex !important;
    flex-direction: column !important;
    row-gap: 0 !important;
    align-items: stretch !important;
  }

  .frontend-about .elementor-29301 .elementor-element-1f234d1,
  .frontend-about .elementor-29301 .elementor-element-6458000 {
    width: 100% !important;
  }

  .frontend-about .elementor-29301 .elementor-element-1f234d1 {
    order: 1 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6458000 {
    order: 2 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-1f234d1 > .elementor-element-populated,
  .frontend-about .elementor-29301 .elementor-element-6458000 > .elementor-element-populated {
    margin: 0 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-1f234d1 > .elementor-element-populated {
    padding: 0 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6458000 > .elementor-element-populated {
    padding: 12px 2px 0 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-fb0092e .elementor-widget-container {
    margin: 0 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-fb0092e img {
    width: 100% !important;
    max-width: none !important;
    border-radius: 12px !important;
    display: block !important;
  }

  .frontend-about .elementor-29301 .elementor-element-d63a89c .elementor-heading-title {
    font-size: clamp(34px, calc(10.5vw - 10px), 46px) !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-74fb65ce {
    font-size: 16px !important;
    line-height: 1.9 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6523611 > .elementor-widget-container {
    margin-top: 12px !important;
    margin-left: 0 !important;
  }

  .frontend-about .elementor-29301 .elementor-element-6523611 .elementor-icon-list-item {
    margin-bottom: 8px !important;
  }
}

/* About page (tablet/mobile): move "新聞報導" block up by 1.5cm */
@media (max-width: 1024px) {
  .frontend-about .elementor-29301 .elementor-element-7867582 {
    margin-top: -1cm !important;
  }
}

/* About page (tablet/mobile): center headings for two yearly-record blocks */
@media (max-width: 1024px) {
  .frontend-about .elementor-29301 .elementor-element-ac5e9e6,
  .frontend-about .elementor-29301 .elementor-element-da7badc {
    text-align: center !important;
  }

  .frontend-about .elementor-29301 .elementor-element-ac5e9e6 .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-da7badc .elementor-heading-title {
    text-align: center !important;
  }
}

/* About page (desktop): center headings for two yearly-record blocks */
@media (min-width: 1025px) {
  .frontend-about .elementor-29301 .elementor-element-ac5e9e6,
  .frontend-about .elementor-29301 .elementor-element-da7badc {
    text-align: center !important;
  }

  .frontend-about .elementor-29301 .elementor-element-ac5e9e6 .elementor-heading-title,
  .frontend-about .elementor-29301 .elementor-element-da7badc .elementor-heading-title {
    text-align: center !important;
  }
}

/* About page (tablet/mobile): enlarge 3 HOW icons by 1.2x and lift by 0.8cm */
@media (max-width: 1024px) {
  .frontend-about .elementor-29301 .elementor-element-868bb11 .elementor-image-box-wrapper .elementor-image-box-img,
  .frontend-about .elementor-29301 .elementor-element-6a27be0 .elementor-image-box-wrapper .elementor-image-box-img,
  .frontend-about .elementor-29301 .elementor-element-64dc5a5 .elementor-image-box-wrapper .elementor-image-box-img {
    width: 76.8px !important;
    margin: -0.8cm auto 10px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-868bb11 .elementor-image-box-wrapper .elementor-image-box-img img,
  .frontend-about .elementor-29301 .elementor-element-6a27be0 .elementor-image-box-wrapper .elementor-image-box-img img,
  .frontend-about .elementor-29301 .elementor-element-64dc5a5 .elementor-image-box-wrapper .elementor-image-box-img img {
    width: 100% !important;
    height: auto !important;
  }
}

/* About page (desktop): enlarge 3 HOW icons by 1.2x and lift by 0.3cm */
@media (min-width: 1025px) {
  .frontend-about .elementor-29301 .elementor-element-868bb11 .elementor-image-box-wrapper .elementor-image-box-img,
  .frontend-about .elementor-29301 .elementor-element-6a27be0 .elementor-image-box-wrapper .elementor-image-box-img,
  .frontend-about .elementor-29301 .elementor-element-64dc5a5 .elementor-image-box-wrapper .elementor-image-box-img {
    width: 76.8px !important;
    margin: -0.3cm auto 10px !important;
  }

  .frontend-about .elementor-29301 .elementor-element-868bb11 .elementor-image-box-wrapper .elementor-image-box-img img,
  .frontend-about .elementor-29301 .elementor-element-6a27be0 .elementor-image-box-wrapper .elementor-image-box-img img,
  .frontend-about .elementor-29301 .elementor-element-64dc5a5 .elementor-image-box-wrapper .elementor-image-box-img img {
    width: 100% !important;
    height: auto !important;
  }
}

/* About page (tablet/mobile): move HOW green block content down by 0.2cm */
@media (max-width: 1024px) {
  .frontend-about .elementor-29301 .elementor-element-79cb88b > .elementor-container {
    margin-top: 0.2cm !important;
  }
}

/* About page (tablet/mobile): move FAQ green block up by 1cm */
@media (max-width: 1024px) {
  .frontend-about .elementor-29301 .elementor-element-7cb727d {
    margin-top: -1cm !important;
  }
}

/* About page (tablet/mobile): move hot-courses block up by 0.3cm */
@media (max-width: 1024px) {
  .frontend-about .elementor-29301 .elementor-element-4958513b {
    margin-top: -0.3cm !important;
  }
}

/* About page hot courses (tablet/mobile): final lock to match redesigned 2-column cards */
@media (max-width: 1024px) {
  .frontend-about .elementor-29301 .elementor-element.elementor-element-4db7e06b > .elementor-container,
  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products .woocommerce,
  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products .woocommerce ul.products {
    max-width: 760px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-4db7e06b {
    padding: 0 12px 24px !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 14px !important;
    justify-content: stretch !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products .woocommerce ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products .woocommerce ul.products li.product .ct-image-container,
  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products .woocommerce ul.products li.product img {
    width: 100% !important;
    height: auto !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products .woocommerce ul.products li.product .ct-image-container {
    border-radius: 8px !important;
    overflow: hidden !important;
    margin-bottom: 8px !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products .woocommerce ul.products li.product img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products ul.products li.product .woocommerce-loop-product__title {
    margin: 0 0 8px !important;
    font-size: max(12px, calc(clamp(18px, 4.8vw, 30px) - 8px)) !important;
    line-height: 1.32 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    color: #111111 !important;
    white-space: normal !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products ul.products li.product .price {
    margin: 0 0 8px !important;
    min-height: 0 !important;
    font-size: max(11px, calc(clamp(16px, 4.4vw, 28px) - 8px)) !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    color: #111111 !important;
    white-space: normal !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products ul.products li.product .price .woocommerce-Price-amount,
  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products ul.products li.product .price bdi,
  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products ul.products li.product .price ins,
  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products ul.products li.product .price del {
    font-size: inherit !important;
    font-weight: inherit !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products ul.products li.product .price del {
    margin-right: 6px !important;
    color: #b3b8c1 !important;
    opacity: 1 !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products ul.products li.product .price ins {
    color: #101828 !important;
    text-decoration: none !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products ul.products li.product .entry-meta {
    margin-top: 4px !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products ul.products li.product .meta-categories {
    font-size: clamp(13px, 3.2vw, 18px) !important;
    line-height: 1.45 !important;
    color: #667085 !important;
    white-space: normal !important;
  }

  .frontend-about .elementor-29301 .elementor-element.elementor-element-190f265a.elementor-wc-products .out-of-stock-badge {
    top: 8px !important;
    left: 8px !important;
  }
}

/* Mobile floating contact buttons (reference: daheloan) */
.mobile-floating-buttons {
  display: none;
}

@media (max-width: 1024px) {
  .mobile-floating-buttons {
    display: flex !important;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 10000;
    background: transparent;
  }

  .mobile-floating-buttons .floating-btn {
    display: flex;
    flex: 1 1 50%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    padding: 0 10px;
    text-decoration: none;
    font-size: 16.9px;
    font-weight: 700;
    line-height: 1;
  }

  .mobile-floating-buttons .floating-btn-icon,
  .mobile-floating-buttons .floating-btn-icon-img {
    display: inline-block;
    width: 21px;
    height: 21px;
    object-fit: contain;
    border-radius: 50%;
    flex: 0 0 21px;
  }

  .mobile-floating-buttons .floating-btn-icon svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .mobile-floating-buttons .floating-btn-text {
    font-size: 16.9px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
  }

  .mobile-floating-buttons .line-btn .floating-btn-text {
    color: #ffffff !important;
  }

  .mobile-floating-buttons .phone-btn .floating-btn-text {
    color: #ffffff !important;
  }

  .mobile-floating-buttons .line-btn {
    background: #3f8643 !important;
    border-right: 1px solid rgba(0, 0, 0, 0.08);
  }

  .mobile-floating-buttons .line-btn:hover {
    background: #37763b !important;
  }

  .mobile-floating-buttons .phone-btn {
    background: #325899 !important;
  }

  .mobile-floating-buttons .phone-btn:hover {
    background: #2b4d86 !important;
  }

  /* Keep content/footer above fixed mobile buttons */
  .elementor-location-footer {
    margin-bottom: 0 !important;
    padding-bottom: 42px !important;
    background: #3f4257 !important;
  }
}

@media (max-width: 430px) {
  .mobile-floating-buttons .floating-btn {
    height: 39px;
    padding: 0 8px;
    gap: 6px;
    font-size: 13.5px;
  }

  .mobile-floating-buttons .floating-btn-text {
    font-size: 13.5px;
  }

  .mobile-floating-buttons .floating-btn-icon,
  .mobile-floating-buttons .floating-btn-icon-img {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
  }

  .elementor-location-footer {
    margin-bottom: 0 !important;
    padding-bottom: 39px !important;
    background: #3f4257 !important;
  }
}



