/* 全域設定 */
:root {
    --bg-yellow: #FFFBE6;
    --main-gold: #FFD700;
    --white: #ffffff;
    --footer-brown: #692407;
    --class-blue-bg: #2e59a7;
    --class-red-bg: #ea5529;
    --class-title-yellow: #ffeb3b;
    --btn-pink-main: #f50076;
    --btn-pink-light: #ff47a1;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: "Microsoft JhengHei", sans-serif;
    background-color: #ffe89e;
    line-height: 1.5;
    color: #333;
}

.index_bg{
  background: url(../images/bg.png) no-repeat;
  background-position: top center; 
  width: 100%;
  height: auto; 
}


.container { 
    max-width: 1100px; 
    margin: 0 auto; 
    padding: 0 20px; 
}

img { 
    max-width: 100%; 
    height: auto; 
    display: block; 
}

/* 滾動動畫 */
.fade-in { 
    opacity: 0; 
    transform: translateY(30px); 
    transition: 0.8s ease-out; 
}

.fade-in.visible { opacity: 1; transform: translateY(0); }

/* --- 大標 --- */
.mobile-only { 
    display: none; 
}

.pc-only { 
    display: block; 
}

.main-layout { 
    display: flex; 
    gap: 30px; 
    margin-bottom: 40px; 
    align-items: flex-start; 
}

/* 講師 */
.instructor-aside { 
    flex: 0 0 320px; 
    text-align: center; 
}

.instructor-photo img { max-width: 420px; margin: 0 auto; }
.bio-card { padding-left: 80px; text-align: left; }
.bio-card h3 { font-size: 25px; color: var(--footer-brown); margin-top: -80px; }

/* 講師 */
.bio-card ul { list-style: none; font-size: 0.9rem; line-height: 20px; }
.bio-card li { 
    margin-bottom: 5px; 
    position: relative; 
    padding-left: 13px;
}

.bio-card li::before {
    content: '●';
    position: absolute;
    left: 0;
    color: var(--footer-brown);
    font-size: 0.5rem;
    top: 2px;
}

.mt { margin-top: 30px; }

