.gw-album-wrap,.gw-album-page{box-sizing:border-box;width:100%;}
.gw-album-wrap *,.gw-album-page *{box-sizing:border-box;}
.gw-album-heading{margin:0 0 18px;font-weight:600;line-height:1.35;}
.gw-album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.gw-album-cols-1 .gw-album-grid{grid-template-columns:repeat(1,minmax(0,1fr));}
.gw-album-cols-2 .gw-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.gw-album-cols-3 .gw-album-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.gw-album-cols-4 .gw-album-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.gw-album-cols-5 .gw-album-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
.gw-album-card{display:block;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;overflow:hidden;text-decoration:none!important;color:inherit;box-shadow:0 3px 14px rgba(0,0,0,.05);transition:transform .18s ease,box-shadow .18s ease;}
.gw-album-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.10);}
.gw-album-cover{display:block;position:relative;width:100%;overflow:hidden;background:#f5f5f5;}
.gw-album-cover:before{content:"";display:block;padding-top:75%;}
.gw-album-square .gw-album-cover:before{padding-top:100%;}
.gw-album-ratio-4-3 .gw-album-cover:before{padding-top:75%;}
.gw-album-ratio-16-9 .gw-album-cover:before{padding-top:56.25%;}
.gw-album-original .gw-album-cover:before{display:none;}
.gw-album-cover picture,.gw-album-cover img{display:block;width:100%;height:100%;}
.gw-album-cover picture{position:absolute;inset:0;}
.gw-album-original .gw-album-cover picture{position:static;}
.gw-album-cover img{object-fit:cover;}
.gw-album-original .gw-album-cover img{height:auto;object-fit:contain;}
.gw-album-body{display:block;padding:13px 14px 15px;}
.gw-album-name{display:block;font-size:16px;font-weight:600;line-height:1.45;color:#222;}
.gw-album-desc{display:block;margin-top:5px;font-size:13px;line-height:1.55;color:#666;max-height:42px;overflow:hidden;}
.gw-album-count{display:block;margin-top:8px;font-size:12px;color:#888;}
.gw-album-empty{padding:24px;text-align:center;background:#fafafa;border:1px dashed #ddd;color:#888;border-radius:8px;}
.gw-album-gallery-landing-head h1{margin-top:0;margin-bottom:22px;}
.gw-album-gallery-landing-content>.gw-album-wrap{margin-bottom:24px;}
.gw-album-page-head{margin-bottom:22px;}
.gw-album-page-desc{margin:8px 0 14px;color:#555;line-height:1.7;}
.gw-album-back{margin-top:4px;}
.gw-album-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.gw-album-photo{display:block;position:relative;overflow:hidden;border-radius:8px;background:#f6f6f6;text-decoration:none!important;color:inherit;}
.gw-album-photo picture{display:block;position:relative;width:100%;padding-top:75%;overflow:hidden;}
.gw-album-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .2s ease;}
.gw-album-photo:hover img{transform:scale(1.035);}
.gw-album-photo-title{display:block;padding:9px 10px;background:rgba(255,255,255,.96);font-size:13px;color:#333;}
.gw-album-lightbox-mask{position:fixed;z-index:99999;inset:0;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:24px;}
.gw-album-lightbox-mask.is-active{display:flex;}
.gw-album-lightbox-inner{position:relative;max-width:96vw;max-height:92vh;text-align:center;}
.gw-album-lightbox-inner img{max-width:96vw;max-height:82vh;width:auto;height:auto;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.4);}
.gw-album-lightbox-title{margin-top:10px;color:#fff;font-size:15px;}
.gw-album-lightbox-close,.gw-album-lightbox-prev,.gw-album-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;border-radius:50%;line-height:1;text-align:center;}
.gw-album-lightbox-close{top:18px;right:18px;width:42px;height:42px;font-size:26px;}
.gw-album-lightbox-prev,.gw-album-lightbox-next{top:50%;width:46px;height:46px;margin-top:-23px;font-size:30px;}
.gw-album-lightbox-prev{left:18px;}.gw-album-lightbox-next{right:18px;}
@media (max-width:991px){.gw-album-grid,.gw-album-cols-4 .gw-album-grid,.gw-album-cols-5 .gw-album-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.gw-album-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:767px){.gw-album-grid,.gw-album-cols-3 .gw-album-grid,.gw-album-cols-4 .gw-album-grid,.gw-album-cols-5 .gw-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.gw-album-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.gw-album-body{padding:10px 11px 12px;}.gw-album-name{font-size:14px;}}
@media (max-width:420px){.gw-album-grid{grid-template-columns:repeat(1,minmax(0,1fr));}.gw-album-photo-grid{grid-template-columns:repeat(1,minmax(0,1fr));}}


/* GW 相簿內頁導覽優化 v1.0.3 */
.gw-album-page-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.gw-album-page-title-row h1 {
  margin-top: 0;
  margin-bottom: 6px;
}
.gw-album-photo-total {
  color: #777;
  font-size: 14px;
  line-height: 1.5;
}
.gw-album-back {
  white-space: nowrap;
  margin-top: 4px;
}
.gw-album-switcher {
  margin: 18px 0 24px;
  padding: 16px 0 4px;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.gw-album-switcher-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}
.gw-album-switcher-scroll {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 12px;
  -webkit-overflow-scrolling: touch;
}
.gw-album-switcher-card {
  flex: 0 0 150px;
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 10px;
}
.gw-album-switcher-card picture,
.gw-album-switcher-card img {
  display: block;
  width: 150px;
  height: 96px;
  border-radius: 10px;
  object-fit: cover;
  background: #f5f5f5;
}
.gw-album-switcher-name {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gw-album-switcher-count {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: #777;
}
.gw-album-switcher-card:hover .gw-album-switcher-name {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .gw-album-page-title-row {
    display: block;
  }
  .gw-album-back {
    margin-top: 12px;
  }
  .gw-album-switcher-card,
  .gw-album-switcher-card picture,
  .gw-album-switcher-card img {
    width: 132px;
  }
  .gw-album-switcher-card {
    flex-basis: 132px;
  }
  .gw-album-switcher-card picture,
  .gw-album-switcher-card img {
    height: 84px;
  }
}

/* GW 相簿主題分頁 v1.0.4 */
.gw-album-tabs{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 18px;
  margin:0 0 22px;
}
.gw-album-tab-btn{
  appearance:none;
  border:1px solid transparent;
  background:transparent;
  color:#777;
  font-size:18px;
  font-weight:700;
  line-height:1.4;
  padding:9px 18px;
  border-radius:999px;
  cursor:pointer;
  transition:all .18s ease;
}
.gw-album-tab-btn:hover{
  color:#333;
}
.gw-album-tab-btn.active{
  color:#7b2420;
  border-color:#7b2420;
  background:#fff;
}
.gw-album-tab-pane{display:none;}
.gw-album-tab-pane.active{display:block;}
@media (max-width:767px){
  .gw-album-tabs{
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom:6px;
    -webkit-overflow-scrolling:touch;
  }
  .gw-album-tab-btn{
    flex:0 0 auto;
    font-size:15px;
    padding:8px 14px;
  }
}
