/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Yuli Yang @dejavu.studio
 * Template: blocksy
 * Text Domain: blocksy
 */

/* Genral Styling */
.ds-margin-top-auto {
  margin-top: auto;
}

.ds-text-highlight_underline {
  /* text-decoration: underline; */
  text-decoration-style: solid;
  text-decoration-color: var(--theme-palette-color-13);
  text-decoration-line: underline;
  text-decoration-thickness: 4px;
}
.ds-text-highlight_underline_light {
  text-decoration-style: solid;
  text-decoration-color: var(--theme-palette-color-12);
  text-decoration-line: underline;
  text-decoration-thickness: 6px;
}
.ds-text-highlight_orange {
  color: var(--theme-palette-color-13);
  font-weight: 700;
}
.ds-text-highlight_orange_linear {
  position: relative;
}
.ds-text-highlight_orange_linear::before {
  content: "";
  display: inline-block;
  z-index: -1;
  position: absolute;
  top: 5px;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fffcc9;
  background: linear-gradient(
    160deg,
    rgba(255, 252, 201, 1) 47%,
    rgba(254, 226, 116, 1) 100%
  );
}
.ds-text-highlight_larger {
  display: inline-block;
  transform: scale(1.2);
  transform-origin: bottom;
  line-height: 1;
}
.ds-text-highlight_smaller {
  display: inline-block;
  transform: scale(0.8);
  transform-origin: bottom;
  line-height: 1;
}
.ds-bg-1::before {
  content: "";
  display: block;
  z-index: -1;
  position: absolute;
  left: 10px;
  top: 10px;
  width: 100%;
  height: 100%;
  background-color: var(--theme-palette-color-13);
  opacity: 0.17;
  border-radius: 24px;
}
@media (max-width: 767px) {
  .ds-bg-1::before {
    border-radius: 12px;
  }
}
.ds-flexbox-width-fit-content {
  width: fit-content;
}

/* Menu */
nav.menu-container .ct-menu-link {
  white-space: nowrap;
}
nav.menu-container [class*="animated-submenu"] > .sub-menu {
  width: auto;
}

/* Elementor Widget Style */
/* Icon Hover Checkmark */
@media (min-width: 1024px) {
  .ds-iconbox-hover .icon-hover-checkmark::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: -2px;
    width: 20px;
    height: 20px;
    background: url(./assets/img/icon-check-hover.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .ds-iconbox-hover:hover .icon-hover-checkmark::after {
    opacity: 1;
  }

  /* Hover Box */
  .ds-hover-box .ds-hover-box-inner {
    opacity: 0;
    transition: opacity 0.3s ease;
    visibility: hidden;
    pointer-events: none;
  }
  .ds-hover-box::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--theme-palette-color-13);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
    pointer-events: none;
  }
  .ds-hover-box:hover::before {
    opacity: 0.3;
  }
  .ds-hover-box:hover .ds-hover-box-inner {
    opacity: 1;
    visibility: visible;
    z-index: 2;
  }
  .ds-hover-box .ds-hover-box-content {
    pointer-events: none;
  }
}

/* Number List */
.elementor-element.ds-circle-number-bg {
  background: linear-gradient(141.59deg, #fccb4e 4.44%, #f89c26 95.28%);
  width: 28px;
  height: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}

/* FAQ Accordion */
.ds-faq .e-n-accordion-item {
  box-shadow: 0 2px 8px rgba(171, 171, 171, 0.5);
  border-radius: 6px;
}

/* Ratio COntainer */
.ds-container-ratio-16-9 {
  aspect-ratio: 16/9 auto;
}

/* Carousel - Awards */
.ds-awards-carousel {
}

/* Steps Section */
@media (min-width: 768px) {
  .ds-step-middle-line::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 64%;
    height: 1px;
    border-bottom: 2px dotted var(--theme-palette-color-13);
    transform: translateX(-50%) translateY(-50%);
  }
  .ds-podcast-side-line::before {
    content: "";
    position: absolute;
    top: 120px;
    left: 70px;
    width: 1px;
    height: 100%;
    border-left: 1px solid #dddddd;
  }
}
@media (max-width: 767px) {
  .ds-step-middle-line::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 32px;
    width: 1px;
    height: 80%;
    border-left: 2px dotted var(--theme-palette-color-13);
    transform: translateY(-50%);
  }
  .ds-podcast-side-line::before {
    content: "";
    position: absolute;
    top: 30px;
    left: 50px;
    width: 1px;
    height: 100%;
    border-left: 1px solid #dddddd;
  }
}
.ds-step-side-line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  border-left: 2px dotted var(--theme-palette-color-13);
  transform: translateX(-50%);
}