/* 白框資訊 */
.bonus-info-container {
    background-color: #ffffff;
    width: 500px;
    border: 2px solid #d3ad78;
    border-radius: 20px;
    padding: 15px 20px;
    margin-top: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.yellow-separator {
    height: 3px;
    background: linear-gradient(to right, var(--main-gold), rgba(255, 215, 0, 0.1));
    margin: 10px 0;
}

.red-title { color: #d32f2f; font-size: 1.1rem; font-weight: bold; }
.content-text { font-weight: bold; color: #333; font-size: 1.1rem; }

/* 地點資訊置中 */
.location-center-wrapper {
    display: flex;
    justify-content: center; 
    width: 100%;
    margin: 20px 0;
}

.location-detail-info { 
    padding: 0 10px;
    text-align: left; 
}

/* 圖示對齊 */
.info-row { 
    display: flex; 
    align-items: flex-start; /* 圖示對齊首行 */
    margin-bottom: 8px; 
}

.info-row::before {
    content: ''; 
    display: inline-block; 
    width: 24px; 
    height: 24px;
    margin-right: 12px; 
    flex-shrink: 0; 
    background-size: contain; 
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 4px; /* 首行對齊微調 */
}

.venue-icon::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d32f2f'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E"); }
.live-icon::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231976D2'%3E%3Cpath d='M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4z'/%3E%3C/svg%3E"); }

.info-text { 
    font-size: 1.5rem;
    line-height: 1.2; 
    color: #692407;
    font-weight: 500; 
}

.info-row span.phone { 
    display: flex; 
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    color: #d32f2f;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -1px;
}

.info-row span.phone small {  
    font-size: 1.5rem; 
    font-weight: 700; 
    margin-right: 5px;
    color: #692407;
    white-space: nowrap;
}


/* 框外訊息 */
.service-list-outside { margin-top: 15px; padding-left: 5px; }
.service-list-outside p { font-size: 1.1rem; color: #333; display: flex; align-items: flex-start; font-weight: 500; margin-bottom: 5px; }
.service-list-outside p span { color: var(--footer-brown); margin-right: 10px; font-weight: bold; }

/* 按鈕 */
.cta-buttons { 
    display: flex; 
    justify-content: center; 
    gap: 40px; 
    margin: 35px 0; 
}

.btn-jelly {
    position: relative; 
    flex: 1; 
    max-width: 320px; 
    text-decoration: none; 
    padding: 16px;
    border-radius: 60px; 
    color: #fff; 
    font-weight: bold; 
    font-size: 2.5rem; 
    text-align: center;
    box-shadow: 0 6px 15px rgba(0,0,0,0.2); 
    overflow: hidden; 
    transition: all 0.3s ease; 
    border: none;
    background: linear-gradient(to bottom, var(--btn-pink-light) 0%, var(--btn-pink-main) 100%);
}

.btn-jelly::before {
    content: ''; 
    position: absolute; 
    top: 3px; 
    left: 8%; 
    right: 8%; 
    height: 40%; 
    background: rgba(255, 255, 255, 0.4); 
    border-radius: 40px 40px 20px 20px; 
    pointer-events: none;
}

.btn-jelly:hover { transform: translateY(-5px) scale(1.05); box-shadow: 0 10px 20px rgba(0,0,0,0.3); }

/* 課程大綱 */
.syllabus-grid { 
    display: flex; 
    flex-direction: column; 
    gap: 40px; 
    margin-bottom: 30px; 
}

.syllabus-item { 
    display: flex; 
    border-radius: 10px 10px 60px 10px; 
    overflow: hidden; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.1); 
}

.syllabus-side-label {
    writing-mode: vertical-lr; text-orientation: upright; padding: 20px 15px;
    font-size: 2.2rem; font-weight: bold; display: flex; align-items: center; justify-content: center; letter-spacing: 8px;
}

.syllabus-content-wrapper { flex: 1; padding: 25px; display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; }
.basic { background-color: var(--class-blue-bg); color: #fff; }
.basic .syllabus-side-label { background-color: #0f356d; color: #ffeb3b; font-size: 30px; }
.advanced { background-color: var(--class-red-bg); color: #fff; }
.advanced .syllabus-side-label { background-color: #bc3617; color: #ffeb3b; font-size: 30px; }
.syllabus-column h4 { 
    font-size: 1.3rem; 
    margin-bottom: 8px; 
    border-left: 4px solid var(--main-gold); 
    padding-left: 12px; 
    color: var(--class-title-yellow); 
    margin-top: 25px; 
}

.syllabus-column h4:first-child { margin-top: 0; }
.syllabus-column p { font-size: 1.1rem; line-height: 1.4; padding-left: 16px; opacity: 0.95; }

/* 注意事項 */
.footer { 
    background: var(--footer-brown); 
    color: #ffffff; 
    padding: 20px 0; 
}
.footer-center-wrapper { display: flex; justify-content: center; }
.footer-left-align-text { width: 100%; text-align: left; }
.footer h4 { font-size: 1.6rem; margin-bottom: 10px; display: inline-block; }
.footer ul { list-style: none !important; }

.footer li { 
    margin-bottom: 10px; 
    position: relative; 
    padding-left: 12px; 
    font-size: 1rem; 
    line-height: 1.5; 
}

.footer li::before { 
    content: '●'; 
    position: absolute; 
    left: 0; 
    color: #fff; 
    font-size: 0.5rem;
    top: 5px;
}


/* 手機響應式 */
@media (max-width: 768px) {
    .pc-only { display: none; }
    .mobile-only { display: block; }

    .main-layout { flex-direction: column; align-items: center; gap: 20px; }
    
    /* 講師區 */
    .instructor-aside { width: 100%; flex: 0 0 auto; }
    .instructor-photo img { max-width: 250px; margin: 0 auto; margin-top: -5px; } 
    .bio-card { 
        padding-left: 15px;
        padding-right: 15px;
        text-align: left;
        display: flex;
        flex-direction: column;
        align-items: flex-start; /* 內容靠左 */
    }

    .bio-card h3 { 
        margin-top: -35px; 
        font-size: 20px; 
        width: 100%;
        text-align: center;
    }

    .bio-card ul {
        align-self: center;
        width: fit-content;
        max-width: 100%;
    }
    
    .bonus-info-container { width: 100%; }

    .mt { 
        margin-top: -10px; 
    }

    .info-row::before {
        margin-right: 6px; 
        margin-top: 0px;
    }

    
    /* 按鈕 */
    .cta-buttons { 
        flex-direction: column; 
        align-items: center; 
        gap: 15px;
        position: static; 
        margin: 20px 0;
    }

    .btn-jelly { width: 80%; max-width: 300px; font-size: 2.2rem; }
    
    /* 手機版圖示 */
    .location-center-wrapper { justify-content: flex-start; padding: 0 15px; } 
    .location-detail-info { width: 100%; padding: 0; }
    .info-row { align-items: flex-start; } /* 文字對齊 */

    .container { padding: 0 7px; }
    .syllabus-item { flex-direction: column; }
    .syllabus-side-label { writing-mode: horizontal-tb; width: 100%; padding: 10px; font-size: 1.5rem; letter-spacing: 4px; }
    .syllabus-content-wrapper { grid-template-columns: 1fr; padding: 20px; gap: 20px; }
    .info-text { font-size: 1.3rem; }
    .footer h4 { font-size: 1.2rem; margin-bottom: 7px; }

    .info-row span.phone { 
        font-size: 1.7rem;
        margin-top: 5px;
    }

    .info-row span.phone small {  
        font-size: 1rem;
    }
     

}