/*
Theme Name: Astra Child
Template: astra
Version: 1.3
*/

/* === 首頁輪播 Banner === */
.cb-slider-wrap { width:100vw; height:100vh; min-height:600px; position:relative; overflow:hidden; margin-left:calc(-50vw + 50%); margin-top:-80px; }
.cb-slide { position:absolute; top:0; left:0; width:100%; height:100%; background-size:cover; background-position:center; opacity:0; transition:opacity 1.2s ease-in-out; display:flex; align-items:center; justify-content:center; text-align:center; color:white; }
.cb-slide.active { opacity:1; z-index:2; }
.cb-slide-bg { position:absolute; top:0; left:0; width:100%; height:100%; animation:cbKenburns 18s ease-in-out infinite alternate; }
@keyframes cbKenburns { 0%{transform:scale(1)} 100%{transform:scale(1.12)} }
.cb-slide-content { position:relative; z-index:5; padding:20px; max-width:850px; }
.cb-badge { display:inline-block; padding:10px 28px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.3); border-radius:50px; font-size:13px; letter-spacing:4px; margin-bottom:25px; backdrop-filter:blur(10px); }
.cb-slide-content h1 { font-size:60px; margin-bottom:18px; font-weight:800; text-shadow:0 2px 30px rgba(0,0,0,0.4); line-height:1.2; }
.cb-slide-content p { font-size:23px; margin-bottom:35px; line-height:1.7; text-shadow:0 2px 15px rgba(0,0,0,0.4); opacity:0.95; }
.cb-btns { display:flex; gap:18px; justify-content:center; flex-wrap:wrap; }
.cb-btn-go { display:inline-block; padding:18px 50px; background:#ff6f00; color:white!important; text-decoration:none; border-radius:50px; font-size:18px; font-weight:600; box-shadow:0 8px 30px rgba(255,111,0,0.4); transition:all 0.3s; }
.cb-btn-go:hover { background:#e65100; transform:translateY(-3px); box-shadow:0 12px 40px rgba(255,111,0,0.5); }
.cb-btn-out { display:inline-block; padding:18px 50px; background:transparent; border:2px solid rgba(255,255,255,0.5); color:white!important; text-decoration:none; border-radius:50px; font-size:18px; font-weight:600; transition:all 0.3s; }
.cb-btn-out:hover { background:rgba(255,255,255,0.12); border-color:white; transform:translateY(-3px); }
.cb-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:20; width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.3); display:flex; align-items:center; justify-content:center; font-size:24px; color:white; cursor:pointer; backdrop-filter:blur(10px); transition:all 0.3s; user-select:none; }
.cb-arrow:hover { background:rgba(255,255,255,0.25); }
.cb-arrow-left { left:30px; }
.cb-arrow-right { right:30px; }
.cb-dots { position:absolute; bottom:90px; left:50%; transform:translateX(-50%); z-index:20; display:flex; gap:12px; }
.cb-dot { width:12px; height:12px; border-radius:50%; background:rgba(255,255,255,0.35); cursor:pointer; transition:all 0.3s; }
.cb-dot.active { background:white; width:36px; border-radius:6px; }
.cb-scroll { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:15; text-align:center; }
.cb-scroll-icon { width:26px; height:42px; border:2px solid rgba(255,255,255,0.5); border-radius:13px; margin:0 auto 6px; position:relative; }
.cb-scroll-icon:before { content:""; position:absolute; top:7px; left:50%; width:3px; height:7px; background:white; border-radius:2px; transform:translateX(-50%); animation:cbScroll 1.8s ease infinite; }
@keyframes cbScroll { 0%{opacity:0;top:7px} 40%{opacity:1} 80%{opacity:0;top:22px} 100%{opacity:0} }
.cb-scroll-text { font-size:11px; color:rgba(255,255,255,0.6); letter-spacing:2px; }