/* Shape - Triangle */
.ds-rounded-triangle {
  position: relative;
  background-color: var(--theme-palette-color-5);
  text-align: left;
}
.ds-rounded-triangle:before,
.ds-rounded-triangle:after {
  content: "";
  position: absolute;
  background-color: inherit;
}
.ds-rounded-triangle,
.ds-rounded-triangle:before,
.ds-rounded-triangle:after {
  width: 50px;
  height: 50px;
  border-top-right-radius: 30%;
}

.ds-rounded-triangle {
  transform: rotate(-60deg) skewX(-30deg) scale(1, 0.866);
}
.ds-rounded-triangle:before {
  transform: rotate(-135deg) skewX(-45deg) scale(1.414, 0.707)
    translate(0, -50%);
}
.ds-rounded-triangle:after {
  transform: rotate(135deg) skewY(-45deg) scale(0.707, 1.414) translate(50%);
}

/* Video Embed */
.ds-video-embed {
  display: flex;
  justify-content: center;
}

.ds-video-embed iframe {
  aspect-ratio: 16 / 9;
  width: 100% !important;
  height: 100% !important;
}

/* UL Dropdown Selector Link */
.ds-ebook-list-dropdown {
  position: relative;
  display: inline-block;
  color: #666666;
}

.ds-ebook-list-dropdown-toggle {
  cursor: pointer;
  padding: 0.5em 1em;
  border: 1px solid #ccc;
  border-radius: 10px;
  min-width: 220px;
}
.ds-ebook-list-dropdown-toggle::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  width: 12px;
  height: 12px;
  background: url(./assets/img/icon-dropdown-select.svg) no-repeat center center;
  background-size: contain;
  margin-left: 40px;
  vertical-align: middle;
  transition: transform 0.3s ease;
}
.ds-ebook-list-dropdown-menu {
  display: none;
}

.ds-ebook-list-dropdown.open .ds-ebook-list-dropdown-menu {
  display: block;
}

.ds-ebook-list-dropdown-menu {
  display: none;
  position: absolute;
  background: white;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #ccc;
  border-radius: 10px;
  z-index: 10;
  min-width: 220px;
}

/* .ds-ebook-list-dropdown:hover .ds-ebook-list-dropdown-menu {
  display: block;
} */

.ds-ebook-list-dropdown-menu li:hover {
  background-color: #f0f0f0;
}

.ds-ebook-list-dropdown-menu a {
  display: block;
  padding: 0.5em 1em;
  cursor: pointer;
  color: #666666;
}

/* Free eBook Download Filter */
.ds-filter-ebook-dropdown {
  position: relative;
  display: inline-block;
  color: #666666;
}

.ds-filter-ebook-dropdown-toggle {
  cursor: pointer;
  padding: 0.5em 1em;
  border: 1px solid #ccc;
  border-radius: 10px;
  min-width: 200px;
}
.ds-filter-ebook-dropdown-toggle::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  width: 12px;
  height: 12px;
  background: url(./assets/img/icon-dropdown-select.svg) no-repeat center center;
  background-size: contain;
  margin-left: 40px;
  vertical-align: middle;
  transition: transform 0.3s ease;
}

.ds-filter-ebook-dropdown-menu {
  display: none;
  position: absolute;
  background: white;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #ccc;
  border-radius: 10px;
  z-index: 10;
  min-width: 200px;
}

