@charset "utf-8";
/* CSS Document */
:root { --gold: #C5A059; --red: #C91F33; --navy: #12121c; --tl-gold: #FFD700; }
    * { box-sizing: border-box; scroll-behavior: smooth; }
    
    /* 基礎設定優化 */
    body { margin: 0; font-family: 'Noto Sans TC', sans-serif; background: #fff; overflow-x: hidden; padding-top: 80px; }
    body.lb-open { overflow: hidden; }

    /* 1. 職人紅點游標 (僅桌機) */
    @media (min-width: 1024px) {
        .cursor-dot { width: 8px; height: 8px; background-color: var(--red); position: fixed; pointer-events: none; border-radius: 50%; z-index: 10000000; transform: translate(-50%, -50%); top: 0; left: 0; }
        .cursor-outline { width: 35px; height: 35px; border: 1.5px solid rgba(201, 31, 51, 0.4); position: fixed; pointer-events: none; border-radius: 50%; z-index: 9999999; transform: translate(-50%, -50%); transition: 0.1s; top: 0; left: 0; }
    }

    /* 2. 導覽列優化：調整間距與字槓分離 */
    .navbar { position: fixed; top: 0; left: 0; width: 100%; z-index: 2000; background: #fff; display: flex; justify-content: space-between; align-items: center; padding: 10px 40px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); transition: 0.3s; }
    .logo-box { display: flex; align-items: center; gap: 15px; text-decoration: none; z-index: 2001; }
    .logo-box img { height: 55px; width: 55px; border-radius: 50%; border: 2px solid var(--gold); transition: 0.8s ease-in-out; }
    .logo-box:hover img { transform: rotate(360deg) scale(1.1); }
    
    .logo-text-gold { font-family: 'Noto Serif TC', serif; font-size: 1.15rem; font-weight: 900; background: linear-gradient(45deg, #a67c00, #fcf6ba, #aa771c, #fcf6ba, #a67c00); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: shineGold 4s linear infinite; white-space: nowrap; }
    @keyframes shineGold { to { background-position: 200% center; } }

    .main-nav { display: flex; list-style: none; gap: 20px; margin: 0; padding: 0; align-items: center; }
    .main-nav a { color: #333 !important; font-weight: bold; text-decoration: none; position: relative; transition: 0.4s; font-size: 0.95rem; display: inline-block; padding: 8px 0; }
    .main-nav a:hover { color: var(--red) !important; transform: translateY(-5px); }
    .main-nav a::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 3px; background: var(--tl-gold); transition: 0.4s; transform: translateX(-50%); }
    .main-nav a:hover::after { width: 100%; }

    .menu-toggle { display: none; flex-direction: column; gap: 5px; cursor: pointer; z-index: 2005; padding: 5px; }
    .menu-toggle span { width: 25px; height: 3px; background: var(--navy); border-radius: 3px; transition: 0.3s; }

    /* 3. Hero 視覺區優化 */
    .hero { height: 65vh; position: relative; background: #000; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; }
    .hero img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.65; animation: heroZoom 20s infinite alternate; }
    .hero::after { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(120deg, transparent, rgba(255,255,255,0.2), transparent); animation: shineHero 4s infinite; }
    .hero-content { position: relative; z-index: 10; padding-bottom: 50px; text-align: center; width: 90%; }
    .hero-content h1 { font-size: 3.2rem; color: var(--tl-gold); margin: 0; text-shadow: 2px 2px 10px rgba(0,0,0,0.8); letter-spacing: 2px; }

    @keyframes heroZoom { from { transform: scale(1); } to { transform: scale(1.1); } }
    @keyframes shineHero { 0% { left: -100%; } 100% { left: 100%; } }

    /* 4. Z-Layout 優化 */
    .z-layout { max-width: 1200px; margin: 60px auto; padding: 0 20px; display: flex; align-items: center; gap: 50px; }
    .z-img { flex: 1.2; border-radius: 15px; overflow: hidden; box-shadow: 0 15px 40px rgba(0,0,0,0.1); height: 400px; }
    .z-img img { width: 100%; height: 100%; object-fit: cover; animation: imgBreathe 10s infinite ease-in-out; }
    .z-txt h2 { font-family: 'Noto Serif TC', serif; font-size: 2.2rem; border-left: 6px solid var(--red); padding-left: 15px; margin-bottom: 25px; font-weight: 900; }
    
    @keyframes imgBreathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }

    /* 5. 相片牆佈局 */
    .gallery-container { display: flex; gap: 12px; padding: 20px; max-width: 1600px; margin: 0 auto; }
    .gallery-column { flex: 1; display: flex; flex-direction: column; gap: 12px; }
    .gallery-item { position: relative; border-radius: 12px; overflow: hidden; background: #f5f5f5; cursor: pointer; transition: 0.4s; }
    .gallery-item:hover { transform: translateY(-8px); box-shadow: 0 10px 20px rgba(0,0,0,0.15); }
    .gallery-item img { width: 100%; display: block; opacity: 0; transition: 0.5s; }
    .gallery-item img.loaded { opacity: 1; }
    .photo-num { position: absolute; top: 10px; left: 10px; background: var(--red); color: #fff; padding: 2px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: bold; z-index: 5; }
    .heart-btn { position: absolute; bottom: 0; right: 0; padding: 15px; font-size: 28px; color: rgba(255,255,255,0.7); text-shadow: 0 0 8px #000; transition: 0.3s; z-index: 50; }
    .heart-btn.active { color: var(--red); transform: scale(1.2); }

    /* 6. 右側浮動與收藏 */
    .mobile-cart-btn { position: fixed; top: 40%; right: 20px; width: 55px; height: 55px; background: var(--red); color: #fff; border-radius: 50%; display: flex; justify-content: center; align-items: center; z-index: 5000; box-shadow: 0 4px 15px rgba(0,0,0,0.3); text-decoration: none; animation: pulseCart 2s infinite; font-size: 24px; }
    .cart-badge { position: absolute; top: -2px; right: -2px; background: var(--tl-gold); color: #000; width: 22px; height: 22px; border-radius: 50%; font-size: 11px; font-weight: bold; display: flex; justify-content: center; align-items: center; border: 2px solid #fff; }
    
    .float-wrap { position: fixed; bottom: 30px; right: 20px; z-index: 4000; display: flex; flex-direction: column; align-items: center; gap: 12px; }
    .btn-up { width: 45px; height: 45px; background: var(--gold); color: #fff; border-radius: 50%; display: none; justify-content: center; align-items: center; cursor: pointer; font-weight: bold; margin-bottom: 5px; }
    .btn-up.show { display: flex; }
    .btn-main { width: 65px; height: 65px; background: #000; color: var(--tl-gold); border-radius: 50%; display: flex; justify-content: center; align-items: center; cursor: pointer; border: 2px solid var(--tl-gold); text-align: center; font-size: 0.8rem; font-weight: bold; animation: pulseGold 2s infinite; z-index: 4001; }

    @keyframes pulseCart { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
    @keyframes pulseGold { 0% { transform: scale(0.95); } 70% { transform: scale(1); box-shadow: 0 0 15px var(--tl-gold); } 100% { transform: scale(0.95); } }

    /* 7. 暴力滿版燈箱 */
    .lightbox { position: fixed !important; top: 0 !important; left: 0 !important; width: 100vw !important; height: 100vh !important; background: #000; z-index: 100000000; display: none; justify-content: center; align-items: center; overflow: hidden; }
    #lbImg { width: 100vw; height: 100vh; object-fit: contain; }

    /* 🚀 8. 手機版極致優化 (關鍵修正) */
    @media (max-width: 950px) {
        body { padding-top: 65px; }
        .navbar { padding: 5px 15px; height: 65px; }
        .logo-box img { height: 45px; width: 45px; }
        .logo-text-gold { font-size: 0.9rem; }

        /* 導覽列彈出選單 */
        .menu-toggle { display: flex; }
        .main-nav { position: fixed; top: 65px; right: -100%; width: 260px; height: calc(100vh - 65px); background: #fff; flex-direction: column; padding: 30px 20px; transition: 0.5s; box-shadow: -5px 0 15px rgba(0,0,0,0.1); gap: 10px; }
        .main-nav.active { right: 0; }
        .main-nav a { font-size: 1rem; width: 100%; border-bottom: 1px solid #eee; }

        /* 橫幅縮小高度，避免手機看太累 */
        .hero { height: 42vh; }
        .hero-content { padding-bottom: 30px; }
        .hero-content h1 { font-size: 1.8rem; letter-spacing: 1px; }

        .hero-content p { font-size: 0.95rem; }

        /* Z-Layout 改為垂直 */
        .z-layout { flex-direction: column; text-align: center; gap: 25px; margin: 40px auto; padding: 0 15px; }
        .z-img { height: 260px; width: 100%; flex: none; }
        .z-txt h2 { font-size: 1.6rem; border-left: none; border-bottom: 4px solid var(--red); padding-left: 0; padding-bottom: 10px; display: inline-block; }
        .z-txt p { font-size: 1rem; line-height: 1.7; }

        /* 相片牆改為雙欄排列，最省空間 */
        .gallery-container { padding: 8px; gap: 8px; }
        .gallery-column { gap: 8px; }
        .gallery-item { border-radius: 8px; }
        .photo-num { font-size: 0.65rem; top: 5px; left: 5px; padding: 1px 6px; }
        .heart-btn { font-size: 22px; padding: 10px; }

        /* 浮動按鈕縮小，避免擋住照片 */
        .mobile-cart-btn { width: 50px; height: 50px; right: 15px; font-size: 20px; }
        .btn-main { width: 58px; height: 58px; right: 15px; font-size: 0.75rem; }
    }

/* 修正版：讓子按鈕初始狀態完全重疊在主按鈕下方 */
    .float-wrap { 
        position: fixed; 
        bottom: 30px; 
        right: 20px; 
        z-index: 4000; 
        display: flex; 
        flex-direction: column; 
        align-items: center; 
        gap: 12px; 
    }

    .sub-btn { 
        width: 50px; 
        height: 50px; 
        border-radius: 50%; 
        color: #fff; 
        display: flex; 
        justify-content: center; 
        align-items: center; 
        text-decoration: none; 
        font-weight: bold;
        /* 核心修正：初始透明度為0，並向下位移與主按鈕重合 */
        opacity: 0; 
        transform: translateY(60px); 
        visibility: hidden; 
        transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); 
        z-index: 3999;
    }

    /* 當外層加上 .active 類名時，小朋友才跳出來 */
    .float-wrap.active .sub-btn { 
        opacity: 1; 
        transform: translateY(0); 
        visibility: visible; 
    }

    .btn-main { 
        width: 68px; 
        height: 68px; 
        background: #000; 
        color: var(--tl-gold); 
        border-radius: 50%; 
        display: flex; 
        justify-content: center; 
        align-items: center; 
        cursor: pointer; 
        border: 2px solid var(--tl-gold); 
        text-align: center; 
        font-size: 0.85rem; 
        font-weight: bold; 
        animation: pulseGold 2s infinite; 
        z-index: 4001; /* 確保主按鈕永遠在最上面 */
    }

/* 🚀 皇潮鼎宴・手機版最終對位優化 */
    @media (max-width: 768px) {
        /* 1. 調整橫幅比例，確保不遮臉 */
        .hero { 
            height: 42vh !important; 
        }
        .hero-content {
            padding-bottom: 20px !important;
        }

        /* 2. 縮小最上方的流金字，讓整體更精緻 */
        .hero-content .logo-text-gold {
            font-size: 0.9rem !important;
            margin-bottom: 5px !important;
            letter-spacing: 2px !important;
        }

        /* 3. 確保姓名排成一行，不遮住新人的臉 */
        .hero-content h1 { 
            font-size: 1.5rem !important; 
            letter-spacing: 1px !important;
            margin: 5px 0 !important;
            white-space: nowrap; /* 絕對不准斷行 */
        }

        /* 4. 副標題優化：讓「1199張」更清晰 */
        .hero-content p { 
            font-size: 0.8rem !important; 
            opacity: 0.9;
            margin-top: 5px !important;
        }

        /* 5. 修正下方照片的邊距，看起來更有設計感 */
        .z-layout {
            margin: 30px auto !important;
            padding: 0 15px !important;
        }
        .z-img {
            height: 220px !important;
            border-radius: 12px !important;
        }
    }

/* 修正 Logo 容器佈局 */
    .logo { 
        display: flex; 
        align-items: center; 
        gap: 12px; 
        z-index: 2001; 
    }

    /* 圖示連結樣式：維持旋轉特效 */
    .logo-link-img { display: block; line-height: 0; }
    .logo-link-img img { 
        height: 50px; 
        width: 50px; 
        border-radius: 50%; 
        border: 2px solid var(--gold); 
        transition: 0.8s ease-in-out; 
    }
    .logo-link-img:hover img { transform: rotate(360deg) scale(1.1); }

    /* 文字連結樣式：取消底線並套用流金 */
    .logo-link-text { text-decoration: none; }
    .logo-text-gold { 
        font-family: 'Noto Serif TC', serif; 
        font-size: 1.1rem; 
        font-weight: 900; 
        /* 繼承原本的流金動畫效果 */
        background: linear-gradient(45deg, #a67c00, #fcf6ba, #aa771c, #fcf6ba, #a67c00);
        background-size: 200% auto;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        animation: shineGold 4s linear infinite;
        white-space: nowrap;
    }

    /* 手機版縮小字體防止擠壓 */
    @media (max-width: 768px) {
        .logo { gap: 8px; }
        .logo-link-img img { height: 42px; width: 42px; }
        .logo-text-gold { font-size: 0.9rem; }
    }
/* 基礎旋轉動畫 */
    @keyframes hsu_top_logo_rotate {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
    }

    .top-rotating-logo {
        height: 60px; /* 您可依需求調整大小 */
        width: 60px; 
        border-radius: 50%; 
        border: 2px solid #d4af37; 
        box-shadow: 0 0 12px rgba(212, 175, 55, 0.5);
        /* 平時悠哉慢慢轉：12秒一圈 */
        animation: hsu_top_logo_rotate 12s infinite linear;
        transition: all 0.3s ease;
        display: inline-block;
        vertical-align: middle;
    }

    /* 滑鼠移上去時：轉速變快 (0.8秒一圈)，象徵財源飛進 */
    .top-rotating-logo:hover {
        animation-duration: 0.6s; 
        transform: scale(1.15); /* 稍微放大，更有動感 */
        box-shadow: 0 0 25px rgba(212, 175, 55, 0.9);
        cursor: pointer;
    }

 /* 影片外框統一美化 */
    .v-card { background: #000; border: 2px solid var(--gold); border-radius: 12px; overflow: hidden; box-shadow: 0 10px 25px rgba(0,0,0,0.2); transition: 0.3s; }
    .v-card:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(212, 175, 55, 0.3); }
    .v-title { padding: 12px; background: #1a1a1a; color: var(--tl-gold); text-align: center; font-size: 0.95rem; font-weight: bold; }

    /* RWD 自動適應調整 */
    @media (max-width: 1024px) {
        .v-grid-container { grid-template-columns: repeat(2, 1fr) !important; }
    }
    @media (max-width: 600px) {
        .v-grid-container { grid-template-columns: 1fr !important; }
    }
 /* 1. 榮耀框核心樣式 */
    .honor-box {
        background: #fff;
        border-left: 8px solid #FFD700; 
        padding: 40px;
        border-radius: 20px;
        position: relative;
        overflow: hidden;
        box-shadow: 0 20px 50px rgba(0,0,0,0.1);
        transition: 0.3s;
    }

    .honor-box:hover {
        box-shadow: 0 25px 60px rgba(212, 175, 55, 0.2);
        transform: translateY(-5px);
    }

    /* 2. 流光閃過特效 */
    .honor-box::before {
        content: "";
        position: absolute;
        top: 0; left: -100%;
        width: 100%; height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 215, 0, 0.1), transparent);
        transition: 0.5s;
    }
    .honor-box:hover::before { left: 100%; }

    /* 3. 文案中的「收藏清單」點擊樣式 */
    .inline-cart-btn {
        display: inline-block;
        background: #f8f8f8;
        padding: 2px 12px;
        border-radius: 5px;
        border: 1px solid #ddd;
        cursor: pointer;
        font-weight: bold;
        color: #1a1a1a;
        transition: 0.2s;
    }
    .inline-cart-btn:hover {
        background: #1a1a1a;
        color: #FFD700;
        border-color: #1a1a1a;
    }

    /* 4. LINE 按鈕動態 */
    .line-btn-dynamic {
        display: inline-block;
        background: #06C755;
        color: #fff !important;
        padding: 15px 45px;
        border-radius: 50px;
        text-decoration: none;
        font-weight: bold;
        font-size: 1.1rem;
        box-shadow: 0 8px 20px rgba(6, 199, 85, 0.3);
        transition: 0.3s;
    }
    .line-btn-dynamic:hover {
        transform: scale(1.05);
        box-shadow: 0 10px 25px rgba(6, 199, 85, 0.4);
    }
 .hsu-philosophy-section {
        background-color: #f9f7f2; /* 溫暖的米色底，展現厚實人情味 */
        padding: 60px 20px;
        text-align: center;
        font-family: "Microsoft JhengHei", "微軟正黑體", sans-serif;
        border-top: 3px solid #d4af37; /* 金色邊框，象徵榮耀 */
        margin-top: 50px;
    }
    .hsu-container {
        max-width: 900px;
        margin: 0 auto;
    }
    .hsu-quote {
        font-size: 24px;
        color: #8b6d11;
        font-weight: bold;
        margin-bottom: 30px;
        letter-spacing: 2px;
    }
    .hsu-content {
        font-size: 18px;
        line-height: 1.8;
        color: #444;
        text-align: justify;
        margin-bottom: 40px;
    }
    .hsu-points {
        text-align: left;
        display: inline-block;
        margin-bottom: 30px;
    }
    .hsu-points b {
        color: #b08d1a;
        font-size: 20px;
    }
    .hsu-signature {
        text-align: right;
        font-size: 22px;
        color: #222;
        font-weight: bold;
        margin-top: 20px;
    }
    .hsu-footer-tag {
        font-size: 14px;
        color: #999;
        margin-top: 40px;
    }
@keyframes hsu_shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
        @keyframes hsu_logo_rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

        .brand-glow-shimmer {
            font-size: 2.2rem; font-weight: bold; margin-bottom: 25px; display: inline-block;
            background: linear-gradient(90deg, #d4af37 25%, #fff 50%, #d4af37 75%);
            background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent;
            animation: hsu_shimmer 3s infinite linear; text-shadow: 0 0 15px rgba(212, 175, 55, 0.4); letter-spacing: 2px;
        }

        .rotating-logo-68 {
            height: 65px; width: 65px; border-radius: 50%; border: 2px solid #d4af37; 
            box-shadow: 0 0 15px rgba(212, 175, 55, 0.5); animation: hsu_logo_rotate 10s infinite linear;
            transition: all 0.5s ease;
        }
        .rotating-logo-68:hover { animation-duration: 2s; transform: scale(1.1); box-shadow: 0 0 25px rgba(212, 175, 55, 0.8); }

        .social-grid { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
        .footer-social-link { 
            color: #fff; text-decoration: none; font-size: 0.95rem; display: block;
            padding: 12px 15px; border: 1px solid rgba(212, 175, 55, 0.4); border-radius: 5px;
            text-align: center; transition: all 0.4s ease; background: rgba(255, 255, 255, 0.05);
            position: relative; overflow: hidden;
        }
        .footer-social-link:hover { background: rgba(212, 175, 55, 0.25); border: 1px solid #fff; box-shadow: 0 0 20px rgba(212, 175, 55, 0.7); transform: translateY(-5px); }
        .footer-social-link::after { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent); transition: 0.5s; }
        .footer-social-link:hover::after { left: 100%; }
 /* 導航按鈕專屬特效 */
    .cta-btn-main.map-btn {
        display: inline-block;
        padding: 12px 25px;
        background: linear-gradient(135deg, #d4af37 0%, #8b6d11 100%);
        color: #000 !important; /* 黑字配金底，最吸睛 */
        text-decoration: none;
        font-weight: bold;
        border-radius: 50px; /* 圓角按鈕 */
        font-size: 1.1rem;
        box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
        border: none;
    }

    /* 滑鼠靠近按鈕時加速旋轉金光 */
    .cta-btn-main.map-btn:hover {
        transform: translateY(-3px);
        box-shadow: 0 6px 20px rgba(212, 175, 55, 0.6);
        background: linear-gradient(135deg, #fcf6ba 0%, #d4af37 100%);
    }

    /* 按鈕內的流光閃過特效 */
    .cta-btn-main.map-btn::after {
        content: "";
        position: absolute;
        top: 0; left: -100%;
        width: 100%; height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
        transition: 0.6s;
    }
    .cta-btn-main.map-btn:hover::after {
        left: 100%;
    }
 /* 社群小入口樣式：像精品標籤一樣 */
    .social-li { margin-bottom: 5px; }
    .social-li a {
        display: inline-block;
        padding: 6px 15px;
        background: rgba(255,255,255,0.05);
        color: #ddd !important;
        text-decoration: none;
        border-radius: 5px;
        font-size: 0.9rem;
        border: 1px solid rgba(255,255,255,0.1);
        transition: all 0.3s ease;
    }
    .social-li a:hover {
        background: var(--red);
        color: #fff !important;
        transform: translateY(-3px);
        box-shadow: 0 5px 15px rgba(201, 31, 51, 0.3);
        border-color: var(--red);
    }
 .petal-particle {
            position: fixed;
            top: -100px; /* 從螢幕外開始 */
            z-index: 9998;
            pointer-events: none;
            user-select: none;
            animation: petal-fall-down linear forwards;
        }

        /* 模擬真實落葉飄動的軌跡：左右晃動 + 翻轉 */
        @keyframes petal-fall-down {
            0% {
                transform: translateY(0) translateX(0) rotate(0deg);
                opacity: 0;
            }
            10% {
                opacity: 1;
            }
            25% { transform: translateY(25vh) translateX(40px) rotate(45deg); }
            50% { transform: translateY(50vh) translateX(-40px) rotate(180deg); }
            75% { transform: translateY(75vh) translateX(40px) rotate(270deg); }
            100% {
                transform: translateY(110vh) translateX(0) rotate(360deg);
                opacity: 0;
            }
        }
 /* 輔助樣式：按鈕動態與標籤樣式 */
    .partner-btn { padding: 12px 25px; background: #fff; color: #555; border: 1px solid #ddd; border-radius: 4px; text-decoration: none; transition: 0.3s; font-size: 0.95rem; }
    .partner-btn:hover { background: var(--red); color: #fff; border-color: var(--red); transform: translateY(-3px); box-shadow: 0 5px 15px rgba(201, 31, 51, 0.2); }
    
    .tag-item { color: #888; background: #fff; padding: 6px 15px; border-radius: 30px; border: 1px solid #eee; font-size: 0.85rem; transition: 0.3s; }
    .tag-item:hover { background: var(--gold); color: #000; border-color: var(--gold); }

    .cta-btn-main { display: inline-block; padding: 18px 40px; border-radius: 50px; text-decoration: none; font-weight: bold; font-size: 1.2rem; transition: 0.3s; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
    .booking-btn { background: var(--navy); color: var(--tl-gold); border: 2px solid var(--tl-gold); }
    .line-btn { background: #00b900; color: #fff; animation: lineBreathe 2s infinite; }
    .map-btn { background: #4285F4; color: #fff; }
    .cta-btn-main:hover { transform: translateY(-5px) scale(1.05); box-shadow: 0 10px 25px rgba(0,0,0,0.2); }
