/*
Theme Name: Golden Tower CMS 7.0.17
Description: 金塔牌完整 CMS 主題，兼容 Golden Tower CMS Core 3.0–7.0 資料。
Version: 7.0.17
Author: Golden Tower
*/
:root{--ink:#21140f;--cream:#f6eddf;--gold:#b88942;--red:#a92e20;--card:#2b1710;--white:#fff}*{box-sizing:border-box}body{margin:0;background:#fbf7f0;color:var(--ink);font-family:"Noto Sans TC","PingFang TC",Arial,sans-serif;line-height:1.65}a{color:inherit}.wrap{width:min(1200px,92%);margin:auto}.site-header{background:#231713;color:#fff;position:sticky;top:0;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}.brand{font-weight:900;font-size:24px;text-decoration:none}.menu{display:flex;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.menu a{text-decoration:none;font-weight:700}.hero{min-height:560px;background:linear-gradient(90deg,rgba(20,12,8,.75),rgba(20,12,8,.15)),var(--hero) center/cover no-repeat;color:white;display:flex;align-items:center}.hero h1{font-size:clamp(42px,7vw,88px);line-height:1.12;margin:0 0 20px;max-width:850px}.hero p{font-size:22px;max-width:720px}.section{padding:78px 0}.section.alt{background:var(--cream)}.eyebrow{color:var(--red);font-weight:900;letter-spacing:.12em;text-transform:uppercase}.section h2,.page-title{font-family:serif;font-size:clamp(42px,6vw,72px);line-height:1.1;margin:8px 0 32px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.series-grid{grid-template-columns:repeat(2,1fr)}.card{background:white;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(34,20,14,.08);text-decoration:none;display:block}.card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.recipe-card{align-self:start}.recipe-card .card-image{width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain;background:transparent;display:block}.archive-gt_recipe .grid{align-items:start}.recipe-main{width:100%;height:auto!important;max-height:none;object-fit:contain;background:#f3eadc}.card-body{padding:22px}.series-card{min-height:360px;color:white;display:flex;align-items:flex-end;padding:34px;background:linear-gradient(rgba(25,12,8,.06),rgba(25,12,8,.32)),var(--bg) center/cover no-repeat;text-shadow:0 2px 12px rgba(0,0,0,.75)}.series-card h3{font-size:40px;margin:0}.button{display:inline-block;background:var(--red);color:white;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:800}.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:42px}.product-main{width:100%;height:auto;max-height:820px;object-fit:contain;border-radius:20px;display:block}.meta-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.meta-item{background:var(--cream);padding:14px 16px;border-radius:12px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}.video{width:100%;aspect-ratio:16/9}.video.vertical{width:min(100%,430px);aspect-ratio:9/16;margin:24px auto}.video iframe{width:100%;height:100%;border:0;border-radius:18px;display:block}.site-footer{background:#1d120f;color:#fff;padding:48px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.map iframe{width:100%;min-height:360px;border:0;border-radius:18px}@media(max-width:800px){.header-inner{align-items:flex-start;padding:18px 0;flex-direction:column}.grid,.series-grid,.product-layout,.footer-grid{grid-template-columns:1fr}.hero{min-height:480px}.series-card{min-height:280px}.gallery{grid-template-columns:repeat(2,1fr)}}


/* 7.0.5 — Recipe card, store CMS and contact CMS refinements */
.recipe-card-media,.home-gt_recipe-card .home-card-media{width:100%;aspect-ratio:16/9;background:#f2e8d8;display:flex;align-items:center;justify-content:center;overflow:hidden}
.recipe-card-media .recipe-card-image,.home-gt_recipe-card .home-card-image{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;display:block;background:#f2e8d8}
.archive-gt_recipe .recipe-card{height:auto!important;align-self:start}
.archive-gt_recipe .recipe-card .card-body{min-height:0}
.store-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:42px;align-items:start}
.store-visual{display:grid;gap:20px}.store-photo{border-radius:18px;overflow:hidden;background:#eee2d2}.store-photo-img{width:100%;height:auto;max-height:520px;object-fit:contain;display:block}.store-map iframe{width:100%;min-height:380px;border:0;border-radius:18px;display:block}.store-copy h3{margin-top:24px}.store-copy h3:first-child{margin-top:0}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.contact-card,.contact-note{background:var(--cream);border-radius:16px;padding:22px;margin-bottom:18px}.contact-card h3,.contact-note h3{margin-top:0}.contact-card a{word-break:break-word}.page-extra-content{margin-top:36px}
@media(max-width:800px){.store-layout,.contact-grid{grid-template-columns:1fr}.recipe-card-media,.home-gt_recipe-card .home-card-media{aspect-ratio:16/9}}


/* 7.0.7 Recipe Centre: portrait cover grid + YouTube modal */
.archive-gt_recipe .recipe-video-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  align-items:start;
}
.archive-gt_recipe .recipe-video-card{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:20px;
  overflow:hidden;
  background:#fff;
  color:var(--ink);
  text-align:left;
  box-shadow:0 8px 30px rgba(34,20,14,.08);
  cursor:pointer;
  display:block;
}
.archive-gt_recipe .recipe-video-card:focus-visible{outline:4px solid rgba(169,46,32,.28);outline-offset:4px}
.archive-gt_recipe .recipe-video-cover{
  width:100%;
  aspect-ratio:9/16;
  overflow:hidden;
  background:#eee4d5;
  position:relative;
}
.archive-gt_recipe .recipe-video-cover img{
  width:100%!important;
  height:100%!important;
  display:block;
  object-fit:cover!important;
  object-position:center!important;
}
.archive-gt_recipe .recipe-video-card .card-body{padding:20px 22px 22px}
.archive-gt_recipe .recipe-video-card .card-body h3{margin:0;font-size:24px;line-height:1.35}
.archive-gt_recipe .recipe-video-card.is-disabled{cursor:default;opacity:.65}
.archive-gt_recipe .recipe-video-card.is-disabled::after{content:none}

.gt-recipe-modal[hidden]{display:none!important}
.gt-recipe-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  background:rgba(0,0,0,.84);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.gt-recipe-modal-dialog{
  position:relative;
  width:min(92vw,520px);
  max-height:94vh;
}
.gt-recipe-modal-video{
  width:100%;
  aspect-ratio:9/16;
  background:#000;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 20px 80px rgba(0,0,0,.45);
}
.gt-recipe-modal-video iframe{width:100%;height:100%;border:0;display:block}
.gt-recipe-modal-close{
  position:absolute;
  top:-18px;
  right:-18px;
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#1e1410;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 24px rgba(0,0,0,.25);
  z-index:2;
}
body.gt-modal-open{overflow:hidden}
@media(max-width:1000px){.archive-gt_recipe .recipe-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .archive-gt_recipe .recipe-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .archive-gt_recipe .recipe-video-card .card-body{padding:14px}
  .archive-gt_recipe .recipe-video-card .card-body h3{font-size:17px}
  .gt-recipe-modal{padding:14px}
  .gt-recipe-modal-dialog{width:min(90vw,430px)}
  .gt-recipe-modal-close{top:-12px;right:-8px;width:42px;height:42px}
}

/* v7.0.8 - homepage hero shows the full uploaded image without cropping */
.home .hero,
body.home .hero{
  background-image:linear-gradient(90deg,rgba(20,12,8,.22) 0%,rgba(20,12,8,.08) 48%,rgba(20,12,8,.02) 100%),var(--hero)!important;
  background-position:center center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-color:#231713!important;
}
.home .hero .eyebrow,
.home .hero h1,
.home .hero p,
body.home .hero .eyebrow,
body.home .hero h1,
body.home .hero p{
  text-shadow:0 2px 12px rgba(0,0,0,.72),0 1px 2px rgba(0,0,0,.9);
}
@media(max-width:800px){
  .home .hero,body.home .hero{
    background-image:linear-gradient(90deg,rgba(20,12,8,.28),rgba(20,12,8,.06)),var(--hero)!important;
    background-position:center center!important;
    background-size:contain!important;
  }
}


/* v7.0.9 - improve homepage hero text readability without hiding/cropping image */
body.home .hero{position:relative;isolation:isolate;overflow:hidden}
body.home .hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(24,13,9,.88) 0%,rgba(24,13,9,.72) 30%,rgba(24,13,9,.30) 52%,rgba(24,13,9,.05) 72%,rgba(24,13,9,0) 100%);
}
body.home .hero .wrap{position:relative;z-index:1}
body.home .hero .wrap{width:min(1200px,92%)}
body.home .hero .eyebrow,body.home .hero h1,body.home .hero p{max-width:690px}
body.home .hero h1{font-size:clamp(42px,6vw,78px);line-height:1.08;text-shadow:0 3px 14px rgba(0,0,0,.85)}
body.home .hero p{font-size:20px;text-shadow:0 2px 8px rgba(0,0,0,.9)}
body.home .hero .eyebrow{text-shadow:0 2px 8px rgba(0,0,0,.95)}
@media(max-width:800px){
 body.home .hero::before{background:linear-gradient(90deg,rgba(24,13,9,.88),rgba(24,13,9,.55) 70%,rgba(24,13,9,.18))}
 body.home .hero h1{font-size:clamp(38px,11vw,58px)}
}