/* .ds-filter-ebook-dropdown:hover .ds-filter-ebook-dropdown-menu {
  display: block;
} */

.ds-filter-ebook-dropdown-menu li {
  padding: 0.5em 1em;
  cursor: pointer;
}

.ds-filter-ebook-dropdown-menu li:hover {
  background-color: #f0f0f0;
}

.ds-filter-ebook-dropdown-menu {
  display: none;
}

.ds-filter-ebook-dropdown.open .ds-filter-ebook-dropdown-menu {
  display: block;
}

.ds-filter-ebook {
}

.ds-filter-ebook-item {
}

.ds-filter-ebook-item.hidden {
  display: none;
}

/* Buttons */
.ds-button-arrow a.elementor-button-link {
  display: inline-flex;
  align-items: center;
}
.ds-button-arrow a.elementor-button-link::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  width: 28px;
  height: 10px;
  background: url(./assets/img/icon-button-arrow-orange.svg) no-repeat center
    center;
  background-size: contain;
  vertical-align: middle;
}
.ds-button-arrow a.elementor-button-link:hover::after {
  background: url(./assets/img/icon-button-arrow-white.svg) no-repeat center
    center;
  background-size: contain;
  vertical-align: middle;
}

/* Message */
.form-submit .submit {
  background: linear-gradient(
    89.87deg,
    #fffcc9 0.11%,
    #fee274 24.74%,
    #fcd03b 72.97%
  ) !important;
  color: #350900 !important;
  font-weight: normal !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0.8em 1.2em !important;
  border: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  font-size: 1em !important;
  line-height: 1.2 !important;
  transition: background 0.3s ease !important;
  border-radius: 80px !important; /* ← 這一行就是圓角設定 */
}

.form-submit .submit::after {
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  background-image: url("https://stagmain3.tpcuwp.com/wp-content/uploads/2025/10/arrow-up.svg") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  flex-shrink: 0 !important;
}

/* Hover 效果淡一點 */
.form-submit .submit:hover {
  background: linear-gradient(
    89.87deg,
    #fffcc9cc 0.11%,
    #fee274cc 24.74%,
    #FCD03
  );
}

/* Hover 效果淡一點 */
.form-submit .message-btn:hover {
  background: linear-gradient(
    89.87deg,
    #fffcc9cc 0.11%,
    #fee274cc 24.74%,
    #fcd03bcc 72.97%
  ) !important;
}

/* Underline */
.rounded-underline span {
  position: relative;
  display: inline-block;
  z-index: 1;
}
.rounded-underline span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.2em; /* 讓底線吃進文字一點點 */
  width: 100%;
  height: 6px;
  background-color: #f89c26;
  border-radius: 6px;
  z-index: -1;
}

/* Slider */
.elementor
  .testimonial-slider-container
  .testimonial-slider
  .jet-listing-grid__slider-icon {
  width: 86px;
  height: 46px;
  border: 1px solid #999999;
  border-radius: 48px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.elementor
  .testimonial-slider-container
  .testimonial-slider
  .jet-listing-grid__slider-icon:hover {
  border-color: #f89c26;
}

/*Tab*/
#note-1 .e-n-accordion-item-title-text::before {
  content: "";
  display: inline-block;
  background: url("/wp-content/uploads/2025/06/ic-num-1.svg") no-repeat center
    center;
  background-size: contain;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  vertical-align: middle;
}

#note-2 .e-n-accordion-item-title-text::before {
  content: "";
  display: inline-block;
  background: url("/wp-content/uploads/2025/06/ic-num-2.svg") no-repeat center
    center;
  background-size: contain;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  vertical-align: middle;
}

#note-3 .e-n-accordion-item-title-text::before {
  content: "";
  display: inline-block;
  background: url("/wp-content/uploads/2025/06/ic-num-3.svg") no-repeat center
    center;
  background-size: contain;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  vertical-align: middle;
}