/* === 首頁通用 === */
.section-box { max-width:1200px; margin:0 auto; padding:80px 20px; }
.section-box h2 { text-align:center; font-size:38px; margin-bottom:20px; color:#1a237e; }
.section-sub { text-align:center; font-size:18px; color:#666; margin-bottom:50px; }
.services-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:30px; }
.service-card { text-align:center; padding:40px 25px; background:white; border-radius:16px; box-shadow:0 2px 20px rgba(0,0,0,0.08); transition:all 0.3s; border-top:4px solid #0d47a1; overflow:hidden; }
.service-card:hover { transform:translateY(-5px); box-shadow:0 8px 30px rgba(0,0,0,0.12); }
.service-card-img { width:100%; height:160px; object-fit:cover; border-radius:12px; margin-bottom:20px; }
.service-card h3 { font-size:22px; margin-bottom:15px; color:#1a237e; }
.service-card p { color:#555; line-height:1.6; }
.about-preview { display:flex; align-items:center; gap:50px; flex-wrap:wrap; }
.about-preview .col { flex:1; min-width:300px; }
.about-preview h2 { text-align:left; }
.about-img { width:100%; border-radius:16px; box-shadow:0 4px 20px rgba(0,0,0,0.1); }
.stats-box { display:flex; justify-content:center; gap:60px; flex-wrap:wrap; padding:60px 20px; background:#f5f5f5; }
.stat-item { text-align:center; }
.stat-num { font-size:48px; font-weight:700; color:#0d47a1; }
.stat-label { font-size:16px; color:#666; margin-top:5px; }
.cta-section { background:linear-gradient(135deg,#1a237e,#0d47a1); color:white; text-align:center; padding:80px 20px; }
.cta-section h2 { color:white; font-size:36px; margin-bottom:20px; }
.cta-section p { font-size:18px; margin-bottom:30px; opacity:0.9; }
.cta-btn { display:inline-block; padding:16px 45px; background:#ff6f00; color:white!important; text-decoration:none; border-radius:50px; font-size:18px; font-weight:600; }

/* === 服務頁 === */
.srv-hero { width:100%; min-height:400px; background:linear-gradient(135deg,rgba(13,71,161,0.85),rgba(1,87,155,0.85)); background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; text-align:center; color:white; }
.srv-hero-inner { padding:80px 20px; max-width:800px; }
.srv-hero-badge { display:inline-block; padding:8px 24px; background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.3); border-radius:50px; font-size:14px; margin-bottom:20px; letter-spacing:2px; }
.srv-hero-inner h1 { font-size:48px; margin-bottom:15px; font-weight:700; }
.srv-hero-inner p { font-size:20px; opacity:0.9; }
.srv-feature { max-width:1200px; margin:0 auto; padding:80px 20px; text-align:center; }
.srv-feature h2 { font-size:38px; color:#1a237e; margin-bottom:15px; }
.srv-block { display:flex; align-items:center; gap:0; max-width:1200px; margin:0 auto 50px; overflow:hidden; border-radius:20px; box-shadow:0 4px 30px rgba(0,0,0,0.08); background:white; }
.srv-block:nth-child(even) { flex-direction:row-reverse; }
.srv-block-img { flex:1; min-height:350px; background-size:cover; background-position:center; }
.srv-block-body { flex:1; padding:50px; }
.srv-block-body h3 { font-size:28px; color:#1a237e; margin-bottom:18px; }
.srv-block-body p { color:#555; line-height:1.8; font-size:16px; margin-bottom:20px; }
.srv-cta { text-align:center; padding:80px 20px; background:linear-gradient(135deg,#1a237e,#0d47a1); color:white; }
.srv-cta h2 { font-size:34px; margin-bottom:15px; color:white; }

/* === 關於我們 === */
.ab-hero { width:100%; min-height:420px; background:linear-gradient(135deg,rgba(26,35,126,0.82),rgba(13,71,161,0.82)); background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; text-align:center; color:white; }
.ab-hero-inner { padding:80px 20px; max-width:800px; }
.ab-story { max-width:1200px; margin:0 auto; padding:90px 20px; display:flex; align-items:center; gap:60px; flex-wrap:wrap; }
.ab-story .col { flex:1; min-width:320px; }
.ab-story h2 { font-size:38px; color:#1a237e; margin-bottom:12px; }
.ab-story p { font-size:17px; color:#555; line-height:2; margin-bottom:16px; }
.ab-story-img { width:100%; border-radius:20px; box-shadow:0 8px 35px rgba(0,0,0,0.12); }
.ab-mvv { background:#f8f9fb; padding:80px 20px; }
.ab-mvv-grid { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.ab-mvv-card { background:white; padding:50px 35px; border-radius:20px; box-shadow:0 4px 25px rgba(0,0,0,0.06); text-align:center; }
.ab-mvv-icon { width:80px; height:80px; margin:0 auto 25px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:36px; }
.ab-mvv-card h3 { font-size:26px; color:#1a237e; margin-bottom:18px; }
.ab-timeline { background:#f8f9fb; padding:90px 20px; }
.ab-tl-item { display:flex; gap:30px; margin-bottom:0; position:relative; padding-bottom:40px; }
.ab-tl-item:before { content:""; position:absolute; left:74px; top:50px; bottom:0; width:2px; background:#e0e0e0; }
.ab-tl-item:last-child:before { display:none; }
.ab-tl-year { width:90px; min-width:90px; height:90px; border-radius:50%; background:linear-gradient(135deg,#1a237e,#0d47a1); color:white; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:700; z-index:1; box-shadow:0 4px 15px rgba(13,71,161,0.3); }

/* === 聯絡我們 === */
.ct-hero { width:100%; min-height:380px; background:linear-gradient(135deg,rgba(26,35,126,0.85),rgba(1,87,155,0.85)); background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; text-align:center; color:white; }
.ct-hero-inner { padding:80px 20px; max-width:800px; }
.ct-main { max-width:1200px; margin:0 auto; padding:80px 20px; display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.ct-info-card { background:white; padding:45px; border-radius:20px; box-shadow:0 4px 25px rgba(0,0,0,0.06); }
.ct-form-card { background:#f8f9fb; padding:45px; border-radius:20px; box-shadow:0 4px 25px rgba(0,0,0,0.06); }
.ct-field { margin-bottom:20px; }
.ct-field label { display:block; margin-bottom:8px; font-weight:600; color:#333; font-size:15px; }
.ct-field input, .ct-field textarea, .ct-field select { width:100%; padding:14px 16px; border:2px solid #e0e0e0; border-radius:12px; font-size:15px; box-sizing:border-box; background:white; }
.ct-btn { width:100%; padding:16px; background:linear-gradient(135deg,#1a237e,#0d47a1); color:white; border:none; border-radius:50px; font-size:17px; font-weight:600; cursor:pointer; }
.ct-map-frame { width:100%; height:420px; border:0; border-radius:20px; box-shadow:0 4px 25px rgba(0,0,0,0.08); }

@media(max-width:768px){
  .cb-slide-content h1{font-size:34px} .cb-slide-content p{font-size:16px}
  .cb-btns{flex-direction:column;align-items:center}
  .cb-slider-wrap{margin-top:-60px}
  .srv-block{flex-direction:column!important}
  .ab-mvv-grid{grid-template-columns:1fr}
  .ct-main{grid-template-columns:1fr}
}

/* 輪播背景圖 */
.cb-bg-1 { background:linear-gradient(135deg,rgba(26,35,126,0.72),rgba(13,71,161,0.68)),url(https://a20251202.com/wp-content/uploads/2026/06/slide-ai-1.jpg); background-size:cover; background-position:center; }
.cb-bg-2 { background:linear-gradient(135deg,rgba(13,71,161,0.72),rgba(1,87,155,0.68)),url(https://a20251202.com/wp-content/uploads/2026/06/slide-erp-1.jpg); background-size:cover; background-position:center; }
.cb-bg-3 { background:linear-gradient(135deg,rgba(26,35,126,0.72),rgba(0,83,87,0.68)),url(https://a20251202.com/wp-content/uploads/2026/06/slide-iot-1.jpg); background-size:cover; background-position:center; }
.cb-bg-4 { background:linear-gradient(135deg,rgba(13,71,161,0.72),rgba(26,35,126,0.68)),url(https://a20251202.com/wp-content/uploads/2026/06/slide-net-1.jpg); background-size:cover; background-position:center; }
