/* PC 共用 Footer 樣式 (PC shared footer styles) */

/* 首頁完整 Footer */
.footer {
    position: relative;
    width: 100%;
    height: calc(812*var(--vw-base));
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    padding-top: calc(223*var(--vw-base));
    background-color: #e6e6e6;
    z-index: 10;
}

/* 內頁簡版 Footer */
.footer-s {
    position: relative;
    width: 100%;
    height: calc(419*var(--vw-base));
    background-color: #e6e6e6;
    z-index: 10;
    display: flex;
    align-items: end;
    box-sizing: border-box;
    padding: 0 0 calc(87*var(--vw-base)) calc(80*var(--vw-base));
}

/* 02 頁保留品牌文字區的長版外層 */
.footer-s.long {
    height: calc(1050*var(--vw-base));
    display: block;
    padding: 0;
}

.footer-s.long>#pc-footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.footer-logo {
    width: calc(46*var(--vw-base));
    height: calc(128*var(--vw-base));
}

/* 完整版文字排列 */
.footer-txt {
    position: relative;
    margin-top: calc(33*var(--vw-base));
    display: flex;
    flex-direction: column;
    align-items: center;
    /* justify-content: center;
    align-items: center; */
    gap: calc(15*var(--vw-base));
}

.footer-txt .txt1,
.footer-txt .txt3 {
    color: #333333;
    font-family: "Noto Serif TC";
    font-weight: 300;
    font-size: calc(20*var(--vw-base));
    line-height: 1.15em;
    letter-spacing: 0.3em;
    padding-left: 0.3em;
}

.footer-txt .txt2 {
    margin-top: calc(5*var(--vw-base));
    color: rgb(0, 0, 0, 0.3);
    font-family: "Butler_Light";
    font-size: calc(18*var(--vw-base));
    line-height: 1.2em;
    letter-spacing: 0em;
}

/* 簡版文字排列 */
.footer-s .footer-txt {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    gap: calc(5*var(--vw-base));
    margin-left: calc(20*var(--vw-base));
}

.footer-s .footer-txt .txt1,
.footer-s .footer-txt .txt3 {
    font-size: calc(18*var(--vw-base));
}

.footer-s .footer-txt .txt2 {
    font-size: calc(18*var(--vw-base));
}

.footer-info {
    position: relative;
    margin-top: calc(167*var(--vw-base));
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(0*var(--vw-base));
    margin-right: calc(180*var(--vw-base));
}

.footer-info .info-item {
    color: #333333;
    font-family: "Noto Serif TC";
    font-weight: 300;
    font-size: calc(18*var(--vw-base));
    line-height: 1.15em;
    letter-spacing: 0.2em;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(7*var(--vw-base));
    min-width: calc(330*var(--vw-base));
    box-sizing: border-box;
    padding: 0 calc(83*var(--vw-base)) 0 calc(83*var(--vw-base));
    border-right: 1px #ffffff solid;
}

.footer-info .info-item:nth-last-child(1) {
    border-right: none;
}

.footer-info .info-item .desc {
    letter-spacing: 0.2em;
}

.footer-s .footer-info {
    margin-top: 0;
    margin-right: 0;
    margin-left: calc(50*var(--vw-base));
}

.footer-s .footer-info .info-item {
    min-width: unset;
    padding: 0 calc(67*var(--vw-base)) 0 calc(67*var(--vw-base));
}

.copy-right {
    position: absolute;
    left: calc(0*var(--vw-base));
    bottom: calc(0*var(--vw-base));
    width: 100%;
    height: calc(36*var(--vw-base));
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px #ffffff solid;
    font-size: calc(12*var(--vw-base));
    color: #333333;
    font-family: 'Noto Sans TC';
    font-weight: 400;
    letter-spacing: 0.2em;
}

.copy-right a {
    color: #333333;
}

/* 內頁簡版 Footer 內定位的回頂端按鈕 */
.footer-s .back-to-top {
    position: absolute;
    right: calc(45 * var(--vw-base));
    bottom: calc(93 * var(--vw-base));
    z-index: 999;
    width: calc(43 * var(--vw-base));
    height: calc(70 * var(--vw-base));
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #333333;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease, transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.footer-s .back-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.footer-s .back-to-top:hover {
    transform: translateY(-5px);
}

.footer-s .back-to-top div {
    color: #333333;
    font-family: "Butler_Light";
    font-size: calc(18 * var(--vw-base));
    line-height: 1.15em;
    letter-spacing: 0;
    font-style: italic;
}

.footer-s .back-to-top .back-txt-2 {
    margin-right: calc(3 * var(--vw-base));
}

.footer-s .back-to-top .back-bottom-line {
    position: absolute;
    left: calc(-2 * var(--vw-base));
    bottom: calc(-3 * var(--vw-base));
    width: calc(45 * var(--vw-base));
    height: calc(45 * var(--vw-base));
    z-index: 1;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.footer-s .back-to-top:hover .back-bottom-line {
    transform: translateY(10px) rotate(-15deg);
}

.footer-s .back-to-top .back-bottom-line img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* 完整版 GSAP footer 動態初始狀態 */
.footer .footer-logo {
    opacity: 0;
    transform: translateY(30px);
    filter: blur(30px);
}

.footer .footer-txt,
.footer .footer-info {
    opacity: 0;
    transform: translateY(30px);
}

.footer-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.footer-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: luminosity;
    opacity: 0;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 25%);
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 25%);
}

.footer-s .footer-video {
    opacity: 0.08;
}

/* 02 長版的影片只覆蓋底部 footer 區域 */
.footer-s.long .footer-bg {
    top: auto;
    bottom: 0;
    height: calc(717*var(--vw-base));
}

/* 02 頁 footer 品牌文字 */
.footer-word {
    position: absolute;
    left: 50%;
    top: calc(238*var(--vw-base));
    color: #333333;
    font-family: "Noto Serif TC";
    font-weight: 400;
    font-size: calc(16*var(--vw-base));
    line-height: 1.8em;
    letter-spacing: 0.2em;
    text-align: center;
    transform: translateX(-50%);
}

.footer-word-segment {
    display: block;
    will-change: opacity, transform, background-position;
}

.footer-word-segment+.footer-word-segment {
    margin-top: 1.8em;
}