:root{
  --navy:#0b3f78;--navy-dark:#071d3b;--blue:#0d4f9a;--red:#ef3123;
  --text:#172232;--muted:#65717f;--line:#e2e8ee;--soft:#f4f7fa;--white:#fff;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.55}
img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{font:inherit}.site-container{width:min(1180px,calc(100% - 40px));margin:auto}

/* Shared Header */
.site-header{height:88px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:9999}
.header-inner{height:100%;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;flex-shrink:0}.brand img{width:360px;height:auto}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:28px}.main-nav>a:not(.quote-btn){position:relative;height:78px;display:flex;align-items:center;font-size:15px;font-weight:700}
.main-nav>a:not(.quote-btn)::after{content:"";position:absolute;left:50%;right:50%;bottom:16px;height:3px;background:var(--red);transition:.2s}
.main-nav>a:not(.quote-btn):hover,.main-nav>a.active{color:var(--navy)}.main-nav>a:not(.quote-btn):hover::after,.main-nav>a.active::after{left:0;right:0}
.quote-btn,.btn.primary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:4px;background:var(--red);color:#fff;font-weight:800}
.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;color:var(--navy);font-size:28px;cursor:pointer}

/* Homepage */
.home-hero{min-height:470px;color:#fff;background:linear-gradient(90deg,rgba(2,9,16,.92),rgba(2,9,16,.12)),url("../images/hero-carbon.jpg") center/cover no-repeat;display:flex;align-items:center}
.hero-inner{position:relative;padding:70px 0}.hero-copy{max-width:590px}.eyebrow,.section-kicker{font-size:12px;letter-spacing:.25em;font-weight:800;color:var(--blue)}
.eyebrow{color:#fff}.hero-copy h1{font-size:58px;line-height:1.03;margin:14px 0 18px}.hero-lead{font-size:20px;color:#f0f4f8}.hero-actions{display:flex;gap:14px;margin-top:28px}
.btn.ghost{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid #fff;color:#fff;border-radius:4px}.hero-caption{position:absolute;right:0;bottom:70px;font-size:11px;letter-spacing:.30em}
.benefit-strip{border-bottom:1px solid var(--line)}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr)}.benefit-grid article{padding:26px 22px;border-right:1px solid var(--line)}
.benefit-grid b,.benefit-grid span{display:block}.benefit-grid span{font-size:12px;color:var(--muted);margin-top:4px}.section{padding:58px 0}.section-head{margin-bottom:25px}.section-head h2,.applications-intro h2,.about-copy h2{font-size:34px;line-height:1.12;margin:8px 0 0}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-card img{width:100%;aspect-ratio:1.58/1;object-fit:cover}.product-card h3{font-size:16px;margin:12px 0 6px}.product-card p{font-size:13px;color:var(--muted);min-height:42px}.product-card a{color:var(--blue);font-weight:800;font-size:13px}
.applications-band{padding:28px 0;background:linear-gradient(90deg,#eef5fa,#f6fafc)}.applications-layout{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center}.applications-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.applications-grid figure{margin:0;position:relative;overflow:hidden}.applications-grid img{height:185px;width:100%;object-fit:cover}.applications-grid figcaption{position:absolute;left:12px;bottom:10px;color:#fff;font-weight:800}
.about-grid{display:grid;grid-template-columns:1.08fr .9fr .45fr;gap:35px;align-items:center}.about-image{width:100%;height:300px;object-fit:cover}.about-copy p{color:var(--muted)}.about-values{border-left:1px solid var(--line);padding-left:25px;display:grid;gap:7px}.about-values b{color:var(--blue);margin-top:10px}.about-values span{font-size:12px;color:var(--muted)}
.download-band{background:linear-gradient(90deg,rgba(4,18,33,.96),rgba(4,18,33,.80)),url("../images/cta-carbon.jpg") center/cover;color:#fff;padding:30px 0}.download-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-kicker.light{color:#dbe7f2}.download-inner h2{margin:4px 0}.download-inner p{margin:0}

/* 2D Woven */
.woven-hero{min-height:265px;color:#fff;display:flex;align-items:center;background:linear-gradient(90deg,rgba(3,11,22,.92),rgba(3,11,22,.16)),url("../images/product-2d/hero.jpg") center/cover no-repeat}
.breadcrumb{font-size:13px;color:#e7eef6}.breadcrumb strong{color:#ff4a3d}.woven-hero h1{font-size:54px;line-height:1.02;margin:12px 0}.accent-line{width:58px;height:4px;background:var(--red);margin:15px 0}.woven-hero p:last-child{font-size:20px}
.woven-main{padding:35px 0 52px}.product-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.product-title{display:flex;align-items:center;gap:12px;color:var(--navy);font-size:20px;text-transform:uppercase}.product-title::before{content:"";width:40px;height:4px;background:var(--red)}.overview-grid p{color:#334153}.overview-image{height:300px;width:100%;object-fit:cover;border:1px solid var(--line)}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:26px 0 34px}.feature-grid article{border:1px solid var(--line);padding:18px 15px;min-height:105px}.feature-grid b,.feature-grid span{display:block}.feature-grid b{color:var(--navy);font-size:14px}.feature-grid span{font-size:12px;color:var(--muted);margin-top:6px}
.weave-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.weave-card{border:1px solid var(--line);background:#fff;padding:8px;cursor:pointer}.weave-card img{width:100%;aspect-ratio:1.6/1;object-fit:cover}.weave-card strong{display:block;text-align:center;margin-top:7px}.spec-section{margin-top:34px}.table-wrap{overflow-x:auto;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;min-width:980px;font-size:12px}th{background:var(--navy-dark);color:#fff;padding:8px 6px;border:1px solid #6d7e96}td{text-align:center;padding:6px;border:1px solid #d8e0e7;white-space:nowrap}tbody tr:nth-child(even){background:#f7f9fb}.spec-note{font-size:12px;color:var(--muted)}
.product-sidebar{display:flex;flex-direction:column;gap:16px}.side-card{border:1px solid var(--line)}.side-card h3{margin:0;padding:15px 18px;background:var(--navy);color:#fff;text-transform:uppercase}.side-card a{display:block;padding:14px 18px;border-top:1px solid var(--line);font-size:14px}.side-card a.active{color:var(--red);font-weight:800}
.custom-card{padding:22px;background:linear-gradient(150deg,var(--navy),var(--navy-dark));color:#fff}.custom-card h3{text-transform:uppercase}.custom-card p{font-size:14px;color:#e1e9f1}.custom-card .btn{width:100%}
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.84);z-index:10000;align-items:center;justify-content:center;flex-direction:column;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:900px;max-height:70vh;border:12px solid #fff}.lightbox strong{color:#fff;font-size:22px;margin-top:12px}.lightbox button{position:absolute;right:30px;top:20px;background:var(--red);color:#fff;border:0;width:42px;height:42px;border-radius:50%;font-size:28px}

/* Footer */
.site-footer{background:linear-gradient(130deg,#062b59,#021a34);color:#fff}.footer-main{display:grid;grid-template-columns:1.4fr .75fr .8fr 1fr;gap:35px;padding:42px 0 32px}.footer-brand img{width:300px;filter:none;margin-bottom:15px}.footer-brand p,.footer-contact a,.footer-contact span{font-size:13px;color:#dbe4ed}.footer-contact{display:grid;gap:7px}.footer-col{display:grid;align-content:start;gap:8px}.footer-col h3{margin:0 0 10px}.footer-col a{font-size:13px;color:#e4ebf2}.footer-eyebrow{font-size:11px;letter-spacing:.18em}.footer-cta h3{font-size:22px}.footer-quote{display:inline-flex;margin-top:10px;background:var(--red);padding:13px 18px;border-radius:4px;font-weight:800}.footer-bottom{border-top:1px solid rgba(255,255,255,.16)}.footer-bottom-inner{padding:18px 0;font-size:12px;color:#c8d3df}
.placeholder{min-height:55vh;padding:80px 0}.placeholder h1{font-size:42px;color:var(--navy)}

/* Responsive */
@media(max-width:1000px){
  .brand img{width:280px}.main-nav{gap:16px;font-size:13px}.product-grid{grid-template-columns:repeat(2,1fr)}.benefit-grid{grid-template-columns:repeat(2,1fr)}
  .applications-layout{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr 1fr}.about-values{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:15px 0 0}
  .product-layout{grid-template-columns:1fr}.product-sidebar{display:grid;grid-template-columns:1fr 1fr}.weave-grid{grid-template-columns:repeat(4,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .site-header{height:72px}.brand img{width:220px;max-width:70vw}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:10px 20px 18px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 25px rgba(0,0,0,.12)}.main-nav.open{display:flex}.main-nav>a:not(.quote-btn){height:auto;padding:13px 4px;border-bottom:1px solid #eee}.main-nav>a:not(.quote-btn)::after{display:none}.quote-btn{margin-top:12px}
  .hero-copy h1{font-size:43px}.hero-caption{display:none}.applications-grid{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .site-container{width:calc(100% - 28px)}.product-grid,.applications-grid,.feature-grid,.product-sidebar,.footer-main,.about-grid{grid-template-columns:1fr}.benefit-grid{grid-template-columns:1fr}.weave-grid{grid-template-columns:repeat(2,1fr)}
  .hero-copy h1{font-size:35px}.hero-actions,.download-inner{flex-direction:column;align-items:flex-start}.woven-hero h1{font-size:36px}.footer-brand img{filter:none}.overview-image{height:240px}
}

/* === Header logo size fix === */
.site-header .brand {
  height: 100%;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.site-header .brand img {
  width: auto !important;
  height: auto !important;
  max-width: 506px !important;
  max-height: 92px !important;
  object-fit: contain;
}

@media (max-width: 820px) {
  .site-header .brand img {
    max-width: 280px !important;
    max-height: 58px !important;
  }
}

@media (max-width: 420px) {
  .site-header .brand img {
    max-width: 250px !important;
    max-height: 52px !important;
  }
}

.product-placeholder-hero{background:linear-gradient(90deg,rgba(3,11,22,.94),rgba(3,11,22,.72)),url("../images/hero-carbon.jpg") center/cover no-repeat}
.product-placeholder-content{min-height:380px;padding:10px 0 40px}
.product-placeholder-content p{max-width:760px;color:var(--muted);font-size:16px;line-height:1.75}

/* ===== FTC V2 UNIFIED DESIGN SYSTEM ===== */
:root{
  --fs-product-hero:56px;
  --fs-product-subtitle:21px;
  --fs-product-section:28px;
}

/* Header */
.site-header .main-nav>a:not(.quote-btn){font-size:15px!important;font-weight:700!important}

/* All product hero sections */
.product-hero{
  min-height:265px!important;color:#fff;display:flex;align-items:center;
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important
}
.product-hero.product-2d{
  background:linear-gradient(90deg,rgba(3,11,22,.94),rgba(3,11,22,.74) 46%,rgba(3,11,22,.14)),
  url("../images/product-2d/hero.jpg") center/cover no-repeat!important
}
.product-hero.product-ud{
  background:linear-gradient(90deg,rgba(3,11,22,.94),rgba(3,11,22,.74) 46%,rgba(3,11,22,.14)),
  url("../images/product-ud/hero.jpg") center/cover no-repeat!important
}
.product-hero.product-prepreg{
  background:linear-gradient(90deg,rgba(3,11,22,.94),rgba(3,11,22,.74) 46%,rgba(3,11,22,.14)),
  url("../images/product-prepreg/hero.jpg") center/cover no-repeat!important
}
.product-hero.product-multiaxial{
  background:linear-gradient(90deg,rgba(3,11,22,.94),rgba(3,11,22,.74) 46%,rgba(3,11,22,.14)),
  url("../images/product-multiaxial/hero.jpg") center/cover no-repeat!important
}
.product-hero h1{
  margin:12px 0 0!important;color:#fff!important;
  font-size:var(--fs-product-hero)!important;font-weight:800!important;
  line-height:1.05!important;letter-spacing:-.03em!important
}
.product-hero .breadcrumb{
  margin:0 0 14px!important;font-size:13px!important;line-height:1.5!important;color:#e7eef6!important
}
.product-hero .breadcrumb strong{color:#ff4a3d!important}
.product-hero .accent-line{width:58px!important;height:4px!important;background:var(--red)!important;margin:18px 0!important}
.product-hero>.site-container>p:last-child{
  margin:0!important;max-width:760px!important;color:#f1f5f9!important;
  font-size:var(--fs-product-subtitle)!important;line-height:1.55!important
}

/* All product section titles */
.product-title{
  font-size:var(--fs-product-section)!important;font-weight:800!important;
  line-height:1.2!important;margin:0 0 16px!important
}

/* Shared sidebar */
.product-sidebar .side-card h3{font-size:17px!important}
.product-sidebar .side-card a{font-size:14px!important}
.product-sidebar .custom-card h3{font-size:17px!important}
.product-sidebar .custom-card p{font-size:14px!important;line-height:1.65!important}

/* Shared tables */
.product-layout table th{font-size:13px!important;line-height:1.25!important}
.product-layout table td{font-size:13px!important;line-height:1.4!important}

@media(max-width:900px){
  :root{--fs-product-hero:44px;--fs-product-subtitle:19px;--fs-product-section:25px}
  .site-header .brand img{max-width:280px!important;max-height:58px!important}
}
@media(max-width:600px){
  :root{--fs-product-hero:36px;--fs-product-subtitle:17px;--fs-product-section:22px}
  .product-hero{min-height:235px!important}
}
@media(max-width:420px){
  .site-header .brand img{max-width:250px!important;max-height:52px!important}
}

/* ==========================================================
   FTC FINAL FOOTER LOGO + SIDEBAR FIX
   ========================================================== */
.footer-brand .footer-logo,
.footer-brand img.footer-logo,
.site-footer .footer-logo{
  display:block;
  width:300px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  margin:0 0 18px 0;
  filter:none !important;
  -webkit-filter:none !important;
  background:transparent !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}

.site-footer .footer-brand img{
  filter:none !important;
  -webkit-filter:none !important;
}

/* Footer contact typography */
.footer-contact{
  font-size:14px;
  line-height:1.7;
}

.footer-contact span,
.footer-contact a{
  font-size:14px;
}

/* Product Sidebar sticky */
.product-sidebar{
  display:flex;
  flex-direction:column;
  gap:16px;
  position:sticky;
  top:98px;
  align-self:flex-start;
  max-height:calc(100vh - 118px);
  overflow-y:auto;
  overscroll-behavior:contain;
}

@media (max-width:900px){
  .product-sidebar{
    position:static;
    top:auto;
    max-height:none;
    overflow:visible;
  }
}

@media (max-width:600px){
  .footer-brand .footer-logo,
  .footer-brand img.footer-logo,
  .site-footer .footer-logo{
    width:240px;
  }
}

/* 修復 CSS Grid 被內部表格撐破版面的問題 */
.product-layout > div {
  min-width: 0;
}

/* ==========================================================
   產品圖片輪播與全螢幕放大 (Shared Gallery Slider & Lightbox)
   ========================================================== */
.slider-wrapper {
  width: 100%;
}

.slider-container {
  position: relative;
  width: 100%;
  height: 300px;
  border: 1px solid var(--line);
  background: #030b16;
  overflow: hidden;
  user-select: none;
}

.slider-image-box {
  width: 100%;
  height: 100%;
  cursor: zoom-in;
  position: relative;
}

.slider-image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.25s ease;
}

.slide-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(3, 11, 22, 0.6);
  color: #fff;
  border: none;
  width: 40px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  cursor: pointer;
  transition: background 0.2s ease;
  z-index: 2;
}

.slide-arrow:hover {
  background: rgba(3, 11, 22, 0.9);
}

.prev-arrow { 
  left: 0; 
  border-radius: 0 4px 4px 0; 
}

.next-arrow { 
  right: 0; 
  border-radius: 4px 0 0 4px; 
}

.slide-zoom-hint {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(3, 11, 22, 0.75);
  color: #fff;
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 3px;
  pointer-events: none;
  z-index: 1;
}

.slide-counter {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(3, 11, 22, 0.75);
  color: #fff;
  font-size: 12px;
  padding: 3px 8px;
  border-radius: 3px;
  pointer-events: none;
  z-index: 1;
}

.lightbox-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(3, 11, 22, 0.9);
  backdrop-filter: blur(3px);
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.lightbox-modal.is-active {
  display: flex;
}

.lightbox-dialog img {
  max-width: 92vw;
  max-height: 88vh;
  object-fit: contain;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 28px;
  color: #fff;
  font-size: 36px;
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 1;
}

@media(max-width: 600px) {
  .slider-container {
    height: 240px;
  }
  .slide-arrow {
    width: 34px;
    height: 42px;
    font-size: 18px;
  }
}