/*Global*/
.text-yellow span {
  color: #fdf588;
}
.text-green span {
  color: #8cc641;
}

/* Header */
@media (max-width: 1024px) {
  .mobile-home {
    display: none !important;
  }
  .ct-language-switcher[data-type="inline"] .ct-language {
    display: flex !important;
    flex-direction: column-reverse !important;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .ct-language-switcher .ct-language li {
    display: block;
  }
  .ct-language-switcher .ct-language a {
    display: inline-block;
    padding: 0;
    text-decoration: none;
    color: #333;
    font-size: 14px;
  }
}

/* 文章分類 */
.wp-block-categories-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.wp-block-categories-list li {
  display: flex;
  justify-content: space-between;
}

/* 文章簡述 */
.ds-excerpt {
  color: #555555;
  margin: 0;
}
.ds-excerpt-readmore {
  color: #555555;
  font-weight: 700;
}
.ds-excerpt-readmore:hover {
  color: #f89c26;
}

/* Loop Grid Pagination */
.page-numbers.prev,
.page-numbers.next {
  display: inline-block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  border: 0;
  /* border-radius: 50%; */
}
.page-numbers.prev svg,
.page-numbers.next svg {
  width: auto;
  height: 12px;
  position: relative;
  top: -1px;
  right: -1px;
  fill: #48843e;
}
/* a.page-numbers.prev,
a.page-numbers.next {
  border-color: #f89c26;
} */
/* a.page-numbers.prev svg,
a.page-numbers.next svg {
  fill: #f89c26;
} */
/* a.page-numbers.prev:hover,
a.page-numbers.next:hover {
  background-color: #f89c26;
} */
a.page-numbers.prev:hover svg,
a.page-numbers.next:hover svg {
  fill: #48843e;
}
.page-numbers.current {
  color: #333333;
  font-weight: 700;
}
/* 單一文章分類 */
.ds-post-cats {
  display: inline-block;
  line-height: 18px;
  font-size: 16px;
  padding-left: 12px;
  border-left: 1px solid #666666;
}
.ds-post-cats a {
  color: #666666;
}
.ds-post-cats a:hover {
  color: #f89c26;
}

.ds-testimonial-type {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 5px;
}
.ds-testimonial-type:before {
  content: "●";
  color: #f89c26;
  font-size: 13px;
}
.ds-testimonial-type a {
  color: #666666;
}
.ds-testimonial-type a:hover {
  color: #f89c26;
}

.ds-tax-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin: 10px;
}
.ds-tax-link a {
  color: #555555;
}
.ds-tax-link a:hover {
  color: #f89c26;
}

/* 音樂下載 */
.music-list-wrap .music-list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.music-list-wrap .jet-listing-dynamic-repeater__item h3 {
  font-weight: normal;
}
.music-list-wrap .jet-listing-dynamic-repeater__item:nth-child(4n + 1) h3 {
  color: #58b9da;
}
.music-list-wrap .jet-listing-dynamic-repeater__item:nth-child(4n + 2) h3 {
  color: #75d69c;
}
.music-list-wrap .jet-listing-dynamic-repeater__item:nth-child(4n + 3) h3 {
  color: #f90;
}
.music-list-wrap .jet-listing-dynamic-repeater__item:nth-child(4n) h3 {
  color: #8d6dc4;
}
#qrcode {
  text-align: center;
}
/*Menu*/
.ct-panel-content-inner {
  padding-top: 0px;
}

/* 正方形 DIV */
/* .ds-square-container {
  width: 50%;
} */
/* .ds-square {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
}
.ds-square img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  text-align: center;
} */

.ds-square {
  position: relative;
  width: 100%;
  padding-top: 100%; /* keeps a 1:1 ratio */
  overflow: hidden;
}

.ds-square img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Product Category List */
.ds-product-cat-tree {
  width: 250px;
}

.ds-product-cat-item {
  margin-bottom: 0.5rem;
}

.ds-product-cat-header {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  justify-content: space-between;
}

