@font-face {
    font-family: "jf-openhuninn";
    src: url("fonts/jf-openhuninn-2.1.ttf") format("truetype");
}

/* ===== 全域 ===== */

* {
    font-family: "jf-openhuninn", Arial, sans-serif !important;
    color: #696363;
    box-sizing: border-box;
}

body {
    background: #696363;
    margin: 0;
    padding: 80px 25px 25px;
}

/* ===== 置頂選單 ===== */

.top-nav{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #ffe3a1;
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 10px;
    z-index: 9999;
}

.top-nav button{
    font-size: 16px;
    padding: 10px 35px;
    letter-spacing: 3px;
}

/* ===== 頁面系統（核心） ===== */

.page{
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;

    display: flex;
    flex-direction: column;

    gap: 14px;              /* 統一間距來源（重要） */
    padding: 0 20px;

    opacity: 0;
    transform: translateX(40px);
    pointer-events: none;

    transition: 
        transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1),
        opacity 0.35s ease;
}

/* 統一內容寬度 */
.page > div{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

/* 進場 */
.page.active{
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

/* 離場 */
.page.exit-left{
    opacity: 0;
    transform: translateX(-40px);
}

/* ===== 卡片統一系統 ===== */

.panel,
.price-row{
    width: 100%;
    background: #ffe3a1;
    border-radius: 12px;
    padding: 18px 24px;
    margin: 0; 
}

/* hover */
.card:hover{
    transform: translateY(-5px);
    transition: 0.3s;
}

/* ===== 文字 ===== */

.description{
    font-size: 28px;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 2px;
}

.text{
    font-size: 15px;
    line-height: 3;
    letter-spacing: 2px;
}

.price-header{
    font-size: 28px;
    line-height: 1.5;
    letter-spacing: 2px;
}

.price-desc{
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: 2px;
}

/* ===== 按鈕 ===== */

button{
    display: flex;
    justify-content: center;
    align-items: center;

    padding: 12px 24px;
    border: none;
    border-radius: 8px;

    cursor: pointer;
    font-weight: bold;

    background: #ffe3a1;
}

button:hover{
    transform: scale(1.05);
}

/* 聯絡按鈕 */
.contact-links{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.link-btn{
    display: flex;
    justify-content: center;
    align-items: center;

    padding: 12px 16px;
    border-radius: 6px;

    background: #696363;
    color: #ffe3a1;
    font-weight: bold;
    text-decoration: none;
}

/* ===== 價目表 ===== */

.price-header{
    display: flex;
    justify-content: space-between;
    font-weight: bold;
    margin-bottom: 6px;
}

.price-desc{
    font-size: 13px;
    opacity: 0.8;
    margin-bottom: 10px;
}

.price-images{
    display: flex;
    gap: 10px;
    justify-content: center;
}

.price-images img{
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
}

/* ===== 動畫 ===== */

.price-row{
    opacity: 0;
    transform: translateY(15px);
    transition: all 0.4s ease;
}

.page.active .price-row{
    opacity: 1;
    transform: translateY(0);
}

.page.active .price-row:nth-child(1){ transition-delay: 0.05s; }
.page.active .price-row:nth-child(2){ transition-delay: 0.10s; }
.page.active .price-row:nth-child(3){ transition-delay: 0.15s; }

/* ===== Lightbox ===== */

#lightbox{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background: rgba(0,0,0,0.7);

    display: none;
    justify-content: center;
    align-items: center;

    z-index: 99999;
}

#lightbox img{
    max-width: 80%;
    max-height: 80%;
    border-radius: 12px;
}

/* ===== highlight ===== */

.hl-pink{
    background: linear-gradient(transparent 60%, #ffadad 60%);
    padding: 0 2px;
    font-weight: 600;
}

.hl-yellow{
    background: linear-gradient(transparent 60%, #ffe3a1 60%);
    padding: 0 2px;
    font-weight: 600;
}

.text-bold{
    font-size: 18px;
    font-weight: 900;
}


/* ===== 手機版優化 ===== */

@media (max-width:700px){

    /* ===== 置頂按鈕變小 + 橫排 ===== */
    .top-nav{
        flex-direction: row;     /* 強制橫排 */
        gap: 6px;
        padding: 8px;
    }

    .top-nav button{
        font-size: 12px;         /* 字變小 */
        padding: 8px 12px;       /* 按鈕縮小 */
        letter-spacing: 1px;
    }

    /* ===== 頁面左右歪掉修正 ===== */

    .page{
        padding: 0 12px;         /* 手機左右留白 */
    }

    .page > div{
        max-width: 100%;         /* 不限制寬度 */
    }

    /* ===== 字卡內距調整（避免太擠） */
    .panel,
    .price-row{
        padding: 14px 16px;      /* 手機版縮小 */
    }

    /* ===== 價目表標題縮小 ===== */
    .description{
        font-size: 22px;
    }

    .price-header{
        font-size: 15px;
    }

    /* ===== 價目表圖片縮小 ===== */

    .price-images img{
        width: 80px;
        height: 80px;
    }

    /* ===== 按鈕微調 ===== */
    
    .link-btn{
        padding: 10px 12px;
        font-size: 12px;
    }

}