/* v7.0.10 - persistent navigation + WordPress custom logo */
.site-header{
  position:sticky!important;
  top:0;
  z-index:99990;
  width:100%;
  box-shadow:0 2px 12px rgba(20,10,6,.12);
}
.admin-bar .site-header{top:32px}
.header-inner{min-height:76px}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content;
}
.brand-logo-image{
  width:52px;
  height:52px;
  object-fit:contain;
  object-position:center;
  display:block;
  flex:0 0 auto;
}
.brand-name{display:inline-block}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:800px){
  .site-header{position:sticky!important;top:0}
  .admin-bar .site-header{top:46px}
  .header-inner{min-height:auto}
  .brand-logo-image{width:44px;height:44px}
}


/* 7.0.11 — Product Centre card images: show the entire uploaded image without cropping. */
.post-type-archive-gt_product .grid:not(.series-grid) .card img,
.tax-gt_product_series .grid .card img{
  width:100%;
  height:auto!important;
  aspect-ratio:16/9!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#f3eadc;
  display:block;
}

/* Keep product cards tidy even when original artwork uses a different ratio. */
.post-type-archive-gt_product .grid:not(.series-grid) .card,
.tax-gt_product_series .grid .card{
  align-self:start;
}

@media(max-width:800px){
  .post-type-archive-gt_product .grid:not(.series-grid) .card img,
  .tax-gt_product_series .grid .card img{
    aspect-ratio:16/9!important;
    object-fit:contain!important;
  }
}


