Files
mingxu/ming-theme/assets/css/main.css
T

1084 lines
64 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* MING 明命 theme styles */
:root{
--ivory:#F5F2EA;
--paper:#FBF9F3;
--green:#3C4638;
--green-deep:#2C3328;
--gold:#BFA06A;
--ink:#2B2B26;
--muted:#7A756A;
--line:rgba(43,43,38,.16);
/* WordPress 依站點語言於前台覆寫下列字型堆疊。 */
--serif:Georgia,'Times New Roman',serif;
--latin:'Cormorant Garamond',Georgia,'Times New Roman',serif;
--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--ivory);line-height:1.9;-webkit-font-smoothing:antialiased}
::selection{background:var(--green);color:var(--ivory)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 2rem}
/* ---------- 頂部 ---------- */
.topbar{background:var(--green-deep);color:rgba(245,242,234,.75);font-size:.72rem;letter-spacing:.32em;text-align:center;padding:.55rem 1rem}
.site-header{position:sticky;top:0;z-index:50;background:rgba(245,242,234,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:2.5rem;padding:1rem 2rem;max-width:1200px;margin:0 auto}
.brand{display:flex;align-items:center;gap:.8rem}
.brand .brand-mark{height:34px;width:auto}
.brand .wm{font-family:var(--latin);font-weight:500;font-size:1.35rem;letter-spacing:.5em;text-indent:.1em;color:var(--green-deep)}
.mainnav{margin-left:auto;display:flex;gap:2.4rem;font-size:.85rem;letter-spacing:.24em}
.mainnav a{position:relative;padding:.3rem 0;color:var(--ink);transition:color .25s}
.mainnav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .3s}
.mainnav a:hover{color:var(--green)}
.mainnav a:hover::after{width:100%}
/* ---------- Hero ---------- */
.hero{padding:5rem 2rem 0;text-align:center}
.hero .logo-show{margin:0 auto 2.2rem;animation:logoIn 1.2s ease both}
.hero .logo-show img{width:140px;height:auto;margin:0 auto}
@keyframes logoIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,3.4vw,2.4rem);letter-spacing:.5em;text-indent:.5em;color:var(--green-deep);line-height:2.1}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero .sub{margin-top:1.2rem;font-size:.8rem;letter-spacing:.44em;color:var(--muted)}
.hero .rule{width:1px;height:56px;background:var(--line);margin:2.4rem auto 0}
.hero-figure{max-width:880px;margin:3.5rem auto 0;position:relative}
.hero-figure img{width:100%;height:auto;border:1px solid var(--line)}
.hero-figure .frame-tag{position:absolute;left:-1px;top:-1px;background:var(--green-deep);color:var(--ivory);font-size:.72rem;letter-spacing:.3em;padding:.55rem 1.3rem}
.hero-figure .frame-note{position:absolute;right:-1px;bottom:-1px;background:var(--paper);border:1px solid var(--line);font-size:.72rem;letter-spacing:.24em;padding:.55rem 1.3rem;color:var(--muted)}
/* ---------- 通用 ---------- */
.section{padding:7rem 0;border-top:1px solid var(--line)}
.eyebrow{font-size:.72rem;letter-spacing:.5em;color:var(--gold);margin-bottom:1.4rem;display:flex;align-items:center;gap:1rem}
.eyebrow::before{content:"";width:2.6rem;height:1px;background:var(--gold)}
.h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.6rem,3.2vw,2.3rem);letter-spacing:.18em;color:var(--green-deep);line-height:1.9}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:translateY(0)}
/* ---------- 品牌理念 ---------- */
.philo-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5rem;align-items:center}
.philo-logo{background:var(--paper);border:1px solid var(--line);padding:4.5rem 3rem;text-align:center}
.philo-logo img{width:min(220px,62%);height:auto;margin:0 auto}
.philo-logo .caption{margin-top:2.2rem;font-size:.75rem;letter-spacing:.3em;color:var(--muted)}
.philo-copy p{font-size:.95rem;color:#4c483f;margin-bottom:1.4rem;max-width:34em}
.philo-copy .divider{width:2.6rem;height:1px;background:var(--line);margin:1.6rem 0}
.keywords{display:flex;gap:2.6rem;margin-top:2.4rem;flex-wrap:wrap}
.keywords .kw{text-align:center}
.keywords .kw b{display:block;font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--green-deep);letter-spacing:.3em;margin-bottom:.3rem}
.keywords .kw span{font-size:.72rem;letter-spacing:.22em;color:var(--muted)}
/* ---------- 五大意象 ---------- */
.symbols{background:var(--paper)}
.symbol-row{display:grid;grid-template-columns:repeat(5,1fr);margin-top:3.5rem}
.symbol{padding:2.4rem 1.2rem;text-align:center;border-left:1px solid var(--line);transition:background .35s}
.symbol:first-child{border-left:none}
.symbol:hover{background:var(--ivory)}
.symbol svg{width:64px;height:64px;margin:0 auto 1.4rem;stroke:var(--green);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s ease}
.symbol:hover svg{transform:translateY(-5px)}
.symbol h3{font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.3em;color:var(--green-deep);margin-bottom:.6rem}
.symbol p{font-size:.8rem;color:var(--muted);line-height:1.9}
/* ---------- 因緣橫幅 ---------- */
.fate-banner{position:relative;overflow:hidden}
.fate-banner img{width:100%;height:52vh;min-height:380px;max-height:560px;object-fit:cover;object-position:center 72%}
.fate-banner .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,51,40,.82) 0%,rgba(44,51,40,.35) 55%,rgba(44,51,40,.05) 100%)}
.fate-copy{position:absolute;inset:0;display:flex;align-items:center}
.fate-copy .inner{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%;color:var(--ivory)}
.fate-copy h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:.24em;margin-bottom:1.6rem}
.fate-copy p{font-size:.92rem;max-width:30em;line-height:2.2;color:rgba(245,242,234,.88)}
.fate-copy .mark{font-family:var(--latin);font-size:.8rem;letter-spacing:.4em;color:var(--gold);margin-bottom:1rem}
/* ---------- 產品系列 ---------- */
.prod-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.prod-head .note{font-size:.8rem;letter-spacing:.2em;color:var(--muted)}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:3.5rem}
.pcard{background:var(--paper);border:1px solid var(--line);transition:transform .4s ease,box-shadow .4s ease}
.pcard:hover{transform:translateY(-8px);box-shadow:0 24px 48px -24px rgba(44,51,40,.28)}
.pcard a.ph{display:block}
.pcard .ph{background:#fff;border-bottom:1px solid var(--line);padding:1rem;text-align:center}
.pcard .ph img{width:auto;max-width:100%;height:auto;max-height:330px;margin:0 auto;transition:transform .8s ease}
.pcard:hover .ph img{transform:scale(1.04)}
.pcard .pb{padding:1.6rem 1.6rem 1.8rem}
.pcard .series{font-family:var(--latin);font-size:.75rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase}
.pcard h3{font-family:var(--serif);font-weight:600;font-size:1.12rem;letter-spacing:.14em;color:var(--green-deep);margin:.4rem 0 .5rem}
.pcard p{font-size:.82rem;color:var(--muted);line-height:1.9;min-height:3.6em}
.pcard .foot{display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.pcard .colors{display:flex;gap:.45rem}
.pcard .colors i{width:14px;height:14px;border-radius:50%;border:1px solid var(--line)}
.pcard .more{font-size:.78rem;letter-spacing:.24em;color:var(--green);border-bottom:1px solid var(--gold);padding-bottom:.15rem;transition:color .25s}
.pcard .more:hover{color:var(--gold)}
/* ---------- 四大核心 ---------- */
.core{background:var(--green-deep);color:var(--ivory)}
.core .h2{color:var(--ivory)}
.core-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:4.5rem;align-items:center;margin-top:1rem}
.core-list{display:flex;flex-direction:column}
.core-item{display:flex;gap:1.8rem;padding:1.8rem 0;border-bottom:1px solid rgba(245,242,234,.14)}
.core-item:last-child{border-bottom:none}
.core-item .no{font-family:var(--latin);font-size:1rem;letter-spacing:.2em;color:var(--gold);padding-top:.3rem;min-width:2.4rem}
.core-item h3{font-family:var(--serif);font-weight:600;font-size:1.1rem;letter-spacing:.2em;margin-bottom:.5rem}
.core-item p{font-size:.85rem;color:rgba(245,242,234,.66);line-height:2}
.core-figure{max-width:520px;margin:0 auto}
.core-figure img{width:100%;height:auto;border:1px solid rgba(245,242,234,.2)}
.core-figure .cap{margin-top:1rem;font-size:.72rem;letter-spacing:.3em;color:rgba(245,242,234,.5);text-align:center}
/* ---------- 結語 ---------- */
.closing{padding:8rem 2rem;text-align:center}
.closing .q{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,3.6vw,2.4rem);letter-spacing:.3em;color:var(--green-deep);line-height:2.2}
.closing .q em{font-style:normal;color:var(--gold)}
.closing .sub{margin-top:1.6rem;font-family:var(--latin);font-size:.85rem;letter-spacing:.5em;color:var(--muted)}
.closing .cta{display:inline-block;margin-top:3rem;padding:.95rem 3.2rem;border:1px solid var(--green-deep);font-size:.82rem;letter-spacing:.4em;color:var(--green-deep);transition:background .3s,color .3s}
.closing .cta:hover{background:var(--green-deep);color:var(--ivory)}
/* ---------- 頁腳 ---------- */
.footer{background:var(--green-deep);color:rgba(245,242,234,.72);padding:4.5rem 0 2rem;border-top:1px solid rgba(191,160,106,.3)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3.5rem}
.footer .flogo{margin-bottom:1.2rem}
.footer .flogo img{height:56px;width:auto}
.footer .fdesc{font-size:.83rem;line-height:2.1;max-width:24em}
.footer h4{font-size:.8rem;letter-spacing:.36em;color:var(--gold);margin-bottom:1.2rem;font-weight:400}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:.7rem;font-size:.83rem}
.footer ul a{transition:color .25s,padding-left .25s}
.footer ul a:hover{color:var(--ivory);padding-left:.4rem}
.footer-bottom{max-width:1200px;margin:3rem auto 0;padding:1.4rem 2rem 0;border-top:1px solid rgba(245,242,234,.14);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.72rem;letter-spacing:.14em;color:rgba(245,242,234,.42)}
/* ---------- 行動版選單(漢堡+全屏抽屜) ---------- */
.hamburger{
display:none;background:none;border:none;padding:.5rem;margin-right:.4rem;
flex-direction:column;justify-content:center;gap:5px;cursor:pointer;color:var(--green-deep);
}
.hamburger span{display:block;width:22px;height:1.5px;background:currentColor;transition:transform .3s,opacity .3s}
.mnav-overlay{display:none}
.mnav{
display:none;position:fixed;inset:0;z-index:200;background:var(--ivory);
flex-direction:column;transform:translateX(-100%);transition:transform .4s cubic-bezier(.22,.8,.3,1);
overflow-y:auto;
}
body.mnav-open{overflow:hidden}
body.mnav-open .mnav{transform:translateX(0)}
.mnav-head{
display:flex;align-items:center;justify-content:center;position:relative;
padding:1.3rem 1.6rem;border-bottom:1px solid var(--line);flex:none;
}
.mnav-brand{font-family:var(--serif);font-size:1.05rem;letter-spacing:.55em;text-indent:.55em;color:var(--green-deep)}
.mnav-close{
position:absolute;left:1.2rem;top:50%;transform:translateY(-50%);
background:none;border:none;padding:.5rem;cursor:pointer;color:var(--green-deep);
}
.mnav-close svg{width:22px;height:22px;display:block}
.mnav-list{padding:1.6rem 0}
.mnav-list ul{list-style:none;margin:0;padding:0}
.mnav-list li{display:block}
.mnav-list a{
display:flex;align-items:center;justify-content:space-between;
padding:1.35rem 2.2rem;font-family:var(--serif);font-size:1.3rem;font-weight:600;
letter-spacing:.28em;color:var(--green-deep);border-bottom:1px solid var(--line);
transition:color .25s,padding-left .3s;
}
.mnav-list a:hover{color:var(--gold);padding-left:2.7rem}
.mnav-list .mnav-arrow{font-family:var(--sans);font-weight:400;font-size:1rem;color:var(--gold);letter-spacing:0}
.mnav-list li.current-menu-item > a{color:var(--gold)}
.mnav-foot{margin-top:auto;padding:2rem 2.2rem 2.6rem;border-top:1px solid var(--line);flex:none}
.mnav-account{
display:inline-flex;align-items:center;gap:.7rem;font-size:.88rem;letter-spacing:.24em;color:var(--muted);
transition:color .25s;
}
.mnav-account svg{width:19px;height:19px}
.mnav-account:hover{color:var(--gold)}
/* ---------- RWD ---------- */
@media (max-width:960px){
.philo-grid,.core-grid{grid-template-columns:1fr;gap:3rem}
.symbol-row{grid-template-columns:repeat(2,1fr)}
.symbol{border-left:none;border-top:1px solid var(--line)}
.symbol:nth-child(-n+2){border-top:none}
.prod-grid{grid-template-columns:repeat(2,1fr)}
.footer-grid{grid-template-columns:1fr 1fr}
.mainnav{display:none}
.hamburger{display:flex}
.mnav{display:flex}
.header-inner{gap:1rem;padding:1rem 1.4rem}
.header-actions{margin-left:auto}
}
@media (max-width:600px){
.prod-grid,.symbol-row,.footer-grid{grid-template-columns:1fr}
.symbol{border-top:1px solid var(--line)}
.symbol:first-child{border-top:none}
.hero{padding-top:4rem}
}
/* ============================================================
v1.1 — 商城版:頁頭動作、按鈕、頁腳社群、WooCommerce 風格
============================================================ */
/* ---------- 頁頭動作(會員 / 購物車) ---------- */
.header-actions{display:flex;align-items:center;gap:1.4rem;margin-left:1.2rem}
.haction{position:relative;display:flex;align-items:center;color:var(--green-deep);transition:color .25s}
.haction:hover{color:var(--gold)}
.haction svg{width:21px;height:21px}
.hcount{position:absolute;top:-7px;right:-9px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--gold);color:var(--green-deep);font-size:.6rem;font-weight:500;line-height:15px;text-align:center;letter-spacing:0}
/* ---------- 按鈕 ---------- */
.btn{display:inline-block;padding:.95rem 3.2rem;border:1px solid var(--green-deep);background:var(--green-deep);color:var(--ivory);font-size:.82rem;letter-spacing:.4em;text-indent:.4em;transition:background .3s,color .3s,border-color .3s}
.btn:hover{background:var(--gold);border-color:var(--gold);color:var(--green-deep)}
.btn.ghost{background:transparent;color:var(--green-deep)}
.btn.ghost:hover{background:var(--green-deep);color:var(--ivory)}
.hero-cta{margin-top:2.6rem;display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}
.prod-cta{margin-top:3.5rem;text-align:center}
.textlink{display:inline-block;margin-top:2rem;font-size:.8rem;letter-spacing:.3em;color:var(--green);border-bottom:1px solid var(--gold);padding-bottom:.2rem;transition:color .25s}
.textlink:hover{color:var(--gold)}
/* ---------- 頁腳社群 ---------- */
.footer-grid{grid-template-columns:1.3fr .9fr .9fr 1fr}
.footer ul.co li{letter-spacing:.06em;line-height:1.9}
.social{display:flex;gap:1rem;margin-top:1.6rem}
.social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(245,242,234,.28);border-radius:50%;color:rgba(245,242,234,.75);transition:border-color .3s,color .3s,transform .3s}
.social a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}
.social svg{width:18px;height:18px}
/* ---------- 頁面頁首(品牌故事等子頁) ---------- */
.page-hero{padding:6rem 0 0}
.page-hero-sub{margin-top:1.2rem;font-size:.85rem;letter-spacing:.3em;color:var(--muted)}
/* ============================================================
WooCommerce — 以 MING 設計語言風格化
============================================================ */
/* ---------- 通用:按鈕 / 價格 / 徽章 ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.added_to_cart,
.woocommerce button.single_add_to_cart_button,
.woocommerce a.checkout-button,
.woocommerce #place_order{
background:var(--green-deep);color:var(--ivory);border:1px solid var(--green-deep);
border-radius:0;padding:.85rem 2.2rem;font-family:var(--sans);font-weight:400;
font-size:.8rem;letter-spacing:.24em;transition:background .3s,color .3s,border-color .3s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce a.checkout-button:hover,
.woocommerce #place_order:hover{
background:var(--gold);border-color:var(--gold);color:var(--green-deep);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt{background:var(--green-deep);color:var(--ivory)}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{background:var(--gold);color:var(--green-deep)}
.woocommerce span.onsale{
background:var(--gold);color:var(--green-deep);border-radius:0;
min-height:auto;min-width:auto;padding:.4rem .9rem;font-size:.68rem;
letter-spacing:.2em;line-height:1;font-weight:500;left:0;top:0;right:auto;margin:0;
}
.woocommerce .price,
.woocommerce .price .amount{color:var(--green-deep);font-weight:500}
.woocommerce .price del{color:var(--muted);font-weight:300}
.woocommerce .price ins{background:none;text-decoration:none;color:var(--gold)}
.woocommerce .star-rating{color:var(--gold)}
/* ---------- 表單 ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty,
.woocommerce #respond input#comment{
background:var(--paper);border:1px solid var(--line);border-radius:0;
padding:.7rem .9rem;font-family:var(--sans);font-size:.9rem;color:var(--ink);
transition:border-color .25s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce .quantity .qty:focus{border-color:var(--gold);outline:none}
.woocommerce form .form-row label{font-size:.8rem;letter-spacing:.14em;color:var(--muted)}
/* ---------- 商店列表 ---------- */
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products[class*="columns-"] li.product{float:none;width:auto;margin:0}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin:3rem 0}
.woocommerce ul.products li.product{
float:none;width:auto;margin:0;background:var(--paper);border:1px solid var(--line);
transition:transform .4s ease,box-shadow .4s ease;
}
.woocommerce ul.products li.product:hover{transform:translateY(-8px);box-shadow:0 24px 48px -24px rgba(44,51,40,.28)}
.woocommerce ul.products li.product a img{margin:0;border-bottom:1px solid var(--line)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.14em;
color:var(--green-deep);padding:1.2rem 1.4rem .2rem;
}
.woocommerce ul.products li.product .price{padding:0 1.4rem;font-size:.95rem}
.woocommerce ul.products li.product .button{margin:1rem 1.4rem 1.5rem;display:inline-block}
.woocommerce .woocommerce-result-count{font-size:.8rem;letter-spacing:.2em;color:var(--muted)}
.woocommerce .woocommerce-ordering select{
background:var(--paper);border:1px solid var(--line);padding:.6rem .9rem;
font-family:var(--sans);font-size:.85rem;color:var(--ink);
}
/* ---------- 單一商品頁 ---------- */
.woocommerce div.product .summary .product_title{
font-family:var(--serif);font-weight:600;letter-spacing:.16em;color:var(--green-deep);line-height:1.7;
}
.woocommerce div.product .summary .price{font-size:1.3rem;margin:1rem 0}
.woocommerce div.product .woocommerce-product-details__short-description{color:#4c483f;font-size:.95rem;line-height:2}
.woocommerce div.product form.cart .quantity .qty{width:5.5rem;text-align:center}
.woocommerce div.product .product_meta{
margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line);
font-size:.78rem;letter-spacing:.14em;color:var(--muted);
}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line);padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
background:transparent;border:none;border-radius:0;margin:0;padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
padding:.9rem 1.6rem;font-size:.82rem;letter-spacing:.24em;color:var(--muted);font-weight:400;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--green-deep);border-bottom:2px solid var(--gold)}
.woocommerce div.product .woocommerce-tabs .panel{
background:var(--paper);border:1px solid var(--line);border-top:none;
padding:2.2rem;font-size:.92rem;line-height:2.1;color:#4c483f;
}
.woocommerce .related.products h2,
.woocommerce div.product .upsells.products h2{
font-family:var(--serif);font-weight:600;letter-spacing:.2em;color:var(--green-deep);
font-size:1.3rem;margin-bottom:.5rem;
}
/* ---------- 購物車 ---------- */
.woocommerce table.shop_table{
border:1px solid var(--line);border-radius:0;background:var(--paper);
font-size:.9rem;
}
.woocommerce table.shop_table th{
font-weight:500;font-size:.78rem;letter-spacing:.24em;color:var(--muted);
border-bottom:1px solid var(--line);padding:1rem;
}
.woocommerce table.shop_table td{border-top:1px solid var(--line);padding:1rem}
.woocommerce table.cart td.product-name a{color:var(--green-deep);font-weight:500}
.woocommerce table.cart td.actions .coupon .input-text{border:1px solid var(--line);background:#fff}
.woocommerce .cart-collaterals .cart_totals h2{
font-family:var(--serif);font-weight:600;letter-spacing:.2em;color:var(--green-deep);font-size:1.2rem;
}
.woocommerce .cart_totals table.shop_table tr.order-total .amount{color:var(--gold);font-size:1.15rem}
.woocommerce a.remove{color:var(--muted)!important}
.woocommerce a.remove:hover{color:#9b2222!important;background:none}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:inline-block;font-size:.9rem}
/* ---------- 結帳 ---------- */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{width:100%;float:none}
.woocommerce form.checkout h3,
.woocommerce #order_review_heading{
font-family:var(--serif);font-weight:600;letter-spacing:.2em;color:var(--green-deep);
font-size:1.15rem;margin:2rem 0 1rem;
}
.woocommerce form .form-row{margin-bottom:1.1rem}
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment{background:var(--paper);border:1px solid var(--line);border-radius:0}
.woocommerce-checkout #payment div.payment_box{background:rgba(191,160,106,.12);color:var(--ink);font-size:.88rem}
.woocommerce-checkout #payment div.payment_box::before{border-color:rgba(191,160,106,.35);border-bottom-color:rgba(191,160,106,.35)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line)}
#place_order{width:100%;text-align:center;font-size:.9rem;margin-top:1rem}
/* ---------- 會員中心(我的帳戶) ---------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;gap:3rem;align-items:start}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);background:var(--paper)}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:none}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
display:block;padding:.95rem 1.4rem;font-size:.82rem;letter-spacing:.2em;color:var(--ink);
transition:background .25s,color .25s,padding-left .25s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--ivory);padding-left:1.8rem}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
color:var(--green-deep);background:var(--ivory);border-left:3px solid var(--gold);padding-left:calc(1.4rem - 3px);
}
.woocommerce-account .woocommerce-MyAccount-content{font-size:.92rem;line-height:2.1;color:#4c483f}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child{color:var(--muted)}
.woocommerce table.my_account_orders .woocommerce-button.view{
padding:.45rem 1.1rem;font-size:.72rem;
}
.woocommerce form.login,
.woocommerce form.register{
background:var(--paper);border:1px solid var(--line);border-radius:0;padding:2.4rem;max-width:460px;
}
.woocommerce form.login .form-row{margin-bottom:1.2rem}
.woocommerce .lost_password a{color:var(--green);font-size:.82rem;letter-spacing:.14em}
.woocommerce-account .addresses .title h3{
font-family:var(--serif);font-weight:600;letter-spacing:.16em;color:var(--green-deep);
}
/* ---------- 訊息提示 ---------- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error{
border-top-color:var(--gold);background:var(--paper);
font-size:.86rem;letter-spacing:.06em;color:var(--ink);
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before{color:var(--gold)}
.woocommerce .woocommerce-error{border-top-color:#9b2222}
/* ---------- 分頁 ---------- */
.woocommerce nav.woocommerce-pagination ul{border:1px solid var(--line)}
.woocommerce nav.woocommerce-pagination ul li{border-right:1px solid var(--line)}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
padding:.7rem 1.1rem;font-size:.82rem;color:var(--ink);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--green-deep);color:var(--ivory)}
/* ---------- RWD 補充 ---------- */
@media (max-width:960px){
.header-actions{gap:1rem;margin-left:auto}
.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
.woocommerce-account .woocommerce{grid-template-columns:1fr;gap:2rem}
}
@media (max-width:600px){
.woocommerce ul.products{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
}
/* ============================================================
v1.2 — 陶瓷內膽頁 / 商品頁 / 購物車 / 結帳 / 會員中心 精修
============================================================ */
/* ---------- 陶瓷內膽頁 ---------- */
.ceramic-hero{padding-bottom:0}
.compare-table{margin-top:3rem;border:1px solid var(--line)}
.compare-table .cr{display:grid;grid-template-columns:.8fr 1.1fr 1.1fr;border-top:1px solid var(--line)}
.compare-table .cr:first-child{border-top:none}
.compare-table .cr > div{padding:1.3rem 1.6rem;font-size:.88rem;line-height:1.9;color:#4c483f}
.compare-table .cr > div + div{border-left:1px solid var(--line)}
.compare-table .cr.head{background:var(--green-deep)}
.compare-table .cr.head > div{color:rgba(245,242,234,.85);font-size:.78rem;letter-spacing:.3em}
.compare-table .cr .k{font-family:var(--serif);font-weight:600;letter-spacing:.2em;color:var(--green-deep)}
.compare-table .cr .cer{background:var(--paper)}
.compare-table .cr.head .cer{background:transparent;color:var(--gold)}
.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:3.5rem}
.scene{background:var(--paper);border:1px solid var(--line);padding:2.6rem 2.2rem;transition:transform .4s ease,box-shadow .4s ease}
.scene:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(44,51,40,.22)}
.scene .no{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--gold);border-radius:50%;font-family:var(--serif);font-weight:600;font-size:1.15rem;color:var(--gold);margin-bottom:1.5rem}
.scene h3{font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.18em;color:var(--green-deep);margin-bottom:.7rem}
.scene p{font-size:.85rem;color:var(--muted);line-height:2}
/* ---------- 商店列表:統一圖片比例 ---------- */
.woocommerce ul.products li.product a img{
width:100%;aspect-ratio:1/1.08;object-fit:cover;display:block;
}
/* ---------- 單一商品頁 重排 ---------- */
.woocommerce div.product{display:flow-root}
.single-product .woocommerce-breadcrumb{
font-size:.72rem;letter-spacing:.24em;color:var(--muted);margin-bottom:2.5rem;
}
.single-product .woocommerce-breadcrumb a{color:var(--green);border-bottom:1px solid transparent}
.single-product .woocommerce-breadcrumb a:hover{border-color:var(--gold)}
.woocommerce div.product div.images,
.woocommerce div.product div.summary{float:none;width:auto}
.woocommerce div.product div.images{
width:50%;float:left;background:var(--paper);border:1px solid var(--line);
}
.woocommerce div.product div.images .woocommerce-product-gallery__image img{display:block;width:100%;height:auto}
.woocommerce div.product div.images .flex-control-thumbs{
display:flex;gap:.8rem;margin:.9rem 0 0;padding:0;
}
.woocommerce div.product div.images .flex-control-thumbs li{width:76px}
.woocommerce div.product div.images .flex-control-thumbs img{border:1px solid var(--line);opacity:.65;transition:opacity .25s,border-color .25s}
.woocommerce div.product div.images .flex-control-thumbs img:hover,
.woocommerce div.product div.images .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--gold)}
.woocommerce div.product div.summary{
float:right;width:44%;padding-top:.4rem;
}
.woocommerce div.product .summary .product_title{font-size:1.9rem;margin-bottom:.2rem}
.woocommerce div.product .summary .price{font-size:1.45rem;margin:1.2rem 0 1.4rem}
.woocommerce div.product .woocommerce-product-details__short-description{
padding-bottom:1.6rem;border-bottom:1px solid var(--line);margin-bottom:1.6rem;
}
.woocommerce div.product form.cart{margin:0 0 1.6rem;display:flex;gap:1rem;align-items:stretch;flex-wrap:wrap}
.woocommerce div.product form.cart .quantity{margin:0}
.woocommerce div.product form.cart .quantity .qty{height:100%;min-height:48px}
.woocommerce button.single_add_to_cart_button{flex:1;min-width:200px;min-height:48px}
.woocommerce div.product .product_meta{
display:flex;flex-direction:column;gap:.5rem;font-size:.78rem;
}
.woocommerce div.product .product_meta > span{border-bottom:1px dashed var(--line);padding-bottom:.5rem}
.woocommerce div.product .product_meta a{color:var(--green)}
.woocommerce table.shop_attributes{border:1px solid var(--line);background:var(--paper)}
.woocommerce table.shop_attributes th{
font-weight:500;letter-spacing:.2em;color:var(--muted);font-size:.78rem;
border-bottom:1px solid var(--line);padding:.9rem 1.2rem;width:8em;
}
.woocommerce table.shop_attributes td{border-bottom:1px solid var(--line);padding:.9rem 1.2rem;font-size:.88rem}
.woocommerce div.product .woocommerce-tabs{margin-top:4rem;clear:both}
.woocommerce div.product .woocommerce-tabs .panel h2:first-child{
font-family:var(--serif);font-weight:600;letter-spacing:.2em;color:var(--green-deep);font-size:1.1rem;
}
.woocommerce .related.products, .woocommerce div.product .upsells.products{margin-top:4rem;clear:both}
.woocommerce .related.products > h2, .woocommerce div.product .upsells.products > h2{
display:flex;align-items:center;gap:1rem;font-size:1.2rem;
}
.woocommerce .related.products > h2::before,
.woocommerce div.product .upsells.products > h2::before{content:"";width:2.6rem;height:1px;background:var(--gold)}
.woocommerce #reviews #comment{height:120px}
.woocommerce #review_form #respond textarea{background:var(--paper);border:1px solid var(--line);padding:.8rem;font-family:var(--sans)}
/* ---------- 購物車(經典短代碼版) ---------- */
.woocommerce .cart-empty.woocommerce-info{
border:none;background:none;text-align:center;
font-family:var(--serif);font-size:1.15rem;letter-spacing:.2em;color:var(--green-deep);
padding:3rem 0 0;
}
.woocommerce .cart-empty.woocommerce-info::before{display:none}
.woocommerce .return-to-shop{text-align:center;padding-bottom:3rem}
.woocommerce table.cart img{width:72px;height:auto;border:1px solid var(--line)}
.woocommerce table.cart td.product-thumbnail{padding:1rem}
.woocommerce table.cart td.product-name a{letter-spacing:.08em}
.woocommerce table.cart td.product-name a:hover{color:var(--gold)}
.woocommerce table.cart .quantity .qty{width:4.5rem;text-align:center;padding:.4rem}
.woocommerce table.cart td.actions{padding:1.4rem 1rem}
.woocommerce table.cart td.actions .coupon{display:flex;gap:.6rem}
.woocommerce table.cart td.actions .coupon .input-text{padding:.6rem .9rem;font-size:.85rem}
.woocommerce .cart-collaterals{display:flex;justify-content:flex-end;margin-top:3rem}
.woocommerce .cart-collaterals .cart_totals{
float:none;width:min(420px,100%);background:var(--paper);border:1px solid var(--line);padding:2.2rem;
}
.woocommerce .cart-collaterals .cart_totals h2{margin:0 0 1.4rem}
.woocommerce .cart_totals table.shop_table{border:none;background:none}
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td{border:none;border-top:1px solid var(--line);padding:.9rem 0}
.woocommerce .wc-proceed-to-checkout{padding:1.4rem 0 0}
.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;text-align:center;margin:0}
/* ---------- 結帳(經典短代碼版) ---------- */
.woocommerce-checkout .checkout.woocommerce-checkout{display:flow-root;margin-top:1rem}
.woocommerce form.checkout .col2-set{width:52%;float:left}
.woocommerce form.checkout .col2-set .col-1,
.woocommerce form.checkout .col2-set .col-2{width:100%;float:none}
.woocommerce form.checkout .col2-set .form-row{width:100%;float:none;margin:0 0 1.1rem}
.woocommerce form.checkout .col2-set .form-row-first,
.woocommerce form.checkout .col2-set .form-row-last{width:48%;float:left}
.woocommerce form.checkout .col2-set .form-row-last{float:right}
.woocommerce-checkout-review-order-wrap,
#order_review_heading{float:right;width:42%;clear:none}
#order_review_heading{margin-top:2rem}
.woocommerce-checkout-review-order-wrap{background:var(--paper);border:1px solid var(--line);padding:2.2rem}
.woocommerce-checkout-review-order-wrap #order_review{padding:0}
.woocommerce-checkout #payment{border:none;background:none}
.woocommerce-checkout #payment ul.payment_methods{padding:0;border-bottom:1px solid var(--line)}
.woocommerce-checkout #payment ul.payment_methods li{padding:1rem 0}
.woocommerce-checkout #payment ul.payment_methods li label{font-size:.9rem;letter-spacing:.1em;color:var(--ink)}
.woocommerce-checkout #payment div.place-order{padding:1.4rem 0 0;margin:0}
.woocommerce form.checkout_coupon{border:1px solid var(--line);background:var(--paper);border-radius:0;padding:1.6rem}
.woocommerce .woocommerce-checkout .select2-container .select2-selection{
background:var(--paper);border:1px solid var(--line);border-radius:0;min-height:44px;padding:.4rem .5rem;
}
/* ---------- 會員中心 重排 ---------- */
/* 未登入:登入+註冊 雙卡並排 */
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:1060px;margin:0 auto;padding:1rem 0 5rem}
.woocommerce-account:not(.logged-in) .woocommerce::before,
.woocommerce-account:not(.logged-in) .woocommerce::after{display:none}
.woocommerce-account:not(.logged-in) .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:stretch;margin:0}
.woocommerce-account:not(.logged-in) .u-columns::before,
.woocommerce-account:not(.logged-in) .u-columns::after{display:none}
.woocommerce-account:not(.logged-in) .u-columns > div{
float:none;width:auto;background:var(--paper);border:1px solid var(--line);
padding:3rem 2.8rem 2.6rem;position:relative;
}
.woocommerce-account:not(.logged-in) .u-columns > div::before{
content:"";position:absolute;top:0;left:2.8rem;width:42px;height:2px;background:var(--gold);
}
.woocommerce-account:not(.logged-in) .u-columns h2{
font-family:var(--serif);font-weight:600;font-size:1.55rem;letter-spacing:.3em;
margin:0 0 2.2rem;color:var(--green-deep);
}
.woocommerce-account:not(.logged-in) form.login,
.woocommerce-account:not(.logged-in) form.register{border:none;background:none;padding:0;margin:0;max-width:none}
.woocommerce-account:not(.logged-in) form .form-row{margin:0 0 1.5rem;padding:0;float:none;width:100%}
.woocommerce-account:not(.logged-in) form .form-row label{display:block;font-size:.78rem;letter-spacing:.22em;color:var(--muted);margin-bottom:.6rem}
.woocommerce-account:not(.logged-in) form .form-row .required{color:var(--gold)}
.woocommerce-account:not(.logged-in) form .form-row input.input-text{
width:100%;background:#fff;border:1px solid var(--line);padding:.85rem 1.1rem;
font-size:.92rem;letter-spacing:.04em;color:var(--ink);transition:border-color .3s;
}
.woocommerce-account:not(.logged-in) form .form-row input.input-text:focus{border-color:var(--gold);outline:none}
.woocommerce-account:not(.logged-in) .password-input{display:block;width:100%}
.woocommerce-account:not(.logged-in) .password-input input.input-text{width:100%}
.woocommerce-account:not(.logged-in) .show-password-input{position:absolute;top:50%;right:1rem;transform:translateY(-50%);opacity:.5}
.woocommerce-account:not(.logged-in) .password-input{position:relative}
.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme{
display:flex;align-items:center;gap:.6rem;margin:0 0 1.4rem;font-size:.82rem;letter-spacing:.1em;color:var(--muted);
}
.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input{margin:0}
.woocommerce-account:not(.logged-in) .woocommerce-button{
width:100%;text-align:center;padding:1rem;font-size:.82rem;letter-spacing:.4em;text-indent:.4em;margin:0;
}
.woocommerce-account:not(.logged-in) .lost_password{margin:1.2rem 0 0;text-align:right}
.woocommerce-account:not(.logged-in) .lost_password a{font-size:.78rem;letter-spacing:.18em;color:var(--muted);border-bottom:1px solid transparent;transition:.3s}
.woocommerce-account:not(.logged-in) .lost_password a:hover{color:var(--gold);border-color:var(--gold)}
.woocommerce-account:not(.logged-in) .woocommerce-privacy-policy-text{
font-size:.8rem;line-height:2;color:var(--muted);letter-spacing:.03em;margin:0 0 1.8rem;
}
@media (max-width:820px){
.woocommerce-account:not(.logged-in) .u-columns{grid-template-columns:1fr}
.woocommerce-account:not(.logged-in) .u-columns > div{padding:2.4rem 2rem 2.2rem}
.woocommerce-account:not(.logged-in) .u-columns > div::before{left:2rem}
}
/* WC 自帶 clearfix 偽元素與浮動寬度會破壞 grid,先停用 */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after{display:none}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
/* 已登入:側邊導航 + 內容 */
.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:230px 1fr;gap:3rem;align-items:start}
.woocommerce-account .woocommerce-MyAccount-navigation{position:sticky;top:110px}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table th{padding:.9rem 1rem}
.woocommerce .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.woocommerce .woocommerce-Addresses .woocommerce-Address{
float:none;width:auto;background:var(--paper);border:1px solid var(--line);padding:1.8rem;
}
.woocommerce .woocommerce-Address address{font-style:normal;line-height:2;color:#4c483f;font-size:.88rem}
.woocommerce .woocommerce-Addresses .title .edit{font-size:.75rem;letter-spacing:.2em;color:var(--green)}
.woocommerce-account .woocommerce-EditAccountForm fieldset{
border:1px solid var(--line);background:var(--paper);padding:1.8rem;margin:1.5rem 0;
}
.woocommerce-account .woocommerce-EditAccountForm legend{font-size:.85rem;letter-spacing:.24em;color:var(--gold);padding:0 .6rem}
/* ---------- RWD 補充 v1.2 ---------- */
@media (max-width:960px){
.compare-table .cr{grid-template-columns:1fr}
.compare-table .cr > div + div{border-left:none;border-top:1px dashed var(--line)}
.compare-table .cr.head{display:none}
.scene-grid{grid-template-columns:1fr}
.woocommerce div.product div.images,
.woocommerce div.product div.summary{float:none;width:100%}
.woocommerce div.product div.summary{margin-top:2.5rem}
.woocommerce form.checkout .col2-set,
.woocommerce-checkout-review-order-wrap,
#order_review_heading{float:none;width:100%}
#order_review_heading{margin-top:3rem}
.woocommerce .woocommerce-Addresses{grid-template-columns:1fr}
/* 會員中心行動版:單欄+橫向滑動導航 */
.woocommerce-account.logged-in .woocommerce{display:block}
.woocommerce-account .woocommerce-MyAccount-navigation{position:static;margin-bottom:2.4rem}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
.woocommerce-account .woocommerce-MyAccount-navigation li{flex:none;border-bottom:none;border-right:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-right:none}
.woocommerce-account .woocommerce-MyAccount-navigation li a{padding:.9rem 1.3rem;white-space:nowrap}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{padding-left:1.3rem}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
border-left:none;border-bottom:2px solid var(--gold);padding-bottom:calc(.9rem - 2px);
}
/* 訂單/下載等表格:手機上堆疊顯示,標籤在左、資料在右 */
.woocommerce-account .woocommerce-MyAccount-content{overflow-x:auto;-webkit-overflow-scrolling:touch}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table{min-width:0;width:100%}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tr{display:block;padding:.6rem 0;border-bottom:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tr td{
display:flex;justify-content:space-between;align-items:center;gap:1.2rem;
border:none;padding:.55rem 0;text-align:right;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tr td::before{
flex:none;font-weight:600;color:var(--muted);letter-spacing:.1em;
}
/* 提示條按鈕:手機上獨立一行,不壓文字 */
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button{
float:none;display:block;width:100%;text-align:center;margin:1rem 0 0;
}
.woocommerce .woocommerce-info::after,
.woocommerce .woocommerce-message::after{content:"";display:block;clear:both}
}
/* ============================================================
v1.3.0 — 首頁商品即時讀取 + 購物車/結帳修正
=========================================================== */
/* 首頁商品卡:價格 */
.pcard .price{display:block;font-family:var(--latin);font-size:1rem;letter-spacing:.12em;color:var(--gold);margin:.15rem 0 .3rem}
.pcard .price del{color:var(--muted);font-size:.85em;margin-right:.4em}
.pcard .price ins{text-decoration:none}
/* 購物車操作列:優惠券輸入框撐滿 + 更新按鈕狀態可見 */
.woocommerce table.cart td.actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.woocommerce table.cart td.actions::before,
.woocommerce table.cart td.actions::after{display:none}
.woocommerce table.cart td.actions .coupon{float:none;display:flex;gap:.6rem;flex:1 1 300px;min-width:0;margin:0}
.woocommerce table.cart td.actions .coupon label{position:absolute;left:-9999px}
.woocommerce table.cart td.actions .coupon .input-text{flex:1;min-width:0;width:auto;padding:.7rem 1rem}
.woocommerce table.cart td.actions .coupon .button{white-space:nowrap;margin:0}
.woocommerce table.cart td.actions > button.button{float:none;margin:0}
.woocommerce table.cart td.actions button[name="update_cart"]:disabled,
.woocommerce table.cart td.actions button[name="update_cart"]:disabled[disabled]{
background:transparent!important;color:var(--muted)!important;
border:1px dashed var(--line)!important;opacity:1;cursor:default;
}
.woocommerce table.cart td.actions button[name="update_cart"]:disabled:hover{background:transparent!important;color:var(--muted)!important}
/* 結帳:訂單欄浮動修正(正確的容器 class 是 woocommerce-checkout-review-order) */
.woocommerce form.checkout #order_review.woocommerce-checkout-review-order{
float:right;width:42%;clear:none;background:var(--paper);border:1px solid var(--line);padding:2.2rem;
}
.woocommerce form.checkout #order_review.woocommerce-checkout-review-order table.shop_table{border:none;background:none}
.woocommerce form.checkout #order_review.woocommerce-checkout-review-order table.shop_table th,
.woocommerce form.checkout #order_review.woocommerce-checkout-review-order table.shop_table td{
border:none;border-top:1px solid var(--line);padding:.9rem 0;
}
.woocommerce form.checkout #order_review.woocommerce-checkout-review-order tr.order-total .amount{color:var(--gold);font-size:1.15rem}
/* 結帳:付款方式區塊 */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{list-style:none;padding:1rem 0 0}
.woocommerce-checkout #payment ul.payment_methods li input.input-radio{margin:0 .6rem 0 0;vertical-align:middle}
.woocommerce-checkout #payment ul.payment_methods li label{display:inline;cursor:pointer;vertical-align:middle}
.woocommerce-checkout #payment div.payment_box{
padding:1.1rem 1.3rem;margin:.9rem 0 0;border:1px solid var(--line);
background:rgba(191,160,106,.1);color:var(--ink);font-size:.88rem;line-height:1.9;
}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment div.payment_box p{margin:0}
.woocommerce-checkout #payment div.place-order{padding:1.6rem 0 0;margin:0;border-top:1px solid var(--line);margin-top:1.6rem}
@media(max-width:900px){
.woocommerce form.checkout #order_review.woocommerce-checkout-review-order{float:none;width:100%}
.woocommerce table.cart td.actions .coupon{flex:1 1 100%}
}
/* v1.3.1 — 購物車表格欄寬固定 */
.woocommerce table.cart{table-layout:fixed}
.woocommerce table.cart th.product-remove,
.woocommerce table.cart td.product-remove{width:3.6rem}
.woocommerce table.cart th.product-thumbnail,
.woocommerce table.cart td.product-thumbnail{width:7.5rem}
.woocommerce table.cart th.product-name{width:34%}
.woocommerce table.cart td.actions{display:table-cell}
.woocommerce table.cart td.actions .coupon{display:inline-flex}
.woocommerce table.cart td.actions > button.button{float:right}
/* v1.3.2 — 購物車操作列:優惠券回歸左側 */
.woocommerce table.cart td.actions{text-align:right}
.woocommerce table.cart td.actions .coupon{float:left;display:flex;flex:0 1 min(460px,60%);text-align:left}
/* ============================================================
v1.4.0 — 新品許願池(產品投票)
=========================================================== */
.vote-grid .vcard .pb{padding-bottom:1.6rem}
.vote-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:1.1rem;font-size:.8rem;color:var(--muted);letter-spacing:.1em}
.vote-meta .vcount b{font-family:var(--serif);font-size:1.35rem;color:var(--green-deep);font-weight:600;margin-right:.2em}
.vote-bar{height:5px;background:var(--line);margin:.7rem 0 1.2rem;overflow:hidden}
.vote-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--green));transition:width .6s ease}
.vote-btn{
display:block;width:100%;padding:.85rem 1rem;border:1px solid var(--green);
background:var(--green);color:var(--paper);font-family:var(--sans);font-size:.85rem;
letter-spacing:.3em;cursor:pointer;transition:all .3s;
}
.vote-btn:hover:not(:disabled){background:var(--green-deep)}
.vote-btn.voted,.vote-btn:disabled.voted{background:transparent;color:var(--gold);border-color:var(--gold);cursor:default;letter-spacing:.3em}
.vote-note{margin-top:2.5rem;text-align:center;font-size:.82rem;color:var(--muted);letter-spacing:.15em}
.vote-empty{text-align:center;color:var(--muted);padding:3rem 0}
/* ============================================================
v1.5.0 — 投票活動系統 / 圖片等高 / 地址頁 / 匯款資訊
=========================================================== */
/* 商品卡圖片等高(首頁 + 許願池通用) */
.pcard a.ph{aspect-ratio:1/1.08;box-sizing:border-box;overflow:hidden}
.pcard .ph img{width:100%;height:100%;max-height:none;object-fit:cover}
/* 投票活動列表 */
.camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.8rem}
.camp-card{
display:block;background:var(--paper);border:1px solid var(--line);padding:2.2rem 2rem;
transition:transform .4s ease,box-shadow .4s ease;
}
.camp-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(44,51,40,.28)}
.camp-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem}
.camp-badge{font-size:.72rem;letter-spacing:.24em;padding:.35rem .9rem;border:1px solid var(--gold);color:var(--gold)}
.camp-badge.closed{border-color:var(--muted);color:var(--muted)}
.camp-deadline{font-size:.78rem;color:var(--muted);letter-spacing:.08em}
.camp-card h3{font-family:var(--serif);font-weight:600;font-size:1.3rem;letter-spacing:.12em;color:var(--green-deep);margin:0 0 1.1rem}
.camp-meta{display:flex;gap:1.4rem;font-size:.82rem;color:var(--muted);letter-spacing:.08em}
.camp-meta b{font-family:var(--serif);font-size:1.2rem;color:var(--green-deep)}
.camp-go{display:inline-block;margin-top:1.5rem;font-size:.8rem;letter-spacing:.24em;color:var(--green);border-bottom:1px solid var(--gold);padding-bottom:.15rem}
.camp-card:hover .camp-go{color:var(--gold)}
/* 投票卡色點 */
.vcard .colors{display:flex;gap:.45rem;margin-top:.6rem}
.vcard .colors i{width:14px;height:14px;border-radius:50%;border:1px solid var(--line)}
/* 我的帳戶 — 地址頁兩欄修正 */
.woocommerce .woocommerce-Addresses,
.woocommerce .woocommerce-Addresses.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.woocommerce .woocommerce-Addresses::before,
.woocommerce .woocommerce-Addresses::after{display:none}
.woocommerce .woocommerce-Addresses .woocommerce-Address,
.woocommerce .woocommerce-Addresses .col-1,
.woocommerce .woocommerce-Addresses .col-2{float:none;width:auto;max-width:none}
.woocommerce .woocommerce-Addresses .woocommerce-Address{
background:var(--paper);border:1px solid var(--line);padding:1.8rem;
}
.woocommerce .woocommerce-Addresses .woocommerce-Address .edit{float:right;font-size:.8rem;letter-spacing:.14em;color:var(--green);border-bottom:1px solid var(--gold)}
.woocommerce .woocommerce-Addresses address{font-style:normal;line-height:2;color:var(--muted)}
@media(max-width:720px){
.woocommerce .woocommerce-Addresses{grid-template-columns:1fr}
}
/* 訂單詳情頁 — 匯款資訊卡 */
.ming-bacs-box{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--gold);padding:1.8rem 2rem;margin:0 0 2rem}
.ming-bacs-box h2{font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:.2em;color:var(--green-deep);margin:0 0 1rem}
.ming-bacs-box p{font-size:.9rem;color:var(--muted);line-height:1.9}
.ming-bacs-box .bacs-accounts{list-style:none;margin:1rem 0;padding:0}
.ming-bacs-box .bacs-accounts li{display:flex;flex-wrap:wrap;gap:2rem;padding:.9rem 0;border-top:1px dashed var(--line);font-size:.9rem}
.ming-bacs-box .bacs-accounts b{display:block;font-size:.72rem;letter-spacing:.2em;color:var(--muted);margin-bottom:.2rem}
.ming-bacs-box .bacs-note{font-size:.82rem;color:var(--green);margin:1rem 0 0}
/* ---------- v1.6.0 宣傳片 ---------- */
.video-sec{background:var(--green-deep);color:var(--ivory)}
.video-sec .eyebrow{color:var(--gold)}
.video-sec .h2{color:var(--ivory)}
.video-sec .divider{background:var(--gold)}
.video-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:3.5rem;align-items:center}
.video-desc{line-height:2;color:rgba(245,242,234,.85);font-size:.95rem}
.video-frame{position:relative;aspect-ratio:16/9;background:#000;box-shadow:0 0 0 1px rgba(191,160,106,.35)}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
/* ---------- v1.6.0 頂欄搜尋 ---------- */
.hsearch{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit}
.searchbar{display:none;border-bottom:1px solid var(--line);background:var(--ivory);padding:1.1rem 1.4rem}
body.search-open .searchbar{display:block}
.searchbar-form{display:flex;gap:.8rem;max-width:640px;margin:0 auto}
.searchbar-form input[type="search"]{flex:1;border:none;border-bottom:1px solid var(--green-deep);background:transparent;padding:.6rem .2rem;font:inherit;font-size:.95rem;letter-spacing:.06em;color:var(--ink);outline:none}
.searchbar-form input[type="search"]:focus{border-bottom-color:var(--gold)}
.searchbar-form .btn{padding:.6rem 1.8rem}
/* 行動版抽屜內搜尋 */
.mnav-search{display:flex;align-items:center;border-bottom:1px solid var(--line);margin-bottom:1.2rem}
.mnav-search input{flex:1;border:none;background:transparent;padding:.7rem 0;font:inherit;font-size:1rem;letter-spacing:.08em;color:var(--ink);outline:none}
.mnav-search button{background:none;border:none;padding:.4rem;cursor:pointer;color:var(--gold)}
.mnav-search button svg{width:20px;height:20px;display:block}
/* ---------- v1.6.0 搜尋結果與庫存標籤 ---------- */
.ming-search-grid{margin-top:2.5rem}
.ming-stock{display:inline-block;font-size:.72rem;letter-spacing:.18em;padding:.18rem .7rem;border:1px solid}
.ming-stock.in{color:var(--green);border-color:var(--green)}
.ming-stock.out{color:var(--muted);border-color:var(--line);background:var(--line)}
.search-empty{max-width:46em;margin-top:2.5rem}
.search-empty .searchbar-form{margin:1.6rem 0}
.search-empty .textlink{display:inline-block;margin-top:.4rem}
/* ---------- v1.6.0 頁腳 ---------- */
.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.6rem}
.footer-bottom a{color:inherit}
@media (max-width:960px){
.video-grid{grid-template-columns:1fr;gap:1.8rem}
.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media (max-width:560px){
.searchbar-form{flex-direction:column}
.searchbar-form .btn{width:100%}
}
/* ============================================================
v1.7.0 修正包:行動版排版 / 庫存標籤定位 / 影片兜底
==========================================================*/
/* 首頁大標題:逐行獨立成塊,行動版縮小字距避免錯位 */
.hero h1 .hl{display:block}
@media (max-width:600px){
.hero h1{letter-spacing:.16em;text-indent:.16em;font-size:clamp(1.02rem,4.4vw,1.4rem);line-height:2.2;padding:0 .4rem;word-break:keep-all}
.hero h1 .hl{white-space:nowrap}
.hero .sub{letter-spacing:.26em;font-size:.7rem;padding:0 .6rem}
}
/* 影片連結無法識別時的兜底提示 */
.video-invalid{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(245,242,234,.6);font-size:.85rem;letter-spacing:.15em;padding:1rem;text-align:center}
/* 庫存標籤:絕對定位貼在商品圖左上角 */
.woocommerce ul.products li.product{position:relative}
.woocommerce ul.products li.product .ming-stock{position:absolute;top:.8rem;left:.8rem;z-index:3;background:var(--ivory);box-shadow:0 2px 12px -4px rgba(44,51,40,.4)}
.ming-search-grid .ming-stock,
.related .ming-stock,.upsells .ming-stock{position:absolute;top:.8rem;left:.8rem;z-index:3;background:var(--ivory)}
/* 商店/搜尋結果:行動版一行兩個商品 */
@media (max-width:600px){
.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:.9rem}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 .9rem;font-size:.92rem;letter-spacing:.06em}
.woocommerce ul.products li.product .price{padding:0 .9rem;font-size:.82rem}
.woocommerce ul.products li.product .button{margin:.7rem .9rem 1rem;font-size:.72rem;padding:.5rem .8rem;letter-spacing:.12em}
.woocommerce ul.products li.product .ming-stock{top:.5rem;left:.5rem;font-size:.62rem;padding:.1rem .5rem;letter-spacing:.08em}
}
/* 頁腳:窄螢幕單欄堆疊 */
@media (max-width:560px){
.footer-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem}
.footer-grid>div:first-child{grid-column:1/-1}
.footer .fdesc{max-width:none}
.footer h4{font-size:.72rem;letter-spacing:.2em;margin-bottom:.8rem}
.footer-grid ul li{margin-bottom:.4rem}
.footer-grid ul a{font-size:.74rem;letter-spacing:.06em}
.footer-bottom{flex-direction:column;align-items:flex-start;gap:.5rem}
}
/* ---------- v1.7.0 許願分享 ---------- */
.vote-share{margin-top:3.5rem;padding-top:2.2rem;border-top:1px solid var(--line);text-align:center}
.vote-share-text{font-size:.85rem;letter-spacing:.14em;color:var(--muted);margin-bottom:1.2rem}
.ming-share{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem}
.ming-share-label{font-size:.78rem;letter-spacing:.3em;color:var(--gold);margin-right:.4rem}
.ming-share-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.2rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:.78rem;letter-spacing:.1em;cursor:pointer;text-decoration:none;transition:border-color .25s,color .25s,transform .25s}
.ming-share-btn[hidden]{display:none!important}
.ming-share-btn svg{width:16px;height:16px;flex:none}
.ming-share-btn:hover{border-color:var(--gold);color:var(--green-deep);transform:translateY(-2px)}
.ming-share-btn.line:hover{border-color:#06c755;color:#06c755}
.ming-share-btn.fb:hover{border-color:#1877f2;color:#1877f2}
.ming-share-btn.copied{border-color:var(--green);color:var(--green)}
.ming-share-btn .copy-label{font-size:.72rem}
@media (max-width:560px){
.ming-share{gap:.5rem}
.ming-share-label{width:100%;margin:0 0 .3rem}
.ming-share-btn{padding:.5rem .9rem;font-size:.74rem}
}
/* ---------- v1.7.0 品牌專欄(JOURNAL) ---------- */
.journal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.6rem}
.journal-head-side{max-width:22em;text-align:right}
.journal-desc{font-size:.82rem;color:var(--muted);line-height:1.9;margin-bottom:.6rem}
.journal-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:2rem}
.journal-grid.single{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.jcard{display:block;background:var(--paper);border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .4s ease,box-shadow .4s ease}
.jcard:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(44,51,40,.28)}
.jcard .jimg{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--line)}
.jcard.feature .jimg{aspect-ratio:4/3.4}
.jcard .jimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.jcard:hover .jimg img{transform:scale(1.05)}
.jcard .jcat{position:absolute;top:.9rem;left:.9rem;background:rgba(44,51,40,.82);color:var(--ivory);font-size:.68rem;letter-spacing:.22em;padding:.28rem .8rem}
.jcard .jbody{padding:1.4rem 1.5rem 1.6rem}
.jcard time{font-family:var(--latin);font-size:.72rem;letter-spacing:.24em;color:var(--gold)}
.jcard h3{font-family:var(--serif);font-weight:600;font-size:1.02rem;letter-spacing:.08em;line-height:1.7;color:var(--green-deep);margin:.5rem 0 .6rem}
.jcard.feature h3{font-size:1.2rem}
.jcard p{font-size:.8rem;color:var(--muted);line-height:1.9}
.jcard .jmore{display:inline-block;margin-top:.9rem;font-size:.74rem;letter-spacing:.22em;color:var(--green);border-bottom:1px solid var(--gold);padding-bottom:.12rem}
.journal-empty{color:var(--muted);font-size:.9rem;letter-spacing:.1em}
.journal-sec + .journal-sec{padding-top:0}
/* 分類歸檔頁沿用卡片網格 */
.archive-journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}
/* ---------- v1.7.0 單篇文章 ---------- */
.post-wrap{max-width:46em;margin:0 auto}
.post-cover{margin:0 0 2.6rem}
.post-cover img{width:100%;height:auto;display:block;border:1px solid var(--line)}
.post-cat{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.1rem}
.post-content{font-size:.95rem;line-height:2.15;color:var(--ink)}
.post-content h2,.post-content h3{font-family:var(--serif);font-weight:600;color:var(--green-deep);letter-spacing:.1em;margin:2.6rem 0 1rem}
.post-content h2{font-size:1.3rem}
.post-content h3{font-size:1.12rem}
.post-content p{margin:0 0 1.4rem}
.post-content blockquote{border-left:2px solid var(--gold);padding:.2rem 0 .2rem 1.4rem;color:var(--muted);margin:2rem 0;font-family:var(--serif)}
.post-content ul,.post-content ol{margin:0 0 1.4rem 1.4rem}
.post-content img{max-width:100%;height:auto;border:1px solid var(--line)}
.post-foot{margin-top:3rem;padding-top:2.2rem;border-top:1px solid var(--line)}
.post-back{margin-top:2rem;text-align:center}
.post-related{padding-top:0}
@media (max-width:960px){
.journal-grid{grid-template-columns:1fr 1fr}
.jcard.feature{grid-column:1/-1}
.archive-journal-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
.journal-head{flex-direction:column;align-items:flex-start;gap:1rem}
.journal-head-side{text-align:left;max-width:none}
.journal-grid{grid-template-columns:1fr}
.archive-journal-grid{grid-template-columns:1fr}
.post-wrap{max-width:none}
}
/* ---------- v1.7.0 商品頁色卡變體按鈕 ---------- */
.ming-select-hidden{position:absolute!important;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
.ming-swatches{display:flex;flex-wrap:wrap;gap:1rem;margin:.2rem 0 .4rem}
.ming-swatch{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:none;border:none;cursor:pointer;padding:0;font:inherit}
.ming-swatch i{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:block;transition:transform .25s ease;box-shadow:inset 0 0 0 2px var(--ivory)}
.ming-swatch span{font-size:.72rem;letter-spacing:.12em;color:var(--muted);transition:color .25s}
.ming-swatch:hover i{transform:scale(1.12)}
.ming-swatch.is-active i{box-shadow:inset 0 0 0 2px var(--ivory),0 0 0 2px var(--gold)}
.ming-swatch.is-active span{color:var(--green-deep)}
.ming-swatch.is-disabled{opacity:.32;cursor:not-allowed}
/* ============================================================
v1.7.1 行動版字體協調
==========================================================*/
/* Hero 主標:行動版拆成三行等寬短句,節奏一致 */
.hero h1 .m-br{display:none}
@media (max-width:600px){
.hero h1 .m-br{display:block}
.hero h1 .d-sp{display:none}
.hero h1{line-height:2.35;letter-spacing:.22em;text-indent:.22em}
.hero h1 .hl{white-space:nowrap}
/* 理念區 H2:桌機強制斷行在行動版取消,自然換行不留孤字 */
.h2 br.d-br{display:none}
.h2{letter-spacing:.14em;line-height:2;text-wrap:balance;font-size:clamp(1.3rem,5.6vw,1.6rem)}
/* 明/命/三 關鍵字:行動版三等分對齊 */
.keywords{justify-content:space-between;gap:1rem}
.keywords .kw{flex:1}
/* 區塊眉標與內文字距收斂,避免稀疏感 */
.eyebrow{letter-spacing:.3em}
.section{padding:4rem 0}
.philo-copy p,.video-desc{line-height:2;font-size:.92rem}
}
/* ============================================================
v1.7.2 色卡點點可點擊 / 分享修復配套
==========================================================*/
/* 色卡點點:按鈕化(沿用圓點外觀),選中帶金圈 */
.pcard .colors .cdot,.vcard .colors .cdot{
width:14px;height:14px;border-radius:50%;border:1px solid var(--line);
padding:0;cursor:pointer;display:inline-block;transition:transform .25s ease,box-shadow .25s ease;
}
.pcard .colors .cdot:hover,.vcard .colors .cdot:hover{transform:scale(1.25)}
.pcard .colors .cdot.is-on,.vcard .colors .cdot.is-on{box-shadow:0 0 0 2px var(--ivory),0 0 0 3.5px var(--gold);border-color:var(--gold)}
.pcard .colors,.vcard .colors{align-items:center}
/* 切換卡片圖淡入 */
.pcard .ph img{transition:transform .8s ease,opacity .35s ease}
/* ============================================================
v1.7.3 SKU 級許願 / 商店卡片對齊
==========================================================*/
/* 許願卡:色點下方顯示該色票數 */
.vote-colors .cdot-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:.2rem}
.vote-colors .cdot-n{font-style:normal;font-size:.62rem;color:var(--muted);letter-spacing:.05em;min-height:.8em}
.vote-colors{align-items:flex-start}
/* 商店/列表商品卡:標題單行截斷、按鈕底部對齊 */
.woocommerce ul.products li.product{display:flex;flex-direction:column}
.woocommerce ul.products li.product a.woocommerce-loop-product__link{display:block}
.woocommerce ul.products li.product .woocommerce-loop-product__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .add_to_cart_button{margin-top:auto}