.ds-product-cat-toggle {
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 10px;
  height: 10px;
  margin-left: 0.5rem;
}

.ds-product-cat-arrow {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
}

.ds-product-cat-arrow--placeholder {
  visibility: hidden;
}

/* Arrow area */
.ds-product-cat-arrow {
  width: 100%;
  height: 100%;
  transform-origin: center;
}
.ds-product-cat-arrow svg {
  transform-origin: center;
  transition: transform 0.18s ease;
}

/* OPEN = arrow up */
.ds-product-cat-item.ds-open .ds-product-cat-arrow svg {
  transform: rotate(180deg);
}

/* CLOSED = arrow upside down (down arrow) */
.ds-product-cat-item.ds-closed .ds-product-cat-arrow svg {
  transform: rotate(0deg);
}

.ds-product-cat-name {
  text-decoration: none;
  color: #333333;
  font-weight: 600;
}

.ds-product-cat-children {
  margin: 0.25rem 0 0.5rem 0;
  padding-left: 0;
  list-style: none;
}

.ds-product-cat-child .ds-product-cat-name {
  color: #666666;
  font-weight: 400;
}

.ds-product-cat-name:hover {
  color: #48843e;
}

/* 手機版商品分類 */
/* Wrapper */
.ds-product-cat-dropdown {
  width: 100%;
  max-width: 360px;
  font-size: 14px;
}

/* Top bar (closed = green pill) */
.ds-product-cat-dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  background-color: #48843e;
  color: #fff;
  border-radius: 6px;
  cursor: pointer;
  box-sizing: border-box;
}

/* Open state: white with green border */
.ds-product-cat-dropdown.ds-open .ds-product-cat-dropdown-toggle {
  background-color: #fff;
  color: #48843e;
  border: 1px solid #48843e;
}

/* Label & icon */
.ds-product-cat-dropdown-label {
  flex: 1;
}

.ds-product-cat-dropdown-icon {
  margin-left: 0.5rem;
  font-weight: 600;
}

/* Panel (dropdown body) */
.ds-product-cat-dropdown-panel {
  border: 1px solid #dddddd;
  border-top: 4px solid #48843e;
  border-radius: 0 0 6px 6px;
  background-color: #fff;
  padding: 0.75rem 0;
  margin-top: 0.5rem;
  box-sizing: border-box;
}

/* List reset */
.ds-product-cat-dropdown-list,
.ds-product-cat-dropdown-children {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Parent row */
.ds-product-cat-dropdown-row {
  padding: 0.5rem 0.75rem;
}

.ds-product-cat-dropdown-arrow {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 10px;
  height: 10px;
}

.ds-product-cat-dropdown-arrow svg {
  transform-origin: center;
  transform: rotate(0deg); /* open = arrow up (original SVG) */
  transition: transform 0.18s ease;
}

/* closed = rotate 180deg (arrow down) */
.ds-product-cat-dropdown-row.ds-closed .ds-product-cat-dropdown-arrow svg {
  transform: rotate(180deg);
}

/* Link */
.ds-product-cat-dropdown-name {
  text-decoration: none;
  color: #333;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ds-product-cat-dropdown-name:hover {
  text-decoration: underline;
  color: #333333;
  font-weight: 700;
}

/* Children indent */
.ds-product-cat-dropdown-children {
  padding-left: 1.25rem;
  background-color: #f8f8f8;
}

/* Child rows can have a lighter background if you want */
.ds-product-cat-dropdown-item.ds-child .ds-product-cat-dropdown-row {
  padding-left: 0.25rem;
}

/* WooCommerce pagination */
[data-pagination="simple"] .page-numbers,
[data-pagination="next_prev"] .page-numbers {
  border-radius: 50%;
}
a.page-numbers.prev,
a.page-numbers.next {
  text-indent: -999px;
  /* display: inline-block; */
  overflow: hidden;
  position: relative;
}
a.page-numbers.prev svg,
a.page-numbers.next svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