/* v7.0.12 - product detail gallery: preserve every uploaded image in its original ratio */
.single-gt_product .gallery{
  display:block!important;
  column-count:2;
  column-gap:16px;
  margin-top:26px;
}
.single-gt_product .gallery img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  display:block;
  margin:0 0 16px;
  break-inside:avoid;
  page-break-inside:avoid;
  border-radius:14px;
  background:#f3eadc;
}
.single-gt_product .product-main{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}
@media(max-width:800px){
  .single-gt_product .gallery{column-count:1;}
}


/* v7.0.13 — Product detail gallery: compact, full-image frames without tall empty columns. */
.single-gt_product .gallery{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  margin-top:26px!important;
  column-count:initial!important;
  column-gap:initial!important;
  align-items:start;
}
.single-gt_product .gallery img{
  width:100%!important;
  height:clamp(210px,22vw,320px)!important;
  max-height:320px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  margin:0!important;
  border-radius:14px!important;
  background:#f3eadc!important;
}
.single-gt_product .product-main{
  width:100%!important;
  height:auto!important;
  max-height:560px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f3eadc;
}
@media(max-width:800px){
  .single-gt_product .gallery{grid-template-columns:1fr!important;}
  .single-gt_product .gallery img{height:auto!important;max-height:420px!important;}
}


/* 7.0.14 — Homepage recipe cards: make portrait covers larger and remove side blank space. */
.home-gt_recipe-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,320px));
  gap:28px;
  align-items:start;
  justify-content:start;
}
.home-gt_recipe-card{
  width:100%;
  max-width:320px;
}
.home-gt_recipe-card .home-card-media{
  width:100%;
  aspect-ratio:3/4;
  background:#f2e8d8;
  overflow:hidden;
  display:block;
}
.home-gt_recipe-card .home-card-image{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block;
  background:transparent!important;
}
.home-gt_recipe-card .card-body{padding:18px 20px 20px}
.home-gt_recipe-card .card-body h3{margin:0;font-size:24px;line-height:1.35}
.home-gt_recipe-card .card-body p{display:none}
@media(max-width:700px){
  .home-gt_recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .home-gt_recipe-card{max-width:none}
  .home-gt_recipe-card .card-body{padding:14px}
  .home-gt_recipe-card .card-body h3{font-size:18px}
}


/* 7.0.15 — Recipe covers: full portrait artwork + direct YouTube modal from Home and Recipe Centre */
.home-gt_recipe-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,340px));
  gap:28px;
}
.home-gt_recipe-card{
  max-width:340px;
  border:0;
  padding:0;
  cursor:pointer;
  text-align:left;
  color:var(--ink);
  font:inherit;
}
.home-gt_recipe-card .home-card-media{
  aspect-ratio:9/16!important;
  background:#f2e8d8!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.home-gt_recipe-card .home-card-image{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.archive-gt_recipe .recipe-video-cover{
  aspect-ratio:9/16!important;
  background:#f2e8d8!important;
}
.archive-gt_recipe .recipe-video-cover img{
  object-fit:contain!important;
  object-position:center!important;
}
.gt-recipe-play-badge{
  position:absolute;
  left:50%;top:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(169,46,32,.92);color:#fff;
  font-size:27px;line-height:1;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
  pointer-events:none;
}
.home-card-media{position:relative}
.home-gt_recipe-card.is-disabled{opacity:.65;cursor:default}
@media(max-width:700px){
  .home-gt_recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .home-gt_recipe-card{max-width:none}
  .gt-recipe-play-badge{width:50px;height:50px;font-size:22px}
}

/* Recipe detail keeps only the cover/title/content; ingredient and cooking-step legacy fields are no longer rendered. */
.recipe-detail-layout{align-items:start}
.recipe-related-product{margin-top:28px;background:var(--cream);border-radius:18px;padding:20px;display:flex;gap:18px;align-items:center;text-decoration:none}
.recipe-related-product img{width:110px;height:110px;object-fit:contain;background:#fff;border-radius:12px}


/* 7.0.16 — Recipe ordering + denser homepage recipe browsing */
.home-gt_recipe-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:start;
}
.home-gt_recipe-card{
  width:100%!important;
  max-width:none!important;
}
.home-gt_recipe-card .home-card-media{
  width:100%!important;
  aspect-ratio:9/16!important;
  background:#f2e8d8!important;
}
.home-gt_recipe-card .card-body{padding:14px 16px 16px!important}
.home-gt_recipe-card .card-body h3{font-size:20px!important;line-height:1.35!important}
.home-gt_recipe-card .gt-recipe-play-badge{width:54px;height:54px;font-size:22px}
@media(max-width:1000px){
  .home-gt_recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
}
@media(max-width:700px){
  .home-gt_recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .home-gt_recipe-card .card-body{padding:11px 12px 13px!important}
  .home-gt_recipe-card .card-body h3{font-size:16px!important}
  .home-gt_recipe-card .gt-recipe-play-badge{width:44px;height:44px;font-size:18px}
}


/* 7.0.17 — Home Recipe Centre entry only + multi-select recipe filters. */
.home-recipe-entry{padding:64px 0!important}
.home-recipe-title-link{display:block;text-decoration:none;color:var(--ink);border-radius:22px;padding:30px 34px;background:var(--cream);transition:transform .18s ease,box-shadow .18s ease}
.home-recipe-title-link:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(34,20,14,.10)}
.home-recipe-title-link h2{margin-bottom:12px}
.home-recipe-enter{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--red);font-size:18px}
.recipe-filter-intro{margin:-12px 0 26px;font-size:18px;color:#61493f}
.recipe-filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) auto;gap:14px;align-items:start;margin-bottom:30px;position:relative;z-index:5}
.recipe-filter-dropdown{background:#fff;border:1px solid #e2d6c7;border-radius:14px;box-shadow:0 6px 18px rgba(34,20,14,.05);position:relative}
.recipe-filter-dropdown summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:800;display:flex;justify-content:space-between;gap:10px;align-items:center}
.recipe-filter-dropdown summary::-webkit-details-marker{display:none}
.recipe-filter-dropdown summary:after{content:'▾';font-size:14px;color:var(--red)}
.recipe-filter-dropdown[open] summary:after{content:'▴'}
.recipe-filter-options{max-height:320px;overflow:auto;padding:4px 12px 12px;border-top:1px solid #eee4d8;background:#fff;border-radius:0 0 14px 14px}
.recipe-filter-options label{display:flex;gap:10px;align-items:flex-start;padding:9px 6px;cursor:pointer;border-radius:8px}
.recipe-filter-options label:hover{background:#fbf5ec}
.recipe-filter-options input{margin-top:5px;accent-color:var(--red)}
.filter-count{color:var(--red);font-weight:900;margin-left:auto}
.filter-empty{padding:10px 6px;margin:0;color:#7a655b}
.recipe-filter-reset{border:0;border-radius:999px;background:var(--ink);color:#fff;font:inherit;font-weight:800;padding:13px 20px;cursor:pointer;white-space:nowrap}
.recipe-filter-reset:hover{background:var(--red)}
.recipe-filter-result{grid-column:1/-1;color:#725d52;font-size:15px;margin-top:-4px}
.recipe-video-card[hidden]{display:none!important}
.recipe-no-results{padding:30px;background:var(--cream);border-radius:16px;text-align:center;font-weight:700}
.recipe-no-cover{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}
@media(max-width:850px){.recipe-filter-bar{grid-template-columns:1fr 1fr}.recipe-filter-reset{grid-column:1/-1;justify-self:start}}
@media(max-width:600px){.recipe-filter-bar{grid-template-columns:1fr}.recipe-filter-reset{grid-column:auto;width:100%}.home-recipe-title-link{padding:24px 22px}.home-recipe-entry{padding:42px 0!important}}
