/** Shopify CDN: Minification failed

Line 1513:0 All "@import" rules must come first
Line 3122:0 All "@import" rules must come first
Line 4281:0 All "@import" rules must come first
Line 4837:0 All "@import" rules must come first
Line 4880:0 All "@import" rules must come first
Line 5075:0 All "@import" rules must come first

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:basket-pdp-v2a (INDEX:2) */
/* force-bump-1779698118553-uniqueABC */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@300;400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Cormorant+SC:wght@400;500;600&family=Inter:wght@400;500&display=swap');
.basket-pdp-v2a-wrap{
  /* P09 Burgundy Cream · 象牙底 + 酒紅勃艮第 nav + 香檳金 · Classic Heritage · Gary 2026-05-27 */
  --bg:#F6EFE6;--bg-2:#ECE0CE;--bg-card:#F0E5D5;--ink:#2A1418;--forest:#8A4951;--forest-deep:#6E2F38;
  --gold:#E0BC8B;--gold-deep:#B8965C;--gold-bright:#F0D2A0;--rule:#D6C7AE;--rule-soft:#E1D5BF;--muted:#7A5D63;
  --male:#3A5A7B;--female:#A0526E;--neutral:#7A6F60;--paper:#FCF4E5;--ink-deep:#1A0C10;
  --serif:'Cormorant Garamond','Noto Serif TC',serif;--sc:'Cormorant SC',serif;
  --cjk:'Noto Serif TC',serif;--sans:'Inter',sans-serif;
  --max:1340px;--gut:clamp(20px,4vw,80px);
  background:var(--bg) !important;color:var(--ink) !important;font-family:var(--serif) !important;
  -webkit-font-smoothing:antialiased;
}.basket-pdp-v2a-wrap *, .basket-pdp-v2a-wrap *::before, .basket-pdp-v2a-wrap *::after{box-sizing:border-box !important}.basket-pdp-v2a-wrap a{color:inherit !important;text-decoration:none}.basket-pdp-v2a-wrap button{font:inherit;color:inherit !important;background:none !important;border:0 !important;cursor:pointer !important;padding:0 !important}.basket-pdp-v2a-wrap img{display:block !important;max-width:100% !important}.basket-pdp-v2a-wrap .eyebrow{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;text-transform:uppercase;color:var(--gold-deep) !important;font-weight:500 !important}.basket-pdp-v2a-wrap .layout-label{position:fixed !important;top:14px !important;right:14px !important;z-index:99 !important;background:var(--forest-deep) !important;color:var(--bg) !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.28em !important;padding:8px 14px !important;text-transform:uppercase}.basket-pdp-v2a-wrap .top{background:var(--forest-deep) !important;color:var(--bg) !important;padding:14px var(--gut) !important;display:flex !important;justify-content:space-between !important;align-items:center !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.24em !important;text-transform:uppercase}.basket-pdp-v2a-wrap .top .center{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.4em !important;padding-left:.4em !important}.basket-pdp-v2a-wrap .nav{background:var(--bg) !important;border-bottom:1px solid var(--rule) !important;position:sticky !important;top:0 !important;z-index:50 !important}.basket-pdp-v2a-wrap .nav-inner{max-width:var(--max) !important;margin:0 auto !important;padding:18px var(--gut) !important;display:flex !important;justify-content:space-between !important;align-items:center !important}.basket-pdp-v2a-wrap .nav-logo{font-family:var(--serif) !important;font-size:22px !important;letter-spacing:.32em !important;color:var(--forest-deep) !important;padding-left:.32em !important;font-weight:500 !important;text-decoration:none !important;color:inherit !important;cursor:pointer !important}.basket-pdp-v2a-wrap .nav-logo .sub{font-family:var(--cjk) !important;font-size:10.5px !important;color:var(--gold-deep) !important;letter-spacing:.18em !important;display:block !important;margin-top:2px !important;font-weight:400 !important}.basket-pdp-v2a-wrap .nav-list{display:flex !important;gap:28px !important;flex-wrap:wrap !important}.basket-pdp-v2a-wrap .nav-list a{font-family:var(--cjk) !important;font-size:13.5px !important;letter-spacing:.18em !important;color:var(--ink) !important;padding:6px 0 !important;text-decoration:none !important;cursor:pointer !important}.basket-pdp-v2a-wrap .nav-list a .en{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.22em !important;color:var(--muted) !important;display:block !important;text-align:center !important;margin-top:2px !important}.basket-pdp-v2a-wrap .nav-list a.is-active{color:var(--forest-deep) !important;position:relative !important}.basket-pdp-v2a-wrap .nav-list a.is-active::after{content:"";position:absolute !important;left:50% !important;transform:translateX(-50%) !important;bottom:-8px !important;width:18px !important;height:1px !important;background:var(--forest) !important}.basket-pdp-v2a-wrap .part{max-width:var(--max) !important;margin:0 auto !important;padding:50px var(--gut) !important;position:relative !important}.basket-pdp-v2a-wrap .part::before{content:attr(data-part);position:absolute !important;top:30px !important;right:var(--gut) !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.42em !important;color:var(--gold-deep) !important;text-transform:uppercase;background:var(--bg) !important;padding:6px 12px !important;border:1px solid var(--rule) !important}.basket-pdp-v2a-wrap .part-head{margin-bottom:36px !important}.basket-pdp-v2a-wrap .part-head .lbl{display:block !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin-bottom:8px !important}.basket-pdp-v2a-wrap .part-head h2{font-family:var(--cjk) !important;font-weight:400 !important;font-size:28px !important;letter-spacing:.18em !important;margin:0 !important;color:var(--forest-deep) !important}.basket-pdp-v2a-wrap .part-head h2 .latin{font-family:var(--serif) !important;font-style:italic;font-size:18px !important;color:var(--muted) !important;margin-left:14px !important;letter-spacing:.02em !important}.basket-pdp-v2a-wrap .part-head .sub{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:14px !important;margin-top:8px !important;letter-spacing:.02em !important}.basket-pdp-v2a-wrap .hero{display:grid !important;grid-template-columns:1fr 1.2fr !important;gap:60px !important;align-items:start !important}.basket-pdp-v2a-wrap .hero-img{width:100% !important;aspect-ratio:3/4 !important;object-fit:cover;background:var(--bg-2) !important;filter:saturate(.9)}.basket-pdp-v2a-wrap .hero-title-cjk{font-family:var(--cjk) !important;font-weight:600 !important;font-size:clamp(52px,5.5vw,80px) !important;line-height:1 !important;letter-spacing:.12em !important;color:var(--forest-deep) !important;margin:24px 0 0 !important}.basket-pdp-v2a-wrap .hero-title-cjk .small{display:block !important;font-family:var(--cjk) !important;font-weight:300 !important;font-size:.42em !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;margin-top:14px !important;padding-left:.32em !important}.basket-pdp-v2a-wrap .hero-title-latin{font-family:var(--serif) !important;font-style:italic;font-size:22px !important;color:var(--forest) !important;margin:18px 0 0 !important;padding-top:18px !important;border-top:1px solid var(--rule) !important;letter-spacing:.02em !important}.basket-pdp-v2a-wrap .hero-lede{font-family:var(--cjk) !important;font-weight:300 !important;font-size:15.5px !important;line-height:2 !important;color:var(--ink) !important;max-width:38ch !important;margin:24px 0 !important;letter-spacing:.06em !important}.basket-pdp-v2a-wrap .price-row{display:flex !important;align-items:baseline !important;gap:14px !important;border-top:1px solid var(--rule) !important;padding-top:18px !important;margin-top:18px !important}.basket-pdp-v2a-wrap .price-from{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase}.basket-pdp-v2a-wrap .price{font-family:var(--serif) !important;font-weight:500 !important;color:var(--gold-deep) !important;font-size:34px !important}.basket-pdp-v2a-wrap .price-alt{font-family:var(--sc) !important;font-size:11.5px !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;opacity:.7 !important;text-transform:uppercase}.basket-pdp-v2a-wrap .size-block{margin-top:30px !important}.basket-pdp-v2a-wrap .size-block-head{display:flex !important;justify-content:space-between !important;align-items:baseline !important;margin-bottom:12px !important}.basket-pdp-v2a-wrap .size-block-head h4{font-family:var(--cjk) !important;font-weight:500 !important;font-size:15px !important;letter-spacing:.12em !important;margin:0 !important;color:var(--forest-deep) !important}.basket-pdp-v2a-wrap .size-block-head .arrow{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.32em !important;color:var(--muted) !important;text-transform:uppercase}.basket-pdp-v2a-wrap .size-grid{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0 !important;border:1px solid var(--rule) !important;background:var(--bg-2) !important}.basket-pdp-v2a-wrap .size{padding:18px 8px !important;text-align:center !important;cursor:pointer !important;border-right:1px solid var(--rule) !important;transition:background .25s !important}.basket-pdp-v2a-wrap .size:last-child{border-right:0 !important}.basket-pdp-v2a-wrap .size .cn{font-family:var(--cjk) !important;font-weight:500 !important;font-size:16px !important;letter-spacing:.14em !important;color:var(--ink) !important;display:block !important}.basket-pdp-v2a-wrap .size .en{font-family:var(--sc) !important;font-size:9px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;display:block !important;margin:4px 0 8px !important}.basket-pdp-v2a-wrap .size .v{font-family:var(--serif) !important;color:var(--gold-deep) !important;font-size:17px !important;font-weight:500 !important;display:block !important}.basket-pdp-v2a-wrap .size .h{font-family:var(--sc) !important;font-size:9px !important;letter-spacing:.24em !important;color:var(--muted) !important;text-transform:uppercase;display:block !important;margin-top:4px !important}.basket-pdp-v2a-wrap .size:hover{background:var(--bg) !important}.basket-pdp-v2a-wrap .size.is-active{background:var(--forest-deep) !important;color:var(--bg) !important}.basket-pdp-v2a-wrap .size.is-active .cn{color:var(--bg) !important}.basket-pdp-v2a-wrap .size.is-active .v{color:var(--gold) !important}.basket-pdp-v2a-wrap .size.is-active .en, .basket-pdp-v2a-wrap .size.is-active .h{color:rgba(242,235,217,.65) !important}.basket-pdp-v2a-wrap .duo{display:grid !important;grid-template-columns:1fr 1fr !important;gap:40px !important;background:var(--bg-card) !important;padding:40px !important;border:1px solid var(--rule) !important}.basket-pdp-v2a-wrap .sub-block h3{font-family:var(--cjk) !important;font-weight:500 !important;font-size:18px !important;letter-spacing:.16em !important;color:var(--forest-deep) !important;margin:0 0 4px !important}.basket-pdp-v2a-wrap .sub-block h3 .num{font-family:var(--sc) !important;font-style:normal;font-size:11px !important;color:var(--gold-deep) !important;letter-spacing:.32em !important;text-transform:uppercase;margin-right:10px !important}.basket-pdp-v2a-wrap .field-label{display:flex !important;align-items:baseline !important;justify-content:space-between !important;margin-top:18px !important;margin-bottom:6px !important}.basket-pdp-v2a-wrap .field-label .cn{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.1em !important;color:var(--ink) !important}.basket-pdp-v2a-wrap .field-label .en{font-size:10px !important;letter-spacing:.24em !important;text-transform:uppercase;color:var(--muted) !important;font-family:var(--sc) !important}.basket-pdp-v2a-wrap .uline{border:0 !important;border-bottom:1px solid var(--rule) !important;background:transparent !important;padding:12px 0 !important;width:100% !important;font-family:var(--cjk) !important;font-size:14.5px !important;color:var(--ink) !important;outline:0;letter-spacing:.06em !important;transition:border-color .25s !important}.basket-pdp-v2a-wrap .uline:focus{border-bottom-color:var(--forest)}.basket-pdp-v2a-wrap .uline::placeholder{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important}.basket-pdp-v2a-wrap .quick-row{display:flex !important;gap:6px !important;flex-wrap:wrap !important;margin-top:8px !important}.basket-pdp-v2a-wrap .quick{font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.12em !important;padding:7px 12px !important;border:1px solid var(--rule) !important;color:var(--ink) !important;cursor:pointer !important;background:transparent !important;transition:all .2s !important}.basket-pdp-v2a-wrap .quick:hover{border-color:var(--forest)}.basket-pdp-v2a-wrap .quick.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.basket-pdp-v2a-wrap .quick.is-disabled{opacity:.35 !important;cursor:not-allowed !important;text-decoration:line-through}.basket-pdp-v2a-wrap .time-cats{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:6px !important;margin-top:8px !important}.basket-pdp-v2a-wrap .time-cat{border:1px solid var(--rule) !important;padding:10px 12px !important;cursor:pointer !important;background:transparent !important;text-align:left !important;transition:all .2s !important}.basket-pdp-v2a-wrap .time-cat:hover{border-color:var(--forest)}.basket-pdp-v2a-wrap .time-cat.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.basket-pdp-v2a-wrap .time-cat .cn{font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.1em !important;display:block !important}.basket-pdp-v2a-wrap .time-cat .meta{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.18em !important;text-transform:uppercase;color:inherit !important;opacity:.65 !important;display:block !important;margin-top:2px !important}.basket-pdp-v2a-wrap .hour-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:4px !important;margin-top:8px !important}.basket-pdp-v2a-wrap .hour{border:1px solid var(--rule) !important;padding:8px 6px !important;font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.12em !important;text-align:center !important;cursor:pointer !important;background:transparent !important;color:var(--ink) !important;transition:all .2s !important;font-feature-settings:"tnum" 1}.basket-pdp-v2a-wrap .hour:hover{border-color:var(--forest)}.basket-pdp-v2a-wrap .hour.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.basket-pdp-v2a-wrap .upgrade-row{display:flex !important;gap:6px !important;flex-wrap:wrap !important;margin-top:8px !important}.basket-pdp-v2a-wrap .upgrade{border:1px dashed var(--rule) !important;padding:9px 12px !important;cursor:pointer !important;background:transparent !important;font-family:var(--cjk) !important;font-size:12px !important;letter-spacing:.1em !important;color:var(--ink) !important;transition:all .2s !important;display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:2px !important}.basket-pdp-v2a-wrap .upgrade:hover{border-color:var(--gold)}.basket-pdp-v2a-wrap .upgrade.is-active{background:var(--gold) !important;color:var(--ink-deep) !important;border:1px solid var(--gold) !important}.basket-pdp-v2a-wrap .upgrade .cn{font-weight:500 !important}.basket-pdp-v2a-wrap .upgrade .extra{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;text-transform:uppercase}.basket-pdp-v2a-wrap .upgrade.is-active .extra{color:var(--ink) !important}.basket-pdp-v2a-wrap .zone-result{margin-top:20px !important;padding:14px 16px !important;background:var(--bg) !important;border:1px solid var(--forest) !important;display:flex !important;justify-content:space-between !important;align-items:baseline !important}.basket-pdp-v2a-wrap .zone-result .zone-name{font-family:var(--cjk) !important;font-size:14px !important;color:var(--forest-deep) !important;letter-spacing:.08em !important}.basket-pdp-v2a-wrap .zone-result .zone-name em{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12px !important;margin-left:10px !important;letter-spacing:.02em !important}.basket-pdp-v2a-wrap .zone-result .zone-fee{font-family:var(--serif) !important;font-size:18px !important;color:var(--gold-deep) !important;font-weight:500 !important;letter-spacing:.02em !important}.basket-pdp-v2a-wrap .zone-result .zone-fee.free{font-style:italic;color:var(--forest) !important}.basket-pdp-v2a-wrap .p3-grid{display:grid !important;grid-template-columns:1fr 1.1fr !important;gap:60px !important;align-items:start !important;padding-top:14px !important}.basket-pdp-v2a-wrap .p3-preview{position:sticky !important;top:90px !important;align-self:start}.basket-pdp-v2a-wrap .preview-eyebrow{display:block !important;margin-bottom:14px !important;text-align:center !important}.basket-pdp-v2a-wrap .preview-title{font-family:var(--cjk) !important;font-weight:400 !important;font-size:18px !important;letter-spacing:.2em !important;color:var(--forest-deep) !important;text-align:center !important;margin-bottom:14px !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper{
    --l1: 5.4cqw;
    --l2: 13cqw;
    --l3: 5.2cqw;
    --l4: 4.2cqw;
    --gap: 1.4cqw;
    --l2-spacing: .22em;

    background:linear-gradient(135deg,#D4A862 0%,#E8C788 50%,#D4A862 100%) !important;background-image:radial-gradient(circle at 50% 50%,#FCEEDC 0%,#F0D2A0 80%) !important;color:#7A1F2B !important;
    padding:4cqw 7cqw !important;
    aspect-ratio:420/297 !important;
    border:3px solid #7A1F2B !important;
    border-radius:3px !important;
    position:relative !important;
    display:flex !important;flex-direction:column !important;justify-content:flex-start !important;align-items:center !important;
    gap:var(--gap) !important;
    container-type:inline-size;
    box-shadow:0 8px 28px rgba(122,31,43,0.18),0 2px 8px rgba(184,150,92,0.18) !important;
    transition:--l1 .3s,--l2 .3s,--l3 .3s,--l4 .3s !important;
    overflow:hidden !important;
    
  }.basket-pdp-v2a-wrap .banner-canvas.a3-paper::before{content:"";position:absolute !important;inset:1.6cqw;border:1.5px solid #7A1F2B !important;pointer-events:none;opacity:.7 !important;border-radius:2px !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper::after{content:"";position:absolute !important;inset:2.6cqw;border:0.5px solid #7A1F2B !important;pointer-events:none;opacity:.4 !important;border-radius:1px !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-corner{display:none !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-corner.tl{top:1.2cqw;left:1.2cqw;border-right:0 !important;border-bottom:0 !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-corner.tr{top:1.2cqw;right:1.2cqw;border-left:0 !important;border-bottom:0 !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-corner.bl{bottom:1.2cqw;left:1.2cqw;border-right:0 !important;border-top:0 !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-corner.br{bottom:1.2cqw;right:1.2cqw;border-left:0 !important;border-top:0 !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-eyebrow{font-family:var(--serif) !important;font-style:italic;font-size:2.4cqw !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;text-transform:uppercase;text-align:center !important;margin-top:1cqw !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-flourish{font-family:var(--serif) !important;font-size:2.4cqw !important;letter-spacing:.5em !important;color:var(--gold-deep) !important;text-align:center !important;line-height:1 !important;opacity:.85;margin:0.3cqw 0 !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-to{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l1) !important;letter-spacing:.14em !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.3 !important;white-space:nowrap !important;margin-top:1.5cqw !important;padding-top:1.5cqw !important;border-top:0.5px solid rgba(184,150,92,.45) !important;width:78% !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-to .reltitle{margin-right:1.2cqw !important;color:var(--forest) !important;font-weight:400 !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-to .name{font-weight:600 !important;color:var(--forest-deep) !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-to .hon{margin-left:1.2cqw !important;color:var(--forest) !important;font-weight:400 !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-wishes{font-family:var(--cjk) !important;font-weight:600 !important;font-size:var(--l2) !important;letter-spacing:var(--l2-spacing) !important;padding-left:var(--l2-spacing) !important;line-height:1.05 !important;color:var(--forest-deep) !important;text-align:center !important;margin:1.4cqw 0 0.8cqw !important;white-space:nowrap !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-en{font-family:var(--serif) !important;font-style:italic;font-size:2.2cqw !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;text-align:center !important;margin-bottom:0.6cqw !important;opacity:.85}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-divider{width:42% !important;height:0;border-top:0.5px solid var(--gold-deep) !important;opacity:.55;margin:0.3cqw 0 0.6cqw !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-from{display:flex !important;flex-direction:column !important;align-items:center !important;gap:.4cqw !important;width:100% !important;margin-top:auto !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-from .bnr-sender{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l3) !important;letter-spacing:.12em !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.35 !important;white-space:nowrap !important;display:inline-flex !important;align-items:baseline !important;justify-content:center !important;gap:1cqw !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-from .bnr-sender .sprefix{font-size:1.05em !important;font-weight:600 !important;color:var(--forest-deep) !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-from .bnr-sender .sname{font-size:.92em !important;font-weight:500 !important;color:var(--ink) !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-from .bnr-sender .srate{font-size:.78em !important;font-weight:500 !important;color:var(--gold-deep) !important;margin-right:.4cqw !important;font-style:normal;letter-spacing:.04em !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-sig{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l4) !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;text-align:center !important;white-space:nowrap !important;margin-top:1.2cqw !important;padding-top:1cqw !important;border-top:0.5px solid rgba(184,150,92,.45) !important;width:42% !important}.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-footer-sig{font-family:var(--serif) !important;font-style:italic;font-size:1.8cqw !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-align:center !important;text-transform:uppercase;opacity:.7;margin-top:0.4cqw !important;padding-bottom:.2cqw !important}.basket-pdp-v2a-wrap .bnr-line1{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l1) !important;letter-spacing:.16em !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.3 !important;white-space:nowrap !important}.basket-pdp-v2a-wrap .bnr-line1 .reltitle{margin-right:1.5cqw !important}.basket-pdp-v2a-wrap .bnr-line1 .name{font-weight:600 !important}.basket-pdp-v2a-wrap .bnr-line1 .hon{margin-left:1.5cqw !important}.basket-pdp-v2a-wrap .bnr-phrase{font-family:var(--cjk) !important;font-weight:600 !important;font-size:var(--l2) !important;letter-spacing:var(--l2-spacing) !important;padding-left:var(--l2-spacing) !important;line-height:1 !important;color:var(--forest-deep) !important;text-align:center !important;margin:1cqw 0 !important;white-space:nowrap !important}.basket-pdp-v2a-wrap .bnr-senders{display:flex !important;flex-direction:column !important;align-items:center !important;gap:.6cqw !important;width:100% !important}.basket-pdp-v2a-wrap .bnr-sender{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l3) !important;letter-spacing:.14em !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.3 !important;white-space:nowrap !important;display:inline-flex !important;align-items:baseline !important;justify-content:center !important;gap:1.2cqw !important}.basket-pdp-v2a-wrap .bnr-sender .sprefix{font-size:1.05em !important;font-weight:600 !important;color:var(--forest-deep) !important}.basket-pdp-v2a-wrap .bnr-sender .sname{font-size:.85em !important;font-weight:400 !important;color:var(--ink) !important}.basket-pdp-v2a-wrap .bnr-sender .srate{font-size:.78em !important;font-weight:500 !important;color:var(--gold-deep) !important;margin-right:.4cqw !important;font-style:normal;letter-spacing:.04em !important}.basket-pdp-v2a-wrap .bnr-suffix{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l4) !important;letter-spacing:.14em !important;color:var(--forest-deep) !important;text-align:center !important;white-space:nowrap !important}.basket-pdp-v2a-wrap .preview-foot .shrink-tag{display:inline-block !important;background:var(--gold) !important;color:var(--ink) !important;font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.22em !important;padding:2px 8px !important;margin-left:10px !important;text-transform:uppercase;font-style:normal}

  
  @keyframes bnrPulse{
    0%{background-color:rgba(184,153,104,0);box-shadow:0 0 0 0 rgba(184,153,104,0)}
    30%{background-color:rgba(184,153,104,.22);box-shadow:0 0 0 6px rgba(184,153,104,.18)}
    100%{background-color:rgba(184,153,104,0);box-shadow:0 0 0 0 rgba(184,153,104,0)}
  }.basket-pdp-v2a-wrap .bnr-line1, .basket-pdp-v2a-wrap .bnr-phrase, .basket-pdp-v2a-wrap .bnr-senders, .basket-pdp-v2a-wrap .bnr-suffix{padding:.5cqw 1cqw !important;border-radius:2px !important;transition:background-color .35s !important}.basket-pdp-v2a-wrap .bnr-pulse{animation:bnrPulse 1.2s ease-out}.basket-pdp-v2a-wrap .sub-step{
    position:relative !important;
    padding:24px 26px 22px !important;
    border:1px solid var(--rule) !important;background:var(--bg-card) !important;
    margin-bottom:18px !important;
    transition:border-color .35s,background-color .35s,box-shadow .35s,opacity .35s !important;
    opacity:1 !important;
  }.basket-pdp-v2a-wrap .sub-step.is-active{
    border-color:var(--forest);box-shadow:0 0 0 1px var(--forest),0 12px 30px -20px rgba(45,62,42,.3);
    background:#FAF6E8 !important;
  }.basket-pdp-v2a-wrap .sub-step.is-done{opacity:.85 !important}.basket-pdp-v2a-wrap .sub-step.is-pending{opacity:.65 !important}.basket-pdp-v2a-wrap .sub-step-head{display:flex !important;align-items:baseline !important;justify-content:space-between !important;gap:14px !important;margin-bottom:18px !important;padding-bottom:14px !important;border-bottom:1px solid var(--rule) !important}.basket-pdp-v2a-wrap .sub-step-head .left{display:flex !important;align-items:baseline !important;gap:14px !important}.basket-pdp-v2a-wrap .sub-step-num{
    font-family:var(--serif) !important;font-style:italic;font-weight:500 !important;font-size:28px !important;line-height:1 !important;
    color:var(--gold-deep) !important;min-width:36px !important;
    transition:color .3s !important;
  }.basket-pdp-v2a-wrap .sub-step.is-active .sub-step-num{color:var(--forest-deep) !important}.basket-pdp-v2a-wrap .sub-step.is-done .sub-step-num{color:var(--forest) !important}.basket-pdp-v2a-wrap .sub-step-title{font-family:var(--cjk) !important;font-weight:500 !important;font-size:18px !important;letter-spacing:.18em !important;color:var(--forest-deep) !important;margin:0 !important}.basket-pdp-v2a-wrap .sub-step-title .en{font-family:var(--serif) !important;font-style:italic;font-weight:400 !important;font-size:13.5px !important;color:var(--muted) !important;margin-left:10px !important;letter-spacing:.02em !important}.basket-pdp-v2a-wrap .sub-step-status{
    font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.32em !important;text-transform:uppercase;
    padding:5px 11px !important;border:1px solid var(--rule) !important;color:var(--muted) !important;
    transition:all .3s !important;flex-shrink:0;
  }.basket-pdp-v2a-wrap .sub-step.is-active .sub-step-status{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep);animation:statusGlow 2s ease-in-out infinite}.basket-pdp-v2a-wrap .sub-step.is-done .sub-step-status{background:var(--gold) !important;color:var(--ink) !important;border-color:var(--gold)}
  @keyframes statusGlow{0%,100%{box-shadow:0 0 0 0 rgba(45,62,42,.4)}50%{box-shadow:0 0 0 6px rgba(45,62,42,0)}}

  
  @keyframes subStepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.basket-pdp-v2a-wrap .sub-step{animation:subStepIn .5s ease-out both}.basket-pdp-v2a-wrap .sub-step:nth-child(1){animation-delay:.05s}.basket-pdp-v2a-wrap .sub-step:nth-child(2){animation-delay:.18s}.basket-pdp-v2a-wrap .sub-step:nth-child(3){animation-delay:.32s}

  
  @keyframes autofillFlash{0%{background-color:rgba(184,153,104,0)}25%{background-color:rgba(184,153,104,.25)}100%{background-color:rgba(184,153,104,0)}}.basket-pdp-v2a-wrap .uline.is-autofilled{animation:autofillFlash 1.1s ease-out}.basket-pdp-v2a-wrap .sub-step .field-label{margin-top:14px !important}.basket-pdp-v2a-wrap .sub-step > .field-label:first-of-type{margin-top:4px !important}.basket-pdp-v2a-wrap .phrase-meaning{background:var(--bg-card) !important;border-left:3px solid var(--gold) !important;padding:14px 18px !important;margin-top:14px !important;font-family:var(--cjk) !important;font-size:13.5px !important;line-height:1.8 !important;color:var(--ink) !important;letter-spacing:.06em !important}.basket-pdp-v2a-wrap .phrase-meaning .pm-eyebrow{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin-bottom:6px !important}.basket-pdp-v2a-wrap .phrase-meaning .pm-phrase{font-weight:600 !important;color:var(--forest-deep) !important;font-size:16px !important;margin-right:10px !important}.basket-pdp-v2a-wrap .phrase-meaning .pm-empty{color:var(--muted) !important;font-style:italic;font-family:var(--serif) !important}.basket-pdp-v2a-wrap .senders-group{display:flex !important;flex-direction:column !important;gap:10px !important;margin-top:10px !important}.basket-pdp-v2a-wrap .sender-row{display:grid !important;grid-template-columns:1fr .55fr 1.4fr auto !important;gap:10px !important;align-items:end !important}.basket-pdp-v2a-wrap .sender-rank.is-disabled{opacity:.35 !important;pointer-events:none}.basket-pdp-v2a-wrap .sender-row .uline{margin:0 !important;padding:10px 0 !important}.basket-pdp-v2a-wrap .sender-row .remove{
    width:30px !important;height:30px !important;font-family:var(--sc) !important;font-size:14px !important;
    border:1px solid var(--rule) !important;background:transparent !important;color:var(--muted) !important;cursor:pointer !important;
    align-self:center;transition:all .2s !important;
  }.basket-pdp-v2a-wrap .sender-row .remove:hover{border-color:var(--female);color:var(--female) !important}.basket-pdp-v2a-wrap .sender-row.primary .remove{visibility:hidden}.basket-pdp-v2a-wrap .add-sender-btn{
    margin-top:4px !important;align-self:flex-start;
    font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.12em !important;
    border:1px dashed var(--rule) !important;padding:9px 16px !important;color:var(--muted) !important;
    cursor:pointer !important;background:transparent !important;transition:all .2s !important;
  }.basket-pdp-v2a-wrap .add-sender-btn:hover{border-color:var(--forest);color:var(--forest-deep) !important}.basket-pdp-v2a-wrap .sender-row-label{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.28em !important;color:var(--muted) !important;text-transform:uppercase;display:block !important;margin-bottom:2px !important}.basket-pdp-v2a-wrap .preview-foot{margin-top:12px !important;font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12.5px !important;text-align:center !important}.basket-pdp-v2a-wrap .preview-foot strong{color:var(--gold-deep) !important;font-style:normal;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.22em !important;text-transform:uppercase}.basket-pdp-v2a-wrap .auto-hint{background:var(--bg-card) !important;border-left:3px solid var(--gold) !important;padding:12px 16px !important;margin-top:14px !important;font-family:var(--cjk) !important;font-size:12.5px !important;color:var(--ink) !important;letter-spacing:.06em !important;line-height:1.7 !important}.basket-pdp-v2a-wrap .auto-hint strong{color:var(--forest-deep) !important;font-weight:500 !important;display:block !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.22em !important;text-transform:uppercase;margin-bottom:6px !important}.basket-pdp-v2a-wrap .auto-hint em{font-style:italic;color:var(--muted) !important;font-size:11.5px !important}.basket-pdp-v2a-wrap .auto-hint .tag{display:inline-block !important;background:var(--forest-deep) !important;color:var(--bg) !important;font-family:var(--cjk) !important;font-size:11.5px !important;font-style:normal;letter-spacing:.06em !important;text-transform:none;padding:2px 7px !important;margin:0 2px !important}.basket-pdp-v2a-wrap .religion{display:flex !important;gap:18px !important;border-bottom:1px solid var(--rule) !important;padding-bottom:10px !important;margin:8px 0 14px !important}.basket-pdp-v2a-wrap .religion button{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.12em !important;color:var(--muted) !important;padding:4px 0 !important;position:relative !important;transition:color .25s !important}.basket-pdp-v2a-wrap .religion button.is-active{color:var(--forest-deep) !important;font-weight:500 !important}.basket-pdp-v2a-wrap .religion button.is-active::after{content:"";position:absolute !important;left:0 !important;right:0 !important;bottom:-11px !important;height:1px !important;background:var(--forest) !important}.basket-pdp-v2a-wrap .chip-section{margin-top:14px !important}.basket-pdp-v2a-wrap .chip-section-label{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.28em !important;color:var(--muted) !important;text-transform:uppercase;margin-bottom:8px !important;display:flex !important;align-items:center !important;gap:8px !important}.basket-pdp-v2a-wrap .chip-section-label::before{content:"";display:inline-block !important;width:14px !important;height:1px !important;background:var(--rule) !important}.basket-pdp-v2a-wrap .chip-section.female .chip-section-label{color:var(--female) !important}.basket-pdp-v2a-wrap .chip-section.male .chip-section-label{color:var(--male) !important}.basket-pdp-v2a-wrap .chip-section.neutral .chip-section-label{color:var(--neutral) !important}.basket-pdp-v2a-wrap .chip-row{display:flex !important;flex-wrap:wrap !important;gap:6px !important}.basket-pdp-v2a-wrap .chip{font-family:var(--cjk) !important;font-size:14.5px !important;letter-spacing:.14em !important;background:transparent !important;border:1px solid var(--rule) !important;color:var(--ink) !important;padding:9px 14px !important;cursor:pointer !important;transition:all .25s !important;display:inline-flex !important;align-items:center !important;gap:6px !important;font-weight:400}.basket-pdp-v2a-wrap .chip:hover{border-color:var(--forest);color:var(--forest-deep) !important}.basket-pdp-v2a-wrap .chip.is-active{background:var(--forest-deep) !important;border-color:var(--forest-deep);color:var(--bg) !important}.basket-pdp-v2a-wrap .chip .g{font-size:9.5px !important;opacity:.55 !important;font-family:var(--sc) !important;letter-spacing:.1em !important}.basket-pdp-v2a-wrap .chip.gM .g{color:var(--male) !important}.basket-pdp-v2a-wrap .chip.gF .g{color:var(--female) !important}.basket-pdp-v2a-wrap .chip.gN .g{color:var(--neutral) !important}.basket-pdp-v2a-wrap .chip.is-active .g{opacity:.85 !important;color:var(--gold) !important}.basket-pdp-v2a-wrap .chip-suggested{margin-top:8px !important;font-family:var(--serif) !important;font-style:italic;color:var(--gold-deep) !important;font-size:12px !important;letter-spacing:.02em !important}.basket-pdp-v2a-wrap .checkout-section{max-width:var(--max) !important;margin:30px auto !important;padding:0 var(--gut) !important}.basket-pdp-v2a-wrap .checkout-card{background:var(--bg-card) !important;border:1px solid var(--forest) !important;padding:32px 40px !important}.basket-pdp-v2a-wrap .checkout-grid{display:grid !important;grid-template-columns:1.4fr 1fr !important;gap:40px !important;align-items:center !important}.basket-pdp-v2a-wrap .checkout-summary h4{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin:0 0 14px !important}.basket-pdp-v2a-wrap .checkout-summary .line{display:flex !important;justify-content:space-between !important;align-items:baseline !important;padding:7px 0 !important;border-bottom:1px solid var(--rule-soft) !important;font-family:var(--cjk) !important;font-size:13.5px !important;color:var(--ink) !important;letter-spacing:.06em !important}.basket-pdp-v2a-wrap .checkout-summary .line:last-of-type{border-bottom:0 !important}.basket-pdp-v2a-wrap .checkout-summary .line .lbl{color:var(--muted) !important}.basket-pdp-v2a-wrap .checkout-summary .total-line{display:flex !important;justify-content:space-between !important;align-items:baseline !important;margin-top:14px !important;padding-top:14px !important;border-top:1px solid var(--forest) !important}.basket-pdp-v2a-wrap .checkout-summary .total-line .lbl{font-family:var(--cjk) !important;font-size:15px !important;letter-spacing:.14em !important;color:var(--forest-deep) !important}.basket-pdp-v2a-wrap .checkout-summary .total-line .v{font-family:var(--serif) !important;font-weight:500 !important;color:var(--forest-deep) !important;font-size:32px !important;letter-spacing:.02em !important}.basket-pdp-v2a-wrap .checkout-cta{display:flex !important;flex-direction:column !important;align-items:flex-end !important;gap:12px !important}.basket-pdp-v2a-wrap .stock-line{display:inline-flex !important;gap:10px !important;align-items:center !important;font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.14em !important;color:var(--forest-deep) !important}.basket-pdp-v2a-wrap .stock-line .dot{display:inline-block !important;width:6px !important;height:6px !important;border-radius:50% !important;background:var(--gold-deep) !important;box-shadow:0 0 0 5px rgba(138,111,69,.13)}.basket-pdp-v2a-wrap .cta{display:inline-flex !important;align-items:center !important;gap:14px !important;background:var(--forest-deep) !important;color:var(--bg) !important;padding:20px 50px !important;font-family:var(--cjk) !important;font-weight:500 !important;font-size:16px !important;letter-spacing:.24em !important;border:1px solid var(--forest-deep) !important;cursor:pointer !important;transition:all .35s !important;box-shadow:5px 5px 0 var(--gold-deep)}.basket-pdp-v2a-wrap .cta:hover{transform:translate(-2px,-2px) !important;box-shadow:7px 7px 0 var(--gold-deep);background:var(--ink) !important}.basket-pdp-v2a-wrap .cta .cn{font-weight:500 !important}.basket-pdp-v2a-wrap .cta .arrow{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;text-transform:uppercase;color:var(--gold) !important;font-weight:400 !important}.basket-pdp-v2a-wrap .cta-foot{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12.5px !important;text-align:right !important;letter-spacing:.02em !important;margin-top:4px !important}.basket-pdp-v2a-wrap footer{background:var(--bg-2) !important;color:var(--muted) !important;padding:40px var(--gut) !important;border-top:1px solid var(--rule) !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.32em !important;text-transform:uppercase;text-align:center !important}

  @media (max-width:900px){.basket-pdp-v2a-wrap .hero{grid-template-columns:1fr !important;gap:30px !important}.basket-pdp-v2a-wrap .size-grid{grid-template-columns:repeat(2,1fr) !important}.basket-pdp-v2a-wrap .size{border-bottom:1px solid var(--rule) !important}.basket-pdp-v2a-wrap .duo{grid-template-columns:1fr !important;gap:30px !important;padding:24px !important}.basket-pdp-v2a-wrap .p3-grid{grid-template-columns:1fr !important;gap:30px !important}.basket-pdp-v2a-wrap .p3-preview{position:static !important}.basket-pdp-v2a-wrap .time-cats, .basket-pdp-v2a-wrap .hour-grid{grid-template-columns:repeat(2,1fr) !important}/* Banner preview: removed px overrides · let cqw system scale ratio identical to desktop · Gary 2026-05-26 */.basket-pdp-v2a-wrap .checkout-grid{grid-template-columns:1fr !important;gap:24px !important}.basket-pdp-v2a-wrap .checkout-cta{align-items:stretch !important}.basket-pdp-v2a-wrap .cta-foot{text-align:center !important}
  }
/* ─── Hero entrance · staggered fade-up animation (per Gary) ─── */
@keyframes v2aHeroFadeIn {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes v2aImgFadeIn {
  from { opacity: 0; transform: scale(1.04); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes v2aBlurIn {
  from { opacity: 0; filter: blur(8px); transform: translateY(16px); }
  to { opacity: 1; filter: blur(0); transform: translateY(0); }
}

.basket-pdp-v2a-wrap .hero-img,
.basket-pdp-v2a-wrap .hero-img-wrap img {
  animation: v2aImgFadeIn 1.6s cubic-bezier(.2,.65,.2,1) .1s both !important;
}
.basket-pdp-v2a-wrap .eyebrow.hero-eyebrow {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .15s both !important;
}
.basket-pdp-v2a-wrap .hero-title-cjk {
  /* Remove blur · 霧化 fix (Gary 2026-05-27) · fade-only · force-rebuild v3 compiled bundle */
  animation-name: v2aHeroFadeIn !important;
  animation-duration: .8s !important;
  animation-timing-function: cubic-bezier(.2,.65,.2,1) !important;
  animation-delay: .25s !important;
  animation-fill-mode: both !important;
  filter: none !important;
}
.basket-pdp-v2a-wrap .hero-title-cjk .small {
  display: block !important;
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .7s both !important;
}
.basket-pdp-v2a-wrap .hero-title-latin {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .95s both !important;
}
.basket-pdp-v2a-wrap .hero-lede {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.2s both !important;
}
.basket-pdp-v2a-wrap .hero-lede em {
  display: block !important;
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.4s both !important;
}
.basket-pdp-v2a-wrap .price-row {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.55s both !important;
}
.basket-pdp-v2a-wrap .ship-line,
.basket-pdp-v2a-wrap .size-block {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.75s both !important;
}

/* Respect user's reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  .basket-pdp-v2a-wrap .hero-img,
  .basket-pdp-v2a-wrap .hero-img-wrap img,
  .basket-pdp-v2a-wrap .eyebrow.hero-eyebrow,
  .basket-pdp-v2a-wrap .hero-title-cjk,
  .basket-pdp-v2a-wrap .hero-title-cjk .small,
  .basket-pdp-v2a-wrap .hero-title-latin,
  .basket-pdp-v2a-wrap .hero-lede,
  .basket-pdp-v2a-wrap .hero-lede em,
  .basket-pdp-v2a-wrap .price-row,
  .basket-pdp-v2a-wrap .ship-line,
  .basket-pdp-v2a-wrap .size-block {
    animation: none !important;
  }
}


/* Cart submit success animation */
.v2a-cart-overlay{position:fixed;inset:0;background:rgba(31,49,40,0.85);display:flex;align-items:center;justify-content:center;z-index:99999;opacity:0;pointer-events:none;transition:opacity .3s ease}
.v2a-cart-overlay.is-visible{opacity:1;pointer-events:auto}
.v2a-cart-card{background:#F6F1E8;padding:48px 56px;text-align:center;max-width:380px;transform:scale(.85);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.v2a-cart-overlay.is-visible .v2a-cart-card{transform:scale(1)}
.v2a-cart-check{width:72px;height:72px;border-radius:50%;background:#3D5544;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;transform:scale(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1) .2s}
.v2a-cart-overlay.is-visible .v2a-cart-check{transform:scale(1)}
.v2a-cart-check svg{width:36px;height:36px;stroke:#F6F1E8;stroke-width:3;fill:none;stroke-dasharray:50;stroke-dashoffset:50;animation:v2aCheckDraw .5s ease .5s forwards}
@keyframes v2aCheckDraw{to{stroke-dashoffset:0}}
.v2a-cart-title{font-family:'Cormorant Garamond','Noto Serif TC',serif;font-style:italic;font-size:28px;color:#1F3128;margin:0 0 8px;font-weight:400;letter-spacing:.04em}
.v2a-cart-sub{font-family:'Noto Serif TC',serif;font-size:14px;color:#5A6B5F;letter-spacing:.06em;margin:0;line-height:1.6}
.v2a-cart-error{position:fixed;top:30px;left:50%;transform:translateX(-50%);background:#A4292B;color:#F6F1E8;padding:16px 28px;font-family:'Noto Serif TC',serif;font-size:14px;letter-spacing:.08em;z-index:99999;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;transition:opacity .3s;pointer-events:none}
.v2a-cart-error.is-visible{opacity:1}


.basket-pdp-v2a-wrap .ship-promise{font-family:var(--cjk) !important;font-size:13px !important;color:var(--gold-deep) !important;letter-spacing:.14em !important;margin:8px 0 0 !important;line-height:1.6 !important;font-weight:400 !important}
.basket-pdp-v2a-wrap .ship-promise em{font-family:var(--serif) !important;font-style:italic !important;font-size:15px !important;color:var(--forest-deep) !important;font-weight:500 !important;letter-spacing:.08em !important;margin-right:6px !important;border-bottom:1px solid var(--gold) !important;padding-bottom:1px !important}


@keyframes v2aPhraseFlyIn{0%{opacity:0;transform:translateX(-24px);filter:blur(4px)}100%{opacity:1;transform:translateX(0);filter:blur(0)}}
.basket-pdp-v2a-wrap .phrase-meaning.is-flying{animation:v2aPhraseFlyIn .55s cubic-bezier(.2,.65,.2,1) both}
@keyframes v2aChipPop{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
.basket-pdp-v2a-wrap .chip.is-active{animation:v2aChipPop .4s cubic-bezier(.34,1.56,.64,1)}


/* ─── B-HYBRID ROUNDED TIMELINE ─── */
@keyframes tlDrawLine{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes tlGoldRing{0%,100%{box-shadow:0 0 0 5px rgba(184,153,104,.25)}50%{box-shadow:0 0 0 9px rgba(184,153,104,.08)}}
@keyframes tlNodeStagger{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlDotPop{0%{transform:scale(0)}60%{transform:scale(1.35)}100%{transform:scale(1)}}
@keyframes tlShine{0%{transform:translateX(-100%)}100%{transform:translateX(200%)}}
@keyframes tlHintFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlWinStagger{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlRecFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

.basket-pdp-v2a-wrap .tl-timeline{display:flex !important;flex-direction:column !important;gap:10px !important;position:relative !important;padding-left:32px !important;grid-template-columns:none !important;margin-top:10px !important}
.basket-pdp-v2a-wrap .tl-timeline::before{content:"" !important;position:absolute !important;left:11px !important;top:18px !important;bottom:18px !important;width:1px !important;background:var(--rule) !important;transform-origin:top !important;animation:tlDrawLine 1.1s cubic-bezier(.4,0,.2,1) .15s both !important}

.basket-pdp-v2a-wrap .tl-timeline .time-cat{position:relative !important;background:var(--paper) !important;border:1px solid var(--rule) !important;border-radius:16px !important;padding:16px 20px !important;cursor:pointer !important;transition:all .45s cubic-bezier(.4,0,.2,1) !important;overflow:hidden !important;animation:tlNodeStagger .65s cubic-bezier(.4,0,.2,1) both !important;text-align:left !important;display:block !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(1){animation-delay:.35s !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(2){animation-delay:.5s !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(3){animation-delay:.65s !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(4){animation-delay:.8s !important}

.basket-pdp-v2a-wrap .tl-timeline .time-cat::before{content:"" !important;position:absolute !important;left:-27px !important;top:22px !important;width:14px !important;height:14px !important;border:2px solid var(--rule) !important;background:var(--bg) !important;border-radius:50% !important;transition:all .35s !important;z-index:2 !important;animation:tlDotPop .6s cubic-bezier(.34,1.56,.64,1) both !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(1)::before{animation-delay:.5s !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(2)::before{animation-delay:.65s !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(3)::before{animation-delay:.8s !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(4)::before{animation-delay:.95s !important}

.basket-pdp-v2a-wrap .tl-timeline .time-cat:hover{border-color:var(--forest) !important;transform:translateX(3px) !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat:hover::before{border-color:var(--forest) !important;transform:scale(1.15) !important}

.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep) !important;padding:20px 22px !important;border-radius:18px !important;transform:translateX(5px) !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active::before{background:var(--gold) !important;border-color:var(--gold) !important;animation:tlGoldRing 2.2s ease-in-out infinite !important}




.basket-pdp-v2a-wrap .tl-row{display:flex !important;align-items:baseline !important;gap:14px !important;justify-content:space-between !important}
.basket-pdp-v2a-wrap .tl-main{display:flex !important;align-items:baseline !important;gap:14px !important;flex-wrap:wrap !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat .cn{font-family:var(--cjk) !important;font-size:21px !important;font-weight:500 !important;letter-spacing:.14em !important;line-height:1 !important;display:inline !important;color:inherit !important;margin:0 !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .cn{font-size:23px !important;color:var(--paper) !important}
.basket-pdp-v2a-wrap .tl-detail{font-family:var(--serif) !important;font-style:italic !important;font-size:13px !important;color:var(--muted) !important;letter-spacing:.04em !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-detail{color:rgba(246,241,232,.75) !important;font-size:14px !important}
.basket-pdp-v2a-wrap .tl-detail .dot{margin:0 5px !important;color:var(--gold-deep) !important;font-style:normal !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-detail .dot{color:var(--gold) !important}

.basket-pdp-v2a-wrap .tl-timeline .time-cat .meta{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.22em !important;color:var(--gold-deep) !important;text-transform:uppercase !important;white-space:nowrap !important;display:inline !important;margin-top:0 !important;opacity:1 !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .meta{color:var(--gold) !important;font-size:12px !important}
.basket-pdp-v2a-wrap .tl-free{color:var(--forest) !important;font-weight:500 !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-free{color:var(--gold) !important}

.basket-pdp-v2a-wrap .tl-hint{font-family:var(--cjk) !important;font-size:11.5px !important;color:rgba(246,241,232,.65) !important;margin-top:8px !important;letter-spacing:.08em !important;display:none !important}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-hint{display:block !important;animation:tlHintFade .55s cubic-bezier(.4,0,.2,1) .15s both !important}

/* The 3hr window panel gets moved INTO active time-cat by JS */
.basket-pdp-v2a-wrap .tl-windows{display:none !important;margin-top:14px !important;padding-top:14px !important;border-top:1px solid rgba(246,241,232,.18) !important;flex-wrap:wrap !important;gap:6px !important;width:100% !important;border-radius:0 !important}
.basket-pdp-v2a-wrap .time-cat.is-active > .tl-windows{display:flex !important;animation:tlHintFade .5s ease both !important}
.basket-pdp-v2a-wrap .tl-windows-h{flex-basis:100% !important;font-family:var(--cjk) !important;font-size:11px !important;color:rgba(246,241,232,.6) !important;letter-spacing:.18em !important;margin-bottom:8px !important}

.basket-pdp-v2a-wrap .tl-windows .quick{flex:1 1 30% !important;padding:11px 8px !important;text-align:center !important;font-family:var(--cjk) !important;font-size:13px !important;background:transparent !important;border:1px solid rgba(246,241,232,.25) !important;color:var(--paper) !important;cursor:pointer !important;transition:all .25s !important;letter-spacing:.04em !important;border-radius:8px !important;animation:tlWinStagger .5s cubic-bezier(.4,0,.2,1) both !important}
.basket-pdp-v2a-wrap .tl-windows .quick:nth-child(2){animation-delay:.3s !important}
.basket-pdp-v2a-wrap .tl-windows .quick:nth-child(3){animation-delay:.4s !important}
.basket-pdp-v2a-wrap .tl-windows .quick:nth-child(4){animation-delay:.5s !important}
.basket-pdp-v2a-wrap .tl-windows .quick:hover{background:rgba(246,241,232,.08) !important;transform:translateY(-2px) !important}
.basket-pdp-v2a-wrap .tl-windows .quick.is-active{background:var(--gold) !important;color:var(--forest-deep) !important;border-color:var(--gold) !important;font-weight:500 !important;transform:scale(1.04) !important}
.basket-pdp-v2a-wrap .tl-windows .quick.is-disabled{opacity:.35 !important;cursor:not-allowed !important;text-decoration:line-through}

/* Round corners on upgrade row + 30min slot + date quick-row to match style B */
.basket-pdp-v2a-wrap .upgrade-row .upgrade{border-radius:10px !important}
.basket-pdp-v2a-wrap .hour{border-radius:8px !important}
.basket-pdp-v2a-wrap .quick-row:not(.tl-windows) .quick{border-radius:8px !important}
.basket-pdp-v2a-wrap .size{border-radius:0 !important}
.basket-pdp-v2a-wrap .uline{border-radius:0 !important}
.basket-pdp-v2a-wrap .zone-result{border-radius:12px !important}

/* cache-bust 1779674629 */
/* cache-bust-vis-fix-1779674656 */

/* Ensure .tl-windows .quick.is-active = gold + dark (override any other rule) */
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-windows .quick.is-active,
.basket-pdp-v2a-wrap .tl-win-pool .quick.is-active{
  background: var(--gold) !important;
  color: var(--forest-deep) !important;
  border-color: var(--gold) !important;
  font-weight: 500 !important;
  transform: scale(1.04) !important;
}

/* cache-bust-4polish-1779675568 */

/* Disabled time-cat: grayed out + line-through + not-clickable + "來不及" badge */
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled{
  opacity: .42 !important;
  cursor: not-allowed !important;
  background: transparent !important;
  filter: grayscale(.4);
  position: relative !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled:hover{
  border-color: var(--rule) !important;
  transform: none !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled::before{
  background: var(--bg) !important;
  border-color: var(--rule) !important;
  animation: none !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled .cn{
  text-decoration: line-through !important;
  text-decoration-color: var(--muted) !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled::after{
  content: "今日來唔切" !important;
  position: absolute !important;
  top: 50% !important;
  right: 18px !important;
  transform: translateY(-50%) !important;
  background: var(--muted) !important;
  color: var(--paper) !important;
  font-family: var(--cjk) !important;
  font-size: 10.5px !important;
  letter-spacing: .14em !important;
  padding: 4px 10px !important;
  border-radius: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  border: 0 !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  pointer-events: none;
}
/* Recommended badge hidden when disabled */
.basket-pdp-v2a-wrap .tl-timeline .time-cat.tl-recommended.is-disabled::after{
  content: "今日來唔切 · 揀明日" !important;
  background: var(--muted) !important;
  color: var(--paper) !important;
}

/* cache-bust-disabled-1779676624 */
/* cache-bust-cat-cutoffs-1779680694 */

/* Time-cat fee: floating gold badge at top-right */





/* Recommended badge moved to BOTTOM-LEFT to free top-right for fee */



/* Upgrade row · corner badge */




/* cache-bust-corner-badge-1779681435 */

/* Disabled badge muted */


/* cache-bust-ultra-1779682162 */
/* cache-bust-root-fix-1779682486 */
/* cache-bust-root-v2-1779682570 */
/* rollback-to-cat-cutoffs-1779688130 */
/* rollback-v2-1779688209 */

/* ─── Baseline inline fee styling (match mockup 1:1) ─── */
.basket-pdp-v2a-wrap .tl-timeline .time-cat .meta.tl-fee,
.basket-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee{
  font-family: var(--sc) !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  color: var(--gold-deep) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  position: static !important;
  display: inline !important;
  margin: 0 !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.tl-free,
.basket-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.free{
  color: var(--forest) !important;
  font-weight: 500 !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee{
  color: var(--gold) !important;
  font-size: 12px !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.tl-free,
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.free{
  color: var(--gold) !important;
}
/* Disabled fee = muted */
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled .tl-fee{
  color: var(--muted) !important;
  text-decoration: line-through !important;
}

/* Recommended badge restored to TOP-RIGHT */
.basket-pdp-v2a-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 16px 0 14px !important;
}

/* match-mockup-1779688524 */
/* cache-bust-default-active-1779688882 */

/* Disabled windows: visible but line-through (so customer knows past cutoff) */
.basket-pdp-v2a-wrap .time-cat.is-active .tl-windows .quick.is-disabled,
.basket-pdp-v2a-wrap .tl-win-pool .quick.is-disabled{
  opacity: .35 !important;
  text-decoration: line-through !important;
  cursor: not-allowed !important;
  background: transparent !important;
  color: rgba(246,241,232,.5) !important;
  border-color: rgba(246,241,232,.18) !important;
  pointer-events: none;
}
.basket-pdp-v2a-wrap .time-cat.is-active .tl-windows .quick:not(.is-disabled),
.basket-pdp-v2a-wrap .tl-win-pool .quick:not(.is-disabled){
  color: var(--paper) !important;
  background: transparent !important;
  border: 1px solid rgba(246,241,232,.25) !important;
}

/* fix-3-issues-1779689488 */
/* restore-guard-1779689541 */

/* Pool now inline inside owning time-cat · show only when active */
.basket-pdp-v2a-wrap .tl-timeline .time-cat .tl-windows{
  display: none !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(246,241,232,.18) !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  width: 100% !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-windows{
  display: flex !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat .tl-windows-h{
  flex-basis: 100% !important;
  font-family: var(--cjk) !important;
  font-size: 11px !important;
  color: rgba(246,241,232,.6) !important;
  letter-spacing: .18em !important;
  margin-bottom: 8px !important;
}

/* inline-pools-1779697167 */


/* time-cat needs padding-top to make room for badge */
.basket-pdp-v2a-wrap .tl-timeline .time-cat{
  padding-top: 32px !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active{
  padding-top: 36px !important;
}
/* Recommended badge moved to bottom-left to free top-right for fee */
.basket-pdp-v2a-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
  right: auto !important;
  left: 0 !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 14px 0 16px !important;
}

/* corner-badge-redeploy-1779697410 */

/* Style B Rounded Corners — inline fee · 推薦 top-right */
.basket-pdp-v2a-wrap .tl-timeline .time-cat{
  padding-top: 16px !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active{
  padding-top: 22px !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat .meta.tl-fee,
.basket-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee{
  position: static !important;
  background: transparent !important;
  color: var(--gold-deep) !important;
  font-family: var(--sc) !important;
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  display: inline !important;
  margin-left: 12px !important;
  line-height: 1 !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.tl-free,
.basket-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.free{
  color: var(--forest) !important;
  font-family: var(--cjk) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: .08em !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee{
  color: var(--gold) !important;
  font-size: 12px !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.tl-free,
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.free{
  color: var(--gold) !important;
}
.basket-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled .tl-fee{
  color: var(--muted) !important;
  background: transparent !important;
  text-decoration: line-through !important;
  box-shadow: none !important;
}
/* Recommended tag at TOP-RIGHT (Style B) */
.basket-pdp-v2a-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 16px 0 14px !important;
}
/* Upgrade extra: inline small caps gold-deep (no floating badge) */
.basket-pdp-v2a-wrap .upgrade-row .upgrade{
  padding-top: 9px !important;
}
.basket-pdp-v2a-wrap .upgrade-row .upgrade .extra{
  position: static !important;
  background: transparent !important;
  color: var(--gold-deep) !important;
  font-family: var(--sc) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}
.basket-pdp-v2a-wrap .upgrade-row .upgrade.is-active .extra{
  background: transparent !important;
  color: var(--ink) !important;
}

/* style-b-rollback-1779697860 */
/* clean-residual-1779698026 */
/* syntax-fix-1779698898 */
/* inline-fallback-1779699648 */
/* upgrade-delegation-1779700618 */
/* v3-1779709698 */
/* v4-1779710191 */



/* d4-progress-1779717076 */
/* tracker-js-1779717152 */
/* validation-fix-1779717580 */


/* v5-tracker-1779718631 */

/* === D4 Tracker Re-Push 1779719476 === */
.basket-pdp-v2a-wrap .v2a-progress-track{
  /* Static inside sticky parent · NO own sticky · prevents sub-pixel gap */
  position: static !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--forest-deep) !important;
  /* Hidden by default · revealed on first Part 2 form interaction */
  max-height: 0 !important;
  opacity: 0 !important;
  transform: translateY(-8px) !important;
  overflow: hidden !important;
  transition: max-height 1s cubic-bezier(.22,1,.36,1), opacity .7s ease-in-out, transform .9s cubic-bezier(.22,1,.36,1) !important;
  pointer-events: none !important;
}
.basket-pdp-v2a-wrap .v2a-progress-track.is-revealed{
  transform: translateY(0) !important;
}
/* Progress inner: keep forest-deep bg, no border-radius, flush with nav */
.basket-pdp-v2a-wrap .v2a-progress-track .ptk-inner{
  border-radius: 0 !important;
  box-shadow: none !important;
  max-width: var(--max) !important;
  margin: 0 auto !important;
}
.basket-pdp-v2a-wrap .v2a-progress-track.is-revealed{
  max-height: 160px !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.basket-pdp-v2a-wrap .ptk-inner{
  background: var(--forest-deep) !important;
  color: var(--paper) !important;
  padding: 10px 24px !important;
  border-radius: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: hidden !important;
}
.basket-pdp-v2a-wrap .ptk-inner::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(184,153,104,.25), transparent) !important;
  transform: translateX(-100%) !important;
  animation: ptkTrail 3s ease-in-out infinite !important;
  pointer-events: none !important;
}
@keyframes ptkTrail{0%,30%{transform:translateX(-100%)}60%,100%{transform:translateX(200%)}}
.basket-pdp-v2a-wrap .ptk-head{
  font-family: var(--cjk) !important;
  font-size: 13px !important;
  letter-spacing: .1em !important;
  font-weight: 500 !important;
  position: relative !important;
  z-index: 1 !important;
}
.basket-pdp-v2a-wrap .ptk-pct{
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--gold) !important;
  margin-left: 8px !important;
}
.basket-pdp-v2a-wrap .ptk-dots{
  display: flex !important;
  gap: 28px !important;
  align-items: center !important;
  position: relative !important;
  z-index: 1 !important;
}
.basket-pdp-v2a-wrap .ptk-step{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  position: relative !important;
}
.basket-pdp-v2a-wrap .ptk-step:not(:first-child)::before{
  content: "" !important;
  position: absolute !important;
  right: 100% !important;
  top: 6.5px !important;
  width: 28px !important;
  height: 1.5px !important;
  background: rgba(246,241,232,.2) !important;
  transition: background .35s !important;
}
.basket-pdp-v2a-wrap .ptk-step.is-done + .ptk-step::before,
.basket-pdp-v2a-wrap .ptk-step.is-done + .ptk-step.is-current::before{
  background: var(--gold) !important;
}
.basket-pdp-v2a-wrap .ptk-dot{
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: rgba(246,241,232,.15) !important;
  transition: all .35s !important;
  position: relative !important;
}
.basket-pdp-v2a-wrap .ptk-mini{
  font-family: var(--sc) !important;
  font-size: 8.5px !important;
  letter-spacing: .18em !important;
  color: rgba(246,241,232,.5) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.basket-pdp-v2a-wrap .ptk-step.is-done .ptk-dot{
  background: var(--gold) !important;
  box-shadow: 0 0 8px rgba(184,153,104,.6) !important;
}
.basket-pdp-v2a-wrap .ptk-step.is-done .ptk-mini{
  color: var(--gold) !important;
  font-weight: 500 !important;
}
.basket-pdp-v2a-wrap .ptk-step.is-current .ptk-dot{
  background: var(--paper) !important;
  width: 18px !important;
  height: 18px !important;
  animation: ptkGlow 1.8s ease-in-out infinite !important;
}
.basket-pdp-v2a-wrap .ptk-step.is-current .ptk-mini{
  color: var(--paper) !important;
  font-weight: 500 !important;
}
@keyframes ptkGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(246,241,232,.7), 0 0 8px var(--gold)}
  50%{box-shadow:0 0 0 6px rgba(246,241,232,0), 0 0 14px var(--gold)}
}
@media (max-width: 900px){
  .basket-pdp-v2a-wrap .v2a-progress-track{margin: 0 !important;padding: 0 !important;max-width:100% !important}
  .basket-pdp-v2a-wrap .ptk-inner{flex-direction: column !important;align-items: stretch !important;gap: 8px !important;padding: 10px 14px !important;border-radius: 0 !important}
  .basket-pdp-v2a-wrap .ptk-head{text-align: center !important;font-size: 12px !important;display: flex !important;justify-content: center !important;align-items: baseline !important}
  .basket-pdp-v2a-wrap .ptk-pct{font-size:16px !important}
  .basket-pdp-v2a-wrap .ptk-dots{justify-content: space-between !important;gap: 0 !important;width: 100% !important}
  .basket-pdp-v2a-wrap .ptk-step{flex: 1 !important}
  .basket-pdp-v2a-wrap .ptk-step:not(:first-child)::before{left: -50% !important;right: 50% !important;width: auto !important;top: 6.5px !important}
  .basket-pdp-v2a-wrap .ptk-mini{font-size: 8.5px !important;margin-top: 2px !important}
  .basket-pdp-v2a-wrap .ptk-step.is-current .ptk-dot{width: 16px !important;height: 16px !important}
}

/* rollback-d4-1779718978 */
/* fix-braces-1779719707 */
/* root-cause-fix-1779720226 */
/* dynamic-product-hero-2026-05-25 */
/* Accommodate long product titles · auto-shrink + balance line breaks */
.basket-pdp-v2a-wrap .hero-title-cjk{
  font-size:clamp(28px,3.6vw,56px) !important;
  line-height:1.18 !important;
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
  text-wrap:balance;
  letter-spacing:.08em !important;
}
.basket-pdp-v2a-wrap .hero-lede{
  font-size:14.5px !important;
  line-height:1.85 !important;
  max-width:46ch !important;
  color:var(--ink) !important;
}
@media (max-width:900px){
  .basket-pdp-v2a-wrap .hero-title-cjk{font-size:clamp(26px,6.5vw,38px) !important;letter-spacing:.06em !important}
  .basket-pdp-v2a-wrap .hero-title-latin{font-size:15px !important}
  .basket-pdp-v2a-wrap .hero-lede{font-size:13.5px !important;max-width:none !important}
}
/* price-typography-fix-2026-05-26 · Gary feedback */
/* Move ALL price digits off Cormorant Garamond italic (oldstyle figures · 1 矮 7 高) */
/* Use Inter Tight tabular-nums · all digits same height · column-aligned · luxury sans pairing */
.basket-pdp-v2a-wrap .price,
.basket-pdp-v2a-wrap .size .v,
.basket-pdp-v2a-wrap .price-alt,
.basket-pdp-v2a-wrap .zone-fee,
.basket-pdp-v2a-wrap .checkout-summary .total-line .v,
.basket-pdp-v2a-wrap #sum-flower,
.basket-pdp-v2a-wrap #sum-total,
.basket-pdp-v2a-wrap #sum-up,
.basket-pdp-v2a-wrap .tl-fee,
.basket-pdp-v2a-wrap .upgrade .extra{
  font-family: 'Inter Tight', system-ui, -apple-system, sans-serif !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
  font-variant-numeric: tabular-nums lining-nums !important;
  letter-spacing: 0 !important;
}
/* Hero big price · larger weight + slight optical tighten */
.basket-pdp-v2a-wrap .price{font-weight:600 !important;letter-spacing:-.005em !important}
/* size grid price · cleaner secondary weight */
.basket-pdp-v2a-wrap .size .v{font-weight:500 !important}
.basket-pdp-v2a-wrap .size.is-active .v{color:var(--gold) !important}

/* mobile-nav-scroll-shrink-2026-05-26 · Gary picked Variant ④ */
/* Mobile only: single-row nav · hide EN + logo sub · scroll-aware shrink */
@media (max-width: 900px){
  /* Hide EN subtitles + logo subtitle to fit one row */
  .basket-pdp-v2a-wrap .nav-list a .en{display:none !important}
  .basket-pdp-v2a-wrap .nav-logo .sub{display:none !important}
  /* Single row · nav-inner stay flex row · tighter padding */
  .basket-pdp-v2a-wrap .nav-inner{padding:12px 14px !important;align-items:center !important;transition:padding .35s ease !important}
  .basket-pdp-v2a-wrap .nav-logo{font-size:18px !important;letter-spacing:.22em !important;transition:font-size .35s ease !important}
  /* Nav links: single row · evenly spaced · no wrap · smaller font */
  .basket-pdp-v2a-wrap .nav-list{display:flex !important;flex-wrap:nowrap !important;gap:12px !important;align-items:center !important}
  .basket-pdp-v2a-wrap .nav-list a{font-size:12.5px !important;letter-spacing:.04em !important;padding:4px 0 !important;transition:font-size .35s ease !important;white-space:nowrap !important}
  /* Smaller active underline */
  .basket-pdp-v2a-wrap .nav-list a.is-active::after{bottom:-4px !important;width:12px !important}
  /* ── Scroll-shrunk state ── */
  .basket-pdp-v2a-wrap .nav.is-shrunk .nav-inner{padding:6px 14px !important}
  .basket-pdp-v2a-wrap .nav.is-shrunk .nav-logo{font-size:14px !important}
  .basket-pdp-v2a-wrap .nav.is-shrunk .nav-list a{font-size:11px !important}
  .basket-pdp-v2a-wrap .nav.is-shrunk .nav-list a.is-active::after{bottom:-3px !important;width:10px !important}

  /* Mobile · 輓詞 chip 3-column grid · Gary 2026-05-26 (善用闊度) */
  .basket-pdp-v2a-wrap .chip-row{display:grid !important;grid-template-columns:repeat(3, 1fr) !important;gap:6px !important}
  .basket-pdp-v2a-wrap .chip{
    font-size:13px !important;letter-spacing:.06em !important;
    padding:9px 4px !important;text-align:center !important;
    justify-content:center !important;gap:3px !important;
    min-width:0 !important;
  }
  .basket-pdp-v2a-wrap .chip .g{font-size:8.5px !important;letter-spacing:.05em !important}

  /* Mobile font + tap-target enlargement · per Gary 2026-05-26 (only mobile) */
  .basket-pdp-v2a-wrap .ptk-head{flex-wrap:wrap !important;gap:8px 12px !important;justify-content:center !important}
  .basket-pdp-v2a-wrap .ptk-lbl{font-size:12.5px !important;letter-spacing:.26em !important}
  .basket-pdp-v2a-wrap .ptk-pct{font-size:17px !important}
  .basket-pdp-v2a-wrap .ptk-next{font-size:13px !important;padding:5px 12px !important;border-radius:16px !important}
  .basket-pdp-v2a-wrap .ptk-mini{font-size:10.5px !important;letter-spacing:.06em !important;font-family:var(--cjk) !important;text-transform:none !important}
  .basket-pdp-v2a-wrap .ptk-dot{width:16px !important;height:16px !important}
  .basket-pdp-v2a-wrap .ptk-step.is-done .ptk-dot{width:20px !important;height:20px !important}
  .basket-pdp-v2a-wrap .ptk-step.is-done .ptk-dot::before{font-size:17px !important}
}

/* progress-tracker-variant-① 2026-05-26 · Gary pick: 紅光 pulse + ✅ 完成 + 下一步紅 pill 白字 · BOTH desktop + mobile */
/* ✅ on completed steps · replace dot fill (universal) */
.basket-pdp-v2a-wrap .ptk-step.is-done .ptk-dot{
  background:transparent !important;border:0 !important;box-shadow:none !important;
  width:18px !important;height:18px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  overflow:visible !important;
}
.basket-pdp-v2a-wrap .ptk-step.is-done .ptk-dot::before{
  content:"✅" !important;font-size:15px !important;line-height:1 !important;
  animation:ptkTickIn .6s ease forwards !important;
}
@keyframes ptkTickIn{0%{transform:scale(.3);opacity:0}55%{transform:scale(1.25);opacity:1}100%{transform:scale(1);opacity:1}}
.basket-pdp-v2a-wrap .ptk-step.is-done .ptk-mini{color:var(--gold) !important;font-weight:500 !important}

/* Red pulse on current step · 1.4s loop (universal) */
.basket-pdp-v2a-wrap .ptk-step.is-current .ptk-dot{
  background:#A4292B !important;border:0 !important;
  width:14px !important;height:14px !important;
  animation:ptkRedPulse 1.4s ease-in-out infinite !important;
}
.basket-pdp-v2a-wrap .ptk-step.is-current .ptk-dot::before{content:"" !important}
.basket-pdp-v2a-wrap .ptk-step.is-current .ptk-mini{color:#FF8E91 !important;font-weight:500 !important}
@keyframes ptkRedPulse{0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,.55)}50%{box-shadow:0 0 0 8px rgba(164,41,43,0)}}

/* ─── Custom Date Modal (cdm) · Variant ② Gary 2026-05-26 ─── */
.basket-pdp-v2a-wrap .cdm-overlay{
  position:fixed !important;inset:0 !important;background:rgba(31,49,40,.55) !important;
  display:none !important;align-items:center !important;justify-content:center !important;
  backdrop-filter:blur(3px) !important;-webkit-backdrop-filter:blur(3px) !important;
  z-index:200 !important;opacity:0 !important;transition:opacity .35s ease !important;
}
.basket-pdp-v2a-wrap .cdm-overlay.is-open{display:flex !important;opacity:1 !important}
.basket-pdp-v2a-wrap .cdm-modal{
  background:var(--bg) !important;border:1px solid var(--rule) !important;border-radius:18px !important;
  padding:18px 18px 14px !important;width:90% !important;max-width:380px !important;
  box-shadow:0 24px 60px rgba(31,49,40,.4) !important;
  transform:scale(.92) translateY(8px) !important;transition:transform .4s cubic-bezier(.22,1,.36,1) !important;
}
.basket-pdp-v2a-wrap .cdm-overlay.is-open .cdm-modal{transform:scale(1) translateY(0) !important}
.basket-pdp-v2a-wrap .cdm-head{display:flex !important;justify-content:space-between !important;align-items:center !important;margin-bottom:12px !important;padding-bottom:10px !important;border-bottom:1px solid var(--rule) !important}
.basket-pdp-v2a-wrap .cdm-title{font-family:var(--serif) !important;font-size:17px !important;font-weight:500 !important;color:var(--forest-deep) !important;letter-spacing:.04em !important}
.basket-pdp-v2a-wrap .cdm-nav{
  width:32px !important;height:32px !important;border-radius:50% !important;
  border:1px solid var(--rule) !important;background:transparent !important;cursor:pointer !important;
  font-family:'Inter Tight',sans-serif !important;font-size:18px !important;font-weight:500 !important;
  color:var(--ink) !important;display:flex !important;align-items:center !important;justify-content:center !important;
  transition:all .2s !important;
}
.basket-pdp-v2a-wrap .cdm-nav:hover:not(:disabled){border-color:var(--forest) !important;background:var(--bg-2) !important}
.basket-pdp-v2a-wrap .cdm-nav:disabled{opacity:.3 !important;cursor:not-allowed !important}
.basket-pdp-v2a-wrap .cdm-grid{display:grid !important;grid-template-columns:repeat(7,1fr) !important;gap:3px !important;margin-bottom:4px !important}
.basket-pdp-v2a-wrap .cdm-wd{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;text-transform:uppercase !important;text-align:center !important;padding:4px 0 !important}
.basket-pdp-v2a-wrap .cdm-days{display:grid !important;grid-template-columns:repeat(7,1fr) !important;gap:3px !important}
.basket-pdp-v2a-wrap .cdm-day{
  aspect-ratio:1 !important;display:flex !important;align-items:center !important;justify-content:center !important;
  font-family:'Inter Tight',sans-serif !important;font-size:13.5px !important;font-weight:500 !important;
  color:var(--ink) !important;cursor:pointer !important;border-radius:50% !important;
  transition:all .15s !important;background:transparent !important;border:0 !important;
}
.basket-pdp-v2a-wrap .cdm-day:hover:not(.is-out):not(.is-past):not(.is-future){background:var(--bg-2) !important}
.basket-pdp-v2a-wrap .cdm-day.is-out{visibility:hidden !important}
.basket-pdp-v2a-wrap .cdm-day.is-past{color:var(--muted) !important;opacity:.3 !important;cursor:not-allowed !important;text-decoration:line-through !important}
.basket-pdp-v2a-wrap .cdm-day.is-future{color:var(--muted) !important;opacity:.35 !important;cursor:not-allowed !important}
.basket-pdp-v2a-wrap .cdm-day.is-today{background:rgba(164,41,43,.10) !important;color:#A4292B !important;font-weight:600 !important}
.basket-pdp-v2a-wrap .cdm-day.is-sel{background:var(--forest-deep) !important;color:var(--bg) !important;font-weight:600 !important}
.basket-pdp-v2a-wrap .cdm-day.is-sel:hover{background:var(--forest-deep) !important}
.basket-pdp-v2a-wrap .cdm-foot{display:flex !important;justify-content:space-between !important;align-items:center !important;margin-top:14px !important;padding-top:12px !important;border-top:1px solid var(--rule) !important;gap:10px !important;flex-wrap:wrap !important}
.basket-pdp-v2a-wrap .cdm-info{font-family:var(--cjk) !important;font-size:11.5px !important;color:var(--muted) !important;letter-spacing:.04em !important}
.basket-pdp-v2a-wrap .cdm-info.has-sel{color:var(--forest-deep) !important;font-weight:500 !important}
.basket-pdp-v2a-wrap .cdm-actions{display:flex !important;gap:8px !important}
.basket-pdp-v2a-wrap .cdm-btn{
  padding:8px 16px !important;font-family:var(--cjk) !important;font-size:12.5px !important;
  letter-spacing:.04em !important;cursor:pointer !important;border:0 !important;border-radius:6px !important;
  transition:all .2s !important;
}
.basket-pdp-v2a-wrap .cdm-cancel{background:transparent !important;color:var(--muted) !important;border:1px solid var(--rule) !important}
.basket-pdp-v2a-wrap .cdm-cancel:hover{border-color:var(--forest) !important;color:var(--ink) !important}
.basket-pdp-v2a-wrap .cdm-confirm{background:var(--forest-deep) !important;color:var(--bg) !important}
.basket-pdp-v2a-wrap .cdm-confirm:hover:not(:disabled){background:var(--forest) !important;box-shadow:0 4px 12px rgba(31,49,40,.25) !important}
.basket-pdp-v2a-wrap .cdm-confirm:disabled{opacity:.4 !important;cursor:not-allowed !important}
.basket-pdp-v2a-wrap .quick.quick-custom.has-custom{background:var(--gold-deep) !important;color:#fff !important;border-color:var(--gold-deep) !important;border-style:solid !important}
@media (max-width:480px){
  .basket-pdp-v2a-wrap .cdm-modal{max-width:330px !important;padding:14px !important}
  .basket-pdp-v2a-wrap .cdm-title{font-size:15px !important}
  .basket-pdp-v2a-wrap .cdm-day{font-size:12px !important}
}

/* "↓ 下一步：xxx" red pill · white text · pulse halo (desktop + mobile) */
.basket-pdp-v2a-wrap .ptk-next{
  display:inline-flex !important;align-items:center !important;
  font-family:var(--cjk) !important;
  font-size:11.5px !important;
  font-weight:500 !important;
  color:#fff !important;
  background:#A4292B !important;
  padding:4px 11px !important;
  border-radius:14px !important;
  letter-spacing:.04em !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  animation:ptkNextPulse 1.6s ease-in-out infinite !important;
}
.basket-pdp-v2a-wrap .ptk-next:empty{display:none !important}
@keyframes ptkNextPulse{0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,.45)}50%{box-shadow:0 0 0 7px rgba(164,41,43,0)}}

/* ─── nav-merge-bilingual-hover-reveal · Gary picked ② · 2026-05-26 (desktop + mobile) ─── */
/* Hide old top bar — content folded into nav */
.basket-pdp-v2a-wrap .top{display:none !important}

/* Single sticky parent wraps nav + progress · prevents sub-pixel gap on Safari URL bar shrink */
.basket-pdp-v2a-wrap .v2a-sticky-header{
  position:sticky !important;
  top:0 !important;
  z-index:50 !important;
  background:var(--forest-deep) !important;
  box-shadow:0 4px 10px rgba(0,0,0,.22), 0 2px 4px rgba(0,0,0,.15) !important;
}

/* .nav: static inside sticky parent · forest deep · clean merge */
.basket-pdp-v2a-wrap .nav{
  background:var(--forest-deep) !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  position:static !important;
  transition:padding .5s cubic-bezier(.22,1,.36,1) !important;
}
.basket-pdp-v2a-wrap .nav-inner{
  padding:12px var(--gut) !important;
  transition:padding .5s cubic-bezier(.22,1,.36,1) !important;
}

/* TFK logo: paper white · large at top · shrinks + wobbles on scroll */
.basket-pdp-v2a-wrap .nav-logo{
  color:var(--paper) !important;
  font-size:22px !important;
  letter-spacing:.32em !important;
  transition:font-size .5s cubic-bezier(.22,1,.36,1) !important;
}
.basket-pdp-v2a-wrap .nav-logo .sub{
  color:var(--gold-bright) !important;
  transition:opacity .3s ease, max-height .35s ease !important;
}
.basket-pdp-v2a-wrap .nav.is-shrunk .nav-logo{
  font-size:14px !important;
  animation:logoWobble .35s ease !important;
}
.basket-pdp-v2a-wrap .nav.is-shrunk .nav-logo .sub{
  opacity:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
}
.basket-pdp-v2a-wrap .nav.is-shrunk .nav-inner{padding:6px var(--gut) !important}
@keyframes logoWobble{0%,100%{transform:translateY(0)}30%{transform:translateY(-2px)}60%{transform:translateY(1px)}}

/* Nav links: paper white text · 中文 always · EN hidden until hover/active */
.basket-pdp-v2a-wrap .nav-list a{
  color:var(--paper) !important;
  position:relative !important;
  padding:6px 0 14px !important;
  line-height:1 !important;
}
.basket-pdp-v2a-wrap .nav-list a .en{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  bottom:0 !important;
  transform:translateX(-50%) translateY(0) !important;
  font-family:var(--sc) !important;
  font-size:9.5px !important;
  letter-spacing:.18em !important;
  color:var(--gold-bright) !important;
  text-transform:uppercase !important;
  opacity:1 !important;
  white-space:nowrap !important;
  text-align:center !important;
  margin:0 !important;
  transition:opacity .3s ease, transform .3s ease !important;
  pointer-events:none !important;
}
.basket-pdp-v2a-wrap .nav-list a:hover .en,
.basket-pdp-v2a-wrap .nav-list a.is-active .en{
  opacity:1 !important;
  transform:translateX(-50%) translateY(0) !important;
}
.basket-pdp-v2a-wrap .nav-list a.is-active{
  color:var(--gold-bright) !important;
  font-weight:500 !important;
}
.basket-pdp-v2a-wrap .nav-list a.is-active::after{
  background:var(--gold-bright) !important;
  bottom:-2px !important;
  width:14px !important;
}

/* Progress Bar default · ptk-bar hidden on mobile (covered by mobile @media) */
.basket-pdp-v2a-wrap .ptk-bar{display:none}
.basket-pdp-v2a-wrap .ptk-step{cursor:pointer !important;transition:opacity .25s}
.basket-pdp-v2a-wrap .ptk-step:hover .ptk-mini{color:var(--gold-bright) !important}

/* ─── Desktop ④ Progress Bar Line Layout (Gary 2026-05-26) ─── */
@keyframes ptkFillPulse{0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,.55)}50%{box-shadow:0 0 0 7px rgba(164,41,43,0)}}
@media (min-width:901px){
  .basket-pdp-v2a-wrap .ptk-inner{
    display:grid !important;
    grid-template-columns:auto auto 1fr auto !important;
    grid-template-rows:auto auto !important;
    padding:9px 32px 12px !important;
    gap:8px 14px !important;
    align-items:center !important;
    flex-direction:initial !important;
  }
  .basket-pdp-v2a-wrap .ptk-head{display:contents !important}
  .basket-pdp-v2a-wrap .ptk-bar{
    display:block !important;
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    height:3px !important;
    background:rgba(184,150,90,.18) !important;
    border-radius:2px !important;
    position:relative !important;
    overflow:visible !important;
    width:100% !important;
  }
  .basket-pdp-v2a-wrap .ptk-fill{
    height:100% !important;
    background:linear-gradient(90deg,var(--gold-deep),var(--gold-bright)) !important;
    border-radius:2px !important;
    transition:width .8s cubic-bezier(.22,1,.36,1) !important;
    position:relative !important;
  }
  .basket-pdp-v2a-wrap .ptk-fill::after{
    content:"" !important;
    position:absolute !important;
    right:-3px !important;
    top:-3px !important;
    width:9px !important;
    height:9px !important;
    background:#A4292B !important;
    border-radius:50% !important;
    animation:ptkFillPulse 1.4s ease-in-out infinite !important;
  }
  .basket-pdp-v2a-wrap .ptk-lbl{
    grid-column:1 !important;grid-row:2 !important;
    font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;
    color:var(--gold-bright) !important;text-transform:uppercase !important;
  }
  .basket-pdp-v2a-wrap .ptk-pct{
    grid-column:2 !important;grid-row:2 !important;
    font-family:var(--serif) !important;font-style:italic !important;font-size:17px !important;
    color:var(--paper) !important;font-weight:500 !important;letter-spacing:0 !important;
  }
  .basket-pdp-v2a-wrap .ptk-dots{
    grid-column:3 !important;grid-row:2 !important;
    display:flex !important;justify-content:center !important;gap:42px !important;align-items:center !important;
  }
  .basket-pdp-v2a-wrap .ptk-step{
    display:flex !important;flex-direction:row !important;align-items:center !important;gap:6px !important;flex:0 0 auto !important;
  }
  .basket-pdp-v2a-wrap .ptk-step .ptk-dot{display:none !important}
  .basket-pdp-v2a-wrap .ptk-step .ptk-mini{
    font-family:var(--cjk) !important;font-size:12px !important;letter-spacing:.06em !important;
    text-transform:none !important;color:var(--paper) !important;opacity:.5 !important;
    margin:0 !important;transition:all .3s !important;
  }
  .basket-pdp-v2a-wrap .ptk-step.is-done .ptk-mini{color:var(--gold) !important;opacity:1 !important;font-weight:500 !important}
  .basket-pdp-v2a-wrap .ptk-step.is-done .ptk-mini::before{content:"✓ " !important;color:var(--gold-bright) !important;font-weight:700 !important}
  .basket-pdp-v2a-wrap .ptk-step.is-current .ptk-mini{color:#FF8E91 !important;opacity:1 !important;font-weight:500 !important}
  .basket-pdp-v2a-wrap .ptk-step.is-current .ptk-mini::before{
    content:"● " !important;color:#A4292B !important;
    animation:ptkFillPulse 1.4s ease-in-out infinite !important;
    display:inline-block !important;font-size:9px !important;vertical-align:middle !important;margin-right:2px !important;
  }
  .basket-pdp-v2a-wrap .ptk-next{grid-column:4 !important;grid-row:2 !important;justify-self:end !important}
}

/* Field flash (red pulse on incomplete field after step click) · desktop + mobile */
/* Use box-shadow (not outline) · works on inputs/selects without border-radius issues */
@keyframes fieldFlashStrong{
  0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,0), inset 0 0 0 0 rgba(164,41,43,0);background-color:transparent}
  15%,55%{box-shadow:0 0 0 4px rgba(164,41,43,.4), 0 0 0 6px rgba(164,41,43,.16);background-color:rgba(164,41,43,.10)}
}
.basket-pdp-v2a-wrap .ptk-flash-target{
  animation:fieldFlashStrong 1.6s ease-in-out 3 !important;
  scroll-margin-top:160px !important;
  position:relative !important;
  z-index:5 !important;
  border-radius:4px !important;
}
.basket-pdp-v2a-wrap input.ptk-flash-target,
.basket-pdp-v2a-wrap select.ptk-flash-target{
  border-bottom:2px solid #A4292B !important;
}

/* CART (n) link · right side of merged dark bar */
.basket-pdp-v2a-wrap .nav-cart{
  color:var(--gold-bright) !important;
  font-family:var(--sc) !important;
  font-size:11px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  padding:6px 10px !important;
  border:1px solid rgba(184,150,90,.4) !important;
  border-radius:4px !important;
  transition:all .25s !important;
  white-space:nowrap !important;
  flex-shrink:0 !important;
  margin-left:8px !important;
}
.basket-pdp-v2a-wrap .nav-cart:hover{
  background:rgba(184,150,90,.16) !important;
  border-color:var(--gold-bright) !important;
}
.basket-pdp-v2a-wrap .nav-cart #nav-cart-count{font-family:'Inter Tight',sans-serif !important;font-weight:600 !important;font-size:11.5px !important;letter-spacing:.02em !important;font-feature-settings:"tnum" 1 !important}
.basket-pdp-v2a-wrap .nav.is-shrunk .nav-cart{padding:4px 8px !important;font-size:10px !important}
@media (max-width:900px){
  .basket-pdp-v2a-wrap .nav-cart{padding:5px 8px !important;font-size:10px !important;letter-spacing:.18em !important;margin-left:6px !important}
}

/* Option ② Cream Ivory · nav text overrides · Gary 2026-05-27 */
.basket-pdp-v2a-wrap .v2a-sticky-header,
.basket-pdp-v2a-wrap .nav{background:#6E2F38 !important}
.basket-pdp-v2a-wrap .nav-logo{color:#FCF4E5 !important}
.basket-pdp-v2a-wrap .nav-logo .sub{color:#E0BC8B !important}
.basket-pdp-v2a-wrap .nav-list a{color:#FCF4E5 !important}
.basket-pdp-v2a-wrap .nav-list a .en{color:#E0BC8B !important}
.basket-pdp-v2a-wrap .nav-list a.is-active{color:#F0D2A0 !important}
.basket-pdp-v2a-wrap .nav-list a.is-active::after{background:#F0D2A0 !important}
.basket-pdp-v2a-wrap .nav-cart{color:#F0D2A0 !important;border-color:rgba(252,244,229,.35) !important}
.basket-pdp-v2a-wrap .nav-cart #nav-cart-count{color:#FCF4E5 !important}

/* ─── Bouquet Card Preview (Gary 2026-05-27 · Part 03 sticky preview) ─── */
.basket-pdp-v2a-wrap .p3-form{display:flex !important;flex-direction:column !important;gap:0 !important}
.basket-pdp-v2a-wrap .card-preview-box{
  background:#FAF4E8 !important;
  border:1px solid var(--rule) !important;
  padding:40px 32px !important;
  position:relative !important;
  aspect-ratio:4/3 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  box-shadow:0 8px 30px rgba(138,80,96,.12) !important;
  border-radius:2px !important;
}
.basket-pdp-v2a-wrap .cp-corner{
  position:absolute !important;
  font-family:var(--serif) !important;
  font-size:20px !important;
  color:var(--gold-deep) !important;
  opacity:.5 !important;
}
.basket-pdp-v2a-wrap .cp-tl{top:12px;left:14px}
.basket-pdp-v2a-wrap .cp-tr{top:12px;right:14px}
.basket-pdp-v2a-wrap .cp-bl{bottom:12px;left:14px}
.basket-pdp-v2a-wrap .cp-br{bottom:12px;right:14px}
.basket-pdp-v2a-wrap .cp-content{text-align:center;width:100%}
.basket-pdp-v2a-wrap .cp-recipient{
  font-family:var(--cjk) !important;
  font-size:15px !important;
  color:var(--ink) !important;
  margin-bottom:24px !important;
  letter-spacing:.08em !important;
  font-weight:500 !important;
}
.basket-pdp-v2a-wrap .cp-recipient .placeholder{color:var(--muted) !important;opacity:.55 !important;font-weight:400 !important}
.basket-pdp-v2a-wrap .cp-msg{
  font-family:var(--serif) !important;
  font-style:italic !important;
  font-size:20px !important;
  line-height:1.6 !important;
  color:var(--forest-deep) !important;
  letter-spacing:.01em !important;
  min-height:60px !important;
  margin-bottom:24px !important;
  white-space:pre-wrap !important;
}
.basket-pdp-v2a-wrap .cp-msg .placeholder{color:var(--muted) !important;opacity:.55 !important;font-style:italic !important;font-size:14px !important}
.basket-pdp-v2a-wrap .cp-sig{
  font-family:var(--serif) !important;
  font-style:italic !important;
  font-size:16px !important;
  color:var(--gold-deep) !important;
  letter-spacing:.02em !important;
  font-weight:500 !important;
}
.basket-pdp-v2a-wrap .cp-sig .placeholder{color:var(--muted) !important;opacity:.55 !important}

/* ─── Bouquet editorial sections (Phase 3 · Gary 2026-05-26) ─── */
.basket-pdp-v2a-wrap .basket-editorial{background:var(--bg-card) !important}
.basket-pdp-v2a-wrap .composition-pull{max-width:760px !important;margin:30px auto 50px !important;text-align:center !important;padding:0 var(--gut) !important}
.basket-pdp-v2a-wrap .composition-pull p{font-family:var(--serif) !important;font-style:italic !important;font-size:clamp(20px,2.2vw,28px) !important;line-height:1.5 !important;color:var(--forest-deep) !important;letter-spacing:.01em !important}

.basket-pdp-v2a-wrap .ingredients-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:18px !important;margin:30px 0 50px !important}
.basket-pdp-v2a-wrap .ingredient-card{background:var(--bg) !important;padding:24px 18px !important;border:1px solid var(--rule) !important;border-radius:4px !important;position:relative !important}
.basket-pdp-v2a-wrap .ingredient-card .ing-num{position:absolute !important;top:12px !important;right:14px !important;font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.22em !important;color:var(--gold-deep) !important;opacity:.5 !important}
.basket-pdp-v2a-wrap .ingredient-card .ing-en{font-family:var(--serif) !important;font-style:italic !important;font-size:18px !important;color:var(--forest-deep) !important;margin-bottom:4px !important;letter-spacing:.01em !important;font-weight:500 !important}
.basket-pdp-v2a-wrap .ingredient-card .ing-zh{font-family:var(--cjk) !important;font-size:14px !important;color:var(--ink) !important;letter-spacing:.06em !important;margin-bottom:8px !important}
.basket-pdp-v2a-wrap .ingredient-card .ing-note{font-family:var(--cjk) !important;font-size:12px !important;color:var(--muted) !important;line-height:1.6 !important;letter-spacing:.02em !important}

.basket-pdp-v2a-wrap .care-block{max-width:920px !important;margin:50px auto !important;padding:0 var(--gut) !important}
.basket-pdp-v2a-wrap .care-heading{font-family:var(--serif) !important;font-size:clamp(28px,3.4vw,42px) !important;font-weight:500 !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.2 !important;margin-bottom:30px !important;letter-spacing:.01em !important}
.basket-pdp-v2a-wrap .care-heading em{font-style:italic !important;color:var(--gold-deep) !important}
.basket-pdp-v2a-wrap .care-heading .zh{display:block !important;font-family:var(--cjk) !important;font-size:.5em !important;font-style:normal !important;color:var(--muted) !important;margin-top:8px !important;letter-spacing:.18em !important;font-weight:400 !important}
.basket-pdp-v2a-wrap .care-steps{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:24px !important;margin-top:30px !important}
.basket-pdp-v2a-wrap .care-step{text-align:center !important}
.basket-pdp-v2a-wrap .care-step .care-num{width:36px !important;height:36px !important;border-radius:50% !important;border:1px solid var(--forest-deep) !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;font-family:var(--serif) !important;font-style:italic !important;font-size:18px !important;color:var(--forest-deep) !important;margin-bottom:12px !important}
.basket-pdp-v2a-wrap .care-step .care-h{font-family:var(--cjk) !important;font-weight:500 !important;font-size:14px !important;color:var(--forest-deep) !important;letter-spacing:.08em !important;margin-bottom:6px !important}
.basket-pdp-v2a-wrap .care-step .care-p{font-family:var(--cjk) !important;font-size:12.5px !important;color:var(--muted) !important;line-height:1.7 !important;letter-spacing:.02em !important}

.basket-pdp-v2a-wrap .notes-quote{max-width:780px !important;margin:50px auto 60px !important;padding:0 var(--gut) !important;text-align:center !important}
.basket-pdp-v2a-wrap .notes-quote p{font-family:var(--serif) !important;font-style:italic !important;font-size:clamp(20px,2.5vw,28px) !important;line-height:1.5 !important;color:var(--gold-deep) !important;letter-spacing:.01em !important;margin-bottom:18px !important}
.basket-pdp-v2a-wrap .notes-sig{display:flex !important;flex-direction:column !important;align-items:center !important;gap:4px !important}
.basket-pdp-v2a-wrap .notes-sig .sig{font-family:var(--serif) !important;font-style:italic !important;font-size:18px !important;color:var(--forest-deep) !important;font-weight:500 !important}
.basket-pdp-v2a-wrap .notes-sig .role{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.28em !important;text-transform:uppercase !important;color:var(--muted) !important}

/* Hero title 字體 fix v2 · Cormorant 500 weight + tighter tracking (Gary 2026-05-27) */
/* v1 用 600 weight 仲覺得太粗化開 · 改 500 更 elegant · letter-spacing 收細到 .04em 配 Latin */
.basket-pdp-v2a-wrap .hero-title-cjk{
  font-family:'Cormorant Garamond','Noto Serif TC',serif !important;
  font-weight:500 !important;
  letter-spacing:.04em !important;
  -webkit-font-smoothing:antialiased !important;
  -moz-osx-font-smoothing:grayscale !important;
  text-rendering:optimizeLegibility !important;
  font-feature-settings:"kern" 1 !important;
}
.basket-pdp-v2a-wrap .hero-title-cjk .small{
  font-family:'Noto Serif TC',serif !important;
  font-weight:300 !important;
}

/* Multi-option · Size grid · S5 clamp() responsive (Gary 2026-05-27 picked) · 1-row always · max 6 col */
.basket-pdp-v2a-wrap .opt-size-btn{position:relative !important;padding:clamp(8px,1.5vw,18px) clamp(2px,0.6vw,8px) !important}
.basket-pdp-v2a-wrap .opt-size-btn .cn{font-size:clamp(11px,1.3vw,16px) !important;letter-spacing:.06em !important}
.basket-pdp-v2a-wrap .opt-size-btn .v{
  font-family:var(--serif) !important;color:var(--gold-deep) !important;
  font-size:clamp(9px,1.0vw,14px) !important;font-weight:500 !important;
  display:block !important;margin-top:clamp(2px,0.5vw,6px) !important;
}
.basket-pdp-v2a-wrap .opt-size-btn.is-active .v{color:var(--gold) !important}
/* Mobile · keep 1-row · disable wrapping · inline grid-template-columns on .size-grid already enforces N-col */
@media (max-width:900px){
  .basket-pdp-v2a-wrap .opt-size-btn{border-bottom:0 !important}
  .basket-pdp-v2a-wrap .opt-size-btn .cn{font-size:clamp(10px,2.8vw,14px) !important;letter-spacing:.04em !important}
  .basket-pdp-v2a-wrap .opt-size-btn .v{font-size:clamp(8.5px,2.2vw,12px) !important}
}

/* C1 · Color swatch row */
.basket-pdp-v2a-wrap .size-block-head{position:relative !important}
.basket-pdp-v2a-wrap .color-swatch-row{
  display:flex !important;gap:18px !important;flex-wrap:wrap !important;padding:8px 0 !important;
}
.basket-pdp-v2a-wrap .cv-btn{
  display:flex !important;flex-direction:column !important;align-items:center !important;gap:6px !important;
  cursor:pointer !important;background:transparent !important;border:0 !important;padding:4px !important;
  transition:transform .2s !important;
}
.basket-pdp-v2a-wrap .cv-btn:hover{transform:translateY(-2px) !important}
.basket-pdp-v2a-wrap .cv-dot{
  width:38px !important;height:38px !important;border-radius:50% !important;
  border:2px solid var(--rule) !important;
  transition:all .25s ease !important;display:block !important;
}
.basket-pdp-v2a-wrap .cv-btn.is-active .cv-dot{
  border-color:var(--forest-deep) !important;
  box-shadow:0 0 0 3px var(--gold-bright) !important;
  transform:scale(1.08) !important;
}
.basket-pdp-v2a-wrap .cv-lbl{
  font-family:var(--cjk) !important;font-size:11.5px !important;letter-spacing:.06em !important;
  color:var(--ink) !important;line-height:1.2 !important;
}
.basket-pdp-v2a-wrap .cv-btn.is-active .cv-lbl{color:var(--forest-deep) !important;font-weight:500 !important}
.basket-pdp-v2a-wrap .cv-florist{
  background:conic-gradient(from 0deg, #B5354F, #E69BAB, #D63B7C, #7B4994, #4670A0, #F2C84B, #E89050, #B5354F) !important;
}
.basket-pdp-v2a-wrap .cv-note-icon{
  background:#FCF4E5 !important;color:var(--forest-deep) !important;
  font-family:'Cormorant Garamond',serif !important;font-style:italic !important;font-size:20px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  border:2px dashed var(--gold-deep) !important;
}
.basket-pdp-v2a-wrap .cv-note-btn.is-active .cv-note-icon{
  background:var(--forest-deep) !important;color:var(--gold) !important;
  border:2px solid var(--gold) !important;
}
.basket-pdp-v2a-wrap .color-required{color:#C66B6B !important}
@media (max-width:900px){
  .basket-pdp-v2a-wrap .color-swatch-row{gap:12px !important}
  .basket-pdp-v2a-wrap .cv-dot{width:34px !important;height:34px !important}
  .basket-pdp-v2a-wrap .cv-lbl{font-size:11px !important}
}

/* Detect FAIL UX · 揾唔到地區嘅 fallback hint (Gary 2026-05-27) */
.basket-pdp-v2a-wrap .detect-fail-hint{
  display:none;align-items:center;gap:8px;
  margin-top:8px;padding:9px 12px;
  background:rgba(212,80,80,.08);
  border:1px dashed #C66B6B;
  font-family:var(--cjk);font-size:12.5px;letter-spacing:.06em;
  color:#A04545;
  animation:zoneAutoFadeIn .35s ease-out;
}
@keyframes detectShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-3px)}
  40%{transform:translateX(3px)}
  60%{transform:translateX(-2px)}
  80%{transform:translateX(2px)}
}
.basket-pdp-v2a-wrap .uline.detect-fail-shake{
  animation:detectShake .5s ease !important;
  border-bottom-color:#C66B6B !important;
  background:rgba(212,80,80,.04) !important;
}

/* Zone auto-detect hint (Gary 2026-05-27) */
.basket-pdp-v2a-wrap .zone-auto-hint{
  display:flex !important;align-items:center !important;gap:8px !important;
  margin-top:8px !important;padding:8px 12px !important;
  background:linear-gradient(90deg, rgba(242,212,166,.35), rgba(255,233,184,.25)) !important;
  border:1px dashed var(--gold-deep) !important;
  font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.06em !important;
  color:var(--forest-deep) !important;
  animation:zoneAutoFadeIn .35s ease-out !important;
}
.basket-pdp-v2a-wrap .zone-auto-hint .zone-auto-icon{font-size:14px !important}
.basket-pdp-v2a-wrap .zone-auto-hint strong{font-family:var(--cjk) !important;font-weight:600 !important;color:var(--gold-deep) !important;letter-spacing:.08em !important}
@keyframes zoneAutoFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* Scenario greeting chips · V1 Pill Gold Glow + 雙語 (Gary 2026-05-27 confirmed) */
.basket-pdp-v2a-wrap .card-scene-row{
  display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:9px !important;
  margin:10px 0 14px !important;
}
.basket-pdp-v2a-wrap .scene-chip{
  font-family:'Noto Serif TC',serif !important;
  padding:11px 10px 10px !important;
  border:1px solid rgba(232,200,150,.6) !important;border-radius:999px !important;
  color:var(--ink) !important;background:#FFFCF6 !important;cursor:pointer !important;
  text-align:center !important;line-height:1.2 !important;
  transition:all .25s ease !important;
  box-shadow:0 1px 0 rgba(168,108,122,.04) !important;
}
.basket-pdp-v2a-wrap .scene-chip .emoji{font-size:14px !important;margin-right:3px !important;vertical-align:middle !important}
.basket-pdp-v2a-wrap .scene-chip .zh{font-size:13px !important;letter-spacing:.14em !important;color:var(--ink) !important;vertical-align:middle !important}
.basket-pdp-v2a-wrap .scene-chip .en{
  display:block !important;
  font-family:'Cormorant SC','Cormorant Garamond',serif !important;
  font-size:8.5px !important;letter-spacing:.32em !important;
  color:var(--gold-deep) !important;
  text-transform:uppercase !important;margin-top:3px !important;
  font-weight:500 !important;
}
.basket-pdp-v2a-wrap .scene-chip:hover{
  border-color:var(--gold-deep) !important;
  background:linear-gradient(180deg,#FFF8E8,#FFEEC4) !important;
  box-shadow:0 0 0 4px rgba(242,212,166,.35), 0 6px 16px -8px rgba(166,108,122,.25) !important;
  transform:translateY(-1px) !important;
}
.basket-pdp-v2a-wrap .scene-chip.is-active{
  background:linear-gradient(180deg,var(--gold),var(--gold-deep)) !important;
  color:var(--ink-deep) !important;font-weight:500 !important;
  border-color:transparent !important;
  box-shadow:0 0 0 3px rgba(232,200,150,.5), inset 0 1px 0 rgba(255,255,255,.5) !important;
}
.basket-pdp-v2a-wrap .scene-chip.is-active .zh{color:var(--ink-deep) !important;font-weight:500 !important}
.basket-pdp-v2a-wrap .scene-chip.is-active .en{color:var(--forest-deep) !important;opacity:.95 !important}

@media (max-width:900px){
  .basket-pdp-v2a-wrap .ingredients-grid{grid-template-columns:1fr 1fr !important;gap:10px !important}
  .basket-pdp-v2a-wrap .ingredient-card{padding:16px 12px !important}
  .basket-pdp-v2a-wrap .care-steps{grid-template-columns:1fr 1fr !important;gap:18px !important}
  .basket-pdp-v2a-wrap .card-scene-row{grid-template-columns:repeat(2,1fr) !important;gap:8px !important}
  .basket-pdp-v2a-wrap .scene-chip{padding:12px 12px 11px !important}
  .basket-pdp-v2a-wrap .scene-chip .zh{font-size:14px !important}
  .basket-pdp-v2a-wrap .scene-chip .en{font-size:9px !important}
}


/* === V11 hierarchy · 上款 left-top large / 賀詞 center / 下款 right-bot · 2026-05-29 Gary === */
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-eyebrow,
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-flourish,
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-en,
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-divider,
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-footer-sig,
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-sig{display:none !important}

/* 上款 · 左上角 · default 12.5cqw≈150pt (≤6字) · .up-mid 10.8cqw≈130pt (7-9字) · .up-long 9.2cqw≈110pt (≥10字) */
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-to{
  position:absolute !important;
  top:5cqw !important;
  left:5.5cqw !important;
  font-size:12.5cqw !important;
  text-align:left !important;
  border-top:0 !important;
  padding-top:0 !important;
  margin-top:0 !important;
  width:auto !important;
  max-width:62% !important;
  letter-spacing:.06em !important;
  font-weight:500 !important;
  line-height:1.1 !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper.up-mid .a3-to{font-size:10.8cqw !important;letter-spacing:.08em !important;}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper.up-long .a3-to{font-size:9.2cqw !important;letter-spacing:.08em !important;}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-to .reltitle,
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-to .hon{display:none !important}

/* 賀詞 · 中央 · default 11.7cqw≈140pt 單行 · .phrase-double 9.5cqw≈115pt 兩行 */
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-wishes{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%,-50%) !important;
  font-size:12.5cqw !important;  /* 1 組 ≈ 150pt · Gary 2026-05-29 */
  margin:0 !important;
  letter-spacing:.16em !important;
  padding-left:.16em !important;
  text-align:center !important;
  line-height:1 !important;
  max-width:86% !important;
  white-space:nowrap !important;
  overflow-wrap:anywhere !important;
}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper.phrase-double .a3-wishes{
  font-size:10.8cqw !important;  /* 2 組 ≈ 130pt · 兩行置中 */
  white-space:normal !important;
  line-height:1.1 !important;
  letter-spacing:.14em !important;
}

/* 下款 · 右下角 · default 12.5cqw≈150pt (≤6字) · .down-mid 10.8cqw≈130pt · .down-long 9.2cqw≈110pt */
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-from{
  position:absolute !important;
  bottom:5cqw !important;
  right:5.5cqw !important;
  left:auto !important;
  width:auto !important;
  max-width:62% !important;
  margin-top:0 !important;
  align-items:flex-end !important;
  gap:0 !important;
}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-from .bnr-sender{
  font-size:12.5cqw !important;
  letter-spacing:.06em !important;
  font-weight:500 !important;
  text-align:right !important;
  justify-content:flex-end !important;
  line-height:1.1 !important;
  display:block !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper.down-mid .a3-from .bnr-sender{font-size:10.8cqw !important;letter-spacing:.08em !important;}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper.down-long .a3-from .bnr-sender{font-size:9.2cqw !important;letter-spacing:.08em !important;}

/* === B8c paper color overrides · 2026-05-29 Gary 雲龍金 === */
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-eyebrow{color:#7A1F2B !important}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-flourish{color:#7A1F2B !important}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-to{color:#7A1F2B !important;border-top-color:rgba(122,31,43,.45) !important}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-to .reltitle,
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-to .hon{color:#9B2935 !important}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-to .name{color:#7A1F2B !important}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-wishes{color:#7A1F2B !important}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-en{color:#7A1F2B !important;opacity:.85}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-divider{border-top-color:#7A1F2B !important;opacity:.55}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-from .bnr-sender{color:#5D1820 !important}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-from .bnr-sender .sprefix{color:#7A1F2B !important}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-from .bnr-sender .sname{color:#3D0E16 !important}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-from .bnr-sender .srate{color:#7A1F2B !important}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-sig{color:#7A1F2B !important;border-top-color:rgba(122,31,43,.45) !important}
.basket-pdp-v2a-wrap .banner-canvas.a3-paper .a3-footer-sig{color:#7A1F2B !important;opacity:.7}
/* END_SECTION:basket-pdp-v2a */

/* START_SECTION:bouquet-pdp-v2a (INDEX:3) */
/* force-bump-1779698118553-uniqueABC */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@300;400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Cormorant+SC:wght@400;500;600&family=Inter:wght@400;500&display=swap');
.bouquet-pdp-v2a-wrap{
  /* P09 Burgundy Cream · 象牙底 + 酒紅勃艮第 nav + 香檳金 · Classic Heritage · Gary 2026-05-27 */
  --bg:#F6EFE6;--bg-2:#ECE0CE;--bg-card:#F0E5D5;--ink:#2A1418;--forest:#8A4951;--forest-deep:#6E2F38;
  --gold:#E0BC8B;--gold-deep:#B8965C;--gold-bright:#F0D2A0;--rule:#D6C7AE;--rule-soft:#E1D5BF;--muted:#7A5D63;
  --male:#3A5A7B;--female:#A0526E;--neutral:#7A6F60;--paper:#FCF4E5;--ink-deep:#1A0C10;
  --serif:'Cormorant Garamond','Noto Serif TC',serif;--sc:'Cormorant SC',serif;
  --cjk:'Noto Serif TC',serif;--sans:'Inter',sans-serif;
  --max:1340px;--gut:clamp(20px,4vw,80px);
  background:var(--bg) !important;color:var(--ink) !important;font-family:var(--serif) !important;
  -webkit-font-smoothing:antialiased;
}.bouquet-pdp-v2a-wrap *, .bouquet-pdp-v2a-wrap *::before, .bouquet-pdp-v2a-wrap *::after{box-sizing:border-box !important}.bouquet-pdp-v2a-wrap a{color:inherit !important;text-decoration:none}.bouquet-pdp-v2a-wrap button{font:inherit;color:inherit !important;background:none !important;border:0 !important;cursor:pointer !important;padding:0 !important}.bouquet-pdp-v2a-wrap img{display:block !important;max-width:100% !important}.bouquet-pdp-v2a-wrap .eyebrow{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;text-transform:uppercase;color:var(--gold-deep) !important;font-weight:500 !important}.bouquet-pdp-v2a-wrap .layout-label{position:fixed !important;top:14px !important;right:14px !important;z-index:99 !important;background:var(--forest-deep) !important;color:var(--bg) !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.28em !important;padding:8px 14px !important;text-transform:uppercase}.bouquet-pdp-v2a-wrap .top{background:var(--forest-deep) !important;color:var(--bg) !important;padding:14px var(--gut) !important;display:flex !important;justify-content:space-between !important;align-items:center !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.24em !important;text-transform:uppercase}.bouquet-pdp-v2a-wrap .top .center{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.4em !important;padding-left:.4em !important}.bouquet-pdp-v2a-wrap .nav{background:var(--bg) !important;border-bottom:1px solid var(--rule) !important;position:sticky !important;top:0 !important;z-index:50 !important}.bouquet-pdp-v2a-wrap .nav-inner{max-width:var(--max) !important;margin:0 auto !important;padding:18px var(--gut) !important;display:flex !important;justify-content:space-between !important;align-items:center !important}.bouquet-pdp-v2a-wrap .nav-logo{font-family:var(--serif) !important;font-size:22px !important;letter-spacing:.32em !important;color:var(--forest-deep) !important;padding-left:.32em !important;font-weight:500 !important;text-decoration:none !important;color:inherit !important;cursor:pointer !important}.bouquet-pdp-v2a-wrap .nav-logo .sub{font-family:var(--cjk) !important;font-size:10.5px !important;color:var(--gold-deep) !important;letter-spacing:.18em !important;display:block !important;margin-top:2px !important;font-weight:400 !important}.bouquet-pdp-v2a-wrap .nav-list{display:flex !important;gap:28px !important;flex-wrap:wrap !important}.bouquet-pdp-v2a-wrap .nav-list a{font-family:var(--cjk) !important;font-size:13.5px !important;letter-spacing:.18em !important;color:var(--ink) !important;padding:6px 0 !important;text-decoration:none !important;cursor:pointer !important}.bouquet-pdp-v2a-wrap .nav-list a .en{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.22em !important;color:var(--muted) !important;display:block !important;text-align:center !important;margin-top:2px !important}.bouquet-pdp-v2a-wrap .nav-list a.is-active{color:var(--forest-deep) !important;position:relative !important}.bouquet-pdp-v2a-wrap .nav-list a.is-active::after{content:"";position:absolute !important;left:50% !important;transform:translateX(-50%) !important;bottom:-8px !important;width:18px !important;height:1px !important;background:var(--forest) !important}.bouquet-pdp-v2a-wrap .part{max-width:var(--max) !important;margin:0 auto !important;padding:50px var(--gut) !important;position:relative !important}.bouquet-pdp-v2a-wrap .part::before{content:attr(data-part);position:absolute !important;top:30px !important;right:var(--gut) !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.42em !important;color:var(--gold-deep) !important;text-transform:uppercase;background:var(--bg) !important;padding:6px 12px !important;border:1px solid var(--rule) !important}.bouquet-pdp-v2a-wrap .part-head{margin-bottom:36px !important}.bouquet-pdp-v2a-wrap .part-head .lbl{display:block !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin-bottom:8px !important}.bouquet-pdp-v2a-wrap .part-head h2{font-family:var(--cjk) !important;font-weight:400 !important;font-size:28px !important;letter-spacing:.18em !important;margin:0 !important;color:var(--forest-deep) !important}.bouquet-pdp-v2a-wrap .part-head h2 .latin{font-family:var(--serif) !important;font-style:italic;font-size:18px !important;color:var(--muted) !important;margin-left:14px !important;letter-spacing:.02em !important}.bouquet-pdp-v2a-wrap .part-head .sub{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:14px !important;margin-top:8px !important;letter-spacing:.02em !important}.bouquet-pdp-v2a-wrap .hero{display:grid !important;grid-template-columns:1fr 1.2fr !important;gap:60px !important;align-items:start !important}.bouquet-pdp-v2a-wrap .hero-img{width:100% !important;aspect-ratio:3/4 !important;object-fit:cover;background:var(--bg-2) !important;filter:saturate(.9)}.bouquet-pdp-v2a-wrap .hero-title-cjk{font-family:var(--cjk) !important;font-weight:600 !important;font-size:clamp(52px,5.5vw,80px) !important;line-height:1 !important;letter-spacing:.12em !important;color:var(--forest-deep) !important;margin:24px 0 0 !important}.bouquet-pdp-v2a-wrap .hero-title-cjk .small{display:block !important;font-family:var(--cjk) !important;font-weight:300 !important;font-size:.42em !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;margin-top:14px !important;padding-left:.32em !important}.bouquet-pdp-v2a-wrap .hero-title-latin{font-family:var(--serif) !important;font-style:italic;font-size:22px !important;color:var(--forest) !important;margin:18px 0 0 !important;padding-top:18px !important;border-top:1px solid var(--rule) !important;letter-spacing:.02em !important}.bouquet-pdp-v2a-wrap .hero-lede{font-family:var(--cjk) !important;font-weight:300 !important;font-size:15.5px !important;line-height:2 !important;color:var(--ink) !important;max-width:38ch !important;margin:24px 0 !important;letter-spacing:.06em !important}.bouquet-pdp-v2a-wrap .price-row{display:flex !important;align-items:baseline !important;gap:14px !important;border-top:1px solid var(--rule) !important;padding-top:18px !important;margin-top:18px !important}.bouquet-pdp-v2a-wrap .price-from{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase}.bouquet-pdp-v2a-wrap .price{font-family:var(--serif) !important;font-weight:500 !important;color:var(--gold-deep) !important;font-size:34px !important}.bouquet-pdp-v2a-wrap .price-alt{font-family:var(--sc) !important;font-size:11.5px !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;opacity:.7 !important;text-transform:uppercase}.bouquet-pdp-v2a-wrap .size-block{margin-top:30px !important}.bouquet-pdp-v2a-wrap .size-block-head{display:flex !important;justify-content:space-between !important;align-items:baseline !important;margin-bottom:12px !important}.bouquet-pdp-v2a-wrap .size-block-head h4{font-family:var(--cjk) !important;font-weight:500 !important;font-size:15px !important;letter-spacing:.12em !important;margin:0 !important;color:var(--forest-deep) !important}.bouquet-pdp-v2a-wrap .size-block-head .arrow{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.32em !important;color:var(--muted) !important;text-transform:uppercase}.bouquet-pdp-v2a-wrap .size-grid{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0 !important;border:1px solid var(--rule) !important;background:var(--bg-2) !important}.bouquet-pdp-v2a-wrap .size{padding:18px 8px !important;text-align:center !important;cursor:pointer !important;border-right:1px solid var(--rule) !important;transition:background .25s !important}.bouquet-pdp-v2a-wrap .size:last-child{border-right:0 !important}.bouquet-pdp-v2a-wrap .size .cn{font-family:var(--cjk) !important;font-weight:500 !important;font-size:16px !important;letter-spacing:.14em !important;color:var(--ink) !important;display:block !important}.bouquet-pdp-v2a-wrap .size .en{font-family:var(--sc) !important;font-size:9px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;display:block !important;margin:4px 0 8px !important}.bouquet-pdp-v2a-wrap .size .v{font-family:var(--serif) !important;color:var(--gold-deep) !important;font-size:17px !important;font-weight:500 !important;display:block !important}.bouquet-pdp-v2a-wrap .size .h{font-family:var(--sc) !important;font-size:9px !important;letter-spacing:.24em !important;color:var(--muted) !important;text-transform:uppercase;display:block !important;margin-top:4px !important}.bouquet-pdp-v2a-wrap .size:hover{background:var(--bg) !important}.bouquet-pdp-v2a-wrap .size.is-active{background:var(--forest-deep) !important;color:var(--bg) !important}.bouquet-pdp-v2a-wrap .size.is-active .cn{color:var(--bg) !important}.bouquet-pdp-v2a-wrap .size.is-active .v{color:var(--gold) !important}.bouquet-pdp-v2a-wrap .size.is-active .en, .bouquet-pdp-v2a-wrap .size.is-active .h{color:rgba(242,235,217,.65) !important}.bouquet-pdp-v2a-wrap .duo{display:grid !important;grid-template-columns:1fr 1fr !important;gap:40px !important;background:var(--bg-card) !important;padding:40px !important;border:1px solid var(--rule) !important}.bouquet-pdp-v2a-wrap .sub-block h3{font-family:var(--cjk) !important;font-weight:500 !important;font-size:18px !important;letter-spacing:.16em !important;color:var(--forest-deep) !important;margin:0 0 4px !important}.bouquet-pdp-v2a-wrap .sub-block h3 .num{font-family:var(--sc) !important;font-style:normal;font-size:11px !important;color:var(--gold-deep) !important;letter-spacing:.32em !important;text-transform:uppercase;margin-right:10px !important}.bouquet-pdp-v2a-wrap .field-label{display:flex !important;align-items:baseline !important;justify-content:space-between !important;margin-top:18px !important;margin-bottom:6px !important}.bouquet-pdp-v2a-wrap .field-label .cn{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.1em !important;color:var(--ink) !important}.bouquet-pdp-v2a-wrap .field-label .en{font-size:10px !important;letter-spacing:.24em !important;text-transform:uppercase;color:var(--muted) !important;font-family:var(--sc) !important}.bouquet-pdp-v2a-wrap .uline{border:0 !important;border-bottom:1px solid var(--rule) !important;background:transparent !important;padding:12px 0 !important;width:100% !important;font-family:var(--cjk) !important;font-size:14.5px !important;color:var(--ink) !important;outline:0;letter-spacing:.06em !important;transition:border-color .25s !important}.bouquet-pdp-v2a-wrap .uline:focus{border-bottom-color:var(--forest)}.bouquet-pdp-v2a-wrap .uline::placeholder{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important}.bouquet-pdp-v2a-wrap .quick-row{display:flex !important;gap:6px !important;flex-wrap:wrap !important;margin-top:8px !important}.bouquet-pdp-v2a-wrap .quick{font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.12em !important;padding:7px 12px !important;border:1px solid var(--rule) !important;color:var(--ink) !important;cursor:pointer !important;background:transparent !important;transition:all .2s !important}.bouquet-pdp-v2a-wrap .quick:hover{border-color:var(--forest)}.bouquet-pdp-v2a-wrap .quick.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.bouquet-pdp-v2a-wrap .quick.is-disabled{opacity:.35 !important;cursor:not-allowed !important;text-decoration:line-through}.bouquet-pdp-v2a-wrap .time-cats{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:6px !important;margin-top:8px !important}.bouquet-pdp-v2a-wrap .time-cat{border:1px solid var(--rule) !important;padding:10px 12px !important;cursor:pointer !important;background:transparent !important;text-align:left !important;transition:all .2s !important}.bouquet-pdp-v2a-wrap .time-cat:hover{border-color:var(--forest)}.bouquet-pdp-v2a-wrap .time-cat.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.bouquet-pdp-v2a-wrap .time-cat .cn{font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.1em !important;display:block !important}.bouquet-pdp-v2a-wrap .time-cat .meta{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.18em !important;text-transform:uppercase;color:inherit !important;opacity:.65 !important;display:block !important;margin-top:2px !important}.bouquet-pdp-v2a-wrap .hour-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:4px !important;margin-top:8px !important}.bouquet-pdp-v2a-wrap .hour{border:1px solid var(--rule) !important;padding:8px 6px !important;font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.12em !important;text-align:center !important;cursor:pointer !important;background:transparent !important;color:var(--ink) !important;transition:all .2s !important;font-feature-settings:"tnum" 1}.bouquet-pdp-v2a-wrap .hour:hover{border-color:var(--forest)}.bouquet-pdp-v2a-wrap .hour.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.bouquet-pdp-v2a-wrap .upgrade-row{display:flex !important;gap:6px !important;flex-wrap:wrap !important;margin-top:8px !important}.bouquet-pdp-v2a-wrap .upgrade{border:1px dashed var(--rule) !important;padding:9px 12px !important;cursor:pointer !important;background:transparent !important;font-family:var(--cjk) !important;font-size:12px !important;letter-spacing:.1em !important;color:var(--ink) !important;transition:all .2s !important;display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:2px !important}.bouquet-pdp-v2a-wrap .upgrade:hover{border-color:var(--gold)}.bouquet-pdp-v2a-wrap .upgrade.is-active{background:var(--gold) !important;color:var(--ink-deep) !important;border:1px solid var(--gold) !important}.bouquet-pdp-v2a-wrap .upgrade .cn{font-weight:500 !important}.bouquet-pdp-v2a-wrap .upgrade .extra{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;text-transform:uppercase}.bouquet-pdp-v2a-wrap .upgrade.is-active .extra{color:var(--ink) !important}.bouquet-pdp-v2a-wrap .zone-result{margin-top:20px !important;padding:14px 16px !important;background:var(--bg) !important;border:1px solid var(--forest) !important;display:flex !important;justify-content:space-between !important;align-items:baseline !important}.bouquet-pdp-v2a-wrap .zone-result .zone-name{font-family:var(--cjk) !important;font-size:14px !important;color:var(--forest-deep) !important;letter-spacing:.08em !important}.bouquet-pdp-v2a-wrap .zone-result .zone-name em{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12px !important;margin-left:10px !important;letter-spacing:.02em !important}.bouquet-pdp-v2a-wrap .zone-result .zone-fee{font-family:var(--serif) !important;font-size:18px !important;color:var(--gold-deep) !important;font-weight:500 !important;letter-spacing:.02em !important}.bouquet-pdp-v2a-wrap .zone-result .zone-fee.free{font-style:italic;color:var(--forest) !important}.bouquet-pdp-v2a-wrap .p3-grid{display:grid !important;grid-template-columns:1fr 1.1fr !important;gap:60px !important;align-items:start !important;padding-top:14px !important}.bouquet-pdp-v2a-wrap .p3-preview{position:sticky !important;top:90px !important;align-self:start}.bouquet-pdp-v2a-wrap .preview-eyebrow{display:block !important;margin-bottom:14px !important;text-align:center !important}.bouquet-pdp-v2a-wrap .preview-title{font-family:var(--cjk) !important;font-weight:400 !important;font-size:18px !important;letter-spacing:.2em !important;color:var(--forest-deep) !important;text-align:center !important;margin-bottom:14px !important}.bouquet-pdp-v2a-wrap .banner-canvas{
    
    --l1: 9cqw;     
    --l2: 17cqw;    
    --l3: 8cqw;     
    --l4: 6cqw;     
    --gap: 2.5cqw;
    --l2-spacing: .28em;

    background:#fff !important;color:var(--ink) !important;
    padding:5cqw 7cqw !important;
    aspect-ratio:420/297 !important;
    border:2px solid var(--forest) !important;position:relative !important;
    display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:center !important;
    gap:var(--gap) !important;
    container-type:inline-size;
    transition:--l1 .3s,--l2 .3s,--l3 .3s,--l4 .3s !important;
    overflow:hidden !important;  
  }.bouquet-pdp-v2a-wrap .banner-canvas::before{content:"";position:absolute !important;inset:2cqw;border:1px solid var(--forest) !important;pointer-events:none;opacity:.4 !important}.bouquet-pdp-v2a-wrap .bnr-line1{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l1) !important;letter-spacing:.16em !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.3 !important;white-space:nowrap !important}.bouquet-pdp-v2a-wrap .bnr-line1 .reltitle{margin-right:1.5cqw !important}.bouquet-pdp-v2a-wrap .bnr-line1 .name{font-weight:600 !important}.bouquet-pdp-v2a-wrap .bnr-line1 .hon{margin-left:1.5cqw !important}.bouquet-pdp-v2a-wrap .bnr-phrase{font-family:var(--cjk) !important;font-weight:600 !important;font-size:var(--l2) !important;letter-spacing:var(--l2-spacing) !important;padding-left:var(--l2-spacing) !important;line-height:1 !important;color:var(--forest-deep) !important;text-align:center !important;margin:1cqw 0 !important;white-space:nowrap !important}.bouquet-pdp-v2a-wrap .bnr-senders{display:flex !important;flex-direction:column !important;align-items:center !important;gap:.6cqw !important;width:100% !important}.bouquet-pdp-v2a-wrap .bnr-sender{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l3) !important;letter-spacing:.14em !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.3 !important;white-space:nowrap !important;display:inline-flex !important;align-items:baseline !important;justify-content:center !important;gap:1.2cqw !important}.bouquet-pdp-v2a-wrap .bnr-sender .sprefix{font-size:1.05em !important;font-weight:600 !important;color:var(--forest-deep) !important}.bouquet-pdp-v2a-wrap .bnr-sender .sname{font-size:.85em !important;font-weight:400 !important;color:var(--ink) !important}.bouquet-pdp-v2a-wrap .bnr-sender .srate{font-size:.78em !important;font-weight:500 !important;color:var(--gold-deep) !important;margin-right:.4cqw !important;font-style:normal;letter-spacing:.04em !important}.bouquet-pdp-v2a-wrap .bnr-suffix{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l4) !important;letter-spacing:.14em !important;color:var(--forest-deep) !important;text-align:center !important;white-space:nowrap !important}.bouquet-pdp-v2a-wrap .preview-foot .shrink-tag{display:inline-block !important;background:var(--gold) !important;color:var(--ink) !important;font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.22em !important;padding:2px 8px !important;margin-left:10px !important;text-transform:uppercase;font-style:normal}

  
  @keyframes bnrPulse{
    0%{background-color:rgba(184,153,104,0);box-shadow:0 0 0 0 rgba(184,153,104,0)}
    30%{background-color:rgba(184,153,104,.22);box-shadow:0 0 0 6px rgba(184,153,104,.18)}
    100%{background-color:rgba(184,153,104,0);box-shadow:0 0 0 0 rgba(184,153,104,0)}
  }.bouquet-pdp-v2a-wrap .bnr-line1, .bouquet-pdp-v2a-wrap .bnr-phrase, .bouquet-pdp-v2a-wrap .bnr-senders, .bouquet-pdp-v2a-wrap .bnr-suffix{padding:.5cqw 1cqw !important;border-radius:2px !important;transition:background-color .35s !important}.bouquet-pdp-v2a-wrap .bnr-pulse{animation:bnrPulse 1.2s ease-out}.bouquet-pdp-v2a-wrap .sub-step{
    position:relative !important;
    padding:24px 26px 22px !important;
    border:1px solid var(--rule) !important;background:var(--bg-card) !important;
    margin-bottom:18px !important;
    transition:border-color .35s,background-color .35s,box-shadow .35s,opacity .35s !important;
    opacity:1 !important;
  }.bouquet-pdp-v2a-wrap .sub-step.is-active{
    border-color:var(--forest);box-shadow:0 0 0 1px var(--forest),0 12px 30px -20px rgba(45,62,42,.3);
    background:#FAF6E8 !important;
  }.bouquet-pdp-v2a-wrap .sub-step.is-done{opacity:.85 !important}.bouquet-pdp-v2a-wrap .sub-step.is-pending{opacity:.65 !important}.bouquet-pdp-v2a-wrap .sub-step-head{display:flex !important;align-items:baseline !important;justify-content:space-between !important;gap:14px !important;margin-bottom:18px !important;padding-bottom:14px !important;border-bottom:1px solid var(--rule) !important}.bouquet-pdp-v2a-wrap .sub-step-head .left{display:flex !important;align-items:baseline !important;gap:14px !important}.bouquet-pdp-v2a-wrap .sub-step-num{
    font-family:var(--serif) !important;font-style:italic;font-weight:500 !important;font-size:28px !important;line-height:1 !important;
    color:var(--gold-deep) !important;min-width:36px !important;
    transition:color .3s !important;
  }.bouquet-pdp-v2a-wrap .sub-step.is-active .sub-step-num{color:var(--forest-deep) !important}.bouquet-pdp-v2a-wrap .sub-step.is-done .sub-step-num{color:var(--forest) !important}.bouquet-pdp-v2a-wrap .sub-step-title{font-family:var(--cjk) !important;font-weight:500 !important;font-size:18px !important;letter-spacing:.18em !important;color:var(--forest-deep) !important;margin:0 !important}.bouquet-pdp-v2a-wrap .sub-step-title .en{font-family:var(--serif) !important;font-style:italic;font-weight:400 !important;font-size:13.5px !important;color:var(--muted) !important;margin-left:10px !important;letter-spacing:.02em !important}.bouquet-pdp-v2a-wrap .sub-step-status{
    font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.32em !important;text-transform:uppercase;
    padding:5px 11px !important;border:1px solid var(--rule) !important;color:var(--muted) !important;
    transition:all .3s !important;flex-shrink:0;
  }.bouquet-pdp-v2a-wrap .sub-step.is-active .sub-step-status{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep);animation:statusGlow 2s ease-in-out infinite}.bouquet-pdp-v2a-wrap .sub-step.is-done .sub-step-status{background:var(--gold) !important;color:var(--ink) !important;border-color:var(--gold)}
  @keyframes statusGlow{0%,100%{box-shadow:0 0 0 0 rgba(45,62,42,.4)}50%{box-shadow:0 0 0 6px rgba(45,62,42,0)}}

  
  @keyframes subStepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bouquet-pdp-v2a-wrap .sub-step{animation:subStepIn .5s ease-out both}.bouquet-pdp-v2a-wrap .sub-step:nth-child(1){animation-delay:.05s}.bouquet-pdp-v2a-wrap .sub-step:nth-child(2){animation-delay:.18s}.bouquet-pdp-v2a-wrap .sub-step:nth-child(3){animation-delay:.32s}

  
  @keyframes autofillFlash{0%{background-color:rgba(184,153,104,0)}25%{background-color:rgba(184,153,104,.25)}100%{background-color:rgba(184,153,104,0)}}.bouquet-pdp-v2a-wrap .uline.is-autofilled{animation:autofillFlash 1.1s ease-out}.bouquet-pdp-v2a-wrap .sub-step .field-label{margin-top:14px !important}.bouquet-pdp-v2a-wrap .sub-step > .field-label:first-of-type{margin-top:4px !important}.bouquet-pdp-v2a-wrap .phrase-meaning{background:var(--bg-card) !important;border-left:3px solid var(--gold) !important;padding:14px 18px !important;margin-top:14px !important;font-family:var(--cjk) !important;font-size:13.5px !important;line-height:1.8 !important;color:var(--ink) !important;letter-spacing:.06em !important}.bouquet-pdp-v2a-wrap .phrase-meaning .pm-eyebrow{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin-bottom:6px !important}.bouquet-pdp-v2a-wrap .phrase-meaning .pm-phrase{font-weight:600 !important;color:var(--forest-deep) !important;font-size:16px !important;margin-right:10px !important}.bouquet-pdp-v2a-wrap .phrase-meaning .pm-empty{color:var(--muted) !important;font-style:italic;font-family:var(--serif) !important}.bouquet-pdp-v2a-wrap .senders-group{display:flex !important;flex-direction:column !important;gap:10px !important;margin-top:10px !important}.bouquet-pdp-v2a-wrap .sender-row{display:grid !important;grid-template-columns:1fr .55fr 1.4fr auto !important;gap:10px !important;align-items:end !important}.bouquet-pdp-v2a-wrap .sender-rank.is-disabled{opacity:.35 !important;pointer-events:none}.bouquet-pdp-v2a-wrap .sender-row .uline{margin:0 !important;padding:10px 0 !important}.bouquet-pdp-v2a-wrap .sender-row .remove{
    width:30px !important;height:30px !important;font-family:var(--sc) !important;font-size:14px !important;
    border:1px solid var(--rule) !important;background:transparent !important;color:var(--muted) !important;cursor:pointer !important;
    align-self:center;transition:all .2s !important;
  }.bouquet-pdp-v2a-wrap .sender-row .remove:hover{border-color:var(--female);color:var(--female) !important}.bouquet-pdp-v2a-wrap .sender-row.primary .remove{visibility:hidden}.bouquet-pdp-v2a-wrap .add-sender-btn{
    margin-top:4px !important;align-self:flex-start;
    font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.12em !important;
    border:1px dashed var(--rule) !important;padding:9px 16px !important;color:var(--muted) !important;
    cursor:pointer !important;background:transparent !important;transition:all .2s !important;
  }.bouquet-pdp-v2a-wrap .add-sender-btn:hover{border-color:var(--forest);color:var(--forest-deep) !important}.bouquet-pdp-v2a-wrap .sender-row-label{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.28em !important;color:var(--muted) !important;text-transform:uppercase;display:block !important;margin-bottom:2px !important}.bouquet-pdp-v2a-wrap .preview-foot{margin-top:12px !important;font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12.5px !important;text-align:center !important}.bouquet-pdp-v2a-wrap .preview-foot strong{color:var(--gold-deep) !important;font-style:normal;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.22em !important;text-transform:uppercase}.bouquet-pdp-v2a-wrap .auto-hint{background:var(--bg-card) !important;border-left:3px solid var(--gold) !important;padding:12px 16px !important;margin-top:14px !important;font-family:var(--cjk) !important;font-size:12.5px !important;color:var(--ink) !important;letter-spacing:.06em !important;line-height:1.7 !important}.bouquet-pdp-v2a-wrap .auto-hint strong{color:var(--forest-deep) !important;font-weight:500 !important;display:block !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.22em !important;text-transform:uppercase;margin-bottom:6px !important}.bouquet-pdp-v2a-wrap .auto-hint em{font-style:italic;color:var(--muted) !important;font-size:11.5px !important}.bouquet-pdp-v2a-wrap .auto-hint .tag{display:inline-block !important;background:var(--forest-deep) !important;color:var(--bg) !important;font-family:var(--cjk) !important;font-size:11.5px !important;font-style:normal;letter-spacing:.06em !important;text-transform:none;padding:2px 7px !important;margin:0 2px !important}.bouquet-pdp-v2a-wrap .religion{display:flex !important;gap:18px !important;border-bottom:1px solid var(--rule) !important;padding-bottom:10px !important;margin:8px 0 14px !important}.bouquet-pdp-v2a-wrap .religion button{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.12em !important;color:var(--muted) !important;padding:4px 0 !important;position:relative !important;transition:color .25s !important}.bouquet-pdp-v2a-wrap .religion button.is-active{color:var(--forest-deep) !important;font-weight:500 !important}.bouquet-pdp-v2a-wrap .religion button.is-active::after{content:"";position:absolute !important;left:0 !important;right:0 !important;bottom:-11px !important;height:1px !important;background:var(--forest) !important}.bouquet-pdp-v2a-wrap .chip-section{margin-top:14px !important}.bouquet-pdp-v2a-wrap .chip-section-label{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.28em !important;color:var(--muted) !important;text-transform:uppercase;margin-bottom:8px !important;display:flex !important;align-items:center !important;gap:8px !important}.bouquet-pdp-v2a-wrap .chip-section-label::before{content:"";display:inline-block !important;width:14px !important;height:1px !important;background:var(--rule) !important}.bouquet-pdp-v2a-wrap .chip-section.female .chip-section-label{color:var(--female) !important}.bouquet-pdp-v2a-wrap .chip-section.male .chip-section-label{color:var(--male) !important}.bouquet-pdp-v2a-wrap .chip-section.neutral .chip-section-label{color:var(--neutral) !important}.bouquet-pdp-v2a-wrap .chip-row{display:flex !important;flex-wrap:wrap !important;gap:6px !important}.bouquet-pdp-v2a-wrap .chip{font-family:var(--cjk) !important;font-size:14.5px !important;letter-spacing:.14em !important;background:transparent !important;border:1px solid var(--rule) !important;color:var(--ink) !important;padding:9px 14px !important;cursor:pointer !important;transition:all .25s !important;display:inline-flex !important;align-items:center !important;gap:6px !important;font-weight:400}.bouquet-pdp-v2a-wrap .chip:hover{border-color:var(--forest);color:var(--forest-deep) !important}.bouquet-pdp-v2a-wrap .chip.is-active{background:var(--forest-deep) !important;border-color:var(--forest-deep);color:var(--bg) !important}.bouquet-pdp-v2a-wrap .chip .g{font-size:9.5px !important;opacity:.55 !important;font-family:var(--sc) !important;letter-spacing:.1em !important}.bouquet-pdp-v2a-wrap .chip.gM .g{color:var(--male) !important}.bouquet-pdp-v2a-wrap .chip.gF .g{color:var(--female) !important}.bouquet-pdp-v2a-wrap .chip.gN .g{color:var(--neutral) !important}.bouquet-pdp-v2a-wrap .chip.is-active .g{opacity:.85 !important;color:var(--gold) !important}.bouquet-pdp-v2a-wrap .chip-suggested{margin-top:8px !important;font-family:var(--serif) !important;font-style:italic;color:var(--gold-deep) !important;font-size:12px !important;letter-spacing:.02em !important}.bouquet-pdp-v2a-wrap .checkout-section{max-width:var(--max) !important;margin:30px auto !important;padding:0 var(--gut) !important}.bouquet-pdp-v2a-wrap .checkout-card{background:var(--bg-card) !important;border:1px solid var(--forest) !important;padding:32px 40px !important}.bouquet-pdp-v2a-wrap .checkout-grid{display:grid !important;grid-template-columns:1.4fr 1fr !important;gap:40px !important;align-items:center !important}.bouquet-pdp-v2a-wrap .checkout-summary h4{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin:0 0 14px !important}.bouquet-pdp-v2a-wrap .checkout-summary .line{display:flex !important;justify-content:space-between !important;align-items:baseline !important;padding:7px 0 !important;border-bottom:1px solid var(--rule-soft) !important;font-family:var(--cjk) !important;font-size:13.5px !important;color:var(--ink) !important;letter-spacing:.06em !important}.bouquet-pdp-v2a-wrap .checkout-summary .line:last-of-type{border-bottom:0 !important}.bouquet-pdp-v2a-wrap .checkout-summary .line .lbl{color:var(--muted) !important}.bouquet-pdp-v2a-wrap .checkout-summary .total-line{display:flex !important;justify-content:space-between !important;align-items:baseline !important;margin-top:14px !important;padding-top:14px !important;border-top:1px solid var(--forest) !important}.bouquet-pdp-v2a-wrap .checkout-summary .total-line .lbl{font-family:var(--cjk) !important;font-size:15px !important;letter-spacing:.14em !important;color:var(--forest-deep) !important}.bouquet-pdp-v2a-wrap .checkout-summary .total-line .v{font-family:var(--serif) !important;font-weight:500 !important;color:var(--forest-deep) !important;font-size:32px !important;letter-spacing:.02em !important}.bouquet-pdp-v2a-wrap .checkout-cta{display:flex !important;flex-direction:column !important;align-items:flex-end !important;gap:12px !important}.bouquet-pdp-v2a-wrap .stock-line{display:inline-flex !important;gap:10px !important;align-items:center !important;font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.14em !important;color:var(--forest-deep) !important}.bouquet-pdp-v2a-wrap .stock-line .dot{display:inline-block !important;width:6px !important;height:6px !important;border-radius:50% !important;background:var(--gold-deep) !important;box-shadow:0 0 0 5px rgba(138,111,69,.13)}.bouquet-pdp-v2a-wrap .cta{display:inline-flex !important;align-items:center !important;gap:14px !important;background:var(--forest-deep) !important;color:var(--bg) !important;padding:20px 50px !important;font-family:var(--cjk) !important;font-weight:500 !important;font-size:16px !important;letter-spacing:.24em !important;border:1px solid var(--forest-deep) !important;cursor:pointer !important;transition:all .35s !important;box-shadow:5px 5px 0 var(--gold-deep)}.bouquet-pdp-v2a-wrap .cta:hover{transform:translate(-2px,-2px) !important;box-shadow:7px 7px 0 var(--gold-deep);background:var(--ink) !important}.bouquet-pdp-v2a-wrap .cta .cn{font-weight:500 !important}.bouquet-pdp-v2a-wrap .cta .arrow{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;text-transform:uppercase;color:var(--gold) !important;font-weight:400 !important}.bouquet-pdp-v2a-wrap .cta-foot{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12.5px !important;text-align:right !important;letter-spacing:.02em !important;margin-top:4px !important}.bouquet-pdp-v2a-wrap footer{background:var(--bg-2) !important;color:var(--muted) !important;padding:40px var(--gut) !important;border-top:1px solid var(--rule) !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.32em !important;text-transform:uppercase;text-align:center !important}

  @media (max-width:900px){.bouquet-pdp-v2a-wrap .hero{grid-template-columns:1fr !important;gap:30px !important}.bouquet-pdp-v2a-wrap .size-grid{grid-template-columns:repeat(2,1fr) !important}.bouquet-pdp-v2a-wrap .size{border-bottom:1px solid var(--rule) !important}.bouquet-pdp-v2a-wrap .duo{grid-template-columns:1fr !important;gap:30px !important;padding:24px !important}.bouquet-pdp-v2a-wrap .p3-grid{grid-template-columns:1fr !important;gap:30px !important}.bouquet-pdp-v2a-wrap .p3-preview{position:static !important}.bouquet-pdp-v2a-wrap .time-cats, .bouquet-pdp-v2a-wrap .hour-grid{grid-template-columns:repeat(2,1fr) !important}/* Banner preview: removed px overrides · let cqw system scale ratio identical to desktop · Gary 2026-05-26 */.bouquet-pdp-v2a-wrap .checkout-grid{grid-template-columns:1fr !important;gap:24px !important}.bouquet-pdp-v2a-wrap .checkout-cta{align-items:stretch !important}.bouquet-pdp-v2a-wrap .cta-foot{text-align:center !important}
  }
/* ─── Hero entrance · staggered fade-up animation (per Gary) ─── */
@keyframes v2aHeroFadeIn {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes v2aImgFadeIn {
  from { opacity: 0; transform: scale(1.04); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes v2aBlurIn {
  from { opacity: 0; filter: blur(8px); transform: translateY(16px); }
  to { opacity: 1; filter: blur(0); transform: translateY(0); }
}

.bouquet-pdp-v2a-wrap .hero-img,
.bouquet-pdp-v2a-wrap .hero-img-wrap img {
  animation: v2aImgFadeIn 1.6s cubic-bezier(.2,.65,.2,1) .1s both !important;
}
.bouquet-pdp-v2a-wrap .eyebrow.hero-eyebrow {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .15s both !important;
}
.bouquet-pdp-v2a-wrap .hero-title-cjk {
  /* Remove blur · 霧化 fix (Gary 2026-05-27) · fade-only · force-rebuild v3 compiled bundle */
  animation-name: v2aHeroFadeIn !important;
  animation-duration: .8s !important;
  animation-timing-function: cubic-bezier(.2,.65,.2,1) !important;
  animation-delay: .25s !important;
  animation-fill-mode: both !important;
  filter: none !important;
}
.bouquet-pdp-v2a-wrap .hero-title-cjk .small {
  display: block !important;
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .7s both !important;
}
.bouquet-pdp-v2a-wrap .hero-title-latin {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .95s both !important;
}
.bouquet-pdp-v2a-wrap .hero-lede {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.2s both !important;
}
.bouquet-pdp-v2a-wrap .hero-lede em {
  display: block !important;
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.4s both !important;
}
.bouquet-pdp-v2a-wrap .price-row {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.55s both !important;
}
.bouquet-pdp-v2a-wrap .ship-line,
.bouquet-pdp-v2a-wrap .size-block {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.75s both !important;
}

/* Respect user's reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  .bouquet-pdp-v2a-wrap .hero-img,
  .bouquet-pdp-v2a-wrap .hero-img-wrap img,
  .bouquet-pdp-v2a-wrap .eyebrow.hero-eyebrow,
  .bouquet-pdp-v2a-wrap .hero-title-cjk,
  .bouquet-pdp-v2a-wrap .hero-title-cjk .small,
  .bouquet-pdp-v2a-wrap .hero-title-latin,
  .bouquet-pdp-v2a-wrap .hero-lede,
  .bouquet-pdp-v2a-wrap .hero-lede em,
  .bouquet-pdp-v2a-wrap .price-row,
  .bouquet-pdp-v2a-wrap .ship-line,
  .bouquet-pdp-v2a-wrap .size-block {
    animation: none !important;
  }
}


/* Cart submit success animation */
.v2a-cart-overlay{position:fixed;inset:0;background:rgba(31,49,40,0.85);display:flex;align-items:center;justify-content:center;z-index:99999;opacity:0;pointer-events:none;transition:opacity .3s ease}
.v2a-cart-overlay.is-visible{opacity:1;pointer-events:auto}
.v2a-cart-card{background:#F6F1E8;padding:48px 56px;text-align:center;max-width:380px;transform:scale(.85);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.v2a-cart-overlay.is-visible .v2a-cart-card{transform:scale(1)}
.v2a-cart-check{width:72px;height:72px;border-radius:50%;background:#3D5544;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;transform:scale(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1) .2s}
.v2a-cart-overlay.is-visible .v2a-cart-check{transform:scale(1)}
.v2a-cart-check svg{width:36px;height:36px;stroke:#F6F1E8;stroke-width:3;fill:none;stroke-dasharray:50;stroke-dashoffset:50;animation:v2aCheckDraw .5s ease .5s forwards}
@keyframes v2aCheckDraw{to{stroke-dashoffset:0}}
.v2a-cart-title{font-family:'Cormorant Garamond','Noto Serif TC',serif;font-style:italic;font-size:28px;color:#1F3128;margin:0 0 8px;font-weight:400;letter-spacing:.04em}
.v2a-cart-sub{font-family:'Noto Serif TC',serif;font-size:14px;color:#5A6B5F;letter-spacing:.06em;margin:0;line-height:1.6}
.v2a-cart-error{position:fixed;top:30px;left:50%;transform:translateX(-50%);background:#A4292B;color:#F6F1E8;padding:16px 28px;font-family:'Noto Serif TC',serif;font-size:14px;letter-spacing:.08em;z-index:99999;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;transition:opacity .3s;pointer-events:none}
.v2a-cart-error.is-visible{opacity:1}


.bouquet-pdp-v2a-wrap .ship-promise{font-family:var(--cjk) !important;font-size:13px !important;color:var(--gold-deep) !important;letter-spacing:.14em !important;margin:8px 0 0 !important;line-height:1.6 !important;font-weight:400 !important}
.bouquet-pdp-v2a-wrap .ship-promise em{font-family:var(--serif) !important;font-style:italic !important;font-size:15px !important;color:var(--forest-deep) !important;font-weight:500 !important;letter-spacing:.08em !important;margin-right:6px !important;border-bottom:1px solid var(--gold) !important;padding-bottom:1px !important}


@keyframes v2aPhraseFlyIn{0%{opacity:0;transform:translateX(-24px);filter:blur(4px)}100%{opacity:1;transform:translateX(0);filter:blur(0)}}
.bouquet-pdp-v2a-wrap .phrase-meaning.is-flying{animation:v2aPhraseFlyIn .55s cubic-bezier(.2,.65,.2,1) both}
@keyframes v2aChipPop{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
.bouquet-pdp-v2a-wrap .chip.is-active{animation:v2aChipPop .4s cubic-bezier(.34,1.56,.64,1)}


/* ─── B-HYBRID ROUNDED TIMELINE ─── */
@keyframes tlDrawLine{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes tlGoldRing{0%,100%{box-shadow:0 0 0 5px rgba(184,153,104,.25)}50%{box-shadow:0 0 0 9px rgba(184,153,104,.08)}}
@keyframes tlNodeStagger{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlDotPop{0%{transform:scale(0)}60%{transform:scale(1.35)}100%{transform:scale(1)}}
@keyframes tlShine{0%{transform:translateX(-100%)}100%{transform:translateX(200%)}}
@keyframes tlHintFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlWinStagger{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlRecFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

.bouquet-pdp-v2a-wrap .tl-timeline{display:flex !important;flex-direction:column !important;gap:10px !important;position:relative !important;padding-left:32px !important;grid-template-columns:none !important;margin-top:10px !important}
.bouquet-pdp-v2a-wrap .tl-timeline::before{content:"" !important;position:absolute !important;left:11px !important;top:18px !important;bottom:18px !important;width:1px !important;background:var(--rule) !important;transform-origin:top !important;animation:tlDrawLine 1.1s cubic-bezier(.4,0,.2,1) .15s both !important}

.bouquet-pdp-v2a-wrap .tl-timeline .time-cat{position:relative !important;background:var(--paper) !important;border:1px solid var(--rule) !important;border-radius:16px !important;padding:16px 20px !important;cursor:pointer !important;transition:all .45s cubic-bezier(.4,0,.2,1) !important;overflow:hidden !important;animation:tlNodeStagger .65s cubic-bezier(.4,0,.2,1) both !important;text-align:left !important;display:block !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(1){animation-delay:.35s !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(2){animation-delay:.5s !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(3){animation-delay:.65s !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(4){animation-delay:.8s !important}

.bouquet-pdp-v2a-wrap .tl-timeline .time-cat::before{content:"" !important;position:absolute !important;left:-27px !important;top:22px !important;width:14px !important;height:14px !important;border:2px solid var(--rule) !important;background:var(--bg) !important;border-radius:50% !important;transition:all .35s !important;z-index:2 !important;animation:tlDotPop .6s cubic-bezier(.34,1.56,.64,1) both !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(1)::before{animation-delay:.5s !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(2)::before{animation-delay:.65s !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(3)::before{animation-delay:.8s !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(4)::before{animation-delay:.95s !important}

.bouquet-pdp-v2a-wrap .tl-timeline .time-cat:hover{border-color:var(--forest) !important;transform:translateX(3px) !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat:hover::before{border-color:var(--forest) !important;transform:scale(1.15) !important}

.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep) !important;padding:20px 22px !important;border-radius:18px !important;transform:translateX(5px) !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active::before{background:var(--gold) !important;border-color:var(--gold) !important;animation:tlGoldRing 2.2s ease-in-out infinite !important}




.bouquet-pdp-v2a-wrap .tl-row{display:flex !important;align-items:baseline !important;gap:14px !important;justify-content:space-between !important}
.bouquet-pdp-v2a-wrap .tl-main{display:flex !important;align-items:baseline !important;gap:14px !important;flex-wrap:wrap !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .cn{font-family:var(--cjk) !important;font-size:21px !important;font-weight:500 !important;letter-spacing:.14em !important;line-height:1 !important;display:inline !important;color:inherit !important;margin:0 !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .cn{font-size:23px !important;color:var(--paper) !important}
.bouquet-pdp-v2a-wrap .tl-detail{font-family:var(--serif) !important;font-style:italic !important;font-size:13px !important;color:var(--muted) !important;letter-spacing:.04em !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-detail{color:rgba(246,241,232,.75) !important;font-size:14px !important}
.bouquet-pdp-v2a-wrap .tl-detail .dot{margin:0 5px !important;color:var(--gold-deep) !important;font-style:normal !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-detail .dot{color:var(--gold) !important}

.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .meta{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.22em !important;color:var(--gold-deep) !important;text-transform:uppercase !important;white-space:nowrap !important;display:inline !important;margin-top:0 !important;opacity:1 !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .meta{color:var(--gold) !important;font-size:12px !important}
.bouquet-pdp-v2a-wrap .tl-free{color:var(--forest) !important;font-weight:500 !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-free{color:var(--gold) !important}

.bouquet-pdp-v2a-wrap .tl-hint{font-family:var(--cjk) !important;font-size:11.5px !important;color:rgba(246,241,232,.65) !important;margin-top:8px !important;letter-spacing:.08em !important;display:none !important}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-hint{display:block !important;animation:tlHintFade .55s cubic-bezier(.4,0,.2,1) .15s both !important}

/* The 3hr window panel gets moved INTO active time-cat by JS */
.bouquet-pdp-v2a-wrap .tl-windows{display:none !important;margin-top:14px !important;padding-top:14px !important;border-top:1px solid rgba(246,241,232,.18) !important;flex-wrap:wrap !important;gap:6px !important;width:100% !important;border-radius:0 !important}
.bouquet-pdp-v2a-wrap .time-cat.is-active > .tl-windows{display:flex !important;animation:tlHintFade .5s ease both !important}
.bouquet-pdp-v2a-wrap .tl-windows-h{flex-basis:100% !important;font-family:var(--cjk) !important;font-size:11px !important;color:rgba(246,241,232,.6) !important;letter-spacing:.18em !important;margin-bottom:8px !important}

.bouquet-pdp-v2a-wrap .tl-windows .quick{flex:1 1 30% !important;padding:11px 8px !important;text-align:center !important;font-family:var(--cjk) !important;font-size:13px !important;background:transparent !important;border:1px solid rgba(246,241,232,.25) !important;color:var(--paper) !important;cursor:pointer !important;transition:all .25s !important;letter-spacing:.04em !important;border-radius:8px !important;animation:tlWinStagger .5s cubic-bezier(.4,0,.2,1) both !important}
.bouquet-pdp-v2a-wrap .tl-windows .quick:nth-child(2){animation-delay:.3s !important}
.bouquet-pdp-v2a-wrap .tl-windows .quick:nth-child(3){animation-delay:.4s !important}
.bouquet-pdp-v2a-wrap .tl-windows .quick:nth-child(4){animation-delay:.5s !important}
.bouquet-pdp-v2a-wrap .tl-windows .quick:hover{background:rgba(246,241,232,.08) !important;transform:translateY(-2px) !important}
.bouquet-pdp-v2a-wrap .tl-windows .quick.is-active{background:var(--gold) !important;color:var(--forest-deep) !important;border-color:var(--gold) !important;font-weight:500 !important;transform:scale(1.04) !important}
.bouquet-pdp-v2a-wrap .tl-windows .quick.is-disabled{opacity:.35 !important;cursor:not-allowed !important;text-decoration:line-through}

/* Round corners on upgrade row + 30min slot + date quick-row to match style B */
.bouquet-pdp-v2a-wrap .upgrade-row .upgrade{border-radius:10px !important}
.bouquet-pdp-v2a-wrap .hour{border-radius:8px !important}
.bouquet-pdp-v2a-wrap .quick-row:not(.tl-windows) .quick{border-radius:8px !important}
.bouquet-pdp-v2a-wrap .size{border-radius:0 !important}
.bouquet-pdp-v2a-wrap .uline{border-radius:0 !important}
.bouquet-pdp-v2a-wrap .zone-result{border-radius:12px !important}

/* cache-bust 1779674629 */
/* cache-bust-vis-fix-1779674656 */

/* Ensure .tl-windows .quick.is-active = gold + dark (override any other rule) */
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-windows .quick.is-active,
.bouquet-pdp-v2a-wrap .tl-win-pool .quick.is-active{
  background: var(--gold) !important;
  color: var(--forest-deep) !important;
  border-color: var(--gold) !important;
  font-weight: 500 !important;
  transform: scale(1.04) !important;
}

/* cache-bust-4polish-1779675568 */

/* Disabled time-cat: grayed out + line-through + not-clickable + "來不及" badge */
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled{
  opacity: .42 !important;
  cursor: not-allowed !important;
  background: transparent !important;
  filter: grayscale(.4);
  position: relative !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled:hover{
  border-color: var(--rule) !important;
  transform: none !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled::before{
  background: var(--bg) !important;
  border-color: var(--rule) !important;
  animation: none !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled .cn{
  text-decoration: line-through !important;
  text-decoration-color: var(--muted) !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled::after{
  content: "今日來唔切" !important;
  position: absolute !important;
  top: 50% !important;
  right: 18px !important;
  transform: translateY(-50%) !important;
  background: var(--muted) !important;
  color: var(--paper) !important;
  font-family: var(--cjk) !important;
  font-size: 10.5px !important;
  letter-spacing: .14em !important;
  padding: 4px 10px !important;
  border-radius: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  border: 0 !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  pointer-events: none;
}
/* Recommended badge hidden when disabled */
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.tl-recommended.is-disabled::after{
  content: "今日來唔切 · 揀明日" !important;
  background: var(--muted) !important;
  color: var(--paper) !important;
}

/* cache-bust-disabled-1779676624 */
/* cache-bust-cat-cutoffs-1779680694 */

/* Time-cat fee: floating gold badge at top-right */





/* Recommended badge moved to BOTTOM-LEFT to free top-right for fee */



/* Upgrade row · corner badge */




/* cache-bust-corner-badge-1779681435 */

/* Disabled badge muted */


/* cache-bust-ultra-1779682162 */
/* cache-bust-root-fix-1779682486 */
/* cache-bust-root-v2-1779682570 */
/* rollback-to-cat-cutoffs-1779688130 */
/* rollback-v2-1779688209 */

/* ─── Baseline inline fee styling (match mockup 1:1) ─── */
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .meta.tl-fee,
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee{
  font-family: var(--sc) !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  color: var(--gold-deep) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  position: static !important;
  display: inline !important;
  margin: 0 !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.tl-free,
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.free{
  color: var(--forest) !important;
  font-weight: 500 !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee{
  color: var(--gold) !important;
  font-size: 12px !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.tl-free,
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.free{
  color: var(--gold) !important;
}
/* Disabled fee = muted */
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled .tl-fee{
  color: var(--muted) !important;
  text-decoration: line-through !important;
}

/* Recommended badge restored to TOP-RIGHT */
.bouquet-pdp-v2a-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 16px 0 14px !important;
}

/* match-mockup-1779688524 */
/* cache-bust-default-active-1779688882 */

/* Disabled windows: visible but line-through (so customer knows past cutoff) */
.bouquet-pdp-v2a-wrap .time-cat.is-active .tl-windows .quick.is-disabled,
.bouquet-pdp-v2a-wrap .tl-win-pool .quick.is-disabled{
  opacity: .35 !important;
  text-decoration: line-through !important;
  cursor: not-allowed !important;
  background: transparent !important;
  color: rgba(246,241,232,.5) !important;
  border-color: rgba(246,241,232,.18) !important;
  pointer-events: none;
}
.bouquet-pdp-v2a-wrap .time-cat.is-active .tl-windows .quick:not(.is-disabled),
.bouquet-pdp-v2a-wrap .tl-win-pool .quick:not(.is-disabled){
  color: var(--paper) !important;
  background: transparent !important;
  border: 1px solid rgba(246,241,232,.25) !important;
}

/* fix-3-issues-1779689488 */
/* restore-guard-1779689541 */

/* Pool now inline inside owning time-cat · show only when active */
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .tl-windows{
  display: none !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(246,241,232,.18) !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  width: 100% !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-windows{
  display: flex !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .tl-windows-h{
  flex-basis: 100% !important;
  font-family: var(--cjk) !important;
  font-size: 11px !important;
  color: rgba(246,241,232,.6) !important;
  letter-spacing: .18em !important;
  margin-bottom: 8px !important;
}

/* inline-pools-1779697167 */


/* time-cat needs padding-top to make room for badge */
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat{
  padding-top: 32px !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active{
  padding-top: 36px !important;
}
/* Recommended badge moved to bottom-left to free top-right for fee */
.bouquet-pdp-v2a-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
  right: auto !important;
  left: 0 !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 14px 0 16px !important;
}

/* corner-badge-redeploy-1779697410 */

/* Style B Rounded Corners — inline fee · 推薦 top-right */
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat{
  padding-top: 16px !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active{
  padding-top: 22px !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .meta.tl-fee,
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee{
  position: static !important;
  background: transparent !important;
  color: var(--gold-deep) !important;
  font-family: var(--sc) !important;
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  display: inline !important;
  margin-left: 12px !important;
  line-height: 1 !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.tl-free,
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.free{
  color: var(--forest) !important;
  font-family: var(--cjk) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: .08em !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee{
  color: var(--gold) !important;
  font-size: 12px !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.tl-free,
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.free{
  color: var(--gold) !important;
}
.bouquet-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled .tl-fee{
  color: var(--muted) !important;
  background: transparent !important;
  text-decoration: line-through !important;
  box-shadow: none !important;
}
/* Recommended tag at TOP-RIGHT (Style B) */
.bouquet-pdp-v2a-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 16px 0 14px !important;
}
/* Upgrade extra: inline small caps gold-deep (no floating badge) */
.bouquet-pdp-v2a-wrap .upgrade-row .upgrade{
  padding-top: 9px !important;
}
.bouquet-pdp-v2a-wrap .upgrade-row .upgrade .extra{
  position: static !important;
  background: transparent !important;
  color: var(--gold-deep) !important;
  font-family: var(--sc) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}
.bouquet-pdp-v2a-wrap .upgrade-row .upgrade.is-active .extra{
  background: transparent !important;
  color: var(--ink) !important;
}

/* style-b-rollback-1779697860 */
/* clean-residual-1779698026 */
/* syntax-fix-1779698898 */
/* inline-fallback-1779699648 */
/* upgrade-delegation-1779700618 */
/* v3-1779709698 */
/* v4-1779710191 */



/* d4-progress-1779717076 */
/* tracker-js-1779717152 */
/* validation-fix-1779717580 */


/* v5-tracker-1779718631 */

/* === D4 Tracker Re-Push 1779719476 === */
.bouquet-pdp-v2a-wrap .v2a-progress-track{
  /* Static inside sticky parent · NO own sticky · prevents sub-pixel gap */
  position: static !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--forest-deep) !important;
  /* Hidden by default · revealed on first Part 2 form interaction */
  max-height: 0 !important;
  opacity: 0 !important;
  transform: translateY(-8px) !important;
  overflow: hidden !important;
  transition: max-height 1s cubic-bezier(.22,1,.36,1), opacity .7s ease-in-out, transform .9s cubic-bezier(.22,1,.36,1) !important;
  pointer-events: none !important;
}
.bouquet-pdp-v2a-wrap .v2a-progress-track.is-revealed{
  transform: translateY(0) !important;
}
/* Progress inner: keep forest-deep bg, no border-radius, flush with nav */
.bouquet-pdp-v2a-wrap .v2a-progress-track .ptk-inner{
  border-radius: 0 !important;
  box-shadow: none !important;
  max-width: var(--max) !important;
  margin: 0 auto !important;
}
.bouquet-pdp-v2a-wrap .v2a-progress-track.is-revealed{
  max-height: 160px !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.bouquet-pdp-v2a-wrap .ptk-inner{
  background: var(--forest-deep) !important;
  color: var(--paper) !important;
  padding: 10px 24px !important;
  border-radius: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: hidden !important;
}
.bouquet-pdp-v2a-wrap .ptk-inner::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(184,153,104,.25), transparent) !important;
  transform: translateX(-100%) !important;
  animation: ptkTrail 3s ease-in-out infinite !important;
  pointer-events: none !important;
}
@keyframes ptkTrail{0%,30%{transform:translateX(-100%)}60%,100%{transform:translateX(200%)}}
.bouquet-pdp-v2a-wrap .ptk-head{
  font-family: var(--cjk) !important;
  font-size: 13px !important;
  letter-spacing: .1em !important;
  font-weight: 500 !important;
  position: relative !important;
  z-index: 1 !important;
}
.bouquet-pdp-v2a-wrap .ptk-pct{
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--gold) !important;
  margin-left: 8px !important;
}
.bouquet-pdp-v2a-wrap .ptk-dots{
  display: flex !important;
  gap: 28px !important;
  align-items: center !important;
  position: relative !important;
  z-index: 1 !important;
}
.bouquet-pdp-v2a-wrap .ptk-step{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  position: relative !important;
}
.bouquet-pdp-v2a-wrap .ptk-step:not(:first-child)::before{
  content: "" !important;
  position: absolute !important;
  right: 100% !important;
  top: 6.5px !important;
  width: 28px !important;
  height: 1.5px !important;
  background: rgba(246,241,232,.2) !important;
  transition: background .35s !important;
}
.bouquet-pdp-v2a-wrap .ptk-step.is-done + .ptk-step::before,
.bouquet-pdp-v2a-wrap .ptk-step.is-done + .ptk-step.is-current::before{
  background: var(--gold) !important;
}
.bouquet-pdp-v2a-wrap .ptk-dot{
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: rgba(246,241,232,.15) !important;
  transition: all .35s !important;
  position: relative !important;
}
.bouquet-pdp-v2a-wrap .ptk-mini{
  font-family: var(--sc) !important;
  font-size: 8.5px !important;
  letter-spacing: .18em !important;
  color: rgba(246,241,232,.5) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.bouquet-pdp-v2a-wrap .ptk-step.is-done .ptk-dot{
  background: var(--gold) !important;
  box-shadow: 0 0 8px rgba(184,153,104,.6) !important;
}
.bouquet-pdp-v2a-wrap .ptk-step.is-done .ptk-mini{
  color: var(--gold) !important;
  font-weight: 500 !important;
}
.bouquet-pdp-v2a-wrap .ptk-step.is-current .ptk-dot{
  background: var(--paper) !important;
  width: 18px !important;
  height: 18px !important;
  animation: ptkGlow 1.8s ease-in-out infinite !important;
}
.bouquet-pdp-v2a-wrap .ptk-step.is-current .ptk-mini{
  color: var(--paper) !important;
  font-weight: 500 !important;
}
@keyframes ptkGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(246,241,232,.7), 0 0 8px var(--gold)}
  50%{box-shadow:0 0 0 6px rgba(246,241,232,0), 0 0 14px var(--gold)}
}
@media (max-width: 900px){
  .bouquet-pdp-v2a-wrap .v2a-progress-track{margin: 0 !important;padding: 0 !important;max-width:100% !important}
  .bouquet-pdp-v2a-wrap .ptk-inner{flex-direction: column !important;align-items: stretch !important;gap: 8px !important;padding: 10px 14px !important;border-radius: 0 !important}
  .bouquet-pdp-v2a-wrap .ptk-head{text-align: center !important;font-size: 12px !important;display: flex !important;justify-content: center !important;align-items: baseline !important}
  .bouquet-pdp-v2a-wrap .ptk-pct{font-size:16px !important}
  .bouquet-pdp-v2a-wrap .ptk-dots{justify-content: space-between !important;gap: 0 !important;width: 100% !important}
  .bouquet-pdp-v2a-wrap .ptk-step{flex: 1 !important}
  .bouquet-pdp-v2a-wrap .ptk-step:not(:first-child)::before{left: -50% !important;right: 50% !important;width: auto !important;top: 6.5px !important}
  .bouquet-pdp-v2a-wrap .ptk-mini{font-size: 8.5px !important;margin-top: 2px !important}
  .bouquet-pdp-v2a-wrap .ptk-step.is-current .ptk-dot{width: 16px !important;height: 16px !important}
}

/* rollback-d4-1779718978 */
/* fix-braces-1779719707 */
/* root-cause-fix-1779720226 */
/* dynamic-product-hero-2026-05-25 */
/* Accommodate long product titles · auto-shrink + balance line breaks */
.bouquet-pdp-v2a-wrap .hero-title-cjk{
  font-size:clamp(28px,3.6vw,56px) !important;
  line-height:1.18 !important;
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
  text-wrap:balance;
  letter-spacing:.08em !important;
}
.bouquet-pdp-v2a-wrap .hero-lede{
  font-size:14.5px !important;
  line-height:1.85 !important;
  max-width:46ch !important;
  color:var(--ink) !important;
}
@media (max-width:900px){
  .bouquet-pdp-v2a-wrap .hero-title-cjk{font-size:clamp(26px,6.5vw,38px) !important;letter-spacing:.06em !important}
  .bouquet-pdp-v2a-wrap .hero-title-latin{font-size:15px !important}
  .bouquet-pdp-v2a-wrap .hero-lede{font-size:13.5px !important;max-width:none !important}
}
/* price-typography-fix-2026-05-26 · Gary feedback */
/* Move ALL price digits off Cormorant Garamond italic (oldstyle figures · 1 矮 7 高) */
/* Use Inter Tight tabular-nums · all digits same height · column-aligned · luxury sans pairing */
.bouquet-pdp-v2a-wrap .price,
.bouquet-pdp-v2a-wrap .size .v,
.bouquet-pdp-v2a-wrap .price-alt,
.bouquet-pdp-v2a-wrap .zone-fee,
.bouquet-pdp-v2a-wrap .checkout-summary .total-line .v,
.bouquet-pdp-v2a-wrap #sum-flower,
.bouquet-pdp-v2a-wrap #sum-total,
.bouquet-pdp-v2a-wrap #sum-up,
.bouquet-pdp-v2a-wrap .tl-fee,
.bouquet-pdp-v2a-wrap .upgrade .extra{
  font-family: 'Inter Tight', system-ui, -apple-system, sans-serif !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
  font-variant-numeric: tabular-nums lining-nums !important;
  letter-spacing: 0 !important;
}
/* Hero big price · larger weight + slight optical tighten */
.bouquet-pdp-v2a-wrap .price{font-weight:600 !important;letter-spacing:-.005em !important}
/* size grid price · cleaner secondary weight */
.bouquet-pdp-v2a-wrap .size .v{font-weight:500 !important}
.bouquet-pdp-v2a-wrap .size.is-active .v{color:var(--gold) !important}

/* mobile-nav-scroll-shrink-2026-05-26 · Gary picked Variant ④ */
/* Mobile only: single-row nav · hide EN + logo sub · scroll-aware shrink */
@media (max-width: 900px){
  /* Hide EN subtitles + logo subtitle to fit one row */
  .bouquet-pdp-v2a-wrap .nav-list a .en{display:none !important}
  .bouquet-pdp-v2a-wrap .nav-logo .sub{display:none !important}
  /* Single row · nav-inner stay flex row · tighter padding */
  .bouquet-pdp-v2a-wrap .nav-inner{padding:12px 14px !important;align-items:center !important;transition:padding .35s ease !important}
  .bouquet-pdp-v2a-wrap .nav-logo{font-size:18px !important;letter-spacing:.22em !important;transition:font-size .35s ease !important}
  /* Nav links: single row · evenly spaced · no wrap · smaller font */
  .bouquet-pdp-v2a-wrap .nav-list{display:flex !important;flex-wrap:nowrap !important;gap:12px !important;align-items:center !important}
  .bouquet-pdp-v2a-wrap .nav-list a{font-size:12.5px !important;letter-spacing:.04em !important;padding:4px 0 !important;transition:font-size .35s ease !important;white-space:nowrap !important}
  /* Smaller active underline */
  .bouquet-pdp-v2a-wrap .nav-list a.is-active::after{bottom:-4px !important;width:12px !important}
  /* ── Scroll-shrunk state ── */
  .bouquet-pdp-v2a-wrap .nav.is-shrunk .nav-inner{padding:6px 14px !important}
  .bouquet-pdp-v2a-wrap .nav.is-shrunk .nav-logo{font-size:14px !important}
  .bouquet-pdp-v2a-wrap .nav.is-shrunk .nav-list a{font-size:11px !important}
  .bouquet-pdp-v2a-wrap .nav.is-shrunk .nav-list a.is-active::after{bottom:-3px !important;width:10px !important}

  /* Mobile · 輓詞 chip 3-column grid · Gary 2026-05-26 (善用闊度) */
  .bouquet-pdp-v2a-wrap .chip-row{display:grid !important;grid-template-columns:repeat(3, 1fr) !important;gap:6px !important}
  .bouquet-pdp-v2a-wrap .chip{
    font-size:13px !important;letter-spacing:.06em !important;
    padding:9px 4px !important;text-align:center !important;
    justify-content:center !important;gap:3px !important;
    min-width:0 !important;
  }
  .bouquet-pdp-v2a-wrap .chip .g{font-size:8.5px !important;letter-spacing:.05em !important}

  /* Mobile font + tap-target enlargement · per Gary 2026-05-26 (only mobile) */
  .bouquet-pdp-v2a-wrap .ptk-head{flex-wrap:wrap !important;gap:8px 12px !important;justify-content:center !important}
  .bouquet-pdp-v2a-wrap .ptk-lbl{font-size:12.5px !important;letter-spacing:.26em !important}
  .bouquet-pdp-v2a-wrap .ptk-pct{font-size:17px !important}
  .bouquet-pdp-v2a-wrap .ptk-next{font-size:13px !important;padding:5px 12px !important;border-radius:16px !important}
  .bouquet-pdp-v2a-wrap .ptk-mini{font-size:10.5px !important;letter-spacing:.06em !important;font-family:var(--cjk) !important;text-transform:none !important}
  .bouquet-pdp-v2a-wrap .ptk-dot{width:16px !important;height:16px !important}
  .bouquet-pdp-v2a-wrap .ptk-step.is-done .ptk-dot{width:20px !important;height:20px !important}
  .bouquet-pdp-v2a-wrap .ptk-step.is-done .ptk-dot::before{font-size:17px !important}
}

/* progress-tracker-variant-① 2026-05-26 · Gary pick: 紅光 pulse + ✅ 完成 + 下一步紅 pill 白字 · BOTH desktop + mobile */
/* ✅ on completed steps · replace dot fill (universal) */
.bouquet-pdp-v2a-wrap .ptk-step.is-done .ptk-dot{
  background:transparent !important;border:0 !important;box-shadow:none !important;
  width:18px !important;height:18px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  overflow:visible !important;
}
.bouquet-pdp-v2a-wrap .ptk-step.is-done .ptk-dot::before{
  content:"✅" !important;font-size:15px !important;line-height:1 !important;
  animation:ptkTickIn .6s ease forwards !important;
}
@keyframes ptkTickIn{0%{transform:scale(.3);opacity:0}55%{transform:scale(1.25);opacity:1}100%{transform:scale(1);opacity:1}}
.bouquet-pdp-v2a-wrap .ptk-step.is-done .ptk-mini{color:var(--gold) !important;font-weight:500 !important}

/* Red pulse on current step · 1.4s loop (universal) */
.bouquet-pdp-v2a-wrap .ptk-step.is-current .ptk-dot{
  background:#A4292B !important;border:0 !important;
  width:14px !important;height:14px !important;
  animation:ptkRedPulse 1.4s ease-in-out infinite !important;
}
.bouquet-pdp-v2a-wrap .ptk-step.is-current .ptk-dot::before{content:"" !important}
.bouquet-pdp-v2a-wrap .ptk-step.is-current .ptk-mini{color:#FF8E91 !important;font-weight:500 !important}
@keyframes ptkRedPulse{0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,.55)}50%{box-shadow:0 0 0 8px rgba(164,41,43,0)}}

/* ─── Custom Date Modal (cdm) · Variant ② Gary 2026-05-26 ─── */
.bouquet-pdp-v2a-wrap .cdm-overlay{
  position:fixed !important;inset:0 !important;background:rgba(31,49,40,.55) !important;
  display:none !important;align-items:center !important;justify-content:center !important;
  backdrop-filter:blur(3px) !important;-webkit-backdrop-filter:blur(3px) !important;
  z-index:200 !important;opacity:0 !important;transition:opacity .35s ease !important;
}
.bouquet-pdp-v2a-wrap .cdm-overlay.is-open{display:flex !important;opacity:1 !important}
.bouquet-pdp-v2a-wrap .cdm-modal{
  background:var(--bg) !important;border:1px solid var(--rule) !important;border-radius:18px !important;
  padding:18px 18px 14px !important;width:90% !important;max-width:380px !important;
  box-shadow:0 24px 60px rgba(31,49,40,.4) !important;
  transform:scale(.92) translateY(8px) !important;transition:transform .4s cubic-bezier(.22,1,.36,1) !important;
}
.bouquet-pdp-v2a-wrap .cdm-overlay.is-open .cdm-modal{transform:scale(1) translateY(0) !important}
.bouquet-pdp-v2a-wrap .cdm-head{display:flex !important;justify-content:space-between !important;align-items:center !important;margin-bottom:12px !important;padding-bottom:10px !important;border-bottom:1px solid var(--rule) !important}
.bouquet-pdp-v2a-wrap .cdm-title{font-family:var(--serif) !important;font-size:17px !important;font-weight:500 !important;color:var(--forest-deep) !important;letter-spacing:.04em !important}
.bouquet-pdp-v2a-wrap .cdm-nav{
  width:32px !important;height:32px !important;border-radius:50% !important;
  border:1px solid var(--rule) !important;background:transparent !important;cursor:pointer !important;
  font-family:'Inter Tight',sans-serif !important;font-size:18px !important;font-weight:500 !important;
  color:var(--ink) !important;display:flex !important;align-items:center !important;justify-content:center !important;
  transition:all .2s !important;
}
.bouquet-pdp-v2a-wrap .cdm-nav:hover:not(:disabled){border-color:var(--forest) !important;background:var(--bg-2) !important}
.bouquet-pdp-v2a-wrap .cdm-nav:disabled{opacity:.3 !important;cursor:not-allowed !important}
.bouquet-pdp-v2a-wrap .cdm-grid{display:grid !important;grid-template-columns:repeat(7,1fr) !important;gap:3px !important;margin-bottom:4px !important}
.bouquet-pdp-v2a-wrap .cdm-wd{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;text-transform:uppercase !important;text-align:center !important;padding:4px 0 !important}
.bouquet-pdp-v2a-wrap .cdm-days{display:grid !important;grid-template-columns:repeat(7,1fr) !important;gap:3px !important}
.bouquet-pdp-v2a-wrap .cdm-day{
  aspect-ratio:1 !important;display:flex !important;align-items:center !important;justify-content:center !important;
  font-family:'Inter Tight',sans-serif !important;font-size:13.5px !important;font-weight:500 !important;
  color:var(--ink) !important;cursor:pointer !important;border-radius:50% !important;
  transition:all .15s !important;background:transparent !important;border:0 !important;
}
.bouquet-pdp-v2a-wrap .cdm-day:hover:not(.is-out):not(.is-past):not(.is-future){background:var(--bg-2) !important}
.bouquet-pdp-v2a-wrap .cdm-day.is-out{visibility:hidden !important}
.bouquet-pdp-v2a-wrap .cdm-day.is-past{color:var(--muted) !important;opacity:.3 !important;cursor:not-allowed !important;text-decoration:line-through !important}
.bouquet-pdp-v2a-wrap .cdm-day.is-future{color:var(--muted) !important;opacity:.35 !important;cursor:not-allowed !important}
.bouquet-pdp-v2a-wrap .cdm-day.is-today{background:rgba(164,41,43,.10) !important;color:#A4292B !important;font-weight:600 !important}
.bouquet-pdp-v2a-wrap .cdm-day.is-sel{background:var(--forest-deep) !important;color:var(--bg) !important;font-weight:600 !important}
.bouquet-pdp-v2a-wrap .cdm-day.is-sel:hover{background:var(--forest-deep) !important}
.bouquet-pdp-v2a-wrap .cdm-foot{display:flex !important;justify-content:space-between !important;align-items:center !important;margin-top:14px !important;padding-top:12px !important;border-top:1px solid var(--rule) !important;gap:10px !important;flex-wrap:wrap !important}
.bouquet-pdp-v2a-wrap .cdm-info{font-family:var(--cjk) !important;font-size:11.5px !important;color:var(--muted) !important;letter-spacing:.04em !important}
.bouquet-pdp-v2a-wrap .cdm-info.has-sel{color:var(--forest-deep) !important;font-weight:500 !important}
.bouquet-pdp-v2a-wrap .cdm-actions{display:flex !important;gap:8px !important}
.bouquet-pdp-v2a-wrap .cdm-btn{
  padding:8px 16px !important;font-family:var(--cjk) !important;font-size:12.5px !important;
  letter-spacing:.04em !important;cursor:pointer !important;border:0 !important;border-radius:6px !important;
  transition:all .2s !important;
}
.bouquet-pdp-v2a-wrap .cdm-cancel{background:transparent !important;color:var(--muted) !important;border:1px solid var(--rule) !important}
.bouquet-pdp-v2a-wrap .cdm-cancel:hover{border-color:var(--forest) !important;color:var(--ink) !important}
.bouquet-pdp-v2a-wrap .cdm-confirm{background:var(--forest-deep) !important;color:var(--bg) !important}
.bouquet-pdp-v2a-wrap .cdm-confirm:hover:not(:disabled){background:var(--forest) !important;box-shadow:0 4px 12px rgba(31,49,40,.25) !important}
.bouquet-pdp-v2a-wrap .cdm-confirm:disabled{opacity:.4 !important;cursor:not-allowed !important}
.bouquet-pdp-v2a-wrap .quick.quick-custom.has-custom{background:var(--gold-deep) !important;color:#fff !important;border-color:var(--gold-deep) !important;border-style:solid !important}
@media (max-width:480px){
  .bouquet-pdp-v2a-wrap .cdm-modal{max-width:330px !important;padding:14px !important}
  .bouquet-pdp-v2a-wrap .cdm-title{font-size:15px !important}
  .bouquet-pdp-v2a-wrap .cdm-day{font-size:12px !important}
}

/* "↓ 下一步：xxx" red pill · white text · pulse halo (desktop + mobile) */
.bouquet-pdp-v2a-wrap .ptk-next{
  display:inline-flex !important;align-items:center !important;
  font-family:var(--cjk) !important;
  font-size:11.5px !important;
  font-weight:500 !important;
  color:#fff !important;
  background:#A4292B !important;
  padding:4px 11px !important;
  border-radius:14px !important;
  letter-spacing:.04em !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  animation:ptkNextPulse 1.6s ease-in-out infinite !important;
}
.bouquet-pdp-v2a-wrap .ptk-next:empty{display:none !important}
@keyframes ptkNextPulse{0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,.45)}50%{box-shadow:0 0 0 7px rgba(164,41,43,0)}}

/* ─── nav-merge-bilingual-hover-reveal · Gary picked ② · 2026-05-26 (desktop + mobile) ─── */
/* Hide old top bar — content folded into nav */
.bouquet-pdp-v2a-wrap .top{display:none !important}

/* Single sticky parent wraps nav + progress · prevents sub-pixel gap on Safari URL bar shrink */
.bouquet-pdp-v2a-wrap .v2a-sticky-header{
  position:sticky !important;
  top:0 !important;
  z-index:50 !important;
  background:var(--forest-deep) !important;
  box-shadow:0 4px 10px rgba(0,0,0,.22), 0 2px 4px rgba(0,0,0,.15) !important;
}

/* .nav: static inside sticky parent · forest deep · clean merge */
.bouquet-pdp-v2a-wrap .nav{
  background:var(--forest-deep) !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  position:static !important;
  transition:padding .5s cubic-bezier(.22,1,.36,1) !important;
}
.bouquet-pdp-v2a-wrap .nav-inner{
  padding:12px var(--gut) !important;
  transition:padding .5s cubic-bezier(.22,1,.36,1) !important;
}

/* TFK logo: paper white · large at top · shrinks + wobbles on scroll */
.bouquet-pdp-v2a-wrap .nav-logo{
  color:var(--paper) !important;
  font-size:22px !important;
  letter-spacing:.32em !important;
  transition:font-size .5s cubic-bezier(.22,1,.36,1) !important;
}
.bouquet-pdp-v2a-wrap .nav-logo .sub{
  color:var(--gold-bright) !important;
  transition:opacity .3s ease, max-height .35s ease !important;
}
.bouquet-pdp-v2a-wrap .nav.is-shrunk .nav-logo{
  font-size:14px !important;
  animation:logoWobble .35s ease !important;
}
.bouquet-pdp-v2a-wrap .nav.is-shrunk .nav-logo .sub{
  opacity:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
}
.bouquet-pdp-v2a-wrap .nav.is-shrunk .nav-inner{padding:6px var(--gut) !important}
@keyframes logoWobble{0%,100%{transform:translateY(0)}30%{transform:translateY(-2px)}60%{transform:translateY(1px)}}

/* Nav links: paper white text · 中文 always · EN hidden until hover/active */
.bouquet-pdp-v2a-wrap .nav-list a{
  color:var(--paper) !important;
  position:relative !important;
  padding:6px 0 14px !important;
  line-height:1 !important;
}
.bouquet-pdp-v2a-wrap .nav-list a .en{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  bottom:0 !important;
  transform:translateX(-50%) translateY(0) !important;
  font-family:var(--sc) !important;
  font-size:9.5px !important;
  letter-spacing:.18em !important;
  color:var(--gold-bright) !important;
  text-transform:uppercase !important;
  opacity:1 !important;
  white-space:nowrap !important;
  text-align:center !important;
  margin:0 !important;
  transition:opacity .3s ease, transform .3s ease !important;
  pointer-events:none !important;
}
.bouquet-pdp-v2a-wrap .nav-list a:hover .en,
.bouquet-pdp-v2a-wrap .nav-list a.is-active .en{
  opacity:1 !important;
  transform:translateX(-50%) translateY(0) !important;
}
.bouquet-pdp-v2a-wrap .nav-list a.is-active{
  color:var(--gold-bright) !important;
  font-weight:500 !important;
}
.bouquet-pdp-v2a-wrap .nav-list a.is-active::after{
  background:var(--gold-bright) !important;
  bottom:-2px !important;
  width:14px !important;
}

/* Progress Bar default · ptk-bar hidden on mobile (covered by mobile @media) */
.bouquet-pdp-v2a-wrap .ptk-bar{display:none}
.bouquet-pdp-v2a-wrap .ptk-step{cursor:pointer !important;transition:opacity .25s}
.bouquet-pdp-v2a-wrap .ptk-step:hover .ptk-mini{color:var(--gold-bright) !important}

/* ─── Desktop ④ Progress Bar Line Layout (Gary 2026-05-26) ─── */
@keyframes ptkFillPulse{0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,.55)}50%{box-shadow:0 0 0 7px rgba(164,41,43,0)}}
@media (min-width:901px){
  .bouquet-pdp-v2a-wrap .ptk-inner{
    display:grid !important;
    grid-template-columns:auto auto 1fr auto !important;
    grid-template-rows:auto auto !important;
    padding:9px 32px 12px !important;
    gap:8px 14px !important;
    align-items:center !important;
    flex-direction:initial !important;
  }
  .bouquet-pdp-v2a-wrap .ptk-head{display:contents !important}
  .bouquet-pdp-v2a-wrap .ptk-bar{
    display:block !important;
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    height:3px !important;
    background:rgba(184,150,90,.18) !important;
    border-radius:2px !important;
    position:relative !important;
    overflow:visible !important;
    width:100% !important;
  }
  .bouquet-pdp-v2a-wrap .ptk-fill{
    height:100% !important;
    background:linear-gradient(90deg,var(--gold-deep),var(--gold-bright)) !important;
    border-radius:2px !important;
    transition:width .8s cubic-bezier(.22,1,.36,1) !important;
    position:relative !important;
  }
  .bouquet-pdp-v2a-wrap .ptk-fill::after{
    content:"" !important;
    position:absolute !important;
    right:-3px !important;
    top:-3px !important;
    width:9px !important;
    height:9px !important;
    background:#A4292B !important;
    border-radius:50% !important;
    animation:ptkFillPulse 1.4s ease-in-out infinite !important;
  }
  .bouquet-pdp-v2a-wrap .ptk-lbl{
    grid-column:1 !important;grid-row:2 !important;
    font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;
    color:var(--gold-bright) !important;text-transform:uppercase !important;
  }
  .bouquet-pdp-v2a-wrap .ptk-pct{
    grid-column:2 !important;grid-row:2 !important;
    font-family:var(--serif) !important;font-style:italic !important;font-size:17px !important;
    color:var(--paper) !important;font-weight:500 !important;letter-spacing:0 !important;
  }
  .bouquet-pdp-v2a-wrap .ptk-dots{
    grid-column:3 !important;grid-row:2 !important;
    display:flex !important;justify-content:center !important;gap:42px !important;align-items:center !important;
  }
  .bouquet-pdp-v2a-wrap .ptk-step{
    display:flex !important;flex-direction:row !important;align-items:center !important;gap:6px !important;flex:0 0 auto !important;
  }
  .bouquet-pdp-v2a-wrap .ptk-step .ptk-dot{display:none !important}
  .bouquet-pdp-v2a-wrap .ptk-step .ptk-mini{
    font-family:var(--cjk) !important;font-size:12px !important;letter-spacing:.06em !important;
    text-transform:none !important;color:var(--paper) !important;opacity:.5 !important;
    margin:0 !important;transition:all .3s !important;
  }
  .bouquet-pdp-v2a-wrap .ptk-step.is-done .ptk-mini{color:var(--gold) !important;opacity:1 !important;font-weight:500 !important}
  .bouquet-pdp-v2a-wrap .ptk-step.is-done .ptk-mini::before{content:"✓ " !important;color:var(--gold-bright) !important;font-weight:700 !important}
  .bouquet-pdp-v2a-wrap .ptk-step.is-current .ptk-mini{color:#FF8E91 !important;opacity:1 !important;font-weight:500 !important}
  .bouquet-pdp-v2a-wrap .ptk-step.is-current .ptk-mini::before{
    content:"● " !important;color:#A4292B !important;
    animation:ptkFillPulse 1.4s ease-in-out infinite !important;
    display:inline-block !important;font-size:9px !important;vertical-align:middle !important;margin-right:2px !important;
  }
  .bouquet-pdp-v2a-wrap .ptk-next{grid-column:4 !important;grid-row:2 !important;justify-self:end !important}
}

/* Field flash (red pulse on incomplete field after step click) · desktop + mobile */
/* Use box-shadow (not outline) · works on inputs/selects without border-radius issues */
@keyframes fieldFlashStrong{
  0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,0), inset 0 0 0 0 rgba(164,41,43,0);background-color:transparent}
  15%,55%{box-shadow:0 0 0 4px rgba(164,41,43,.4), 0 0 0 6px rgba(164,41,43,.16);background-color:rgba(164,41,43,.10)}
}
.bouquet-pdp-v2a-wrap .ptk-flash-target{
  animation:fieldFlashStrong 1.6s ease-in-out 3 !important;
  scroll-margin-top:160px !important;
  position:relative !important;
  z-index:5 !important;
  border-radius:4px !important;
}
.bouquet-pdp-v2a-wrap input.ptk-flash-target,
.bouquet-pdp-v2a-wrap select.ptk-flash-target{
  border-bottom:2px solid #A4292B !important;
}

/* CART (n) link · right side of merged dark bar */
.bouquet-pdp-v2a-wrap .nav-cart{
  color:var(--gold-bright) !important;
  font-family:var(--sc) !important;
  font-size:11px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  padding:6px 10px !important;
  border:1px solid rgba(184,150,90,.4) !important;
  border-radius:4px !important;
  transition:all .25s !important;
  white-space:nowrap !important;
  flex-shrink:0 !important;
  margin-left:8px !important;
}
.bouquet-pdp-v2a-wrap .nav-cart:hover{
  background:rgba(184,150,90,.16) !important;
  border-color:var(--gold-bright) !important;
}
.bouquet-pdp-v2a-wrap .nav-cart #nav-cart-count{font-family:'Inter Tight',sans-serif !important;font-weight:600 !important;font-size:11.5px !important;letter-spacing:.02em !important;font-feature-settings:"tnum" 1 !important}
.bouquet-pdp-v2a-wrap .nav.is-shrunk .nav-cart{padding:4px 8px !important;font-size:10px !important}
@media (max-width:900px){
  .bouquet-pdp-v2a-wrap .nav-cart{padding:5px 8px !important;font-size:10px !important;letter-spacing:.18em !important;margin-left:6px !important}
}

/* Option ② Cream Ivory · nav text overrides · Gary 2026-05-27 */
.bouquet-pdp-v2a-wrap .v2a-sticky-header,
.bouquet-pdp-v2a-wrap .nav{background:#6E2F38 !important}
.bouquet-pdp-v2a-wrap .nav-logo{color:#FCF4E5 !important}
.bouquet-pdp-v2a-wrap .nav-logo .sub{color:#E0BC8B !important}
.bouquet-pdp-v2a-wrap .nav-list a{color:#FCF4E5 !important}
.bouquet-pdp-v2a-wrap .nav-list a .en{color:#E0BC8B !important}
.bouquet-pdp-v2a-wrap .nav-list a.is-active{color:#F0D2A0 !important}
.bouquet-pdp-v2a-wrap .nav-list a.is-active::after{background:#F0D2A0 !important}
.bouquet-pdp-v2a-wrap .nav-cart{color:#F0D2A0 !important;border-color:rgba(252,244,229,.35) !important}
.bouquet-pdp-v2a-wrap .nav-cart #nav-cart-count{color:#FCF4E5 !important}

/* ─── Bouquet Card Preview (Gary 2026-05-27 · Part 03 sticky preview) ─── */
.bouquet-pdp-v2a-wrap .p3-form{display:flex !important;flex-direction:column !important;gap:0 !important}
.bouquet-pdp-v2a-wrap .card-preview-box{
  background:#FAF4E8 !important;
  border:1px solid var(--rule) !important;
  padding:40px 32px !important;
  position:relative !important;
  aspect-ratio:4/3 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  box-shadow:0 8px 30px rgba(138,80,96,.12) !important;
  border-radius:2px !important;
}
.bouquet-pdp-v2a-wrap .cp-corner{
  position:absolute !important;
  font-family:var(--serif) !important;
  font-size:20px !important;
  color:var(--gold-deep) !important;
  opacity:.5 !important;
}
.bouquet-pdp-v2a-wrap .cp-tl{top:12px;left:14px}
.bouquet-pdp-v2a-wrap .cp-tr{top:12px;right:14px}
.bouquet-pdp-v2a-wrap .cp-bl{bottom:12px;left:14px}
.bouquet-pdp-v2a-wrap .cp-br{bottom:12px;right:14px}
.bouquet-pdp-v2a-wrap .cp-content{text-align:center;width:100%}
.bouquet-pdp-v2a-wrap .cp-recipient{
  font-family:var(--cjk) !important;
  font-size:15px !important;
  color:var(--ink) !important;
  margin-bottom:24px !important;
  letter-spacing:.08em !important;
  font-weight:500 !important;
}
.bouquet-pdp-v2a-wrap .cp-recipient .placeholder{color:var(--muted) !important;opacity:.55 !important;font-weight:400 !important}
.bouquet-pdp-v2a-wrap .cp-msg{
  font-family:var(--serif) !important;
  font-style:italic !important;
  font-size:20px !important;
  line-height:1.6 !important;
  color:var(--forest-deep) !important;
  letter-spacing:.01em !important;
  min-height:60px !important;
  margin-bottom:24px !important;
  white-space:pre-wrap !important;
}
.bouquet-pdp-v2a-wrap .cp-msg .placeholder{color:var(--muted) !important;opacity:.55 !important;font-style:italic !important;font-size:14px !important}
.bouquet-pdp-v2a-wrap .cp-sig{
  font-family:var(--serif) !important;
  font-style:italic !important;
  font-size:16px !important;
  color:var(--gold-deep) !important;
  letter-spacing:.02em !important;
  font-weight:500 !important;
}
.bouquet-pdp-v2a-wrap .cp-sig .placeholder{color:var(--muted) !important;opacity:.55 !important}

/* ─── Bouquet editorial sections (Phase 3 · Gary 2026-05-26) ─── */
.bouquet-pdp-v2a-wrap .bouquet-editorial{background:var(--bg-card) !important}
.bouquet-pdp-v2a-wrap .composition-pull{max-width:760px !important;margin:30px auto 50px !important;text-align:center !important;padding:0 var(--gut) !important}
.bouquet-pdp-v2a-wrap .composition-pull p{font-family:var(--serif) !important;font-style:italic !important;font-size:clamp(20px,2.2vw,28px) !important;line-height:1.5 !important;color:var(--forest-deep) !important;letter-spacing:.01em !important}

.bouquet-pdp-v2a-wrap .ingredients-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:18px !important;margin:30px 0 50px !important}
.bouquet-pdp-v2a-wrap .ingredient-card{background:var(--bg) !important;padding:24px 18px !important;border:1px solid var(--rule) !important;border-radius:4px !important;position:relative !important}
.bouquet-pdp-v2a-wrap .ingredient-card .ing-num{position:absolute !important;top:12px !important;right:14px !important;font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.22em !important;color:var(--gold-deep) !important;opacity:.5 !important}
.bouquet-pdp-v2a-wrap .ingredient-card .ing-en{font-family:var(--serif) !important;font-style:italic !important;font-size:18px !important;color:var(--forest-deep) !important;margin-bottom:4px !important;letter-spacing:.01em !important;font-weight:500 !important}
.bouquet-pdp-v2a-wrap .ingredient-card .ing-zh{font-family:var(--cjk) !important;font-size:14px !important;color:var(--ink) !important;letter-spacing:.06em !important;margin-bottom:8px !important}
.bouquet-pdp-v2a-wrap .ingredient-card .ing-note{font-family:var(--cjk) !important;font-size:12px !important;color:var(--muted) !important;line-height:1.6 !important;letter-spacing:.02em !important}

.bouquet-pdp-v2a-wrap .care-block{max-width:920px !important;margin:50px auto !important;padding:0 var(--gut) !important}
.bouquet-pdp-v2a-wrap .care-heading{font-family:var(--serif) !important;font-size:clamp(28px,3.4vw,42px) !important;font-weight:500 !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.2 !important;margin-bottom:30px !important;letter-spacing:.01em !important}
.bouquet-pdp-v2a-wrap .care-heading em{font-style:italic !important;color:var(--gold-deep) !important}
.bouquet-pdp-v2a-wrap .care-heading .zh{display:block !important;font-family:var(--cjk) !important;font-size:.5em !important;font-style:normal !important;color:var(--muted) !important;margin-top:8px !important;letter-spacing:.18em !important;font-weight:400 !important}
.bouquet-pdp-v2a-wrap .care-steps{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:24px !important;margin-top:30px !important}
.bouquet-pdp-v2a-wrap .care-step{text-align:center !important}
.bouquet-pdp-v2a-wrap .care-step .care-num{width:36px !important;height:36px !important;border-radius:50% !important;border:1px solid var(--forest-deep) !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;font-family:var(--serif) !important;font-style:italic !important;font-size:18px !important;color:var(--forest-deep) !important;margin-bottom:12px !important}
.bouquet-pdp-v2a-wrap .care-step .care-h{font-family:var(--cjk) !important;font-weight:500 !important;font-size:14px !important;color:var(--forest-deep) !important;letter-spacing:.08em !important;margin-bottom:6px !important}
.bouquet-pdp-v2a-wrap .care-step .care-p{font-family:var(--cjk) !important;font-size:12.5px !important;color:var(--muted) !important;line-height:1.7 !important;letter-spacing:.02em !important}

.bouquet-pdp-v2a-wrap .notes-quote{max-width:780px !important;margin:50px auto 60px !important;padding:0 var(--gut) !important;text-align:center !important}
.bouquet-pdp-v2a-wrap .notes-quote p{font-family:var(--serif) !important;font-style:italic !important;font-size:clamp(20px,2.5vw,28px) !important;line-height:1.5 !important;color:var(--gold-deep) !important;letter-spacing:.01em !important;margin-bottom:18px !important}
.bouquet-pdp-v2a-wrap .notes-sig{display:flex !important;flex-direction:column !important;align-items:center !important;gap:4px !important}
.bouquet-pdp-v2a-wrap .notes-sig .sig{font-family:var(--serif) !important;font-style:italic !important;font-size:18px !important;color:var(--forest-deep) !important;font-weight:500 !important}
.bouquet-pdp-v2a-wrap .notes-sig .role{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.28em !important;text-transform:uppercase !important;color:var(--muted) !important}

/* Hero title 字體 fix v2 · Cormorant 500 weight + tighter tracking (Gary 2026-05-27) */
/* v1 用 600 weight 仲覺得太粗化開 · 改 500 更 elegant · letter-spacing 收細到 .04em 配 Latin */
.bouquet-pdp-v2a-wrap .hero-title-cjk{
  font-family:'Cormorant Garamond','Noto Serif TC',serif !important;
  font-weight:500 !important;
  letter-spacing:.04em !important;
  -webkit-font-smoothing:antialiased !important;
  -moz-osx-font-smoothing:grayscale !important;
  text-rendering:optimizeLegibility !important;
  font-feature-settings:"kern" 1 !important;
}
.bouquet-pdp-v2a-wrap .hero-title-cjk .small{
  font-family:'Noto Serif TC',serif !important;
  font-weight:300 !important;
}

/* Multi-option · Size grid · S5 clamp() responsive (Gary 2026-05-27 picked) · 1-row always · max 6 col */
.bouquet-pdp-v2a-wrap .opt-size-btn{position:relative !important;padding:clamp(8px,1.5vw,18px) clamp(2px,0.6vw,8px) !important}
.bouquet-pdp-v2a-wrap .opt-size-btn .cn{font-size:clamp(11px,1.3vw,16px) !important;letter-spacing:.06em !important}
.bouquet-pdp-v2a-wrap .opt-size-btn .v{
  font-family:var(--serif) !important;color:var(--gold-deep) !important;
  font-size:clamp(9px,1.0vw,14px) !important;font-weight:500 !important;
  display:block !important;margin-top:clamp(2px,0.5vw,6px) !important;
}
.bouquet-pdp-v2a-wrap .opt-size-btn.is-active .v{color:var(--gold) !important}
/* Mobile · keep 1-row · disable wrapping · inline grid-template-columns on .size-grid already enforces N-col */
@media (max-width:900px){
  .bouquet-pdp-v2a-wrap .opt-size-btn{border-bottom:0 !important}
  .bouquet-pdp-v2a-wrap .opt-size-btn .cn{font-size:clamp(10px,2.8vw,14px) !important;letter-spacing:.04em !important}
  .bouquet-pdp-v2a-wrap .opt-size-btn .v{font-size:clamp(8.5px,2.2vw,12px) !important}
}

/* C1 · Color swatch row */
.bouquet-pdp-v2a-wrap .size-block-head{position:relative !important}
.bouquet-pdp-v2a-wrap .color-swatch-row{
  display:flex !important;gap:18px !important;flex-wrap:wrap !important;padding:8px 0 !important;
}
.bouquet-pdp-v2a-wrap .cv-btn{
  display:flex !important;flex-direction:column !important;align-items:center !important;gap:6px !important;
  cursor:pointer !important;background:transparent !important;border:0 !important;padding:4px !important;
  transition:transform .2s !important;
}
.bouquet-pdp-v2a-wrap .cv-btn:hover{transform:translateY(-2px) !important}
.bouquet-pdp-v2a-wrap .cv-dot{
  width:38px !important;height:38px !important;border-radius:50% !important;
  border:2px solid var(--rule) !important;
  transition:all .25s ease !important;display:block !important;
}
.bouquet-pdp-v2a-wrap .cv-btn.is-active .cv-dot{
  border-color:var(--forest-deep) !important;
  box-shadow:0 0 0 3px var(--gold-bright) !important;
  transform:scale(1.08) !important;
}
.bouquet-pdp-v2a-wrap .cv-lbl{
  font-family:var(--cjk) !important;font-size:11.5px !important;letter-spacing:.06em !important;
  color:var(--ink) !important;line-height:1.2 !important;
}
.bouquet-pdp-v2a-wrap .cv-btn.is-active .cv-lbl{color:var(--forest-deep) !important;font-weight:500 !important}
.bouquet-pdp-v2a-wrap .cv-florist{
  background:conic-gradient(from 0deg, #B5354F, #E69BAB, #D63B7C, #7B4994, #4670A0, #F2C84B, #E89050, #B5354F) !important;
}
.bouquet-pdp-v2a-wrap .cv-note-icon{
  background:#FCF4E5 !important;color:var(--forest-deep) !important;
  font-family:'Cormorant Garamond',serif !important;font-style:italic !important;font-size:20px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  border:2px dashed var(--gold-deep) !important;
}
.bouquet-pdp-v2a-wrap .cv-note-btn.is-active .cv-note-icon{
  background:var(--forest-deep) !important;color:var(--gold) !important;
  border:2px solid var(--gold) !important;
}
.bouquet-pdp-v2a-wrap .color-required{color:#C66B6B !important}
@media (max-width:900px){
  .bouquet-pdp-v2a-wrap .color-swatch-row{gap:12px !important}
  .bouquet-pdp-v2a-wrap .cv-dot{width:34px !important;height:34px !important}
  .bouquet-pdp-v2a-wrap .cv-lbl{font-size:11px !important}
}

/* Detect FAIL UX · 揾唔到地區嘅 fallback hint (Gary 2026-05-27) */
.bouquet-pdp-v2a-wrap .detect-fail-hint{
  display:none;align-items:center;gap:8px;
  margin-top:8px;padding:9px 12px;
  background:rgba(212,80,80,.08);
  border:1px dashed #C66B6B;
  font-family:var(--cjk);font-size:12.5px;letter-spacing:.06em;
  color:#A04545;
  animation:zoneAutoFadeIn .35s ease-out;
}
@keyframes detectShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-3px)}
  40%{transform:translateX(3px)}
  60%{transform:translateX(-2px)}
  80%{transform:translateX(2px)}
}
.bouquet-pdp-v2a-wrap .uline.detect-fail-shake{
  animation:detectShake .5s ease !important;
  border-bottom-color:#C66B6B !important;
  background:rgba(212,80,80,.04) !important;
}

/* Zone auto-detect hint (Gary 2026-05-27) */
.bouquet-pdp-v2a-wrap .zone-auto-hint{
  display:flex !important;align-items:center !important;gap:8px !important;
  margin-top:8px !important;padding:8px 12px !important;
  background:linear-gradient(90deg, rgba(242,212,166,.35), rgba(255,233,184,.25)) !important;
  border:1px dashed var(--gold-deep) !important;
  font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.06em !important;
  color:var(--forest-deep) !important;
  animation:zoneAutoFadeIn .35s ease-out !important;
}
.bouquet-pdp-v2a-wrap .zone-auto-hint .zone-auto-icon{font-size:14px !important}
.bouquet-pdp-v2a-wrap .zone-auto-hint strong{font-family:var(--cjk) !important;font-weight:600 !important;color:var(--gold-deep) !important;letter-spacing:.08em !important}
@keyframes zoneAutoFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* Scenario greeting chips · V1 Pill Gold Glow + 雙語 (Gary 2026-05-27 confirmed) */
.bouquet-pdp-v2a-wrap .card-scene-row{
  display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:9px !important;
  margin:10px 0 14px !important;
}
.bouquet-pdp-v2a-wrap .scene-chip{
  font-family:'Noto Serif TC',serif !important;
  padding:11px 10px 10px !important;
  border:1px solid rgba(232,200,150,.6) !important;border-radius:999px !important;
  color:var(--ink) !important;background:#FFFCF6 !important;cursor:pointer !important;
  text-align:center !important;line-height:1.2 !important;
  transition:all .25s ease !important;
  box-shadow:0 1px 0 rgba(168,108,122,.04) !important;
}
.bouquet-pdp-v2a-wrap .scene-chip .emoji{font-size:14px !important;margin-right:3px !important;vertical-align:middle !important}
.bouquet-pdp-v2a-wrap .scene-chip .zh{font-size:13px !important;letter-spacing:.14em !important;color:var(--ink) !important;vertical-align:middle !important}
.bouquet-pdp-v2a-wrap .scene-chip .en{
  display:block !important;
  font-family:'Cormorant SC','Cormorant Garamond',serif !important;
  font-size:8.5px !important;letter-spacing:.32em !important;
  color:var(--gold-deep) !important;
  text-transform:uppercase !important;margin-top:3px !important;
  font-weight:500 !important;
}
.bouquet-pdp-v2a-wrap .scene-chip:hover{
  border-color:var(--gold-deep) !important;
  background:linear-gradient(180deg,#FFF8E8,#FFEEC4) !important;
  box-shadow:0 0 0 4px rgba(242,212,166,.35), 0 6px 16px -8px rgba(166,108,122,.25) !important;
  transform:translateY(-1px) !important;
}
.bouquet-pdp-v2a-wrap .scene-chip.is-active{
  background:linear-gradient(180deg,var(--gold),var(--gold-deep)) !important;
  color:var(--ink-deep) !important;font-weight:500 !important;
  border-color:transparent !important;
  box-shadow:0 0 0 3px rgba(232,200,150,.5), inset 0 1px 0 rgba(255,255,255,.5) !important;
}
.bouquet-pdp-v2a-wrap .scene-chip.is-active .zh{color:var(--ink-deep) !important;font-weight:500 !important}
.bouquet-pdp-v2a-wrap .scene-chip.is-active .en{color:var(--forest-deep) !important;opacity:.95 !important}

@media (max-width:900px){
  .bouquet-pdp-v2a-wrap .ingredients-grid{grid-template-columns:1fr 1fr !important;gap:10px !important}
  .bouquet-pdp-v2a-wrap .ingredient-card{padding:16px 12px !important}
  .bouquet-pdp-v2a-wrap .care-steps{grid-template-columns:1fr 1fr !important;gap:18px !important}
  .bouquet-pdp-v2a-wrap .card-scene-row{grid-template-columns:repeat(2,1fr) !important;gap:8px !important}
  .bouquet-pdp-v2a-wrap .scene-chip{padding:12px 12px 11px !important}
  .bouquet-pdp-v2a-wrap .scene-chip .zh{font-size:14px !important}
  .bouquet-pdp-v2a-wrap .scene-chip .en{font-size:9px !important}
}
/* END_SECTION:bouquet-pdp-v2a */

/* START_SECTION:collection-basket-v2a (INDEX:4) */
.col-basket-v2a-wrap{font-family:'Noto Serif TC','Songti TC',serif;background:#F6EFE6;color:#2A1418}
.col-basket-v2a-wrap *{box-sizing:border-box}

.col-basket-v2a-wrap .cb-banner{max-width:1440px;margin:30px auto 24px;display:flex;border:1px solid #6E2F38;height:220px;overflow:hidden;background:#FCF4E5}
.col-basket-v2a-wrap .cb-banner-img{width:50%;height:100%;border-right:1px solid #6E2F38;position:relative;overflow:hidden}
.col-basket-v2a-wrap .cb-banner-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.col-basket-v2a-wrap .cb-banner-info{width:50%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 48px;position:relative}
.col-basket-v2a-wrap .cb-eyebrow{font-family:'Inter Tight',sans-serif;font-size:11px;letter-spacing:.32em;color:#8B6B3E;text-transform:uppercase;margin-bottom:10px;display:block}
.col-basket-v2a-wrap .cb-banner-h{font-family:'Noto Serif TC',serif;font-weight:500;font-size:36px;letter-spacing:.04em;color:#6E2F38;line-height:1.1;margin:0 0 14px}
.col-basket-v2a-wrap .cb-banner-h em{font-family:'Cormorant Garamond','Times New Roman',serif;font-style:italic;font-weight:400;color:#6E2F38;letter-spacing:-.005em}
.col-basket-v2a-wrap .cb-banner-rule{width:48px;height:1px;background:#D4A862;margin:0 0 16px}
.col-basket-v2a-wrap .cb-banner-lede{font-family:'Noto Serif TC',serif;font-weight:400;font-size:14.5px;letter-spacing:.06em;line-height:1.7;color:#2A1418;margin:0;max-width:440px}

.col-basket-v2a-wrap .cb-grid{padding:30px 36px 80px;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px 22px}
.col-basket-v2a-wrap .cb-card{color:inherit;cursor:pointer;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.06);transition:all .3s;position:relative;text-decoration:none;display:block}
.col-basket-v2a-wrap .cb-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.14)}
.col-basket-v2a-wrap .cb-img{aspect-ratio:3/4;overflow:hidden;background:#F3EBDD;position:relative}
.col-basket-v2a-wrap .cb-img img{width:100%;height:100%;object-fit:cover;display:block}
.col-basket-v2a-wrap .cb-info{padding:14px}
.col-basket-v2a-wrap .cb-info h4{font-family:'Noto Serif TC',serif;font-weight:500;font-size:15px;letter-spacing:.08em;color:#6E2F38;margin:0 0 2px}
.col-basket-v2a-wrap .cb-en{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12.5px;color:#8A7560;display:block;margin-bottom:10px;letter-spacing:.02em}
.col-basket-v2a-wrap .cb-foot{display:flex;justify-content:space-between;align-items:baseline;padding-top:8px;border-top:1px solid #D9CBB3}
.col-basket-v2a-wrap .cb-price{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;color:#8B6B3E;font-size:16px}
.col-basket-v2a-wrap .cb-deliver{font-family:'Inter Tight',sans-serif;font-size:9px;letter-spacing:.18em;color:#6E2F38;text-transform:uppercase;opacity:.7}

@media (max-width:900px){
  .col-basket-v2a-wrap .cb-banner{flex-direction:column;height:auto;margin:14px}
  .col-basket-v2a-wrap .cb-banner-img{width:100%;height:200px;border-right:0;border-bottom:1px solid #6E2F38}
  .col-basket-v2a-wrap .cb-banner-info{width:100%;padding:24px 20px}
  .col-basket-v2a-wrap .cb-banner-h{font-size:26px}
  .col-basket-v2a-wrap .cb-grid{grid-template-columns:repeat(2,1fr);gap:16px 10px;padding:14px 12px 80px}
}
/* END_SECTION:collection-basket-v2a */

/* START_SECTION:collection-bouquet-v2a (INDEX:5) */
/* Page wrapper (nav styles inherited from bouquet-pdp-v2a-wrap CSS bundle) */
.col-bouquet-v2a-wrap{font-family:'Noto Serif TC','Songti TC',serif;background:#F6EFE6;color:#2A1418}
.col-bouquet-v2a-wrap *{box-sizing:border-box}

.col-bouquet-v2a-wrap .bv-strip{background:#1A0E0C;color:#E8C788;font-family:'Noto Serif TC',serif;font-size:12px;padding:9px 36px;text-align:center;letter-spacing:.04em}

.col-bouquet-v2a-wrap .bv-banner{max-width:1440px;margin:30px auto 24px;display:flex;border:1px solid #6E2F38;height:220px;overflow:hidden;background:#FCF4E5}
.col-bouquet-v2a-wrap .bv-banner-img{width:50%;height:100%;border-right:1px solid #6E2F38;position:relative;overflow:hidden}
.col-bouquet-v2a-wrap .bv-banner-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.col-bouquet-v2a-wrap .bv-banner-info{width:50%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 48px;position:relative}
.col-bouquet-v2a-wrap .bv-eyebrow{font-family:'Inter Tight',sans-serif;font-size:11px;letter-spacing:.32em;color:#8B6B3E;text-transform:uppercase;margin-bottom:10px;display:block}
.col-bouquet-v2a-wrap .bv-banner-h{font-family:'Noto Serif TC',serif;font-weight:500;font-size:36px;letter-spacing:.04em;color:#6E2F38;line-height:1.1;margin:0 0 14px}
.col-bouquet-v2a-wrap .bv-banner-h em{font-family:'Cormorant Garamond','Times New Roman',serif;font-style:italic;font-weight:400;color:#6E2F38;letter-spacing:-.005em}
.col-bouquet-v2a-wrap .bv-banner-rule{width:48px;height:1px;background:#D4A862;margin:0 0 16px}
.col-bouquet-v2a-wrap .bv-banner-lede{font-family:'Noto Serif TC',serif;font-weight:400;font-size:14.5px;letter-spacing:.06em;line-height:1.7;color:#2A1418;margin:0;max-width:440px}

@media (max-width:900px){
  .col-bouquet-v2a-wrap .bv-banner{flex-direction:column;height:auto;margin:14px}
  .col-bouquet-v2a-wrap .bv-banner-img{width:100%;height:200px;border-right:0;border-bottom:1px solid #6E2F38}
  .col-bouquet-v2a-wrap .bv-banner-info{width:100%;padding:24px 20px}
  .col-bouquet-v2a-wrap .bv-banner-h{font-size:26px}
}

.col-bouquet-v2a-wrap .bv-filter{display:none}
.col-bouquet-v2a-wrap .bv-pills{display:flex;gap:8px;flex-wrap:wrap}
.col-bouquet-v2a-wrap .bv-pill{font-family:'Noto Serif TC',serif;font-size:12.5px;padding:7px 14px;border:1px solid #D9CBB3;background:#fff;border-radius:20px;color:#2D1F1A;cursor:pointer;letter-spacing:.04em}
.col-bouquet-v2a-wrap .bv-pill.is-active{background:#5C1626;color:#FAF6EE;border-color:#5C1626;font-weight:500}
.col-bouquet-v2a-wrap .bv-sort{font-family:'Inter Tight',sans-serif;font-size:11px;letter-spacing:.28em;color:#8B6B3E;text-transform:uppercase;align-self:center}

.col-bouquet-v2a-wrap .bv-grid{padding:30px 36px 80px;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px 22px}
.col-bouquet-v2a-wrap .bv-card{color:inherit;cursor:pointer;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 4px 16px rgba(92,22,38,.06);transition:all .3s;position:relative;text-decoration:none;display:block}
.col-bouquet-v2a-wrap .bv-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(92,22,38,.14)}
.col-bouquet-v2a-wrap .bv-img{aspect-ratio:3/4;overflow:hidden;background:#F3EBDD;position:relative}
.col-bouquet-v2a-wrap .bv-img img{width:100%;height:100%;object-fit:cover;display:block}
.col-bouquet-v2a-wrap .bv-img-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#F3EBDD,#D9CBB3)}
.col-bouquet-v2a-wrap .bv-bdg{position:absolute;top:12px;left:12px;font-family:'Inter Tight',sans-serif;font-size:9px;letter-spacing:.24em;padding:5px 9px;text-transform:uppercase;z-index:2;font-weight:600;border-radius:3px}
.col-bouquet-v2a-wrap .bv-bdg-best{background:#D4A862;color:#1A0E0C}
.col-bouquet-v2a-wrap .bv-bdg-new{background:#5C1626;color:#fff}
.col-bouquet-v2a-wrap .bv-bdg-ltd{background:#1A0E0C;color:#E8C788}
.col-bouquet-v2a-wrap .bv-add{position:absolute;bottom:12px;right:12px;font-family:'Inter Tight',sans-serif;font-size:10px;letter-spacing:.16em;color:#FAF6EE;background:#5C1626;padding:8px 14px;border-radius:20px;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:all .25s;font-weight:500}
.col-bouquet-v2a-wrap .bv-card:hover .bv-add{opacity:1;transform:translateY(0)}
.col-bouquet-v2a-wrap .bv-info{padding:14px}
.col-bouquet-v2a-wrap .bv-rate{font-family:'Inter Tight',sans-serif;font-size:11px;color:#8B6B3E;margin-bottom:6px;letter-spacing:.04em}
.col-bouquet-v2a-wrap .bv-rate span{color:#8A7560}
.col-bouquet-v2a-wrap .bv-info h4{font-family:'Noto Serif TC',serif;font-weight:500;font-size:15px;letter-spacing:.08em;color:#5C1626;margin:0 0 2px}
.col-bouquet-v2a-wrap .bv-en{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12.5px;color:#8A7560;display:block;margin-bottom:10px;letter-spacing:.02em}
.col-bouquet-v2a-wrap .bv-foot{display:flex;justify-content:space-between;align-items:baseline;padding-top:8px;border-top:1px solid #D9CBB3}
.col-bouquet-v2a-wrap .bv-price{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;color:#8B6B3E;font-size:16px}
.col-bouquet-v2a-wrap .bv-deliver{font-family:'Inter Tight',sans-serif;font-size:9px;letter-spacing:.18em;color:#7A2233;text-transform:uppercase}

@media (max-width:900px){
  .col-bouquet-v2a-wrap .bv-strip{font-size:10.5px;padding:7px 16px}
  .col-bouquet-v2a-wrap .bv-head{padding:20px 16px 10px}
  .col-bouquet-v2a-wrap .bv-head h1{font-size:22px;letter-spacing:.16em}
  .col-bouquet-v2a-wrap .bv-head h1 em{font-size:.62em}
  .col-bouquet-v2a-wrap .bv-quote{padding:16px 16px 12px}
  .col-bouquet-v2a-wrap .bv-quote blockquote{font-size:18px;line-height:1.45}
  .col-bouquet-v2a-wrap .bv-quote .bv-rule{height:24px;margin-bottom:12px}
  .col-bouquet-v2a-wrap .bv-filter{padding:10px 14px;flex-wrap:wrap;gap:8px}
  .col-bouquet-v2a-wrap .bv-pills{overflow-x:auto;flex-wrap:nowrap;width:100%;scrollbar-width:none}
  .col-bouquet-v2a-wrap .bv-pills::-webkit-scrollbar{display:none}
  .col-bouquet-v2a-wrap .bv-pill{flex-shrink:0;font-size:11.5px;padding:6px 12px}
  .col-bouquet-v2a-wrap .bv-sort{display:none}
  .col-bouquet-v2a-wrap .bv-grid{grid-template-columns:repeat(2,1fr);gap:16px 10px;padding:14px 12px 80px}
  .col-bouquet-v2a-wrap .bv-info{padding:10px}
  .col-bouquet-v2a-wrap .bv-info h4{font-size:12.5px}
  .col-bouquet-v2a-wrap .bv-en{font-size:10.5px}
  .col-bouquet-v2a-wrap .bv-price{font-size:13.5px}
  .col-bouquet-v2a-wrap .bv-bdg{font-size:7.5px;padding:3px 7px;top:8px;left:8px}
  .col-bouquet-v2a-wrap .bv-add{opacity:1;transform:translateY(0);bottom:8px;right:8px;padding:5px 10px;font-size:9px}
}
/* END_SECTION:collection-bouquet-v2a */

/* START_SECTION:collection-funeral-v2a (INDEX:6) */
.col-funeral-v2a-wrap{font-family:'Noto Serif TC','Songti TC',serif;background:#F2EBD9;color:#1E1D17}
.col-funeral-v2a-wrap *{box-sizing:border-box}

.col-funeral-v2a-wrap .cb-banner{max-width:1440px;margin:30px auto 24px;display:flex;border:1px solid #1E2B1B;height:220px;overflow:hidden;background:#F2EBD9}
.col-funeral-v2a-wrap .cb-banner-img{width:50%;height:100%;border-right:1px solid #1E2B1B;position:relative;overflow:hidden}
.col-funeral-v2a-wrap .cb-banner-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.col-funeral-v2a-wrap .cb-banner-info{width:50%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 48px;position:relative}
.col-funeral-v2a-wrap .cb-eyebrow{font-family:'Inter Tight',sans-serif;font-size:11px;letter-spacing:.32em;color:#B89968;text-transform:uppercase;margin-bottom:10px;display:block}
.col-funeral-v2a-wrap .cb-banner-h{font-family:'Noto Serif TC',serif;font-weight:500;font-size:36px;letter-spacing:.04em;color:#1E2B1B;line-height:1.1;margin:0 0 14px}
.col-funeral-v2a-wrap .cb-banner-h em{font-family:'Cormorant Garamond','Times New Roman',serif;font-style:italic;font-weight:400;color:#1E2B1B;letter-spacing:-.005em}
.col-funeral-v2a-wrap .cb-banner-rule{width:48px;height:1px;background:#B89968;margin:0 0 16px}
.col-funeral-v2a-wrap .cb-banner-lede{font-family:'Noto Serif TC',serif;font-weight:400;font-size:14.5px;letter-spacing:.06em;line-height:1.7;color:#1E1D17;margin:0;max-width:440px}

.col-funeral-v2a-wrap .cb-grid{padding:30px 36px 80px;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px 22px}
.col-funeral-v2a-wrap .cb-card{color:inherit;cursor:pointer;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.06);transition:all .3s;position:relative;text-decoration:none;display:block}
.col-funeral-v2a-wrap .cb-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.14)}
.col-funeral-v2a-wrap .cb-img{aspect-ratio:3/4;overflow:hidden;background:#F3EBDD;position:relative}
.col-funeral-v2a-wrap .cb-img img{width:100%;height:100%;object-fit:cover;display:block}
.col-funeral-v2a-wrap .cb-info{padding:14px}
.col-funeral-v2a-wrap .cb-info h4{font-family:'Noto Serif TC',serif;font-weight:500;font-size:15px;letter-spacing:.08em;color:#1E2B1B;margin:0 0 2px}
.col-funeral-v2a-wrap .cb-en{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12.5px;color:#8A7560;display:block;margin-bottom:10px;letter-spacing:.02em}
.col-funeral-v2a-wrap .cb-foot{display:flex;justify-content:space-between;align-items:baseline;padding-top:8px;border-top:1px solid #D9CBB3}
.col-funeral-v2a-wrap .cb-price{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;color:#B89968;font-size:16px}
.col-funeral-v2a-wrap .cb-deliver{font-family:'Inter Tight',sans-serif;font-size:9px;letter-spacing:.18em;color:#1E2B1B;text-transform:uppercase;opacity:.7}

@media (max-width:900px){
  .col-funeral-v2a-wrap .cb-banner{flex-direction:column;height:auto;margin:14px}
  .col-funeral-v2a-wrap .cb-banner-img{width:100%;height:200px;border-right:0;border-bottom:1px solid #1E2B1B}
  .col-funeral-v2a-wrap .cb-banner-info{width:100%;padding:24px 20px}
  .col-funeral-v2a-wrap .cb-banner-h{font-size:26px}
  .col-funeral-v2a-wrap .cb-grid{grid-template-columns:repeat(2,1fr);gap:16px 10px;padding:14px 12px 80px}
}
/* END_SECTION:collection-funeral-v2a */

/* START_SECTION:collection-orchid-v2a (INDEX:7) */
.col-orchid-v2a-wrap{font-family:'Noto Serif TC','Songti TC',serif;background:#F6EFE6;color:#2A1418}
.col-orchid-v2a-wrap *{box-sizing:border-box}

.col-orchid-v2a-wrap .cb-banner{max-width:1440px;margin:30px auto 24px;display:flex;border:1px solid #6E2F38;height:220px;overflow:hidden;background:#FCF4E5}
.col-orchid-v2a-wrap .cb-banner-img{width:50%;height:100%;border-right:1px solid #6E2F38;position:relative;overflow:hidden}
.col-orchid-v2a-wrap .cb-banner-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.col-orchid-v2a-wrap .cb-banner-info{width:50%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 48px;position:relative}
.col-orchid-v2a-wrap .cb-eyebrow{font-family:'Inter Tight',sans-serif;font-size:11px;letter-spacing:.32em;color:#8B6B3E;text-transform:uppercase;margin-bottom:10px;display:block}
.col-orchid-v2a-wrap .cb-banner-h{font-family:'Noto Serif TC',serif;font-weight:500;font-size:36px;letter-spacing:.04em;color:#6E2F38;line-height:1.1;margin:0 0 14px}
.col-orchid-v2a-wrap .cb-banner-h em{font-family:'Cormorant Garamond','Times New Roman',serif;font-style:italic;font-weight:400;color:#6E2F38;letter-spacing:-.005em}
.col-orchid-v2a-wrap .cb-banner-rule{width:48px;height:1px;background:#D4A862;margin:0 0 16px}
.col-orchid-v2a-wrap .cb-banner-lede{font-family:'Noto Serif TC',serif;font-weight:400;font-size:14.5px;letter-spacing:.06em;line-height:1.7;color:#2A1418;margin:0;max-width:440px}

.col-orchid-v2a-wrap .cb-grid{padding:30px 36px 80px;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px 22px}
.col-orchid-v2a-wrap .cb-card{color:inherit;cursor:pointer;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.06);transition:all .3s;position:relative;text-decoration:none;display:block}
.col-orchid-v2a-wrap .cb-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.14)}
.col-orchid-v2a-wrap .cb-img{aspect-ratio:3/4;overflow:hidden;background:#F3EBDD;position:relative}
.col-orchid-v2a-wrap .cb-img img{width:100%;height:100%;object-fit:cover;display:block}
.col-orchid-v2a-wrap .cb-info{padding:14px}
.col-orchid-v2a-wrap .cb-info h4{font-family:'Noto Serif TC',serif;font-weight:500;font-size:15px;letter-spacing:.08em;color:#6E2F38;margin:0 0 2px}
.col-orchid-v2a-wrap .cb-en{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12.5px;color:#8A7560;display:block;margin-bottom:10px;letter-spacing:.02em}
.col-orchid-v2a-wrap .cb-foot{display:flex;justify-content:space-between;align-items:baseline;padding-top:8px;border-top:1px solid #D9CBB3}
.col-orchid-v2a-wrap .cb-price{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;color:#8B6B3E;font-size:16px}
.col-orchid-v2a-wrap .cb-deliver{font-family:'Inter Tight',sans-serif;font-size:9px;letter-spacing:.18em;color:#6E2F38;text-transform:uppercase;opacity:.7}

@media (max-width:900px){
  .col-orchid-v2a-wrap .cb-banner{flex-direction:column;height:auto;margin:14px}
  .col-orchid-v2a-wrap .cb-banner-img{width:100%;height:200px;border-right:0;border-bottom:1px solid #6E2F38}
  .col-orchid-v2a-wrap .cb-banner-info{width:100%;padding:24px 20px}
  .col-orchid-v2a-wrap .cb-banner-h{font-size:26px}
  .col-orchid-v2a-wrap .cb-grid{grid-template-columns:repeat(2,1fr);gap:16px 10px;padding:14px 12px 80px}
}
/* END_SECTION:collection-orchid-v2a */

/* START_SECTION:collection-wedding-v2a (INDEX:8) */
.col-wedding-v2a-wrap{font-family:'Noto Serif TC','Songti TC',serif;background:#F6EFE6;color:#2A1418}
.col-wedding-v2a-wrap *{box-sizing:border-box}

.col-wedding-v2a-wrap .cb-banner{max-width:1440px;margin:30px auto 24px;display:flex;border:1px solid #6E2F38;height:220px;overflow:hidden;background:#FCF4E5}
.col-wedding-v2a-wrap .cb-banner-img{width:50%;height:100%;border-right:1px solid #6E2F38;position:relative;overflow:hidden}
.col-wedding-v2a-wrap .cb-banner-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.col-wedding-v2a-wrap .cb-banner-info{width:50%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 48px;position:relative}
.col-wedding-v2a-wrap .cb-eyebrow{font-family:'Inter Tight',sans-serif;font-size:11px;letter-spacing:.32em;color:#8B6B3E;text-transform:uppercase;margin-bottom:10px;display:block}
.col-wedding-v2a-wrap .cb-banner-h{font-family:'Noto Serif TC',serif;font-weight:500;font-size:36px;letter-spacing:.04em;color:#6E2F38;line-height:1.1;margin:0 0 14px}
.col-wedding-v2a-wrap .cb-banner-h em{font-family:'Cormorant Garamond','Times New Roman',serif;font-style:italic;font-weight:400;color:#6E2F38;letter-spacing:-.005em}
.col-wedding-v2a-wrap .cb-banner-rule{width:48px;height:1px;background:#D4A862;margin:0 0 16px}
.col-wedding-v2a-wrap .cb-banner-lede{font-family:'Noto Serif TC',serif;font-weight:400;font-size:14.5px;letter-spacing:.06em;line-height:1.7;color:#2A1418;margin:0;max-width:440px}

.col-wedding-v2a-wrap .cb-grid{padding:30px 36px 80px;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px 22px}
.col-wedding-v2a-wrap .cb-card{color:inherit;cursor:pointer;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.06);transition:all .3s;position:relative;text-decoration:none;display:block}
.col-wedding-v2a-wrap .cb-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.14)}
.col-wedding-v2a-wrap .cb-img{aspect-ratio:3/4;overflow:hidden;background:#F3EBDD;position:relative}
.col-wedding-v2a-wrap .cb-img img{width:100%;height:100%;object-fit:cover;display:block}
.col-wedding-v2a-wrap .cb-info{padding:14px}
.col-wedding-v2a-wrap .cb-info h4{font-family:'Noto Serif TC',serif;font-weight:500;font-size:15px;letter-spacing:.08em;color:#6E2F38;margin:0 0 2px}
.col-wedding-v2a-wrap .cb-en{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12.5px;color:#8A7560;display:block;margin-bottom:10px;letter-spacing:.02em}
.col-wedding-v2a-wrap .cb-foot{display:flex;justify-content:space-between;align-items:baseline;padding-top:8px;border-top:1px solid #D9CBB3}
.col-wedding-v2a-wrap .cb-price{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;color:#8B6B3E;font-size:16px}
.col-wedding-v2a-wrap .cb-deliver{font-family:'Inter Tight',sans-serif;font-size:9px;letter-spacing:.18em;color:#6E2F38;text-transform:uppercase;opacity:.7}

@media (max-width:900px){
  .col-wedding-v2a-wrap .cb-banner{flex-direction:column;height:auto;margin:14px}
  .col-wedding-v2a-wrap .cb-banner-img{width:100%;height:200px;border-right:0;border-bottom:1px solid #6E2F38}
  .col-wedding-v2a-wrap .cb-banner-info{width:100%;padding:24px 20px}
  .col-wedding-v2a-wrap .cb-banner-h{font-size:26px}
  .col-wedding-v2a-wrap .cb-grid{grid-template-columns:repeat(2,1fr);gap:16px 10px;padding:14px 12px 80px}
}
/* END_SECTION:collection-wedding-v2a */

/* START_SECTION:funeral-pdp-v2a (INDEX:12) */
/* force-bump-1779698118553-uniqueABC */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@300;400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Cormorant+SC:wght@400;500;600&family=Inter:wght@400;500&display=swap');
.funeral-pdp-v2a-wrap{
  --bg:#F2EBD9;--bg-2:#E7DFC9;--bg-card:#FAF6E8;--ink:#1E1D17;--forest:#2D3E2A;--forest-deep:#1E2B1B;
  --gold:#B89968;--gold-deep:#8A6F45;--gold-bright:#D4A862;--rule:#C9BFA1;--rule-soft:#E5DDCD;--muted:#786E55;
  --male:#3A5A7B;--female:#A0526E;--neutral:#7A6F60;--paper:#F6F1E8;--ink-deep:#0D0C08;
  --serif:'Cormorant Garamond','Noto Serif TC',serif;--sc:'Cormorant SC',serif;
  --cjk:'Noto Serif TC',serif;--sans:'Inter',sans-serif;
  --max:1340px;--gut:clamp(20px,4vw,80px);
  background:var(--bg) !important;color:var(--ink) !important;font-family:var(--serif) !important;
  -webkit-font-smoothing:antialiased;
}.funeral-pdp-v2a-wrap *, .funeral-pdp-v2a-wrap *::before, .funeral-pdp-v2a-wrap *::after{box-sizing:border-box !important}.funeral-pdp-v2a-wrap a{color:inherit !important;text-decoration:none}.funeral-pdp-v2a-wrap button{font:inherit;color:inherit !important;background:none !important;border:0 !important;cursor:pointer !important;padding:0 !important}.funeral-pdp-v2a-wrap img{display:block !important;max-width:100% !important}.funeral-pdp-v2a-wrap .eyebrow{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;text-transform:uppercase;color:var(--gold-deep) !important;font-weight:500 !important}.funeral-pdp-v2a-wrap .layout-label{position:fixed !important;top:14px !important;right:14px !important;z-index:99 !important;background:var(--forest-deep) !important;color:var(--bg) !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.28em !important;padding:8px 14px !important;text-transform:uppercase}.funeral-pdp-v2a-wrap .top{background:var(--forest-deep) !important;color:var(--bg) !important;padding:14px var(--gut) !important;display:flex !important;justify-content:space-between !important;align-items:center !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.24em !important;text-transform:uppercase}.funeral-pdp-v2a-wrap .top .center{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.4em !important;padding-left:.4em !important}.funeral-pdp-v2a-wrap .nav{background:var(--bg) !important;border-bottom:1px solid var(--rule) !important;position:sticky !important;top:0 !important;z-index:50 !important}.funeral-pdp-v2a-wrap .nav-inner{max-width:var(--max) !important;margin:0 auto !important;padding:18px var(--gut) !important;display:flex !important;justify-content:space-between !important;align-items:center !important}.funeral-pdp-v2a-wrap .nav-logo{font-family:var(--serif) !important;font-size:22px !important;letter-spacing:.32em !important;color:var(--forest-deep) !important;padding-left:.32em !important;font-weight:500 !important;text-decoration:none !important;color:inherit !important;cursor:pointer !important}.funeral-pdp-v2a-wrap .nav-logo .sub{font-family:var(--cjk) !important;font-size:10.5px !important;color:var(--gold-deep) !important;letter-spacing:.18em !important;display:block !important;margin-top:2px !important;font-weight:400 !important}.funeral-pdp-v2a-wrap .nav-list{display:flex !important;gap:28px !important;flex-wrap:wrap !important}.funeral-pdp-v2a-wrap .nav-list a{font-family:var(--cjk) !important;font-size:13.5px !important;letter-spacing:.18em !important;color:var(--ink) !important;padding:6px 0 !important;text-decoration:none !important;cursor:pointer !important}.funeral-pdp-v2a-wrap .nav-list a .en{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.22em !important;color:var(--muted) !important;display:block !important;text-align:center !important;margin-top:2px !important}.funeral-pdp-v2a-wrap .nav-list a.is-active{color:var(--forest-deep) !important;position:relative !important}.funeral-pdp-v2a-wrap .nav-list a.is-active::after{content:"";position:absolute !important;left:50% !important;transform:translateX(-50%) !important;bottom:-8px !important;width:18px !important;height:1px !important;background:var(--forest) !important}.funeral-pdp-v2a-wrap .part{max-width:var(--max) !important;margin:0 auto !important;padding:50px var(--gut) !important;position:relative !important}.funeral-pdp-v2a-wrap .part::before{content:attr(data-part);position:absolute !important;top:30px !important;right:var(--gut) !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.42em !important;color:var(--gold-deep) !important;text-transform:uppercase;background:var(--bg) !important;padding:6px 12px !important;border:1px solid var(--rule) !important}.funeral-pdp-v2a-wrap .part-head{margin-bottom:36px !important}.funeral-pdp-v2a-wrap .part-head .lbl{display:block !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin-bottom:8px !important}.funeral-pdp-v2a-wrap .part-head h2{font-family:var(--cjk) !important;font-weight:400 !important;font-size:28px !important;letter-spacing:.18em !important;margin:0 !important;color:var(--forest-deep) !important}.funeral-pdp-v2a-wrap .part-head h2 .latin{font-family:var(--serif) !important;font-style:italic;font-size:18px !important;color:var(--muted) !important;margin-left:14px !important;letter-spacing:.02em !important}.funeral-pdp-v2a-wrap .part-head .sub{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:14px !important;margin-top:8px !important;letter-spacing:.02em !important}.funeral-pdp-v2a-wrap .hero{display:grid !important;grid-template-columns:1fr 1.2fr !important;gap:60px !important;align-items:start !important}.funeral-pdp-v2a-wrap .hero-img{width:100% !important;aspect-ratio:3/4 !important;object-fit:cover;background:var(--bg-2) !important;filter:saturate(.9)}.funeral-pdp-v2a-wrap .hero-title-cjk{font-family:var(--cjk) !important;font-weight:600 !important;font-size:clamp(52px,5.5vw,80px) !important;line-height:1 !important;letter-spacing:.12em !important;color:var(--forest-deep) !important;margin:24px 0 0 !important}.funeral-pdp-v2a-wrap .hero-title-cjk .small{display:block !important;font-family:var(--cjk) !important;font-weight:300 !important;font-size:.42em !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;margin-top:14px !important;padding-left:.32em !important}.funeral-pdp-v2a-wrap .hero-title-latin{font-family:var(--serif) !important;font-style:italic;font-size:22px !important;color:var(--forest) !important;margin:18px 0 0 !important;padding-top:18px !important;border-top:1px solid var(--rule) !important;letter-spacing:.02em !important}.funeral-pdp-v2a-wrap .hero-lede{font-family:var(--cjk) !important;font-weight:300 !important;font-size:15.5px !important;line-height:2 !important;color:var(--ink) !important;max-width:38ch !important;margin:24px 0 !important;letter-spacing:.06em !important}.funeral-pdp-v2a-wrap .price-row{display:flex !important;align-items:baseline !important;gap:14px !important;border-top:1px solid var(--rule) !important;padding-top:18px !important;margin-top:18px !important}.funeral-pdp-v2a-wrap .price-from{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase}.funeral-pdp-v2a-wrap .price{font-family:var(--serif) !important;font-weight:500 !important;color:var(--gold-deep) !important;font-size:34px !important}.funeral-pdp-v2a-wrap .price-alt{font-family:var(--sc) !important;font-size:11.5px !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;opacity:.7 !important;text-transform:uppercase}.funeral-pdp-v2a-wrap .size-block{margin-top:30px !important}.funeral-pdp-v2a-wrap .size-block-head{display:flex !important;justify-content:space-between !important;align-items:baseline !important;margin-bottom:12px !important}.funeral-pdp-v2a-wrap .size-block-head h4{font-family:var(--cjk) !important;font-weight:500 !important;font-size:15px !important;letter-spacing:.12em !important;margin:0 !important;color:var(--forest-deep) !important}.funeral-pdp-v2a-wrap .size-block-head .arrow{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.32em !important;color:var(--muted) !important;text-transform:uppercase}.funeral-pdp-v2a-wrap .size-grid{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0 !important;border:1px solid var(--rule) !important;background:var(--bg-2) !important}.funeral-pdp-v2a-wrap .size{padding:18px 8px !important;text-align:center !important;cursor:pointer !important;border-right:1px solid var(--rule) !important;transition:background .25s !important}.funeral-pdp-v2a-wrap .size:last-child{border-right:0 !important}.funeral-pdp-v2a-wrap .size .cn{font-family:var(--cjk) !important;font-weight:500 !important;font-size:16px !important;letter-spacing:.14em !important;color:var(--ink) !important;display:block !important}.funeral-pdp-v2a-wrap .size .en{font-family:var(--sc) !important;font-size:9px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;display:block !important;margin:4px 0 8px !important}.funeral-pdp-v2a-wrap .size .v{font-family:var(--serif) !important;color:var(--gold-deep) !important;font-size:17px !important;font-weight:500 !important;display:block !important}.funeral-pdp-v2a-wrap .size .h{font-family:var(--sc) !important;font-size:9px !important;letter-spacing:.24em !important;color:var(--muted) !important;text-transform:uppercase;display:block !important;margin-top:4px !important}.funeral-pdp-v2a-wrap .size:hover{background:var(--bg) !important}.funeral-pdp-v2a-wrap .size.is-active{background:var(--forest-deep) !important;color:var(--bg) !important}.funeral-pdp-v2a-wrap .size.is-active .cn{color:var(--bg) !important}.funeral-pdp-v2a-wrap .size.is-active .v{color:var(--gold) !important}.funeral-pdp-v2a-wrap .size.is-active .en, .funeral-pdp-v2a-wrap .size.is-active .h{color:rgba(242,235,217,.65) !important}.funeral-pdp-v2a-wrap .duo{display:grid !important;grid-template-columns:1fr 1fr !important;gap:40px !important;background:var(--bg-card) !important;padding:40px !important;border:1px solid var(--rule) !important}.funeral-pdp-v2a-wrap .sub-block h3{font-family:var(--cjk) !important;font-weight:500 !important;font-size:18px !important;letter-spacing:.16em !important;color:var(--forest-deep) !important;margin:0 0 4px !important}.funeral-pdp-v2a-wrap .sub-block h3 .num{font-family:var(--sc) !important;font-style:normal;font-size:11px !important;color:var(--gold-deep) !important;letter-spacing:.32em !important;text-transform:uppercase;margin-right:10px !important}.funeral-pdp-v2a-wrap .field-label{display:flex !important;align-items:baseline !important;justify-content:space-between !important;margin-top:18px !important;margin-bottom:6px !important}.funeral-pdp-v2a-wrap .field-label .cn{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.1em !important;color:var(--ink) !important}.funeral-pdp-v2a-wrap .field-label .en{font-size:10px !important;letter-spacing:.24em !important;text-transform:uppercase;color:var(--muted) !important;font-family:var(--sc) !important}.funeral-pdp-v2a-wrap .uline{border:0 !important;border-bottom:1px solid var(--rule) !important;background:transparent !important;padding:12px 0 !important;width:100% !important;font-family:var(--cjk) !important;font-size:14.5px !important;color:var(--ink) !important;outline:0;letter-spacing:.06em !important;transition:border-color .25s !important}.funeral-pdp-v2a-wrap .uline:focus{border-bottom-color:var(--forest)}.funeral-pdp-v2a-wrap .uline::placeholder{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important}.funeral-pdp-v2a-wrap .quick-row{display:flex !important;gap:6px !important;flex-wrap:wrap !important;margin-top:8px !important}.funeral-pdp-v2a-wrap .quick{font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.12em !important;padding:7px 12px !important;border:1px solid var(--rule) !important;color:var(--ink) !important;cursor:pointer !important;background:transparent !important;transition:all .2s !important}.funeral-pdp-v2a-wrap .quick:hover{border-color:var(--forest)}.funeral-pdp-v2a-wrap .quick.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.funeral-pdp-v2a-wrap .quick.is-disabled{opacity:.35 !important;cursor:not-allowed !important;text-decoration:line-through}.funeral-pdp-v2a-wrap .time-cats{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:6px !important;margin-top:8px !important}.funeral-pdp-v2a-wrap .time-cat{border:1px solid var(--rule) !important;padding:10px 12px !important;cursor:pointer !important;background:transparent !important;text-align:left !important;transition:all .2s !important}.funeral-pdp-v2a-wrap .time-cat:hover{border-color:var(--forest)}.funeral-pdp-v2a-wrap .time-cat.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.funeral-pdp-v2a-wrap .time-cat .cn{font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.1em !important;display:block !important}.funeral-pdp-v2a-wrap .time-cat .meta{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.18em !important;text-transform:uppercase;color:inherit !important;opacity:.65 !important;display:block !important;margin-top:2px !important}.funeral-pdp-v2a-wrap .hour-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:4px !important;margin-top:8px !important}.funeral-pdp-v2a-wrap .hour{border:1px solid var(--rule) !important;padding:8px 6px !important;font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.12em !important;text-align:center !important;cursor:pointer !important;background:transparent !important;color:var(--ink) !important;transition:all .2s !important;font-feature-settings:"tnum" 1}.funeral-pdp-v2a-wrap .hour:hover{border-color:var(--forest)}.funeral-pdp-v2a-wrap .hour.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.funeral-pdp-v2a-wrap .upgrade-row{display:flex !important;gap:6px !important;flex-wrap:wrap !important;margin-top:8px !important}.funeral-pdp-v2a-wrap .upgrade{border:1px dashed var(--rule) !important;padding:9px 12px !important;cursor:pointer !important;background:transparent !important;font-family:var(--cjk) !important;font-size:12px !important;letter-spacing:.1em !important;color:var(--ink) !important;transition:all .2s !important;display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:2px !important}.funeral-pdp-v2a-wrap .upgrade:hover{border-color:var(--gold)}.funeral-pdp-v2a-wrap .upgrade.is-active{background:var(--gold) !important;color:var(--ink-deep) !important;border:1px solid var(--gold) !important}.funeral-pdp-v2a-wrap .upgrade .cn{font-weight:500 !important}.funeral-pdp-v2a-wrap .upgrade .extra{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;text-transform:uppercase}.funeral-pdp-v2a-wrap .upgrade.is-active .extra{color:var(--ink) !important}.funeral-pdp-v2a-wrap .zone-result{margin-top:20px !important;padding:14px 16px !important;background:var(--bg) !important;border:1px solid var(--forest) !important;display:flex !important;justify-content:space-between !important;align-items:baseline !important}.funeral-pdp-v2a-wrap .zone-result .zone-name{font-family:var(--cjk) !important;font-size:14px !important;color:var(--forest-deep) !important;letter-spacing:.08em !important}.funeral-pdp-v2a-wrap .zone-result .zone-name em{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12px !important;margin-left:10px !important;letter-spacing:.02em !important}.funeral-pdp-v2a-wrap .zone-result .zone-fee{font-family:var(--serif) !important;font-size:18px !important;color:var(--gold-deep) !important;font-weight:500 !important;letter-spacing:.02em !important}.funeral-pdp-v2a-wrap .zone-result .zone-fee.free{font-style:italic;color:var(--forest) !important}.funeral-pdp-v2a-wrap .p3-grid{display:grid !important;grid-template-columns:1fr 1.1fr !important;gap:60px !important;align-items:start !important;padding-top:14px !important}.funeral-pdp-v2a-wrap .p3-preview{position:sticky !important;top:90px !important;align-self:start}.funeral-pdp-v2a-wrap .preview-eyebrow{display:block !important;margin-bottom:14px !important;text-align:center !important}.funeral-pdp-v2a-wrap .preview-title{font-family:var(--cjk) !important;font-weight:400 !important;font-size:18px !important;letter-spacing:.2em !important;color:var(--forest-deep) !important;text-align:center !important;margin-bottom:14px !important}.funeral-pdp-v2a-wrap .banner-canvas{
    
    --l1: 9cqw;     
    --l2: 17cqw;    
    --l3: 8cqw;     
    --l4: 6cqw;     
    --gap: 2.5cqw;
    --l2-spacing: .28em;

    background:#fff !important;color:var(--ink) !important;
    padding:5cqw 7cqw !important;
    aspect-ratio:420/297 !important;
    border:2px solid var(--forest) !important;position:relative !important;
    display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:center !important;
    gap:var(--gap) !important;
    container-type:inline-size;
    transition:--l1 .3s,--l2 .3s,--l3 .3s,--l4 .3s !important;
    overflow:hidden !important;  
  }.funeral-pdp-v2a-wrap .banner-canvas::before{content:"";position:absolute !important;inset:2cqw;border:1px solid var(--forest) !important;pointer-events:none;opacity:.4 !important}.funeral-pdp-v2a-wrap .bnr-line1{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l1) !important;letter-spacing:.16em !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.3 !important;white-space:nowrap !important}.funeral-pdp-v2a-wrap .bnr-line1 .reltitle{margin-right:1.5cqw !important}.funeral-pdp-v2a-wrap .bnr-line1 .name{font-weight:600 !important}.funeral-pdp-v2a-wrap .bnr-line1 .hon{margin-left:1.5cqw !important}.funeral-pdp-v2a-wrap .bnr-phrase{font-family:var(--cjk) !important;font-weight:600 !important;font-size:var(--l2) !important;letter-spacing:var(--l2-spacing) !important;padding-left:var(--l2-spacing) !important;line-height:1 !important;color:var(--forest-deep) !important;text-align:center !important;margin:1cqw 0 !important;white-space:nowrap !important}.funeral-pdp-v2a-wrap .bnr-senders{display:flex !important;flex-direction:column !important;align-items:center !important;gap:.6cqw !important;width:100% !important}.funeral-pdp-v2a-wrap .bnr-sender{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l3) !important;letter-spacing:.14em !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.3 !important;white-space:nowrap !important;display:inline-flex !important;align-items:baseline !important;justify-content:center !important;gap:1.2cqw !important}.funeral-pdp-v2a-wrap .bnr-sender .sprefix{font-size:1.05em !important;font-weight:600 !important;color:var(--forest-deep) !important}.funeral-pdp-v2a-wrap .bnr-sender .sname{font-size:.85em !important;font-weight:400 !important;color:var(--ink) !important}.funeral-pdp-v2a-wrap .bnr-sender .srate{font-size:.78em !important;font-weight:500 !important;color:var(--gold-deep) !important;margin-right:.4cqw !important;font-style:normal;letter-spacing:.04em !important}.funeral-pdp-v2a-wrap .bnr-suffix{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l4) !important;letter-spacing:.14em !important;color:var(--forest-deep) !important;text-align:center !important;white-space:nowrap !important}.funeral-pdp-v2a-wrap .preview-foot .shrink-tag{display:inline-block !important;background:var(--gold) !important;color:var(--ink) !important;font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.22em !important;padding:2px 8px !important;margin-left:10px !important;text-transform:uppercase;font-style:normal}

  
  @keyframes bnrPulse{
    0%{background-color:rgba(184,153,104,0);box-shadow:0 0 0 0 rgba(184,153,104,0)}
    30%{background-color:rgba(184,153,104,.22);box-shadow:0 0 0 6px rgba(184,153,104,.18)}
    100%{background-color:rgba(184,153,104,0);box-shadow:0 0 0 0 rgba(184,153,104,0)}
  }.funeral-pdp-v2a-wrap .bnr-line1, .funeral-pdp-v2a-wrap .bnr-phrase, .funeral-pdp-v2a-wrap .bnr-senders, .funeral-pdp-v2a-wrap .bnr-suffix{padding:.5cqw 1cqw !important;border-radius:2px !important;transition:background-color .35s !important}.funeral-pdp-v2a-wrap .bnr-pulse{animation:bnrPulse 1.2s ease-out}.funeral-pdp-v2a-wrap .sub-step{
    position:relative !important;
    padding:24px 26px 22px !important;
    border:1px solid var(--rule) !important;background:var(--bg-card) !important;
    margin-bottom:18px !important;
    transition:border-color .35s,background-color .35s,box-shadow .35s,opacity .35s !important;
    opacity:1 !important;
  }.funeral-pdp-v2a-wrap .sub-step.is-active{
    border-color:var(--forest);box-shadow:0 0 0 1px var(--forest),0 12px 30px -20px rgba(45,62,42,.3);
    background:#FAF6E8 !important;
  }.funeral-pdp-v2a-wrap .sub-step.is-done{opacity:.85 !important}.funeral-pdp-v2a-wrap .sub-step.is-pending{opacity:.65 !important}.funeral-pdp-v2a-wrap .sub-step-head{display:flex !important;align-items:baseline !important;justify-content:space-between !important;gap:14px !important;margin-bottom:18px !important;padding-bottom:14px !important;border-bottom:1px solid var(--rule) !important}.funeral-pdp-v2a-wrap .sub-step-head .left{display:flex !important;align-items:baseline !important;gap:14px !important}.funeral-pdp-v2a-wrap .sub-step-num{
    font-family:var(--serif) !important;font-style:italic;font-weight:500 !important;font-size:28px !important;line-height:1 !important;
    color:var(--gold-deep) !important;min-width:36px !important;
    transition:color .3s !important;
  }.funeral-pdp-v2a-wrap .sub-step.is-active .sub-step-num{color:var(--forest-deep) !important}.funeral-pdp-v2a-wrap .sub-step.is-done .sub-step-num{color:var(--forest) !important}.funeral-pdp-v2a-wrap .sub-step-title{font-family:var(--cjk) !important;font-weight:500 !important;font-size:18px !important;letter-spacing:.18em !important;color:var(--forest-deep) !important;margin:0 !important}.funeral-pdp-v2a-wrap .sub-step-title .en{font-family:var(--serif) !important;font-style:italic;font-weight:400 !important;font-size:13.5px !important;color:var(--muted) !important;margin-left:10px !important;letter-spacing:.02em !important}.funeral-pdp-v2a-wrap .sub-step-status{
    font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.32em !important;text-transform:uppercase;
    padding:5px 11px !important;border:1px solid var(--rule) !important;color:var(--muted) !important;
    transition:all .3s !important;flex-shrink:0;
  }.funeral-pdp-v2a-wrap .sub-step.is-active .sub-step-status{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep);animation:statusGlow 2s ease-in-out infinite}.funeral-pdp-v2a-wrap .sub-step.is-done .sub-step-status{background:var(--gold) !important;color:var(--ink) !important;border-color:var(--gold)}
  @keyframes statusGlow{0%,100%{box-shadow:0 0 0 0 rgba(45,62,42,.4)}50%{box-shadow:0 0 0 6px rgba(45,62,42,0)}}

  
  @keyframes subStepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.funeral-pdp-v2a-wrap .sub-step{animation:subStepIn .5s ease-out both}.funeral-pdp-v2a-wrap .sub-step:nth-child(1){animation-delay:.05s}.funeral-pdp-v2a-wrap .sub-step:nth-child(2){animation-delay:.18s}.funeral-pdp-v2a-wrap .sub-step:nth-child(3){animation-delay:.32s}

  
  @keyframes autofillFlash{0%{background-color:rgba(184,153,104,0)}25%{background-color:rgba(184,153,104,.25)}100%{background-color:rgba(184,153,104,0)}}.funeral-pdp-v2a-wrap .uline.is-autofilled{animation:autofillFlash 1.1s ease-out}.funeral-pdp-v2a-wrap .sub-step .field-label{margin-top:14px !important}.funeral-pdp-v2a-wrap .sub-step > .field-label:first-of-type{margin-top:4px !important}.funeral-pdp-v2a-wrap .phrase-meaning{background:var(--bg-card) !important;border-left:3px solid var(--gold) !important;padding:14px 18px !important;margin-top:14px !important;font-family:var(--cjk) !important;font-size:13.5px !important;line-height:1.8 !important;color:var(--ink) !important;letter-spacing:.06em !important}.funeral-pdp-v2a-wrap .phrase-meaning .pm-eyebrow{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin-bottom:6px !important}.funeral-pdp-v2a-wrap .phrase-meaning .pm-phrase{font-weight:600 !important;color:var(--forest-deep) !important;font-size:16px !important;margin-right:10px !important}.funeral-pdp-v2a-wrap .phrase-meaning .pm-empty{color:var(--muted) !important;font-style:italic;font-family:var(--serif) !important}.funeral-pdp-v2a-wrap .senders-group{display:flex !important;flex-direction:column !important;gap:10px !important;margin-top:10px !important}.funeral-pdp-v2a-wrap .sender-row{display:grid !important;grid-template-columns:1fr .55fr 1.4fr auto !important;gap:10px !important;align-items:end !important}.funeral-pdp-v2a-wrap .sender-rank.is-disabled{opacity:.35 !important;pointer-events:none}.funeral-pdp-v2a-wrap .sender-row .uline{margin:0 !important;padding:10px 0 !important}.funeral-pdp-v2a-wrap .sender-row .remove{
    width:30px !important;height:30px !important;font-family:var(--sc) !important;font-size:14px !important;
    border:1px solid var(--rule) !important;background:transparent !important;color:var(--muted) !important;cursor:pointer !important;
    align-self:center;transition:all .2s !important;
  }.funeral-pdp-v2a-wrap .sender-row .remove:hover{border-color:var(--female);color:var(--female) !important}.funeral-pdp-v2a-wrap .sender-row.primary .remove{visibility:hidden}.funeral-pdp-v2a-wrap .add-sender-btn{
    margin-top:4px !important;align-self:flex-start;
    font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.12em !important;
    border:1px dashed var(--rule) !important;padding:9px 16px !important;color:var(--muted) !important;
    cursor:pointer !important;background:transparent !important;transition:all .2s !important;
  }.funeral-pdp-v2a-wrap .add-sender-btn:hover{border-color:var(--forest);color:var(--forest-deep) !important}.funeral-pdp-v2a-wrap .sender-row-label{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.28em !important;color:var(--muted) !important;text-transform:uppercase;display:block !important;margin-bottom:2px !important}.funeral-pdp-v2a-wrap .preview-foot{margin-top:12px !important;font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12.5px !important;text-align:center !important}.funeral-pdp-v2a-wrap .preview-foot strong{color:var(--gold-deep) !important;font-style:normal;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.22em !important;text-transform:uppercase}.funeral-pdp-v2a-wrap .auto-hint{background:var(--bg-card) !important;border-left:3px solid var(--gold) !important;padding:12px 16px !important;margin-top:14px !important;font-family:var(--cjk) !important;font-size:12.5px !important;color:var(--ink) !important;letter-spacing:.06em !important;line-height:1.7 !important}.funeral-pdp-v2a-wrap .auto-hint strong{color:var(--forest-deep) !important;font-weight:500 !important;display:block !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.22em !important;text-transform:uppercase;margin-bottom:6px !important}.funeral-pdp-v2a-wrap .auto-hint em{font-style:italic;color:var(--muted) !important;font-size:11.5px !important}.funeral-pdp-v2a-wrap .auto-hint .tag{display:inline-block !important;background:var(--forest-deep) !important;color:var(--bg) !important;font-family:var(--cjk) !important;font-size:11.5px !important;font-style:normal;letter-spacing:.06em !important;text-transform:none;padding:2px 7px !important;margin:0 2px !important}.funeral-pdp-v2a-wrap .religion{display:flex !important;gap:18px !important;border-bottom:1px solid var(--rule) !important;padding-bottom:10px !important;margin:8px 0 14px !important}.funeral-pdp-v2a-wrap .religion button{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.12em !important;color:var(--muted) !important;padding:4px 0 !important;position:relative !important;transition:color .25s !important}.funeral-pdp-v2a-wrap .religion button.is-active{color:var(--forest-deep) !important;font-weight:500 !important}.funeral-pdp-v2a-wrap .religion button.is-active::after{content:"";position:absolute !important;left:0 !important;right:0 !important;bottom:-11px !important;height:1px !important;background:var(--forest) !important}.funeral-pdp-v2a-wrap .chip-section{margin-top:14px !important}.funeral-pdp-v2a-wrap .chip-section-label{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.28em !important;color:var(--muted) !important;text-transform:uppercase;margin-bottom:8px !important;display:flex !important;align-items:center !important;gap:8px !important}.funeral-pdp-v2a-wrap .chip-section-label::before{content:"";display:inline-block !important;width:14px !important;height:1px !important;background:var(--rule) !important}.funeral-pdp-v2a-wrap .chip-section.female .chip-section-label{color:var(--female) !important}.funeral-pdp-v2a-wrap .chip-section.male .chip-section-label{color:var(--male) !important}.funeral-pdp-v2a-wrap .chip-section.neutral .chip-section-label{color:var(--neutral) !important}.funeral-pdp-v2a-wrap .chip-row{display:flex !important;flex-wrap:wrap !important;gap:6px !important}.funeral-pdp-v2a-wrap .chip{font-family:var(--cjk) !important;font-size:14.5px !important;letter-spacing:.14em !important;background:transparent !important;border:1px solid var(--rule) !important;color:var(--ink) !important;padding:9px 14px !important;cursor:pointer !important;transition:all .25s !important;display:inline-flex !important;align-items:center !important;gap:6px !important;font-weight:400}.funeral-pdp-v2a-wrap .chip:hover{border-color:var(--forest);color:var(--forest-deep) !important}.funeral-pdp-v2a-wrap .chip.is-active{background:var(--forest-deep) !important;border-color:var(--forest-deep);color:var(--bg) !important}.funeral-pdp-v2a-wrap .chip .g{font-size:9.5px !important;opacity:.55 !important;font-family:var(--sc) !important;letter-spacing:.1em !important}.funeral-pdp-v2a-wrap .chip.gM .g{color:var(--male) !important}.funeral-pdp-v2a-wrap .chip.gF .g{color:var(--female) !important}.funeral-pdp-v2a-wrap .chip.gN .g{color:var(--neutral) !important}.funeral-pdp-v2a-wrap .chip.is-active .g{opacity:.85 !important;color:var(--gold) !important}.funeral-pdp-v2a-wrap .chip-suggested{margin-top:8px !important;font-family:var(--serif) !important;font-style:italic;color:var(--gold-deep) !important;font-size:12px !important;letter-spacing:.02em !important}.funeral-pdp-v2a-wrap .checkout-section{max-width:var(--max) !important;margin:30px auto !important;padding:0 var(--gut) !important}.funeral-pdp-v2a-wrap .checkout-card{background:var(--bg-card) !important;border:1px solid var(--forest) !important;padding:32px 40px !important}.funeral-pdp-v2a-wrap .checkout-grid{display:grid !important;grid-template-columns:1.4fr 1fr !important;gap:40px !important;align-items:center !important}.funeral-pdp-v2a-wrap .checkout-summary h4{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin:0 0 14px !important}.funeral-pdp-v2a-wrap .checkout-summary .line{display:flex !important;justify-content:space-between !important;align-items:baseline !important;padding:7px 0 !important;border-bottom:1px solid var(--rule-soft) !important;font-family:var(--cjk) !important;font-size:13.5px !important;color:var(--ink) !important;letter-spacing:.06em !important}.funeral-pdp-v2a-wrap .checkout-summary .line:last-of-type{border-bottom:0 !important}.funeral-pdp-v2a-wrap .checkout-summary .line .lbl{color:var(--muted) !important}.funeral-pdp-v2a-wrap .checkout-summary .total-line{display:flex !important;justify-content:space-between !important;align-items:baseline !important;margin-top:14px !important;padding-top:14px !important;border-top:1px solid var(--forest) !important}.funeral-pdp-v2a-wrap .checkout-summary .total-line .lbl{font-family:var(--cjk) !important;font-size:15px !important;letter-spacing:.14em !important;color:var(--forest-deep) !important}.funeral-pdp-v2a-wrap .checkout-summary .total-line .v{font-family:var(--serif) !important;font-weight:500 !important;color:var(--forest-deep) !important;font-size:32px !important;letter-spacing:.02em !important}.funeral-pdp-v2a-wrap .checkout-cta{display:flex !important;flex-direction:column !important;align-items:flex-end !important;gap:12px !important}.funeral-pdp-v2a-wrap .stock-line{display:inline-flex !important;gap:10px !important;align-items:center !important;font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.14em !important;color:var(--forest-deep) !important}.funeral-pdp-v2a-wrap .stock-line .dot{display:inline-block !important;width:6px !important;height:6px !important;border-radius:50% !important;background:var(--gold-deep) !important;box-shadow:0 0 0 5px rgba(138,111,69,.13)}.funeral-pdp-v2a-wrap .cta{display:inline-flex !important;align-items:center !important;gap:14px !important;background:var(--forest-deep) !important;color:var(--bg) !important;padding:20px 50px !important;font-family:var(--cjk) !important;font-weight:500 !important;font-size:16px !important;letter-spacing:.24em !important;border:1px solid var(--forest-deep) !important;cursor:pointer !important;transition:all .35s !important;box-shadow:5px 5px 0 var(--gold-deep)}.funeral-pdp-v2a-wrap .cta:hover{transform:translate(-2px,-2px) !important;box-shadow:7px 7px 0 var(--gold-deep);background:var(--ink) !important}.funeral-pdp-v2a-wrap .cta .cn{font-weight:500 !important}.funeral-pdp-v2a-wrap .cta .arrow{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;text-transform:uppercase;color:var(--gold) !important;font-weight:400 !important}.funeral-pdp-v2a-wrap .cta-foot{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12.5px !important;text-align:right !important;letter-spacing:.02em !important;margin-top:4px !important}.funeral-pdp-v2a-wrap footer{background:var(--bg-2) !important;color:var(--muted) !important;padding:40px var(--gut) !important;border-top:1px solid var(--rule) !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.32em !important;text-transform:uppercase;text-align:center !important}

  @media (max-width:900px){.funeral-pdp-v2a-wrap .hero{grid-template-columns:1fr !important;gap:30px !important}.funeral-pdp-v2a-wrap .size-grid{grid-template-columns:repeat(2,1fr) !important}.funeral-pdp-v2a-wrap .size{border-bottom:1px solid var(--rule) !important}.funeral-pdp-v2a-wrap .duo{grid-template-columns:1fr !important;gap:30px !important;padding:24px !important}.funeral-pdp-v2a-wrap .p3-grid{grid-template-columns:1fr !important;gap:30px !important}.funeral-pdp-v2a-wrap .p3-preview{position:static !important}.funeral-pdp-v2a-wrap .time-cats, .funeral-pdp-v2a-wrap .hour-grid{grid-template-columns:repeat(2,1fr) !important}/* Banner preview: removed px overrides · let cqw system scale ratio identical to desktop · Gary 2026-05-26 */.funeral-pdp-v2a-wrap .checkout-grid{grid-template-columns:1fr !important;gap:24px !important}.funeral-pdp-v2a-wrap .checkout-cta{align-items:stretch !important}.funeral-pdp-v2a-wrap .cta-foot{text-align:center !important}
  }
/* ─── Hero entrance · staggered fade-up animation (per Gary) ─── */
@keyframes v2aHeroFadeIn {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes v2aImgFadeIn {
  from { opacity: 0; transform: scale(1.04); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes v2aBlurIn {
  from { opacity: 0; filter: blur(8px); transform: translateY(16px); }
  to { opacity: 1; filter: blur(0); transform: translateY(0); }
}

.funeral-pdp-v2a-wrap .hero-img,
.funeral-pdp-v2a-wrap .hero-img-wrap img {
  animation: v2aImgFadeIn 1.6s cubic-bezier(.2,.65,.2,1) .1s both !important;
}
.funeral-pdp-v2a-wrap .eyebrow.hero-eyebrow {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .15s both !important;
}
.funeral-pdp-v2a-wrap .hero-title-cjk {
  /* Remove blur · was causing perceived 霧化 (Gary 2026-05-27) · use fade-only */
  animation: v2aHeroFadeIn .8s cubic-bezier(.2,.65,.2,1) .25s both !important;
  filter: none !important;
}
.funeral-pdp-v2a-wrap .hero-title-cjk .small {
  display: block !important;
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .7s both !important;
}
.funeral-pdp-v2a-wrap .hero-title-latin {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .95s both !important;
}
.funeral-pdp-v2a-wrap .hero-lede {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.2s both !important;
}
.funeral-pdp-v2a-wrap .hero-lede em {
  display: block !important;
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.4s both !important;
}
.funeral-pdp-v2a-wrap .price-row {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.55s both !important;
}
.funeral-pdp-v2a-wrap .ship-line,
.funeral-pdp-v2a-wrap .size-block {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.75s both !important;
}

/* Respect user's reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  .funeral-pdp-v2a-wrap .hero-img,
  .funeral-pdp-v2a-wrap .hero-img-wrap img,
  .funeral-pdp-v2a-wrap .eyebrow.hero-eyebrow,
  .funeral-pdp-v2a-wrap .hero-title-cjk,
  .funeral-pdp-v2a-wrap .hero-title-cjk .small,
  .funeral-pdp-v2a-wrap .hero-title-latin,
  .funeral-pdp-v2a-wrap .hero-lede,
  .funeral-pdp-v2a-wrap .hero-lede em,
  .funeral-pdp-v2a-wrap .price-row,
  .funeral-pdp-v2a-wrap .ship-line,
  .funeral-pdp-v2a-wrap .size-block {
    animation: none !important;
  }
}


/* Cart submit success animation */
.v2a-cart-overlay{position:fixed;inset:0;background:rgba(31,49,40,0.85);display:flex;align-items:center;justify-content:center;z-index:99999;opacity:0;pointer-events:none;transition:opacity .3s ease}
.v2a-cart-overlay.is-visible{opacity:1;pointer-events:auto}
.v2a-cart-card{background:#F6F1E8;padding:48px 56px;text-align:center;max-width:380px;transform:scale(.85);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.v2a-cart-overlay.is-visible .v2a-cart-card{transform:scale(1)}
.v2a-cart-check{width:72px;height:72px;border-radius:50%;background:#3D5544;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;transform:scale(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1) .2s}
.v2a-cart-overlay.is-visible .v2a-cart-check{transform:scale(1)}
.v2a-cart-check svg{width:36px;height:36px;stroke:#F6F1E8;stroke-width:3;fill:none;stroke-dasharray:50;stroke-dashoffset:50;animation:v2aCheckDraw .5s ease .5s forwards}
@keyframes v2aCheckDraw{to{stroke-dashoffset:0}}
.v2a-cart-title{font-family:'Cormorant Garamond','Noto Serif TC',serif;font-style:italic;font-size:28px;color:#1F3128;margin:0 0 8px;font-weight:400;letter-spacing:.04em}
.v2a-cart-sub{font-family:'Noto Serif TC',serif;font-size:14px;color:#5A6B5F;letter-spacing:.06em;margin:0;line-height:1.6}
.v2a-cart-error{position:fixed;top:30px;left:50%;transform:translateX(-50%);background:#A4292B;color:#F6F1E8;padding:16px 28px;font-family:'Noto Serif TC',serif;font-size:14px;letter-spacing:.08em;z-index:99999;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;transition:opacity .3s;pointer-events:none}
.v2a-cart-error.is-visible{opacity:1}


.funeral-pdp-v2a-wrap .ship-promise{font-family:var(--cjk) !important;font-size:13px !important;color:var(--gold-deep) !important;letter-spacing:.14em !important;margin:8px 0 0 !important;line-height:1.6 !important;font-weight:400 !important}
.funeral-pdp-v2a-wrap .ship-promise em{font-family:var(--serif) !important;font-style:italic !important;font-size:15px !important;color:var(--forest-deep) !important;font-weight:500 !important;letter-spacing:.08em !important;margin-right:6px !important;border-bottom:1px solid var(--gold) !important;padding-bottom:1px !important}


@keyframes v2aPhraseFlyIn{0%{opacity:0;transform:translateX(-24px);filter:blur(4px)}100%{opacity:1;transform:translateX(0);filter:blur(0)}}
.funeral-pdp-v2a-wrap .phrase-meaning.is-flying{animation:v2aPhraseFlyIn .55s cubic-bezier(.2,.65,.2,1) both}
@keyframes v2aChipPop{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
.funeral-pdp-v2a-wrap .chip.is-active{animation:v2aChipPop .4s cubic-bezier(.34,1.56,.64,1)}


/* ─── B-HYBRID ROUNDED TIMELINE ─── */
@keyframes tlDrawLine{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes tlGoldRing{0%,100%{box-shadow:0 0 0 5px rgba(184,153,104,.25)}50%{box-shadow:0 0 0 9px rgba(184,153,104,.08)}}
@keyframes tlNodeStagger{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlDotPop{0%{transform:scale(0)}60%{transform:scale(1.35)}100%{transform:scale(1)}}
@keyframes tlShine{0%{transform:translateX(-100%)}100%{transform:translateX(200%)}}
@keyframes tlHintFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlWinStagger{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlRecFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

.funeral-pdp-v2a-wrap .tl-timeline{display:flex !important;flex-direction:column !important;gap:10px !important;position:relative !important;padding-left:32px !important;grid-template-columns:none !important;margin-top:10px !important}
.funeral-pdp-v2a-wrap .tl-timeline::before{content:"" !important;position:absolute !important;left:11px !important;top:18px !important;bottom:18px !important;width:1px !important;background:var(--rule) !important;transform-origin:top !important;animation:tlDrawLine 1.1s cubic-bezier(.4,0,.2,1) .15s both !important}

.funeral-pdp-v2a-wrap .tl-timeline .time-cat{position:relative !important;background:var(--paper) !important;border:1px solid var(--rule) !important;border-radius:16px !important;padding:16px 20px !important;cursor:pointer !important;transition:all .45s cubic-bezier(.4,0,.2,1) !important;overflow:hidden !important;animation:tlNodeStagger .65s cubic-bezier(.4,0,.2,1) both !important;text-align:left !important;display:block !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(1){animation-delay:.35s !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(2){animation-delay:.5s !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(3){animation-delay:.65s !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(4){animation-delay:.8s !important}

.funeral-pdp-v2a-wrap .tl-timeline .time-cat::before{content:"" !important;position:absolute !important;left:-27px !important;top:22px !important;width:14px !important;height:14px !important;border:2px solid var(--rule) !important;background:var(--bg) !important;border-radius:50% !important;transition:all .35s !important;z-index:2 !important;animation:tlDotPop .6s cubic-bezier(.34,1.56,.64,1) both !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(1)::before{animation-delay:.5s !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(2)::before{animation-delay:.65s !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(3)::before{animation-delay:.8s !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat:nth-child(4)::before{animation-delay:.95s !important}

.funeral-pdp-v2a-wrap .tl-timeline .time-cat:hover{border-color:var(--forest) !important;transform:translateX(3px) !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat:hover::before{border-color:var(--forest) !important;transform:scale(1.15) !important}

.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep) !important;padding:20px 22px !important;border-radius:18px !important;transform:translateX(5px) !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active::before{background:var(--gold) !important;border-color:var(--gold) !important;animation:tlGoldRing 2.2s ease-in-out infinite !important}




.funeral-pdp-v2a-wrap .tl-row{display:flex !important;align-items:baseline !important;gap:14px !important;justify-content:space-between !important}
.funeral-pdp-v2a-wrap .tl-main{display:flex !important;align-items:baseline !important;gap:14px !important;flex-wrap:wrap !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat .cn{font-family:var(--cjk) !important;font-size:21px !important;font-weight:500 !important;letter-spacing:.14em !important;line-height:1 !important;display:inline !important;color:inherit !important;margin:0 !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .cn{font-size:23px !important;color:var(--paper) !important}
.funeral-pdp-v2a-wrap .tl-detail{font-family:var(--serif) !important;font-style:italic !important;font-size:13px !important;color:var(--muted) !important;letter-spacing:.04em !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-detail{color:rgba(246,241,232,.75) !important;font-size:14px !important}
.funeral-pdp-v2a-wrap .tl-detail .dot{margin:0 5px !important;color:var(--gold-deep) !important;font-style:normal !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-detail .dot{color:var(--gold) !important}

.funeral-pdp-v2a-wrap .tl-timeline .time-cat .meta{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.22em !important;color:var(--gold-deep) !important;text-transform:uppercase !important;white-space:nowrap !important;display:inline !important;margin-top:0 !important;opacity:1 !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .meta{color:var(--gold) !important;font-size:12px !important}
.funeral-pdp-v2a-wrap .tl-free{color:var(--forest) !important;font-weight:500 !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-free{color:var(--gold) !important}

.funeral-pdp-v2a-wrap .tl-hint{font-family:var(--cjk) !important;font-size:11.5px !important;color:rgba(246,241,232,.65) !important;margin-top:8px !important;letter-spacing:.08em !important;display:none !important}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-hint{display:block !important;animation:tlHintFade .55s cubic-bezier(.4,0,.2,1) .15s both !important}

/* The 3hr window panel gets moved INTO active time-cat by JS */
.funeral-pdp-v2a-wrap .tl-windows{display:none !important;margin-top:14px !important;padding-top:14px !important;border-top:1px solid rgba(246,241,232,.18) !important;flex-wrap:wrap !important;gap:6px !important;width:100% !important;border-radius:0 !important}
.funeral-pdp-v2a-wrap .time-cat.is-active > .tl-windows{display:flex !important;animation:tlHintFade .5s ease both !important}
.funeral-pdp-v2a-wrap .tl-windows-h{flex-basis:100% !important;font-family:var(--cjk) !important;font-size:11px !important;color:rgba(246,241,232,.6) !important;letter-spacing:.18em !important;margin-bottom:8px !important}

.funeral-pdp-v2a-wrap .tl-windows .quick{flex:1 1 30% !important;padding:11px 8px !important;text-align:center !important;font-family:var(--cjk) !important;font-size:13px !important;background:transparent !important;border:1px solid rgba(246,241,232,.25) !important;color:var(--paper) !important;cursor:pointer !important;transition:all .25s !important;letter-spacing:.04em !important;border-radius:8px !important;animation:tlWinStagger .5s cubic-bezier(.4,0,.2,1) both !important}
.funeral-pdp-v2a-wrap .tl-windows .quick:nth-child(2){animation-delay:.3s !important}
.funeral-pdp-v2a-wrap .tl-windows .quick:nth-child(3){animation-delay:.4s !important}
.funeral-pdp-v2a-wrap .tl-windows .quick:nth-child(4){animation-delay:.5s !important}
.funeral-pdp-v2a-wrap .tl-windows .quick:hover{background:rgba(246,241,232,.08) !important;transform:translateY(-2px) !important}
.funeral-pdp-v2a-wrap .tl-windows .quick.is-active{background:var(--gold) !important;color:var(--forest-deep) !important;border-color:var(--gold) !important;font-weight:500 !important;transform:scale(1.04) !important}
.funeral-pdp-v2a-wrap .tl-windows .quick.is-disabled{opacity:.35 !important;cursor:not-allowed !important;text-decoration:line-through}

/* Round corners on upgrade row + 30min slot + date quick-row to match style B */
.funeral-pdp-v2a-wrap .upgrade-row .upgrade{border-radius:10px !important}
.funeral-pdp-v2a-wrap .hour{border-radius:8px !important}
.funeral-pdp-v2a-wrap .quick-row:not(.tl-windows) .quick{border-radius:8px !important}
.funeral-pdp-v2a-wrap .size{border-radius:0 !important}
.funeral-pdp-v2a-wrap .uline{border-radius:0 !important}
.funeral-pdp-v2a-wrap .zone-result{border-radius:12px !important}

/* cache-bust 1779674629 */
/* cache-bust-vis-fix-1779674656 */

/* Ensure .tl-windows .quick.is-active = gold + dark (override any other rule) */
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-windows .quick.is-active,
.funeral-pdp-v2a-wrap .tl-win-pool .quick.is-active{
  background: var(--gold) !important;
  color: var(--forest-deep) !important;
  border-color: var(--gold) !important;
  font-weight: 500 !important;
  transform: scale(1.04) !important;
}

/* cache-bust-4polish-1779675568 */

/* Disabled time-cat: grayed out + line-through + not-clickable + "來不及" badge */
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled{
  opacity: .42 !important;
  cursor: not-allowed !important;
  background: transparent !important;
  filter: grayscale(.4);
  position: relative !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled:hover{
  border-color: var(--rule) !important;
  transform: none !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled::before{
  background: var(--bg) !important;
  border-color: var(--rule) !important;
  animation: none !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled .cn{
  text-decoration: line-through !important;
  text-decoration-color: var(--muted) !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled::after{
  content: "今日來唔切" !important;
  position: absolute !important;
  top: 50% !important;
  right: 18px !important;
  transform: translateY(-50%) !important;
  background: var(--muted) !important;
  color: var(--paper) !important;
  font-family: var(--cjk) !important;
  font-size: 10.5px !important;
  letter-spacing: .14em !important;
  padding: 4px 10px !important;
  border-radius: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  border: 0 !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  pointer-events: none;
}
/* Recommended badge hidden when disabled */
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.tl-recommended.is-disabled::after{
  content: "今日來唔切 · 揀明日" !important;
  background: var(--muted) !important;
  color: var(--paper) !important;
}

/* cache-bust-disabled-1779676624 */
/* cache-bust-cat-cutoffs-1779680694 */

/* Time-cat fee: floating gold badge at top-right */





/* Recommended badge moved to BOTTOM-LEFT to free top-right for fee */



/* Upgrade row · corner badge */




/* cache-bust-corner-badge-1779681435 */

/* Disabled badge muted */


/* cache-bust-ultra-1779682162 */
/* cache-bust-root-fix-1779682486 */
/* cache-bust-root-v2-1779682570 */
/* rollback-to-cat-cutoffs-1779688130 */
/* rollback-v2-1779688209 */

/* ─── Baseline inline fee styling (match mockup 1:1) ─── */
.funeral-pdp-v2a-wrap .tl-timeline .time-cat .meta.tl-fee,
.funeral-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee{
  font-family: var(--sc) !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  color: var(--gold-deep) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  position: static !important;
  display: inline !important;
  margin: 0 !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.tl-free,
.funeral-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.free{
  color: var(--forest) !important;
  font-weight: 500 !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee{
  color: var(--gold) !important;
  font-size: 12px !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.tl-free,
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.free{
  color: var(--gold) !important;
}
/* Disabled fee = muted */
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled .tl-fee{
  color: var(--muted) !important;
  text-decoration: line-through !important;
}

/* Recommended badge restored to TOP-RIGHT */
.funeral-pdp-v2a-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 16px 0 14px !important;
}

/* match-mockup-1779688524 */
/* cache-bust-default-active-1779688882 */

/* Disabled windows: visible but line-through (so customer knows past cutoff) */
.funeral-pdp-v2a-wrap .time-cat.is-active .tl-windows .quick.is-disabled,
.funeral-pdp-v2a-wrap .tl-win-pool .quick.is-disabled{
  opacity: .35 !important;
  text-decoration: line-through !important;
  cursor: not-allowed !important;
  background: transparent !important;
  color: rgba(246,241,232,.5) !important;
  border-color: rgba(246,241,232,.18) !important;
  pointer-events: none;
}
.funeral-pdp-v2a-wrap .time-cat.is-active .tl-windows .quick:not(.is-disabled),
.funeral-pdp-v2a-wrap .tl-win-pool .quick:not(.is-disabled){
  color: var(--paper) !important;
  background: transparent !important;
  border: 1px solid rgba(246,241,232,.25) !important;
}

/* fix-3-issues-1779689488 */
/* restore-guard-1779689541 */

/* Pool now inline inside owning time-cat · show only when active */
.funeral-pdp-v2a-wrap .tl-timeline .time-cat .tl-windows{
  display: none !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(246,241,232,.18) !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  width: 100% !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-windows{
  display: flex !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat .tl-windows-h{
  flex-basis: 100% !important;
  font-family: var(--cjk) !important;
  font-size: 11px !important;
  color: rgba(246,241,232,.6) !important;
  letter-spacing: .18em !important;
  margin-bottom: 8px !important;
}

/* inline-pools-1779697167 */


/* time-cat needs padding-top to make room for badge */
.funeral-pdp-v2a-wrap .tl-timeline .time-cat{
  padding-top: 32px !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active{
  padding-top: 36px !important;
}
/* Recommended badge moved to bottom-left to free top-right for fee */
.funeral-pdp-v2a-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
  right: auto !important;
  left: 0 !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 14px 0 16px !important;
}

/* corner-badge-redeploy-1779697410 */

/* Style B Rounded Corners — inline fee · 推薦 top-right */
.funeral-pdp-v2a-wrap .tl-timeline .time-cat{
  padding-top: 16px !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active{
  padding-top: 22px !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat .meta.tl-fee,
.funeral-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee{
  position: static !important;
  background: transparent !important;
  color: var(--gold-deep) !important;
  font-family: var(--sc) !important;
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  display: inline !important;
  margin-left: 12px !important;
  line-height: 1 !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.tl-free,
.funeral-pdp-v2a-wrap .tl-timeline .time-cat .tl-fee.free{
  color: var(--forest) !important;
  font-family: var(--cjk) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: .08em !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee{
  color: var(--gold) !important;
  font-size: 12px !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.tl-free,
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-active .tl-fee.free{
  color: var(--gold) !important;
}
.funeral-pdp-v2a-wrap .tl-timeline .time-cat.is-disabled .tl-fee{
  color: var(--muted) !important;
  background: transparent !important;
  text-decoration: line-through !important;
  box-shadow: none !important;
}
/* Recommended tag at TOP-RIGHT (Style B) */
.funeral-pdp-v2a-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 16px 0 14px !important;
}
/* Upgrade extra: inline small caps gold-deep (no floating badge) */
.funeral-pdp-v2a-wrap .upgrade-row .upgrade{
  padding-top: 9px !important;
}
.funeral-pdp-v2a-wrap .upgrade-row .upgrade .extra{
  position: static !important;
  background: transparent !important;
  color: var(--gold-deep) !important;
  font-family: var(--sc) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}
.funeral-pdp-v2a-wrap .upgrade-row .upgrade.is-active .extra{
  background: transparent !important;
  color: var(--ink) !important;
}

/* style-b-rollback-1779697860 */
/* clean-residual-1779698026 */
/* syntax-fix-1779698898 */
/* inline-fallback-1779699648 */
/* upgrade-delegation-1779700618 */
/* v3-1779709698 */
/* v4-1779710191 */



/* d4-progress-1779717076 */
/* tracker-js-1779717152 */
/* validation-fix-1779717580 */


/* v5-tracker-1779718631 */

/* === D4 Tracker · Funeral default VISIBLE on load (Gary 2026-05-27 · 跟 bouquet pattern) === */
.funeral-pdp-v2a-wrap .v2a-progress-track{
  position: static !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--forest-deep) !important;
  /* Visible by default · matches bouquet PDP */
  max-height: 80px !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  overflow: visible !important;
  transition: max-height .5s ease, opacity .5s ease !important;
  pointer-events: auto !important;
}
.funeral-pdp-v2a-wrap .v2a-progress-track.is-revealed{
  transform: translateY(0) !important;
}
/* Progress inner: keep forest-deep bg, no border-radius, flush with nav */
.funeral-pdp-v2a-wrap .v2a-progress-track .ptk-inner{
  border-radius: 0 !important;
  box-shadow: none !important;
  max-width: var(--max) !important;
  margin: 0 auto !important;
}
.funeral-pdp-v2a-wrap .v2a-progress-track.is-revealed{
  max-height: 160px !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.funeral-pdp-v2a-wrap .ptk-inner{
  background: var(--forest-deep) !important;
  color: var(--paper) !important;
  padding: 10px 24px !important;
  border-radius: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: hidden !important;
}
.funeral-pdp-v2a-wrap .ptk-inner::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(184,153,104,.25), transparent) !important;
  transform: translateX(-100%) !important;
  animation: ptkTrail 3s ease-in-out infinite !important;
  pointer-events: none !important;
}
@keyframes ptkTrail{0%,30%{transform:translateX(-100%)}60%,100%{transform:translateX(200%)}}
.funeral-pdp-v2a-wrap .ptk-head{
  font-family: var(--cjk) !important;
  font-size: 13px !important;
  letter-spacing: .1em !important;
  font-weight: 500 !important;
  position: relative !important;
  z-index: 1 !important;
}
.funeral-pdp-v2a-wrap .ptk-pct{
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--gold) !important;
  margin-left: 8px !important;
}
.funeral-pdp-v2a-wrap .ptk-dots{
  display: flex !important;
  gap: 28px !important;
  align-items: center !important;
  position: relative !important;
  z-index: 1 !important;
}
.funeral-pdp-v2a-wrap .ptk-step{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  position: relative !important;
}
.funeral-pdp-v2a-wrap .ptk-step:not(:first-child)::before{
  content: "" !important;
  position: absolute !important;
  right: 100% !important;
  top: 6.5px !important;
  width: 28px !important;
  height: 1.5px !important;
  background: rgba(246,241,232,.2) !important;
  transition: background .35s !important;
}
.funeral-pdp-v2a-wrap .ptk-step.is-done + .ptk-step::before,
.funeral-pdp-v2a-wrap .ptk-step.is-done + .ptk-step.is-current::before{
  background: var(--gold) !important;
}
.funeral-pdp-v2a-wrap .ptk-dot{
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: rgba(246,241,232,.15) !important;
  transition: all .35s !important;
  position: relative !important;
}
.funeral-pdp-v2a-wrap .ptk-mini{
  font-family: var(--sc) !important;
  font-size: 8.5px !important;
  letter-spacing: .18em !important;
  color: rgba(246,241,232,.5) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.funeral-pdp-v2a-wrap .ptk-step.is-done .ptk-dot{
  background: var(--gold) !important;
  box-shadow: 0 0 8px rgba(184,153,104,.6) !important;
}
.funeral-pdp-v2a-wrap .ptk-step.is-done .ptk-mini{
  color: var(--gold) !important;
  font-weight: 500 !important;
}
.funeral-pdp-v2a-wrap .ptk-step.is-current .ptk-dot{
  background: var(--paper) !important;
  width: 18px !important;
  height: 18px !important;
  animation: ptkGlow 1.8s ease-in-out infinite !important;
}
.funeral-pdp-v2a-wrap .ptk-step.is-current .ptk-mini{
  color: var(--paper) !important;
  font-weight: 500 !important;
}
@keyframes ptkGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(246,241,232,.7), 0 0 8px var(--gold)}
  50%{box-shadow:0 0 0 6px rgba(246,241,232,0), 0 0 14px var(--gold)}
}
@media (max-width: 900px){
  .funeral-pdp-v2a-wrap .v2a-progress-track{margin: 0 !important;padding: 0 !important;max-width:100% !important}
  .funeral-pdp-v2a-wrap .ptk-inner{flex-direction: column !important;align-items: stretch !important;gap: 8px !important;padding: 10px 14px !important;border-radius: 0 !important}
  .funeral-pdp-v2a-wrap .ptk-head{text-align: center !important;font-size: 12px !important;display: flex !important;justify-content: center !important;align-items: baseline !important}
  .funeral-pdp-v2a-wrap .ptk-pct{font-size:16px !important}
  .funeral-pdp-v2a-wrap .ptk-dots{justify-content: space-between !important;gap: 0 !important;width: 100% !important}
  .funeral-pdp-v2a-wrap .ptk-step{flex: 1 !important}
  .funeral-pdp-v2a-wrap .ptk-step:not(:first-child)::before{left: -50% !important;right: 50% !important;width: auto !important;top: 6.5px !important}
  .funeral-pdp-v2a-wrap .ptk-mini{font-size: 8.5px !important;margin-top: 2px !important}
  .funeral-pdp-v2a-wrap .ptk-step.is-current .ptk-dot{width: 16px !important;height: 16px !important}
}

/* rollback-d4-1779718978 */
/* fix-braces-1779719707 */
/* root-cause-fix-1779720226 */
/* dynamic-product-hero-2026-05-25 */
/* Accommodate long product titles · auto-shrink + balance line breaks */
.funeral-pdp-v2a-wrap .hero-title-cjk{
  font-size:clamp(28px,3.6vw,56px) !important;
  line-height:1.18 !important;
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
  text-wrap:balance;
  letter-spacing:.08em !important;
}
.funeral-pdp-v2a-wrap .hero-lede{
  font-size:14.5px !important;
  line-height:1.85 !important;
  max-width:46ch !important;
  color:var(--ink) !important;
}
@media (max-width:900px){
  .funeral-pdp-v2a-wrap .hero-title-cjk{font-size:clamp(26px,6.5vw,38px) !important;letter-spacing:.06em !important}
  .funeral-pdp-v2a-wrap .hero-title-latin{font-size:15px !important}
  .funeral-pdp-v2a-wrap .hero-lede{font-size:13.5px !important;max-width:none !important}
}
/* price-typography-fix-2026-05-26 · Gary feedback */
/* Move ALL price digits off Cormorant Garamond italic (oldstyle figures · 1 矮 7 高) */
/* Use Inter Tight tabular-nums · all digits same height · column-aligned · luxury sans pairing */
.funeral-pdp-v2a-wrap .price,
.funeral-pdp-v2a-wrap .size .v,
.funeral-pdp-v2a-wrap .price-alt,
.funeral-pdp-v2a-wrap .zone-fee,
.funeral-pdp-v2a-wrap .checkout-summary .total-line .v,
.funeral-pdp-v2a-wrap #sum-flower,
.funeral-pdp-v2a-wrap #sum-total,
.funeral-pdp-v2a-wrap #sum-up,
.funeral-pdp-v2a-wrap .tl-fee,
.funeral-pdp-v2a-wrap .upgrade .extra{
  font-family: 'Inter Tight', system-ui, -apple-system, sans-serif !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
  font-variant-numeric: tabular-nums lining-nums !important;
  letter-spacing: 0 !important;
}
/* Hero big price · larger weight + slight optical tighten */
.funeral-pdp-v2a-wrap .price{font-weight:600 !important;letter-spacing:-.005em !important}
/* size grid price · cleaner secondary weight */
.funeral-pdp-v2a-wrap .size .v{font-weight:500 !important}
.funeral-pdp-v2a-wrap .size.is-active .v{color:var(--gold) !important}

/* mobile-nav-scroll-shrink-2026-05-26 · Gary picked Variant ④ */
/* Mobile only: single-row nav · hide EN + logo sub · scroll-aware shrink */
@media (max-width: 900px){
  /* Hide EN subtitles + logo subtitle to fit one row */
  .funeral-pdp-v2a-wrap .nav-list a .en{display:none !important}
  .funeral-pdp-v2a-wrap .nav-logo .sub{display:none !important}
  /* Single row · nav-inner stay flex row · tighter padding */
  .funeral-pdp-v2a-wrap .nav-inner{padding:12px 14px !important;align-items:center !important;transition:padding .35s ease !important}
  .funeral-pdp-v2a-wrap .nav-logo{font-size:18px !important;letter-spacing:.22em !important;transition:font-size .35s ease !important}
  /* Nav links: single row · evenly spaced · no wrap · smaller font */
  .funeral-pdp-v2a-wrap .nav-list{display:flex !important;flex-wrap:nowrap !important;gap:12px !important;align-items:center !important}
  .funeral-pdp-v2a-wrap .nav-list a{font-size:12.5px !important;letter-spacing:.04em !important;padding:4px 0 !important;transition:font-size .35s ease !important;white-space:nowrap !important}
  /* Smaller active underline */
  .funeral-pdp-v2a-wrap .nav-list a.is-active::after{bottom:-4px !important;width:12px !important}
  /* ── Scroll-shrunk state ── */
  .funeral-pdp-v2a-wrap .nav.is-shrunk .nav-inner{padding:6px 14px !important}
  .funeral-pdp-v2a-wrap .nav.is-shrunk .nav-logo{font-size:14px !important}
  .funeral-pdp-v2a-wrap .nav.is-shrunk .nav-list a{font-size:11px !important}
  .funeral-pdp-v2a-wrap .nav.is-shrunk .nav-list a.is-active::after{bottom:-3px !important;width:10px !important}

  /* Mobile · 輓詞 chip 3-column grid · Gary 2026-05-26 (善用闊度) */
  .funeral-pdp-v2a-wrap .chip-row{display:grid !important;grid-template-columns:repeat(3, 1fr) !important;gap:6px !important}
  .funeral-pdp-v2a-wrap .chip{
    font-size:13px !important;letter-spacing:.06em !important;
    padding:9px 4px !important;text-align:center !important;
    justify-content:center !important;gap:3px !important;
    min-width:0 !important;
  }
  .funeral-pdp-v2a-wrap .chip .g{font-size:8.5px !important;letter-spacing:.05em !important}

  /* Mobile font + tap-target enlargement · per Gary 2026-05-26 (only mobile) */
  .funeral-pdp-v2a-wrap .ptk-head{flex-wrap:wrap !important;gap:8px 12px !important;justify-content:center !important}
  .funeral-pdp-v2a-wrap .ptk-lbl{font-size:12.5px !important;letter-spacing:.26em !important}
  .funeral-pdp-v2a-wrap .ptk-pct{font-size:17px !important}
  .funeral-pdp-v2a-wrap .ptk-next{font-size:13px !important;padding:5px 12px !important;border-radius:16px !important}
  .funeral-pdp-v2a-wrap .ptk-mini{font-size:10.5px !important;letter-spacing:.06em !important;font-family:var(--cjk) !important;text-transform:none !important}
  .funeral-pdp-v2a-wrap .ptk-dot{width:16px !important;height:16px !important}
  .funeral-pdp-v2a-wrap .ptk-step.is-done .ptk-dot{width:20px !important;height:20px !important}
  .funeral-pdp-v2a-wrap .ptk-step.is-done .ptk-dot::before{font-size:17px !important}
}

/* progress-tracker-variant-① 2026-05-26 · Gary pick: 紅光 pulse + ✅ 完成 + 下一步紅 pill 白字 · BOTH desktop + mobile */
/* ✅ on completed steps · replace dot fill (universal) */
.funeral-pdp-v2a-wrap .ptk-step.is-done .ptk-dot{
  background:transparent !important;border:0 !important;box-shadow:none !important;
  width:18px !important;height:18px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  overflow:visible !important;
}
.funeral-pdp-v2a-wrap .ptk-step.is-done .ptk-dot::before{
  content:"✅" !important;font-size:15px !important;line-height:1 !important;
  animation:ptkTickIn .6s ease forwards !important;
}
@keyframes ptkTickIn{0%{transform:scale(.3);opacity:0}55%{transform:scale(1.25);opacity:1}100%{transform:scale(1);opacity:1}}
.funeral-pdp-v2a-wrap .ptk-step.is-done .ptk-mini{color:var(--gold) !important;font-weight:500 !important}

/* Red pulse on current step · 1.4s loop (universal) */
.funeral-pdp-v2a-wrap .ptk-step.is-current .ptk-dot{
  background:#A4292B !important;border:0 !important;
  width:14px !important;height:14px !important;
  animation:ptkRedPulse 1.4s ease-in-out infinite !important;
}
.funeral-pdp-v2a-wrap .ptk-step.is-current .ptk-dot::before{content:"" !important}
.funeral-pdp-v2a-wrap .ptk-step.is-current .ptk-mini{color:#FF8E91 !important;font-weight:500 !important}
@keyframes ptkRedPulse{0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,.55)}50%{box-shadow:0 0 0 8px rgba(164,41,43,0)}}

/* ─── Custom Date Modal (cdm) · Variant ② Gary 2026-05-26 ─── */
.funeral-pdp-v2a-wrap .cdm-overlay{
  position:fixed !important;inset:0 !important;background:rgba(31,49,40,.55) !important;
  display:none !important;align-items:center !important;justify-content:center !important;
  backdrop-filter:blur(3px) !important;-webkit-backdrop-filter:blur(3px) !important;
  z-index:200 !important;opacity:0 !important;transition:opacity .35s ease !important;
}
.funeral-pdp-v2a-wrap .cdm-overlay.is-open{display:flex !important;opacity:1 !important}
.funeral-pdp-v2a-wrap .cdm-modal{
  background:var(--bg) !important;border:1px solid var(--rule) !important;border-radius:18px !important;
  padding:18px 18px 14px !important;width:90% !important;max-width:380px !important;
  box-shadow:0 24px 60px rgba(31,49,40,.4) !important;
  transform:scale(.92) translateY(8px) !important;transition:transform .4s cubic-bezier(.22,1,.36,1) !important;
}
.funeral-pdp-v2a-wrap .cdm-overlay.is-open .cdm-modal{transform:scale(1) translateY(0) !important}
.funeral-pdp-v2a-wrap .cdm-head{display:flex !important;justify-content:space-between !important;align-items:center !important;margin-bottom:12px !important;padding-bottom:10px !important;border-bottom:1px solid var(--rule) !important}
.funeral-pdp-v2a-wrap .cdm-title{font-family:var(--serif) !important;font-size:17px !important;font-weight:500 !important;color:var(--forest-deep) !important;letter-spacing:.04em !important}
.funeral-pdp-v2a-wrap .cdm-nav{
  width:32px !important;height:32px !important;border-radius:50% !important;
  border:1px solid var(--rule) !important;background:transparent !important;cursor:pointer !important;
  font-family:'Inter Tight',sans-serif !important;font-size:18px !important;font-weight:500 !important;
  color:var(--ink) !important;display:flex !important;align-items:center !important;justify-content:center !important;
  transition:all .2s !important;
}
.funeral-pdp-v2a-wrap .cdm-nav:hover:not(:disabled){border-color:var(--forest) !important;background:var(--bg-2) !important}
.funeral-pdp-v2a-wrap .cdm-nav:disabled{opacity:.3 !important;cursor:not-allowed !important}
.funeral-pdp-v2a-wrap .cdm-grid{display:grid !important;grid-template-columns:repeat(7,1fr) !important;gap:3px !important;margin-bottom:4px !important}
.funeral-pdp-v2a-wrap .cdm-wd{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;text-transform:uppercase !important;text-align:center !important;padding:4px 0 !important}
.funeral-pdp-v2a-wrap .cdm-days{display:grid !important;grid-template-columns:repeat(7,1fr) !important;gap:3px !important}
.funeral-pdp-v2a-wrap .cdm-day{
  aspect-ratio:1 !important;display:flex !important;align-items:center !important;justify-content:center !important;
  font-family:'Inter Tight',sans-serif !important;font-size:13.5px !important;font-weight:500 !important;
  color:var(--ink) !important;cursor:pointer !important;border-radius:50% !important;
  transition:all .15s !important;background:transparent !important;border:0 !important;
}
.funeral-pdp-v2a-wrap .cdm-day:hover:not(.is-out):not(.is-past):not(.is-future){background:var(--bg-2) !important}
.funeral-pdp-v2a-wrap .cdm-day.is-out{visibility:hidden !important}
.funeral-pdp-v2a-wrap .cdm-day.is-past{color:var(--muted) !important;opacity:.3 !important;cursor:not-allowed !important;text-decoration:line-through !important}
.funeral-pdp-v2a-wrap .cdm-day.is-future{color:var(--muted) !important;opacity:.35 !important;cursor:not-allowed !important}
.funeral-pdp-v2a-wrap .cdm-day.is-today{background:rgba(164,41,43,.10) !important;color:#A4292B !important;font-weight:600 !important}
.funeral-pdp-v2a-wrap .cdm-day.is-sel{background:var(--forest-deep) !important;color:var(--bg) !important;font-weight:600 !important}
.funeral-pdp-v2a-wrap .cdm-day.is-sel:hover{background:var(--forest-deep) !important}
.funeral-pdp-v2a-wrap .cdm-foot{display:flex !important;justify-content:space-between !important;align-items:center !important;margin-top:14px !important;padding-top:12px !important;border-top:1px solid var(--rule) !important;gap:10px !important;flex-wrap:wrap !important}
.funeral-pdp-v2a-wrap .cdm-info{font-family:var(--cjk) !important;font-size:11.5px !important;color:var(--muted) !important;letter-spacing:.04em !important}
.funeral-pdp-v2a-wrap .cdm-info.has-sel{color:var(--forest-deep) !important;font-weight:500 !important}
.funeral-pdp-v2a-wrap .cdm-actions{display:flex !important;gap:8px !important}
.funeral-pdp-v2a-wrap .cdm-btn{
  padding:8px 16px !important;font-family:var(--cjk) !important;font-size:12.5px !important;
  letter-spacing:.04em !important;cursor:pointer !important;border:0 !important;border-radius:6px !important;
  transition:all .2s !important;
}
.funeral-pdp-v2a-wrap .cdm-cancel{background:transparent !important;color:var(--muted) !important;border:1px solid var(--rule) !important}
.funeral-pdp-v2a-wrap .cdm-cancel:hover{border-color:var(--forest) !important;color:var(--ink) !important}
.funeral-pdp-v2a-wrap .cdm-confirm{background:var(--forest-deep) !important;color:var(--bg) !important}
.funeral-pdp-v2a-wrap .cdm-confirm:hover:not(:disabled){background:var(--forest) !important;box-shadow:0 4px 12px rgba(31,49,40,.25) !important}
.funeral-pdp-v2a-wrap .cdm-confirm:disabled{opacity:.4 !important;cursor:not-allowed !important}
.funeral-pdp-v2a-wrap .quick.quick-custom.has-custom{background:var(--gold-deep) !important;color:#fff !important;border-color:var(--gold-deep) !important;border-style:solid !important}
@media (max-width:480px){
  .funeral-pdp-v2a-wrap .cdm-modal{max-width:330px !important;padding:14px !important}
  .funeral-pdp-v2a-wrap .cdm-title{font-size:15px !important}
  .funeral-pdp-v2a-wrap .cdm-day{font-size:12px !important}
}

/* "↓ 下一步：xxx" red pill · white text · pulse halo (desktop + mobile) */
.funeral-pdp-v2a-wrap .ptk-next{
  display:inline-flex !important;align-items:center !important;
  font-family:var(--cjk) !important;
  font-size:11.5px !important;
  font-weight:500 !important;
  color:#fff !important;
  background:#A4292B !important;
  padding:4px 11px !important;
  border-radius:14px !important;
  letter-spacing:.04em !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  animation:ptkNextPulse 1.6s ease-in-out infinite !important;
}
.funeral-pdp-v2a-wrap .ptk-next:empty{display:none !important}
@keyframes ptkNextPulse{0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,.45)}50%{box-shadow:0 0 0 7px rgba(164,41,43,0)}}

/* ─── nav-merge-bilingual-hover-reveal · Gary picked ② · 2026-05-26 (desktop + mobile) ─── */
/* Hide old top bar — content folded into nav */
.funeral-pdp-v2a-wrap .top{display:none !important}

/* Single sticky parent wraps nav + progress · prevents sub-pixel gap on Safari URL bar shrink */
.funeral-pdp-v2a-wrap .v2a-sticky-header{
  position:sticky !important;
  top:0 !important;
  z-index:50 !important;
  background:var(--forest-deep) !important;
  box-shadow:0 4px 10px rgba(0,0,0,.22), 0 2px 4px rgba(0,0,0,.15) !important;
}

/* .nav: static inside sticky parent · forest deep · clean merge */
.funeral-pdp-v2a-wrap .nav{
  background:var(--forest-deep) !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  position:static !important;
  transition:padding .5s cubic-bezier(.22,1,.36,1) !important;
}
.funeral-pdp-v2a-wrap .nav-inner{
  padding:12px var(--gut) !important;
  transition:padding .5s cubic-bezier(.22,1,.36,1) !important;
}

/* TFK logo: paper white · large at top · shrinks + wobbles on scroll */
.funeral-pdp-v2a-wrap .nav-logo{
  color:var(--paper) !important;
  font-size:22px !important;
  letter-spacing:.32em !important;
  transition:font-size .5s cubic-bezier(.22,1,.36,1) !important;
}
.funeral-pdp-v2a-wrap .nav-logo .sub{
  color:var(--gold-bright) !important;
  transition:opacity .3s ease, max-height .35s ease !important;
}
.funeral-pdp-v2a-wrap .nav.is-shrunk .nav-logo{
  font-size:14px !important;
  animation:logoWobble .35s ease !important;
}
.funeral-pdp-v2a-wrap .nav.is-shrunk .nav-logo .sub{
  opacity:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
}
.funeral-pdp-v2a-wrap .nav.is-shrunk .nav-inner{padding:6px var(--gut) !important}
@keyframes logoWobble{0%,100%{transform:translateY(0)}30%{transform:translateY(-2px)}60%{transform:translateY(1px)}}

/* Nav links: paper white text · 中文 always · EN hidden until hover/active */
.funeral-pdp-v2a-wrap .nav-list a{
  color:var(--paper) !important;
  position:relative !important;
  padding:6px 0 14px !important;
  line-height:1 !important;
}
.funeral-pdp-v2a-wrap .nav-list a .en{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  bottom:0 !important;
  transform:translateX(-50%) translateY(4px) !important;
  font-family:var(--sc) !important;
  font-size:9.5px !important;
  letter-spacing:.18em !important;
  color:var(--gold-bright) !important;
  text-transform:uppercase !important;
  opacity:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
  margin:0 !important;
  transition:opacity .3s ease, transform .3s ease !important;
  pointer-events:none !important;
}
.funeral-pdp-v2a-wrap .nav-list a:hover .en,
.funeral-pdp-v2a-wrap .nav-list a.is-active .en{
  opacity:1 !important;
  transform:translateX(-50%) translateY(0) !important;
}
.funeral-pdp-v2a-wrap .nav-list a.is-active{
  color:var(--gold-bright) !important;
  font-weight:500 !important;
}
.funeral-pdp-v2a-wrap .nav-list a.is-active::after{
  background:var(--gold-bright) !important;
  bottom:-2px !important;
  width:14px !important;
}

/* Progress Bar default · ptk-bar hidden on mobile (covered by mobile @media) */
.funeral-pdp-v2a-wrap .ptk-bar{display:none}
.funeral-pdp-v2a-wrap .ptk-step{cursor:pointer !important;transition:opacity .25s}
.funeral-pdp-v2a-wrap .ptk-step:hover .ptk-mini{color:var(--gold-bright) !important}

/* ─── Desktop ④ Progress Bar Line Layout (Gary 2026-05-26) ─── */
@keyframes ptkFillPulse{0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,.55)}50%{box-shadow:0 0 0 7px rgba(164,41,43,0)}}
@media (min-width:901px){
  .funeral-pdp-v2a-wrap .ptk-inner{
    display:grid !important;
    grid-template-columns:auto auto 1fr auto !important;
    grid-template-rows:auto auto !important;
    padding:9px 32px 12px !important;
    gap:8px 14px !important;
    align-items:center !important;
    flex-direction:initial !important;
  }
  .funeral-pdp-v2a-wrap .ptk-head{display:contents !important}
  .funeral-pdp-v2a-wrap .ptk-bar{
    display:block !important;
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    height:3px !important;
    background:rgba(184,150,90,.18) !important;
    border-radius:2px !important;
    position:relative !important;
    overflow:visible !important;
    width:100% !important;
  }
  .funeral-pdp-v2a-wrap .ptk-fill{
    height:100% !important;
    background:linear-gradient(90deg,var(--gold-deep),var(--gold-bright)) !important;
    border-radius:2px !important;
    transition:width .8s cubic-bezier(.22,1,.36,1) !important;
    position:relative !important;
  }
  .funeral-pdp-v2a-wrap .ptk-fill::after{
    content:"" !important;
    position:absolute !important;
    right:-3px !important;
    top:-3px !important;
    width:9px !important;
    height:9px !important;
    background:#A4292B !important;
    border-radius:50% !important;
    animation:ptkFillPulse 1.4s ease-in-out infinite !important;
  }
  .funeral-pdp-v2a-wrap .ptk-lbl{
    grid-column:1 !important;grid-row:2 !important;
    font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;
    color:var(--gold-bright) !important;text-transform:uppercase !important;
  }
  .funeral-pdp-v2a-wrap .ptk-pct{
    grid-column:2 !important;grid-row:2 !important;
    font-family:var(--serif) !important;font-style:italic !important;font-size:17px !important;
    color:var(--paper) !important;font-weight:500 !important;letter-spacing:0 !important;
  }
  .funeral-pdp-v2a-wrap .ptk-dots{
    grid-column:3 !important;grid-row:2 !important;
    display:flex !important;justify-content:center !important;gap:42px !important;align-items:center !important;
  }
  .funeral-pdp-v2a-wrap .ptk-step{
    display:flex !important;flex-direction:row !important;align-items:center !important;gap:6px !important;flex:0 0 auto !important;
  }
  .funeral-pdp-v2a-wrap .ptk-step .ptk-dot{display:none !important}
  .funeral-pdp-v2a-wrap .ptk-step .ptk-mini{
    font-family:var(--cjk) !important;font-size:12px !important;letter-spacing:.06em !important;
    text-transform:none !important;color:var(--paper) !important;opacity:.5 !important;
    margin:0 !important;transition:all .3s !important;
  }
  .funeral-pdp-v2a-wrap .ptk-step.is-done .ptk-mini{color:var(--gold) !important;opacity:1 !important;font-weight:500 !important}
  .funeral-pdp-v2a-wrap .ptk-step.is-done .ptk-mini::before{content:"✓ " !important;color:var(--gold-bright) !important;font-weight:700 !important}
  .funeral-pdp-v2a-wrap .ptk-step.is-current .ptk-mini{color:#FF8E91 !important;opacity:1 !important;font-weight:500 !important}
  .funeral-pdp-v2a-wrap .ptk-step.is-current .ptk-mini::before{
    content:"● " !important;color:#A4292B !important;
    animation:ptkFillPulse 1.4s ease-in-out infinite !important;
    display:inline-block !important;font-size:9px !important;vertical-align:middle !important;margin-right:2px !important;
  }
  .funeral-pdp-v2a-wrap .ptk-next{grid-column:4 !important;grid-row:2 !important;justify-self:end !important}
}

/* Field flash (red pulse on incomplete field after step click) · desktop + mobile */
/* Use box-shadow (not outline) · works on inputs/selects without border-radius issues */
@keyframes fieldFlashStrong{
  0%,100%{box-shadow:0 0 0 0 rgba(164,41,43,0), inset 0 0 0 0 rgba(164,41,43,0);background-color:transparent}
  15%,55%{box-shadow:0 0 0 4px rgba(164,41,43,.4), 0 0 0 6px rgba(164,41,43,.16);background-color:rgba(164,41,43,.10)}
}
.funeral-pdp-v2a-wrap .ptk-flash-target{
  animation:fieldFlashStrong 1.6s ease-in-out 3 !important;
  scroll-margin-top:160px !important;
  position:relative !important;
  z-index:5 !important;
  border-radius:4px !important;
}
.funeral-pdp-v2a-wrap input.ptk-flash-target,
.funeral-pdp-v2a-wrap select.ptk-flash-target{
  border-bottom:2px solid #A4292B !important;
}

/* CART (n) link · right side of merged dark bar */
.funeral-pdp-v2a-wrap .nav-cart{
  color:var(--gold-bright) !important;
  font-family:var(--sc) !important;
  font-size:11px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  padding:6px 10px !important;
  border:1px solid rgba(184,150,90,.4) !important;
  border-radius:4px !important;
  transition:all .25s !important;
  white-space:nowrap !important;
  flex-shrink:0 !important;
  margin-left:8px !important;
}
.funeral-pdp-v2a-wrap .nav-cart:hover{
  background:rgba(184,150,90,.16) !important;
  border-color:var(--gold-bright) !important;
}
.funeral-pdp-v2a-wrap .nav-cart #nav-cart-count{font-family:'Inter Tight',sans-serif !important;font-weight:600 !important;font-size:11.5px !important;letter-spacing:.02em !important;font-feature-settings:"tnum" 1 !important}
.funeral-pdp-v2a-wrap .nav.is-shrunk .nav-cart{padding:4px 8px !important;font-size:10px !important}
@media (max-width:900px){
  .funeral-pdp-v2a-wrap .nav-cart{padding:5px 8px !important;font-size:10px !important;letter-spacing:.18em !important;margin-left:6px !important}
}

/* Hero title 字體 fix v2 · Cormorant 500 weight + tighter tracking (Gary 2026-05-27) */
/* v1 用 600 weight 仲覺得太粗化開 · 改 500 更 elegant · letter-spacing 收細到 .04em 配 Latin */
.funeral-pdp-v2a-wrap .hero-title-cjk{
  font-family:'Cormorant Garamond','Noto Serif TC',serif !important;
  font-weight:500 !important;
  font-size:clamp(32px, 3.2vw, 52px) !important;
  line-height:1.18 !important;
  letter-spacing:.04em !important;
  -webkit-font-smoothing:antialiased !important;
  -moz-osx-font-smoothing:grayscale !important;
  text-rendering:optimizeLegibility !important;
  font-feature-settings:"kern" 1 !important;
}
.funeral-pdp-v2a-wrap .hero-title-cjk .small{
  font-family:'Noto Serif TC',serif !important;
  font-weight:300 !important;
}


/* Funeral · nav dark forest-deep + cream text override · Gary 2026-05-27 · 跟 bouquet pattern */
.funeral-pdp-v2a-wrap .v2a-sticky-header,
.funeral-pdp-v2a-wrap .nav{background:#1E2B1B !important}
.funeral-pdp-v2a-wrap .nav-logo{color:#F6F1E8 !important}
.funeral-pdp-v2a-wrap .nav-logo .sub{color:#B89968 !important}
.funeral-pdp-v2a-wrap .nav-list a{color:#F6F1E8 !important}
.funeral-pdp-v2a-wrap .nav-list a .en{color:#B89968 !important}
.funeral-pdp-v2a-wrap .nav-list a.is-active{color:#D4A862 !important}
.funeral-pdp-v2a-wrap .nav-list a.is-active::after{background:#D4A862 !important}
.funeral-pdp-v2a-wrap .nav-cart{color:#D4A862 !important;border-color:rgba(246,241,232,.35) !important}
.funeral-pdp-v2a-wrap .nav-cart #nav-cart-count{color:#F6F1E8 !important}
/* END_SECTION:funeral-pdp-v2a */

/* START_SECTION:funeral-pdp-v2b (INDEX:13) */
/* force-bump-1779698118553-uniqueABC */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@300;400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Cormorant+SC:wght@400;500&family=Inter:wght@400;500&display=swap');
.funeral-pdp-v2b-wrap{
  --bg:#F2EBD9;--bg-2:#E7DFC9;--bg-card:#FAF6E8;--ink:#1E1D17;--forest:#2D3E2A;--forest-deep:#1E2B1B;
  --gold:#B89968;--gold-deep:#8A6F45;--rule:#C9BFA1;--rule-soft:#E5DDCD;--muted:#786E55;
  --male:#3A5A7B;--female:#A0526E;--neutral:#7A6F60;
  --serif:'Cormorant Garamond','Noto Serif TC',serif;--sc:'Cormorant SC',serif;
  --cjk:'Noto Serif TC',serif;--sans:'Inter',sans-serif;
  --max:1340px;--gut:clamp(20px,4vw,80px);
  background:var(--bg) !important;color:var(--ink) !important;font-family:var(--serif) !important;
  -webkit-font-smoothing:antialiased;
}.funeral-pdp-v2b-wrap *, .funeral-pdp-v2b-wrap *::before, .funeral-pdp-v2b-wrap *::after{box-sizing:border-box !important}.funeral-pdp-v2b-wrap a{color:inherit !important;text-decoration:none}.funeral-pdp-v2b-wrap button{font:inherit;color:inherit !important;background:none !important;border:0 !important;cursor:pointer !important;padding:0 !important}.funeral-pdp-v2b-wrap img{display:block !important;max-width:100% !important}.funeral-pdp-v2b-wrap .eyebrow{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;text-transform:uppercase;color:var(--gold-deep) !important;font-weight:500 !important}.funeral-pdp-v2b-wrap .layout-label{position:fixed !important;top:14px !important;right:14px !important;z-index:99 !important;background:var(--forest-deep) !important;color:var(--bg) !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.28em !important;padding:8px 14px !important;text-transform:uppercase}.funeral-pdp-v2b-wrap .top{background:var(--forest-deep) !important;color:var(--bg) !important;padding:14px var(--gut) !important;display:flex !important;justify-content:space-between !important;align-items:center !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.24em !important;text-transform:uppercase}.funeral-pdp-v2b-wrap .top .center{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.4em !important;padding-left:.4em !important}.funeral-pdp-v2b-wrap .nav{background:var(--bg) !important;border-bottom:1px solid var(--rule) !important;position:sticky !important;top:0 !important;z-index:50 !important}.funeral-pdp-v2b-wrap .nav-inner{max-width:var(--max) !important;margin:0 auto !important;padding:18px var(--gut) !important;display:flex !important;justify-content:space-between !important;align-items:center !important}.funeral-pdp-v2b-wrap .nav-logo{font-family:var(--serif) !important;font-size:22px !important;letter-spacing:.32em !important;color:var(--forest-deep) !important;padding-left:.32em !important;font-weight:500 !important;text-decoration:none !important;color:inherit !important;cursor:pointer !important}.funeral-pdp-v2b-wrap .nav-logo .sub{font-family:var(--cjk) !important;font-size:10.5px !important;color:var(--gold-deep) !important;letter-spacing:.18em !important;display:block !important;margin-top:2px !important;font-weight:400 !important}.funeral-pdp-v2b-wrap .nav-list{display:flex !important;gap:28px !important;flex-wrap:wrap !important}.funeral-pdp-v2b-wrap .nav-list a{font-family:var(--cjk) !important;font-size:13.5px !important;letter-spacing:.18em !important;color:var(--ink) !important;padding:6px 0 !important;text-decoration:none !important;cursor:pointer !important}.funeral-pdp-v2b-wrap .nav-list a .en{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.22em !important;color:var(--muted) !important;display:block !important;text-align:center !important;margin-top:2px !important}.funeral-pdp-v2b-wrap .nav-list a.is-active{color:var(--forest-deep) !important;position:relative !important}.funeral-pdp-v2b-wrap .nav-list a.is-active::after{content:"";position:absolute !important;left:50% !important;transform:translateX(-50%) !important;bottom:-8px !important;width:18px !important;height:1px !important;background:var(--forest) !important}.funeral-pdp-v2b-wrap .part{max-width:var(--max) !important;margin:0 auto !important;padding:50px var(--gut) !important;position:relative !important}.funeral-pdp-v2b-wrap .part::before{content:attr(data-part);position:absolute !important;top:30px !important;right:var(--gut) !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.42em !important;color:var(--gold-deep) !important;text-transform:uppercase;background:var(--bg) !important;padding:6px 12px !important;border:1px solid var(--rule) !important}.funeral-pdp-v2b-wrap .part-head{margin-bottom:36px !important}.funeral-pdp-v2b-wrap .part-head .lbl{display:block !important;font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin-bottom:8px !important}.funeral-pdp-v2b-wrap .part-head h2{font-family:var(--cjk) !important;font-weight:400 !important;font-size:28px !important;letter-spacing:.18em !important;margin:0 !important;color:var(--forest-deep) !important}.funeral-pdp-v2b-wrap .part-head h2 .latin{font-family:var(--serif) !important;font-style:italic;font-size:18px !important;color:var(--muted) !important;margin-left:14px !important;letter-spacing:.02em !important}.funeral-pdp-v2b-wrap .part-head .sub{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:14px !important;margin-top:8px !important;letter-spacing:.02em !important}.funeral-pdp-v2b-wrap .hero{display:grid !important;grid-template-columns:1fr 1.2fr !important;gap:60px !important;align-items:start !important}.funeral-pdp-v2b-wrap .hero-img{width:100% !important;aspect-ratio:3/4 !important;object-fit:cover;background:var(--bg-2) !important;filter:saturate(.9)}.funeral-pdp-v2b-wrap .hero-title-cjk{font-family:var(--cjk) !important;font-weight:600 !important;font-size:clamp(52px,5.5vw,80px) !important;line-height:1 !important;letter-spacing:.12em !important;color:var(--forest-deep) !important;margin:24px 0 0 !important}.funeral-pdp-v2b-wrap .hero-title-cjk .small{display:block !important;font-family:var(--cjk) !important;font-weight:300 !important;font-size:.42em !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;margin-top:14px !important;padding-left:.32em !important}.funeral-pdp-v2b-wrap .hero-title-latin{font-family:var(--serif) !important;font-style:italic;font-size:22px !important;color:var(--forest) !important;margin:18px 0 0 !important;padding-top:18px !important;border-top:1px solid var(--rule) !important;letter-spacing:.02em !important}.funeral-pdp-v2b-wrap .hero-lede{font-family:var(--cjk) !important;font-weight:300 !important;font-size:15.5px !important;line-height:2 !important;color:var(--ink) !important;max-width:38ch !important;margin:24px 0 !important;letter-spacing:.06em !important}.funeral-pdp-v2b-wrap .price-row{display:flex !important;align-items:baseline !important;gap:14px !important;border-top:1px solid var(--rule) !important;padding-top:18px !important;margin-top:18px !important}.funeral-pdp-v2b-wrap .price-from{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase}.funeral-pdp-v2b-wrap .price{font-family:var(--serif) !important;font-weight:500 !important;color:var(--gold-deep) !important;font-size:34px !important}.funeral-pdp-v2b-wrap .price-alt{font-family:var(--sc) !important;font-size:11.5px !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;opacity:.7 !important;text-transform:uppercase}.funeral-pdp-v2b-wrap .size-block{margin-top:30px !important}.funeral-pdp-v2b-wrap .size-block-head{display:flex !important;justify-content:space-between !important;align-items:baseline !important;margin-bottom:12px !important}.funeral-pdp-v2b-wrap .size-block-head h4{font-family:var(--cjk) !important;font-weight:500 !important;font-size:15px !important;letter-spacing:.12em !important;margin:0 !important;color:var(--forest-deep) !important}.funeral-pdp-v2b-wrap .size-block-head .arrow{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.32em !important;color:var(--muted) !important;text-transform:uppercase}.funeral-pdp-v2b-wrap .size-grid{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0 !important;border:1px solid var(--rule) !important;background:var(--bg-2) !important}.funeral-pdp-v2b-wrap .size{padding:18px 8px !important;text-align:center !important;cursor:pointer !important;border-right:1px solid var(--rule) !important;transition:background .25s !important}.funeral-pdp-v2b-wrap .size:last-child{border-right:0 !important}.funeral-pdp-v2b-wrap .size .cn{font-family:var(--cjk) !important;font-weight:500 !important;font-size:16px !important;letter-spacing:.14em !important;color:var(--ink) !important;display:block !important}.funeral-pdp-v2b-wrap .size .en{font-family:var(--sc) !important;font-size:9px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;display:block !important;margin:4px 0 8px !important}.funeral-pdp-v2b-wrap .size .v{font-family:var(--serif) !important;color:var(--gold-deep) !important;font-size:17px !important;font-weight:500 !important;display:block !important}.funeral-pdp-v2b-wrap .size .h{font-family:var(--sc) !important;font-size:9px !important;letter-spacing:.24em !important;color:var(--muted) !important;text-transform:uppercase;display:block !important;margin-top:4px !important}.funeral-pdp-v2b-wrap .size:hover{background:var(--bg) !important}.funeral-pdp-v2b-wrap .size.is-active{background:var(--forest-deep) !important;color:var(--bg) !important}.funeral-pdp-v2b-wrap .size.is-active .cn{color:var(--bg) !important}.funeral-pdp-v2b-wrap .size.is-active .v{color:var(--gold) !important}.funeral-pdp-v2b-wrap .size.is-active .en, .funeral-pdp-v2b-wrap .size.is-active .h{color:rgba(242,235,217,.65) !important}.funeral-pdp-v2b-wrap .duo{display:grid !important;grid-template-columns:1fr 1fr !important;gap:40px !important;background:var(--bg-card) !important;padding:40px !important;border:1px solid var(--rule) !important}.funeral-pdp-v2b-wrap .sub-block h3{font-family:var(--cjk) !important;font-weight:500 !important;font-size:18px !important;letter-spacing:.16em !important;color:var(--forest-deep) !important;margin:0 0 4px !important}.funeral-pdp-v2b-wrap .sub-block h3 .num{font-family:var(--sc) !important;font-style:normal;font-size:11px !important;color:var(--gold-deep) !important;letter-spacing:.32em !important;text-transform:uppercase;margin-right:10px !important}.funeral-pdp-v2b-wrap .field-label{display:flex !important;align-items:baseline !important;justify-content:space-between !important;margin-top:18px !important;margin-bottom:6px !important}.funeral-pdp-v2b-wrap .field-label .cn{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.1em !important;color:var(--ink) !important}.funeral-pdp-v2b-wrap .field-label .en{font-size:10px !important;letter-spacing:.24em !important;text-transform:uppercase;color:var(--muted) !important;font-family:var(--sc) !important}.funeral-pdp-v2b-wrap .uline{border:0 !important;border-bottom:1px solid var(--rule) !important;background:transparent !important;padding:12px 0 !important;width:100% !important;font-family:var(--cjk) !important;font-size:14.5px !important;color:var(--ink) !important;outline:0;letter-spacing:.06em !important;transition:border-color .25s !important}.funeral-pdp-v2b-wrap .uline:focus{border-bottom-color:var(--forest)}.funeral-pdp-v2b-wrap .uline::placeholder{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important}.funeral-pdp-v2b-wrap .quick-row{display:flex !important;gap:6px !important;flex-wrap:wrap !important;margin-top:8px !important}.funeral-pdp-v2b-wrap .quick{font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.12em !important;padding:7px 12px !important;border:1px solid var(--rule) !important;color:var(--ink) !important;cursor:pointer !important;background:transparent !important;transition:all .2s !important}.funeral-pdp-v2b-wrap .quick:hover{border-color:var(--forest)}.funeral-pdp-v2b-wrap .quick.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.funeral-pdp-v2b-wrap .quick.is-disabled{opacity:.35 !important;cursor:not-allowed !important;text-decoration:line-through}.funeral-pdp-v2b-wrap .time-cats{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:6px !important;margin-top:8px !important}.funeral-pdp-v2b-wrap .time-cat{border:1px solid var(--rule) !important;padding:10px 12px !important;cursor:pointer !important;background:transparent !important;text-align:left !important;transition:all .2s !important}.funeral-pdp-v2b-wrap .time-cat:hover{border-color:var(--forest)}.funeral-pdp-v2b-wrap .time-cat.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.funeral-pdp-v2b-wrap .time-cat .cn{font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.1em !important;display:block !important}.funeral-pdp-v2b-wrap .time-cat .meta{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.18em !important;text-transform:uppercase;color:inherit !important;opacity:.65 !important;display:block !important;margin-top:2px !important}.funeral-pdp-v2b-wrap .hour-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:4px !important;margin-top:8px !important}.funeral-pdp-v2b-wrap .hour{border:1px solid var(--rule) !important;padding:8px 6px !important;font-family:var(--cjk) !important;font-size:12.5px !important;letter-spacing:.12em !important;text-align:center !important;cursor:pointer !important;background:transparent !important;color:var(--ink) !important;transition:all .2s !important;font-feature-settings:"tnum" 1}.funeral-pdp-v2b-wrap .hour:hover{border-color:var(--forest)}.funeral-pdp-v2b-wrap .hour.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep)}.funeral-pdp-v2b-wrap .upgrade-row{display:flex !important;gap:6px !important;flex-wrap:wrap !important;margin-top:8px !important}.funeral-pdp-v2b-wrap .upgrade{border:1px dashed var(--rule) !important;padding:9px 12px !important;cursor:pointer !important;background:transparent !important;font-family:var(--cjk) !important;font-size:12px !important;letter-spacing:.1em !important;color:var(--ink) !important;transition:all .2s !important;display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:2px !important}.funeral-pdp-v2b-wrap .upgrade:hover{border-color:var(--gold)}.funeral-pdp-v2b-wrap .upgrade.is-active{background:var(--gold) !important;color:var(--ink-deep) !important;border:1px solid var(--gold) !important}.funeral-pdp-v2b-wrap .upgrade .cn{font-weight:500 !important}.funeral-pdp-v2b-wrap .upgrade .extra{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.18em !important;color:var(--gold-deep) !important;text-transform:uppercase}.funeral-pdp-v2b-wrap .upgrade.is-active .extra{color:var(--ink) !important}.funeral-pdp-v2b-wrap .zone-result{margin-top:20px !important;padding:14px 16px !important;background:var(--bg) !important;border:1px solid var(--forest) !important;display:flex !important;justify-content:space-between !important;align-items:baseline !important}.funeral-pdp-v2b-wrap .zone-result .zone-name{font-family:var(--cjk) !important;font-size:14px !important;color:var(--forest-deep) !important;letter-spacing:.08em !important}.funeral-pdp-v2b-wrap .zone-result .zone-name em{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12px !important;margin-left:10px !important;letter-spacing:.02em !important}.funeral-pdp-v2b-wrap .zone-result .zone-fee{font-family:var(--serif) !important;font-size:18px !important;color:var(--gold-deep) !important;font-weight:500 !important;letter-spacing:.02em !important}.funeral-pdp-v2b-wrap .zone-result .zone-fee.free{font-style:italic;color:var(--forest) !important}.funeral-pdp-v2b-wrap .p3-grid{display:grid !important;grid-template-columns:1fr 1.1fr !important;gap:60px !important;align-items:start !important;padding-top:14px !important}.funeral-pdp-v2b-wrap .p3-preview{position:sticky !important;top:90px !important;align-self:start}.funeral-pdp-v2b-wrap .preview-eyebrow{display:block !important;margin-bottom:14px !important;text-align:center !important}.funeral-pdp-v2b-wrap .preview-title{font-family:var(--cjk) !important;font-weight:400 !important;font-size:18px !important;letter-spacing:.2em !important;color:var(--forest-deep) !important;text-align:center !important;margin-bottom:14px !important}.funeral-pdp-v2b-wrap .banner-canvas{
    
    --l1: 9cqw;     
    --l2: 17cqw;    
    --l3: 8cqw;     
    --l4: 6cqw;     
    --gap: 2.5cqw;
    --l2-spacing: .28em;

    background:#fff !important;color:var(--ink) !important;
    padding:5cqw 7cqw !important;
    aspect-ratio:420/297 !important;
    border:2px solid var(--forest) !important;position:relative !important;
    display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:center !important;
    gap:var(--gap) !important;
    container-type:inline-size;
    transition:--l1 .3s,--l2 .3s,--l3 .3s,--l4 .3s !important;
    overflow:hidden !important;  
  }.funeral-pdp-v2b-wrap .banner-canvas::before{content:"";position:absolute !important;inset:2cqw;border:1px solid var(--forest) !important;pointer-events:none;opacity:.4 !important}.funeral-pdp-v2b-wrap .bnr-line1{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l1) !important;letter-spacing:.16em !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.3 !important;white-space:nowrap !important}.funeral-pdp-v2b-wrap .bnr-line1 .reltitle{margin-right:1.5cqw !important}.funeral-pdp-v2b-wrap .bnr-line1 .name{font-weight:600 !important}.funeral-pdp-v2b-wrap .bnr-line1 .hon{margin-left:1.5cqw !important}.funeral-pdp-v2b-wrap .bnr-phrase{font-family:var(--cjk) !important;font-weight:600 !important;font-size:var(--l2) !important;letter-spacing:var(--l2-spacing) !important;padding-left:var(--l2-spacing) !important;line-height:1 !important;color:var(--forest-deep) !important;text-align:center !important;margin:1cqw 0 !important;white-space:nowrap !important}.funeral-pdp-v2b-wrap .bnr-senders{display:flex !important;flex-direction:column !important;align-items:center !important;gap:.6cqw !important;width:100% !important}.funeral-pdp-v2b-wrap .bnr-sender{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l3) !important;letter-spacing:.14em !important;color:var(--forest-deep) !important;text-align:center !important;line-height:1.3 !important;white-space:nowrap !important;display:inline-flex !important;align-items:baseline !important;justify-content:center !important;gap:1.2cqw !important}.funeral-pdp-v2b-wrap .bnr-sender .sprefix{font-size:1.05em !important;font-weight:600 !important;color:var(--forest-deep) !important}.funeral-pdp-v2b-wrap .bnr-sender .sname{font-size:.85em !important;font-weight:400 !important;color:var(--ink) !important}.funeral-pdp-v2b-wrap .bnr-sender .srate{font-size:.78em !important;font-weight:500 !important;color:var(--gold-deep) !important;margin-right:.4cqw !important;font-style:normal;letter-spacing:.04em !important}.funeral-pdp-v2b-wrap .bnr-suffix{font-family:var(--cjk) !important;font-weight:500 !important;font-size:var(--l4) !important;letter-spacing:.14em !important;color:var(--forest-deep) !important;text-align:center !important;white-space:nowrap !important}.funeral-pdp-v2b-wrap .preview-foot .shrink-tag{display:inline-block !important;background:var(--gold) !important;color:var(--ink) !important;font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.22em !important;padding:2px 8px !important;margin-left:10px !important;text-transform:uppercase;font-style:normal}

  
  @keyframes bnrPulse{
    0%{background-color:rgba(184,153,104,0);box-shadow:0 0 0 0 rgba(184,153,104,0)}
    30%{background-color:rgba(184,153,104,.22);box-shadow:0 0 0 6px rgba(184,153,104,.18)}
    100%{background-color:rgba(184,153,104,0);box-shadow:0 0 0 0 rgba(184,153,104,0)}
  }.funeral-pdp-v2b-wrap .bnr-line1, .funeral-pdp-v2b-wrap .bnr-phrase, .funeral-pdp-v2b-wrap .bnr-senders, .funeral-pdp-v2b-wrap .bnr-suffix{padding:.5cqw 1cqw !important;border-radius:2px !important;transition:background-color .35s !important}.funeral-pdp-v2b-wrap .bnr-pulse{animation:bnrPulse 1.2s ease-out}.funeral-pdp-v2b-wrap .sub-step{
    position:relative !important;
    padding:24px 26px 22px !important;
    border:1px solid var(--rule) !important;background:var(--bg-card) !important;
    margin-bottom:18px !important;
    transition:border-color .35s,background-color .35s,box-shadow .35s,opacity .35s !important;
    opacity:1 !important;
  }.funeral-pdp-v2b-wrap .sub-step.is-active{
    border-color:var(--forest);box-shadow:0 0 0 1px var(--forest),0 12px 30px -20px rgba(45,62,42,.3);
    background:#FAF6E8 !important;
  }.funeral-pdp-v2b-wrap .sub-step.is-done{opacity:.85 !important}.funeral-pdp-v2b-wrap .sub-step.is-pending{opacity:.65 !important}.funeral-pdp-v2b-wrap .sub-step-head{display:flex !important;align-items:baseline !important;justify-content:space-between !important;gap:14px !important;margin-bottom:18px !important;padding-bottom:14px !important;border-bottom:1px solid var(--rule) !important}.funeral-pdp-v2b-wrap .sub-step-head .left{display:flex !important;align-items:baseline !important;gap:14px !important}.funeral-pdp-v2b-wrap .sub-step-num{
    font-family:var(--serif) !important;font-style:italic;font-weight:500 !important;font-size:28px !important;line-height:1 !important;
    color:var(--gold-deep) !important;min-width:36px !important;
    transition:color .3s !important;
  }.funeral-pdp-v2b-wrap .sub-step.is-active .sub-step-num{color:var(--forest-deep) !important}.funeral-pdp-v2b-wrap .sub-step.is-done .sub-step-num{color:var(--forest) !important}.funeral-pdp-v2b-wrap .sub-step-title{font-family:var(--cjk) !important;font-weight:500 !important;font-size:18px !important;letter-spacing:.18em !important;color:var(--forest-deep) !important;margin:0 !important}.funeral-pdp-v2b-wrap .sub-step-title .en{font-family:var(--serif) !important;font-style:italic;font-weight:400 !important;font-size:13.5px !important;color:var(--muted) !important;margin-left:10px !important;letter-spacing:.02em !important}.funeral-pdp-v2b-wrap .sub-step-status{
    font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.32em !important;text-transform:uppercase;
    padding:5px 11px !important;border:1px solid var(--rule) !important;color:var(--muted) !important;
    transition:all .3s !important;flex-shrink:0;
  }.funeral-pdp-v2b-wrap .sub-step.is-active .sub-step-status{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep);animation:statusGlow 2s ease-in-out infinite}.funeral-pdp-v2b-wrap .sub-step.is-done .sub-step-status{background:var(--gold) !important;color:var(--ink) !important;border-color:var(--gold)}
  @keyframes statusGlow{0%,100%{box-shadow:0 0 0 0 rgba(45,62,42,.4)}50%{box-shadow:0 0 0 6px rgba(45,62,42,0)}}

  
  @keyframes subStepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.funeral-pdp-v2b-wrap .sub-step{animation:subStepIn .5s ease-out both}.funeral-pdp-v2b-wrap .sub-step:nth-child(1){animation-delay:.05s}.funeral-pdp-v2b-wrap .sub-step:nth-child(2){animation-delay:.18s}.funeral-pdp-v2b-wrap .sub-step:nth-child(3){animation-delay:.32s}

  
  @keyframes autofillFlash{0%{background-color:rgba(184,153,104,0)}25%{background-color:rgba(184,153,104,.25)}100%{background-color:rgba(184,153,104,0)}}.funeral-pdp-v2b-wrap .uline.is-autofilled{animation:autofillFlash 1.1s ease-out}.funeral-pdp-v2b-wrap .sub-step .field-label{margin-top:14px !important}.funeral-pdp-v2b-wrap .sub-step > .field-label:first-of-type{margin-top:4px !important}.funeral-pdp-v2b-wrap .phrase-meaning{background:var(--bg-card) !important;border-left:3px solid var(--gold) !important;padding:14px 18px !important;margin-top:14px !important;font-family:var(--cjk) !important;font-size:13.5px !important;line-height:1.8 !important;color:var(--ink) !important;letter-spacing:.06em !important}.funeral-pdp-v2b-wrap .phrase-meaning .pm-eyebrow{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin-bottom:6px !important}.funeral-pdp-v2b-wrap .phrase-meaning .pm-phrase{font-weight:600 !important;color:var(--forest-deep) !important;font-size:16px !important;margin-right:10px !important}.funeral-pdp-v2b-wrap .phrase-meaning .pm-empty{color:var(--muted) !important;font-style:italic;font-family:var(--serif) !important}.funeral-pdp-v2b-wrap .senders-group{display:flex !important;flex-direction:column !important;gap:10px !important;margin-top:10px !important}.funeral-pdp-v2b-wrap .sender-row{display:grid !important;grid-template-columns:1fr .55fr 1.4fr auto !important;gap:10px !important;align-items:end !important}.funeral-pdp-v2b-wrap .sender-rank.is-disabled{opacity:.35 !important;pointer-events:none}.funeral-pdp-v2b-wrap .sender-row .uline{margin:0 !important;padding:10px 0 !important}.funeral-pdp-v2b-wrap .sender-row .remove{
    width:30px !important;height:30px !important;font-family:var(--sc) !important;font-size:14px !important;
    border:1px solid var(--rule) !important;background:transparent !important;color:var(--muted) !important;cursor:pointer !important;
    align-self:center;transition:all .2s !important;
  }.funeral-pdp-v2b-wrap .sender-row .remove:hover{border-color:var(--female);color:var(--female) !important}.funeral-pdp-v2b-wrap .sender-row.primary .remove{visibility:hidden}.funeral-pdp-v2b-wrap .add-sender-btn{
    margin-top:4px !important;align-self:flex-start;
    font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.12em !important;
    border:1px dashed var(--rule) !important;padding:9px 16px !important;color:var(--muted) !important;
    cursor:pointer !important;background:transparent !important;transition:all .2s !important;
  }.funeral-pdp-v2b-wrap .add-sender-btn:hover{border-color:var(--forest);color:var(--forest-deep) !important}.funeral-pdp-v2b-wrap .sender-row-label{font-family:var(--sc) !important;font-size:9.5px !important;letter-spacing:.28em !important;color:var(--muted) !important;text-transform:uppercase;display:block !important;margin-bottom:2px !important}.funeral-pdp-v2b-wrap .preview-foot{margin-top:12px !important;font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12.5px !important;text-align:center !important}.funeral-pdp-v2b-wrap .preview-foot strong{color:var(--gold-deep) !important;font-style:normal;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.22em !important;text-transform:uppercase}.funeral-pdp-v2b-wrap .auto-hint{background:var(--bg-card) !important;border-left:3px solid var(--gold) !important;padding:12px 16px !important;margin-top:14px !important;font-family:var(--cjk) !important;font-size:12.5px !important;color:var(--ink) !important;letter-spacing:.06em !important;line-height:1.7 !important}.funeral-pdp-v2b-wrap .auto-hint strong{color:var(--forest-deep) !important;font-weight:500 !important;display:block !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.22em !important;text-transform:uppercase;margin-bottom:6px !important}.funeral-pdp-v2b-wrap .auto-hint em{font-style:italic;color:var(--muted) !important;font-size:11.5px !important}.funeral-pdp-v2b-wrap .auto-hint .tag{display:inline-block !important;background:var(--forest-deep) !important;color:var(--bg) !important;font-family:var(--cjk) !important;font-size:11.5px !important;font-style:normal;letter-spacing:.06em !important;text-transform:none;padding:2px 7px !important;margin:0 2px !important}.funeral-pdp-v2b-wrap .religion{display:flex !important;gap:18px !important;border-bottom:1px solid var(--rule) !important;padding-bottom:10px !important;margin:8px 0 14px !important}.funeral-pdp-v2b-wrap .religion button{font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.12em !important;color:var(--muted) !important;padding:4px 0 !important;position:relative !important;transition:color .25s !important}.funeral-pdp-v2b-wrap .religion button.is-active{color:var(--forest-deep) !important;font-weight:500 !important}.funeral-pdp-v2b-wrap .religion button.is-active::after{content:"";position:absolute !important;left:0 !important;right:0 !important;bottom:-11px !important;height:1px !important;background:var(--forest) !important}.funeral-pdp-v2b-wrap .chip-section{margin-top:14px !important}.funeral-pdp-v2b-wrap .chip-section-label{font-family:var(--sc) !important;font-size:10px !important;letter-spacing:.28em !important;color:var(--muted) !important;text-transform:uppercase;margin-bottom:8px !important;display:flex !important;align-items:center !important;gap:8px !important}.funeral-pdp-v2b-wrap .chip-section-label::before{content:"";display:inline-block !important;width:14px !important;height:1px !important;background:var(--rule) !important}.funeral-pdp-v2b-wrap .chip-section.female .chip-section-label{color:var(--female) !important}.funeral-pdp-v2b-wrap .chip-section.male .chip-section-label{color:var(--male) !important}.funeral-pdp-v2b-wrap .chip-section.neutral .chip-section-label{color:var(--neutral) !important}.funeral-pdp-v2b-wrap .chip-row{display:flex !important;flex-wrap:wrap !important;gap:6px !important}.funeral-pdp-v2b-wrap .chip{font-family:var(--cjk) !important;font-size:14.5px !important;letter-spacing:.14em !important;background:transparent !important;border:1px solid var(--rule) !important;color:var(--ink) !important;padding:9px 14px !important;cursor:pointer !important;transition:all .25s !important;display:inline-flex !important;align-items:center !important;gap:6px !important;font-weight:400}.funeral-pdp-v2b-wrap .chip:hover{border-color:var(--forest);color:var(--forest-deep) !important}.funeral-pdp-v2b-wrap .chip.is-active{background:var(--forest-deep) !important;border-color:var(--forest-deep);color:var(--bg) !important}.funeral-pdp-v2b-wrap .chip .g{font-size:9.5px !important;opacity:.55 !important;font-family:var(--sc) !important;letter-spacing:.1em !important}.funeral-pdp-v2b-wrap .chip.gM .g{color:var(--male) !important}.funeral-pdp-v2b-wrap .chip.gF .g{color:var(--female) !important}.funeral-pdp-v2b-wrap .chip.gN .g{color:var(--neutral) !important}.funeral-pdp-v2b-wrap .chip.is-active .g{opacity:.85 !important;color:var(--gold) !important}.funeral-pdp-v2b-wrap .chip-suggested{margin-top:8px !important;font-family:var(--serif) !important;font-style:italic;color:var(--gold-deep) !important;font-size:12px !important;letter-spacing:.02em !important}.funeral-pdp-v2b-wrap .checkout-section{max-width:var(--max) !important;margin:30px auto !important;padding:0 var(--gut) !important}.funeral-pdp-v2b-wrap .checkout-card{background:var(--bg-card) !important;border:1px solid var(--forest) !important;padding:32px 40px !important}.funeral-pdp-v2b-wrap .checkout-grid{display:grid !important;grid-template-columns:1.4fr 1fr !important;gap:40px !important;align-items:center !important}.funeral-pdp-v2b-wrap .checkout-summary h4{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;color:var(--gold-deep) !important;text-transform:uppercase;margin:0 0 14px !important}.funeral-pdp-v2b-wrap .checkout-summary .line{display:flex !important;justify-content:space-between !important;align-items:baseline !important;padding:7px 0 !important;border-bottom:1px solid var(--rule-soft) !important;font-family:var(--cjk) !important;font-size:13.5px !important;color:var(--ink) !important;letter-spacing:.06em !important}.funeral-pdp-v2b-wrap .checkout-summary .line:last-of-type{border-bottom:0 !important}.funeral-pdp-v2b-wrap .checkout-summary .line .lbl{color:var(--muted) !important}.funeral-pdp-v2b-wrap .checkout-summary .total-line{display:flex !important;justify-content:space-between !important;align-items:baseline !important;margin-top:14px !important;padding-top:14px !important;border-top:1px solid var(--forest) !important}.funeral-pdp-v2b-wrap .checkout-summary .total-line .lbl{font-family:var(--cjk) !important;font-size:15px !important;letter-spacing:.14em !important;color:var(--forest-deep) !important}.funeral-pdp-v2b-wrap .checkout-summary .total-line .v{font-family:var(--serif) !important;font-weight:500 !important;color:var(--forest-deep) !important;font-size:32px !important;letter-spacing:.02em !important}.funeral-pdp-v2b-wrap .checkout-cta{display:flex !important;flex-direction:column !important;align-items:flex-end !important;gap:12px !important}.funeral-pdp-v2b-wrap .stock-line{display:inline-flex !important;gap:10px !important;align-items:center !important;font-family:var(--cjk) !important;font-size:13px !important;letter-spacing:.14em !important;color:var(--forest-deep) !important}.funeral-pdp-v2b-wrap .stock-line .dot{display:inline-block !important;width:6px !important;height:6px !important;border-radius:50% !important;background:var(--gold-deep) !important;box-shadow:0 0 0 5px rgba(138,111,69,.13)}.funeral-pdp-v2b-wrap .cta{display:inline-flex !important;align-items:center !important;gap:14px !important;background:var(--forest-deep) !important;color:var(--bg) !important;padding:20px 50px !important;font-family:var(--cjk) !important;font-weight:500 !important;font-size:16px !important;letter-spacing:.24em !important;border:1px solid var(--forest-deep) !important;cursor:pointer !important;transition:all .35s !important;box-shadow:5px 5px 0 var(--gold-deep)}.funeral-pdp-v2b-wrap .cta:hover{transform:translate(-2px,-2px) !important;box-shadow:7px 7px 0 var(--gold-deep);background:var(--ink) !important}.funeral-pdp-v2b-wrap .cta .cn{font-weight:500 !important}.funeral-pdp-v2b-wrap .cta .arrow{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.32em !important;text-transform:uppercase;color:var(--gold) !important;font-weight:400 !important}.funeral-pdp-v2b-wrap .cta-foot{font-family:var(--serif) !important;font-style:italic;color:var(--muted) !important;font-size:12.5px !important;text-align:right !important;letter-spacing:.02em !important;margin-top:4px !important}.funeral-pdp-v2b-wrap footer{background:var(--bg-2) !important;color:var(--muted) !important;padding:40px var(--gut) !important;border-top:1px solid var(--rule) !important;font-family:var(--sc) !important;font-size:10.5px !important;letter-spacing:.32em !important;text-transform:uppercase;text-align:center !important}

  @media (max-width:900px){.funeral-pdp-v2b-wrap .hero{grid-template-columns:1fr !important;gap:30px !important}.funeral-pdp-v2b-wrap .size-grid{grid-template-columns:repeat(2,1fr) !important}.funeral-pdp-v2b-wrap .size{border-bottom:1px solid var(--rule) !important}.funeral-pdp-v2b-wrap .duo{grid-template-columns:1fr !important;gap:30px !important;padding:24px !important}.funeral-pdp-v2b-wrap .p3-grid{grid-template-columns:1fr !important;gap:30px !important}.funeral-pdp-v2b-wrap .p3-preview{position:static !important}.funeral-pdp-v2b-wrap .time-cats, .funeral-pdp-v2b-wrap .hour-grid{grid-template-columns:repeat(2,1fr) !important}.funeral-pdp-v2b-wrap .banner-canvas{padding:20px !important;gap:8px !important}.funeral-pdp-v2b-wrap .bnr-phrase{font-size:36px !important}.funeral-pdp-v2b-wrap .bnr-line1, .funeral-pdp-v2b-wrap .bnr-sender{font-size:14px !important}.funeral-pdp-v2b-wrap .bnr-suffix{font-size:13px !important}.funeral-pdp-v2b-wrap .checkout-grid{grid-template-columns:1fr !important;gap:24px !important}.funeral-pdp-v2b-wrap .checkout-cta{align-items:stretch !important}.funeral-pdp-v2b-wrap .cta-foot{text-align:center !important}
  }
/* ─── Hero entrance · staggered fade-up animation (per Gary) ─── */
@keyframes v2aHeroFadeIn {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes v2aImgFadeIn {
  from { opacity: 0; transform: scale(1.04); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes v2aBlurIn {
  from { opacity: 0; filter: blur(8px); transform: translateY(16px); }
  to { opacity: 1; filter: blur(0); transform: translateY(0); }
}

.funeral-pdp-v2b-wrap .hero-img,
.funeral-pdp-v2b-wrap .hero-img-wrap img {
  animation: v2aImgFadeIn 1.6s cubic-bezier(.2,.65,.2,1) .1s both !important;
}
.funeral-pdp-v2b-wrap .eyebrow.hero-eyebrow {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .15s both !important;
}
.funeral-pdp-v2b-wrap .hero-title-cjk {
  animation: v2aBlurIn 1.2s cubic-bezier(.2,.65,.2,1) .35s both !important;
}
.funeral-pdp-v2b-wrap .hero-title-cjk .small {
  display: block !important;
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .7s both !important;
}
.funeral-pdp-v2b-wrap .hero-title-latin {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) .95s both !important;
}
.funeral-pdp-v2b-wrap .hero-lede {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.2s both !important;
}
.funeral-pdp-v2b-wrap .hero-lede em {
  display: block !important;
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.4s both !important;
}
.funeral-pdp-v2b-wrap .price-row {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.55s both !important;
}
.funeral-pdp-v2b-wrap .ship-line,
.funeral-pdp-v2b-wrap .size-block {
  animation: v2aHeroFadeIn 1.0s cubic-bezier(.2,.65,.2,1) 1.75s both !important;
}

/* Respect user's reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  .funeral-pdp-v2b-wrap .hero-img,
  .funeral-pdp-v2b-wrap .hero-img-wrap img,
  .funeral-pdp-v2b-wrap .eyebrow.hero-eyebrow,
  .funeral-pdp-v2b-wrap .hero-title-cjk,
  .funeral-pdp-v2b-wrap .hero-title-cjk .small,
  .funeral-pdp-v2b-wrap .hero-title-latin,
  .funeral-pdp-v2b-wrap .hero-lede,
  .funeral-pdp-v2b-wrap .hero-lede em,
  .funeral-pdp-v2b-wrap .price-row,
  .funeral-pdp-v2b-wrap .ship-line,
  .funeral-pdp-v2b-wrap .size-block {
    animation: none !important;
  }
}


/* Cart submit success animation */
.v2a-cart-overlay{position:fixed;inset:0;background:rgba(31,49,40,0.85);display:flex;align-items:center;justify-content:center;z-index:99999;opacity:0;pointer-events:none;transition:opacity .3s ease}
.v2a-cart-overlay.is-visible{opacity:1;pointer-events:auto}
.v2a-cart-card{background:#F6F1E8;padding:48px 56px;text-align:center;max-width:380px;transform:scale(.85);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.v2a-cart-overlay.is-visible .v2a-cart-card{transform:scale(1)}
.v2a-cart-check{width:72px;height:72px;border-radius:50%;background:#3D5544;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;transform:scale(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1) .2s}
.v2a-cart-overlay.is-visible .v2a-cart-check{transform:scale(1)}
.v2a-cart-check svg{width:36px;height:36px;stroke:#F6F1E8;stroke-width:3;fill:none;stroke-dasharray:50;stroke-dashoffset:50;animation:v2aCheckDraw .5s ease .5s forwards}
@keyframes v2aCheckDraw{to{stroke-dashoffset:0}}
.v2a-cart-title{font-family:'Cormorant Garamond','Noto Serif TC',serif;font-style:italic;font-size:28px;color:#1F3128;margin:0 0 8px;font-weight:400;letter-spacing:.04em}
.v2a-cart-sub{font-family:'Noto Serif TC',serif;font-size:14px;color:#5A6B5F;letter-spacing:.06em;margin:0;line-height:1.6}
.v2a-cart-error{position:fixed;top:30px;left:50%;transform:translateX(-50%);background:#A4292B;color:#F6F1E8;padding:16px 28px;font-family:'Noto Serif TC',serif;font-size:14px;letter-spacing:.08em;z-index:99999;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;transition:opacity .3s;pointer-events:none}
.v2a-cart-error.is-visible{opacity:1}


.funeral-pdp-v2b-wrap .ship-promise{font-family:var(--cjk) !important;font-size:13px !important;color:var(--gold-deep) !important;letter-spacing:.14em !important;margin:8px 0 0 !important;line-height:1.6 !important;font-weight:400 !important}
.funeral-pdp-v2b-wrap .ship-promise em{font-family:var(--serif) !important;font-style:italic !important;font-size:15px !important;color:var(--forest-deep) !important;font-weight:500 !important;letter-spacing:.08em !important;margin-right:6px !important;border-bottom:1px solid var(--gold) !important;padding-bottom:1px !important}


@keyframes v2aPhraseFlyIn{0%{opacity:0;transform:translateX(-24px);filter:blur(4px)}100%{opacity:1;transform:translateX(0);filter:blur(0)}}
.funeral-pdp-v2b-wrap .phrase-meaning.is-flying{animation:v2aPhraseFlyIn .55s cubic-bezier(.2,.65,.2,1) both}
@keyframes v2aChipPop{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
.funeral-pdp-v2b-wrap .chip.is-active{animation:v2aChipPop .4s cubic-bezier(.34,1.56,.64,1)}


/* ─── B-HYBRID ROUNDED TIMELINE ─── */
@keyframes tlDrawLine{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes tlGoldRing{0%,100%{box-shadow:0 0 0 5px rgba(184,153,104,.25)}50%{box-shadow:0 0 0 9px rgba(184,153,104,.08)}}
@keyframes tlNodeStagger{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlDotPop{0%{transform:scale(0)}60%{transform:scale(1.35)}100%{transform:scale(1)}}
@keyframes tlShine{0%{transform:translateX(-100%)}100%{transform:translateX(200%)}}
@keyframes tlHintFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlWinStagger{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes tlRecFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

.funeral-pdp-v2b-wrap .tl-timeline{display:flex !important;flex-direction:column !important;gap:10px !important;position:relative !important;padding-left:32px !important;grid-template-columns:none !important;margin-top:10px !important}
.funeral-pdp-v2b-wrap .tl-timeline::before{content:"" !important;position:absolute !important;left:11px !important;top:18px !important;bottom:18px !important;width:1px !important;background:var(--rule) !important;transform-origin:top !important;animation:tlDrawLine 1.1s cubic-bezier(.4,0,.2,1) .15s both !important}

.funeral-pdp-v2b-wrap .tl-timeline .time-cat{position:relative !important;background:var(--paper) !important;border:1px solid var(--rule) !important;border-radius:16px !important;padding:16px 20px !important;cursor:pointer !important;transition:all .45s cubic-bezier(.4,0,.2,1) !important;overflow:hidden !important;animation:tlNodeStagger .65s cubic-bezier(.4,0,.2,1) both !important;text-align:left !important;display:block !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat:nth-child(1){animation-delay:.35s !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat:nth-child(2){animation-delay:.5s !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat:nth-child(3){animation-delay:.65s !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat:nth-child(4){animation-delay:.8s !important}

.funeral-pdp-v2b-wrap .tl-timeline .time-cat::before{content:"" !important;position:absolute !important;left:-27px !important;top:22px !important;width:14px !important;height:14px !important;border:2px solid var(--rule) !important;background:var(--bg) !important;border-radius:50% !important;transition:all .35s !important;z-index:2 !important;animation:tlDotPop .6s cubic-bezier(.34,1.56,.64,1) both !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat:nth-child(1)::before{animation-delay:.5s !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat:nth-child(2)::before{animation-delay:.65s !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat:nth-child(3)::before{animation-delay:.8s !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat:nth-child(4)::before{animation-delay:.95s !important}

.funeral-pdp-v2b-wrap .tl-timeline .time-cat:hover{border-color:var(--forest) !important;transform:translateX(3px) !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat:hover::before{border-color:var(--forest) !important;transform:scale(1.15) !important}

.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active{background:var(--forest-deep) !important;color:var(--bg) !important;border-color:var(--forest-deep) !important;padding:20px 22px !important;border-radius:18px !important;transform:translateX(5px) !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active::before{background:var(--gold) !important;border-color:var(--gold) !important;animation:tlGoldRing 2.2s ease-in-out infinite !important}




.funeral-pdp-v2b-wrap .tl-row{display:flex !important;align-items:baseline !important;gap:14px !important;justify-content:space-between !important}
.funeral-pdp-v2b-wrap .tl-main{display:flex !important;align-items:baseline !important;gap:14px !important;flex-wrap:wrap !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat .cn{font-family:var(--cjk) !important;font-size:21px !important;font-weight:500 !important;letter-spacing:.14em !important;line-height:1 !important;display:inline !important;color:inherit !important;margin:0 !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .cn{font-size:23px !important;color:var(--paper) !important}
.funeral-pdp-v2b-wrap .tl-detail{font-family:var(--serif) !important;font-style:italic !important;font-size:13px !important;color:var(--muted) !important;letter-spacing:.04em !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-detail{color:rgba(246,241,232,.75) !important;font-size:14px !important}
.funeral-pdp-v2b-wrap .tl-detail .dot{margin:0 5px !important;color:var(--gold-deep) !important;font-style:normal !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-detail .dot{color:var(--gold) !important}

.funeral-pdp-v2b-wrap .tl-timeline .time-cat .meta{font-family:var(--sc) !important;font-size:11px !important;letter-spacing:.22em !important;color:var(--gold-deep) !important;text-transform:uppercase !important;white-space:nowrap !important;display:inline !important;margin-top:0 !important;opacity:1 !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .meta{color:var(--gold) !important;font-size:12px !important}
.funeral-pdp-v2b-wrap .tl-free{color:var(--forest) !important;font-weight:500 !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-free{color:var(--gold) !important}

.funeral-pdp-v2b-wrap .tl-hint{font-family:var(--cjk) !important;font-size:11.5px !important;color:rgba(246,241,232,.65) !important;margin-top:8px !important;letter-spacing:.08em !important;display:none !important}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-hint{display:block !important;animation:tlHintFade .55s cubic-bezier(.4,0,.2,1) .15s both !important}

/* The 3hr window panel gets moved INTO active time-cat by JS */
.funeral-pdp-v2b-wrap .tl-windows{display:none !important;margin-top:14px !important;padding-top:14px !important;border-top:1px solid rgba(246,241,232,.18) !important;flex-wrap:wrap !important;gap:6px !important;width:100% !important;border-radius:0 !important}
.funeral-pdp-v2b-wrap .time-cat.is-active > .tl-windows{display:flex !important;animation:tlHintFade .5s ease both !important}
.funeral-pdp-v2b-wrap .tl-windows-h{flex-basis:100% !important;font-family:var(--cjk) !important;font-size:11px !important;color:rgba(246,241,232,.6) !important;letter-spacing:.18em !important;margin-bottom:8px !important}

.funeral-pdp-v2b-wrap .tl-windows .quick{flex:1 1 30% !important;padding:11px 8px !important;text-align:center !important;font-family:var(--cjk) !important;font-size:13px !important;background:transparent !important;border:1px solid rgba(246,241,232,.25) !important;color:var(--paper) !important;cursor:pointer !important;transition:all .25s !important;letter-spacing:.04em !important;border-radius:8px !important;animation:tlWinStagger .5s cubic-bezier(.4,0,.2,1) both !important}
.funeral-pdp-v2b-wrap .tl-windows .quick:nth-child(2){animation-delay:.3s !important}
.funeral-pdp-v2b-wrap .tl-windows .quick:nth-child(3){animation-delay:.4s !important}
.funeral-pdp-v2b-wrap .tl-windows .quick:nth-child(4){animation-delay:.5s !important}
.funeral-pdp-v2b-wrap .tl-windows .quick:hover{background:rgba(246,241,232,.08) !important;transform:translateY(-2px) !important}
.funeral-pdp-v2b-wrap .tl-windows .quick.is-active{background:var(--gold) !important;color:var(--forest-deep) !important;border-color:var(--gold) !important;font-weight:500 !important;transform:scale(1.04) !important}
.funeral-pdp-v2b-wrap .tl-windows .quick.is-disabled{opacity:.35 !important;cursor:not-allowed !important;text-decoration:line-through}

/* Round corners on upgrade row + 30min slot + date quick-row to match style B */
.funeral-pdp-v2b-wrap .upgrade-row .upgrade{border-radius:10px !important}
.funeral-pdp-v2b-wrap .hour{border-radius:8px !important}
.funeral-pdp-v2b-wrap .quick-row:not(.tl-windows) .quick{border-radius:8px !important}
.funeral-pdp-v2b-wrap .size{border-radius:0 !important}
.funeral-pdp-v2b-wrap .uline{border-radius:0 !important}
.funeral-pdp-v2b-wrap .zone-result{border-radius:12px !important}

/* cache-bust 1779674629 */
/* cache-bust-vis-fix-1779674656 */

/* Ensure .tl-windows .quick.is-active = gold + dark (override any other rule) */
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-windows .quick.is-active,
.funeral-pdp-v2b-wrap .tl-win-pool .quick.is-active{
  background: var(--gold) !important;
  color: var(--forest-deep) !important;
  border-color: var(--gold) !important;
  font-weight: 500 !important;
  transform: scale(1.04) !important;
}

/* cache-bust-4polish-1779675568 */

/* Disabled time-cat: grayed out + line-through + not-clickable + "來不及" badge */
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-disabled{
  opacity: .42 !important;
  cursor: not-allowed !important;
  background: transparent !important;
  filter: grayscale(.4);
  position: relative !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-disabled:hover{
  border-color: var(--rule) !important;
  transform: none !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-disabled::before{
  background: var(--bg) !important;
  border-color: var(--rule) !important;
  animation: none !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-disabled .cn{
  text-decoration: line-through !important;
  text-decoration-color: var(--muted) !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-disabled::after{
  content: "今日來唔切" !important;
  position: absolute !important;
  top: 50% !important;
  right: 18px !important;
  transform: translateY(-50%) !important;
  background: var(--muted) !important;
  color: var(--paper) !important;
  font-family: var(--cjk) !important;
  font-size: 10.5px !important;
  letter-spacing: .14em !important;
  padding: 4px 10px !important;
  border-radius: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  border: 0 !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  pointer-events: none;
}
/* Recommended badge hidden when disabled */
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.tl-recommended.is-disabled::after{
  content: "今日來唔切 · 揀明日" !important;
  background: var(--muted) !important;
  color: var(--paper) !important;
}

/* cache-bust-disabled-1779676624 */
/* cache-bust-cat-cutoffs-1779680694 */

/* Time-cat fee: floating gold badge at top-right */





/* Recommended badge moved to BOTTOM-LEFT to free top-right for fee */



/* Upgrade row · corner badge */




/* cache-bust-corner-badge-1779681435 */

/* Disabled badge muted */


/* cache-bust-ultra-1779682162 */
/* cache-bust-root-fix-1779682486 */
/* cache-bust-root-v2-1779682570 */
/* rollback-to-cat-cutoffs-1779688130 */
/* rollback-v2-1779688209 */

/* ─── Baseline inline fee styling (match mockup 1:1) ─── */
.funeral-pdp-v2b-wrap .tl-timeline .time-cat .meta.tl-fee,
.funeral-pdp-v2b-wrap .tl-timeline .time-cat .tl-fee{
  font-family: var(--sc) !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  color: var(--gold-deep) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  position: static !important;
  display: inline !important;
  margin: 0 !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat .tl-fee.tl-free,
.funeral-pdp-v2b-wrap .tl-timeline .time-cat .tl-fee.free{
  color: var(--forest) !important;
  font-weight: 500 !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-fee{
  color: var(--gold) !important;
  font-size: 12px !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-fee.tl-free,
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-fee.free{
  color: var(--gold) !important;
}
/* Disabled fee = muted */
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-disabled .tl-fee{
  color: var(--muted) !important;
  text-decoration: line-through !important;
}

/* Recommended badge restored to TOP-RIGHT */
.funeral-pdp-v2b-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 16px 0 14px !important;
}

/* match-mockup-1779688524 */
/* cache-bust-default-active-1779688882 */

/* Disabled windows: visible but line-through (so customer knows past cutoff) */
.funeral-pdp-v2b-wrap .time-cat.is-active .tl-windows .quick.is-disabled,
.funeral-pdp-v2b-wrap .tl-win-pool .quick.is-disabled{
  opacity: .35 !important;
  text-decoration: line-through !important;
  cursor: not-allowed !important;
  background: transparent !important;
  color: rgba(246,241,232,.5) !important;
  border-color: rgba(246,241,232,.18) !important;
  pointer-events: none;
}
.funeral-pdp-v2b-wrap .time-cat.is-active .tl-windows .quick:not(.is-disabled),
.funeral-pdp-v2b-wrap .tl-win-pool .quick:not(.is-disabled){
  color: var(--paper) !important;
  background: transparent !important;
  border: 1px solid rgba(246,241,232,.25) !important;
}

/* fix-3-issues-1779689488 */
/* restore-guard-1779689541 */

/* Pool now inline inside owning time-cat · show only when active */
.funeral-pdp-v2b-wrap .tl-timeline .time-cat .tl-windows{
  display: none !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(246,241,232,.18) !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  width: 100% !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-windows{
  display: flex !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat .tl-windows-h{
  flex-basis: 100% !important;
  font-family: var(--cjk) !important;
  font-size: 11px !important;
  color: rgba(246,241,232,.6) !important;
  letter-spacing: .18em !important;
  margin-bottom: 8px !important;
}

/* inline-pools-1779697167 */


/* time-cat needs padding-top to make room for badge */
.funeral-pdp-v2b-wrap .tl-timeline .time-cat{
  padding-top: 32px !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active{
  padding-top: 36px !important;
}
/* Recommended badge moved to bottom-left to free top-right for fee */
.funeral-pdp-v2b-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
  right: auto !important;
  left: 0 !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 14px 0 16px !important;
}

/* corner-badge-redeploy-1779697410 */

/* Style B Rounded Corners — inline fee · 推薦 top-right */
.funeral-pdp-v2b-wrap .tl-timeline .time-cat{
  padding-top: 16px !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active{
  padding-top: 22px !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat .meta.tl-fee,
.funeral-pdp-v2b-wrap .tl-timeline .time-cat .tl-fee{
  position: static !important;
  background: transparent !important;
  color: var(--gold-deep) !important;
  font-family: var(--sc) !important;
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  display: inline !important;
  margin-left: 12px !important;
  line-height: 1 !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat .tl-fee.tl-free,
.funeral-pdp-v2b-wrap .tl-timeline .time-cat .tl-fee.free{
  color: var(--forest) !important;
  font-family: var(--cjk) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: .08em !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-fee{
  color: var(--gold) !important;
  font-size: 12px !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-fee.tl-free,
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-active .tl-fee.free{
  color: var(--gold) !important;
}
.funeral-pdp-v2b-wrap .tl-timeline .time-cat.is-disabled .tl-fee{
  color: var(--muted) !important;
  background: transparent !important;
  text-decoration: line-through !important;
  box-shadow: none !important;
}
/* Recommended tag at TOP-RIGHT (Style B) */
.funeral-pdp-v2b-wrap .tl-recommended::after{
  content: "推薦" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  background: var(--gold) !important;
  color: var(--paper) !important;
  font-family: var(--sc) !important;
  font-size: 9px !important;
  letter-spacing: .28em !important;
  padding: 4px 11px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 16px 0 14px !important;
}
/* Upgrade extra: inline small caps gold-deep (no floating badge) */
.funeral-pdp-v2b-wrap .upgrade-row .upgrade{
  padding-top: 9px !important;
}
.funeral-pdp-v2b-wrap .upgrade-row .upgrade .extra{
  position: static !important;
  background: transparent !important;
  color: var(--gold-deep) !important;
  font-family: var(--sc) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}
.funeral-pdp-v2b-wrap .upgrade-row .upgrade.is-active .extra{
  background: transparent !important;
  color: var(--ink) !important;
}

/* style-b-rollback-1779697860 */
/* clean-residual-1779698026 */
/* syntax-fix-1779698898 */
/* inline-fallback-1779699648 */
/* upgrade-delegation-1779700618 */
/* END_SECTION:funeral-pdp-v2b */

/* START_SECTION:home-delivery-zones-v2a (INDEX:16) */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500&family=Cormorant+SC:wght@400;500&family=Noto+Serif+TC:wght@300;400;500&display=swap');

.dlvz-wrap{
  background:linear-gradient(180deg,#FCF4E5 0%,#F6EFE6 100%);
  padding:100px 6vw;
}
.dlvz-head{text-align:center;margin-bottom:60px;}
.dlvz-eyebrow{font-family:'Cormorant SC',serif;font-size:11px;letter-spacing:.42em;color:#B8965C;text-transform:uppercase;margin-bottom:18px;}
.dlvz-title{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;
  font-size:clamp(38px,5vw,58px);color:#6E2F38;line-height:1.1;
}
.dlvz-title em{color:#B8965C;}
.dlvz-cn{display:block;font-family:'Noto Serif TC',serif;font-style:normal;font-size:.4em;letter-spacing:.32em;color:#B8965C;margin-top:14px;}
.dlvz-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1340px;margin:0 auto;}
.dlvz-zone{
  padding:32px 24px;background:#fff;border:1px solid #D6C7AE;
  text-align:center;position:relative;transition:transform .25s,box-shadow .25s;
}
.dlvz-zone:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(110,47,56,.08);}
.dlvz-zone-label{font-family:'Cormorant SC',serif;font-size:11px;letter-spacing:.32em;color:#B8965C;text-transform:uppercase;margin-bottom:14px;}
.dlvz-zone-name{font-family:'Noto Serif TC',serif;font-weight:500;font-size:24px;letter-spacing:.16em;color:#6E2F38;margin-bottom:14px;}
.dlvz-zone-areas{font-family:'Noto Serif TC',serif;font-size:12.5px;color:#7A5D63;line-height:2;border-top:1px solid #D6C7AE;padding-top:14px;}
.dlvz-zone-price{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;color:#6E2F38;margin-top:18px;font-weight:500;}

.dlvz-zone-featured{background:#6E2F38;color:#F0D2A0;border-color:#6E2F38;}
.dlvz-zone-featured .dlvz-zone-label{color:#E0BC8B;}
.dlvz-zone-featured .dlvz-zone-name{color:#FCF4E5;}
.dlvz-zone-featured .dlvz-zone-areas{color:#C9AE85;border-top-color:rgba(212,168,98,.3);}
.dlvz-zone-featured .dlvz-zone-price{color:#F0D2A0;}

.dlvz-foot{text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:#7A5D63;margin-top:36px;}

@media (max-width:900px){
  .dlvz-wrap{padding:70px 6vw;}
  .dlvz-strip{grid-template-columns:repeat(2,1fr);gap:12px;}
  .dlvz-zone{padding:24px 16px;}
  .dlvz-zone-name{font-size:20px;}
  .dlvz-zone-price{font-size:20px;}
}
/* END_SECTION:home-delivery-zones-v2a */

/* START_SECTION:home-gift-card-v2a (INDEX:17) */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500&family=Cormorant+SC:wght@400;500&family=Noto+Serif+TC:wght@300;400;500&display=swap');

.gftc-wrap{
  background:linear-gradient(135deg,#6E2F38 0%,#3F1820 100%);
  padding:110px 6vw;color:#F0D2A0;
}
.gftc-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1340px;margin:0 auto;}
.gftc-eyebrow{
  font-family:'Cormorant SC',serif;font-size:11px;letter-spacing:.42em;
  color:#F0D2A0;text-transform:uppercase;margin-bottom:18px;
}
.gftc-title{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;
  font-size:clamp(40px,5vw,72px);color:#FCF4E5;line-height:1.1;margin-bottom:24px;
}
.gftc-title em{color:#F0D2A0;}
.gftc-cn{
  display:block;font-family:'Noto Serif TC',serif;font-style:normal;font-weight:400;
  font-size:.42em;letter-spacing:.32em;color:#F0D2A0;margin-top:18px;
}
.gftc-body{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(15px,1.3vw,18px);line-height:1.7;color:#E8D7B5;margin-bottom:30px;
}
.gftc-body em{display:block;margin-top:14px;}
.gftc-cta{
  display:inline-flex;align-items:center;gap:14px;padding:20px 40px;
  background:#E0BC8B;color:#1A0E0E;font-family:'Noto Serif TC',serif;font-weight:500;
  font-size:14px;letter-spacing:.24em;text-decoration:none;transition:background .3s;
}
.gftc-cta:hover{background:#F0D2A0;}

.gftc-right{display:flex;justify-content:center;align-items:center;}
.gftc-card{
  width:min(480px,90%);aspect-ratio:8/5;
  background:#FCF4E5;color:#6E2F38;
  border:2px solid #F0D2A0;padding:42px 36px;position:relative;
  box-shadow:18px 18px 0 rgba(63,24,32,.4);
  transform:rotate(-3deg);transition:transform .35s;
}
.gftc-card:hover{transform:rotate(0deg);}
.gftc-card::before{content:"";position:absolute;inset:10px;border:0.5px solid #B8965C;opacity:.4;pointer-events:none;}
.gftc-card-ribbon{
  font-family:'Cormorant SC',serif;font-size:10px;letter-spacing:.42em;
  color:#B8965C;margin-bottom:14px;text-transform:uppercase;
}
.gftc-card-brand{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(32px,3.5vw,42px);
  font-weight:500;color:#6E2F38;line-height:1;
}
.gftc-card-sub{
  display:block;font-family:'Noto Serif TC',serif;font-style:normal;
  font-size:.30em;letter-spacing:.32em;color:#B8965C;margin-top:14px;font-weight:400;
}
.gftc-card-amount{
  position:absolute;bottom:28px;left:36px;right:36px;
  display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding-top:14px;border-top:1px solid #B8965C;
}
.gftc-card-v{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:32px;color:#6E2F38;font-weight:500;}
.gftc-card-l{font-family:'Cormorant SC',serif;font-size:9px;letter-spacing:.32em;color:#B8965C;text-transform:uppercase;text-align:right;}

@media (max-width:900px){
  .gftc-wrap{padding:72px 6vw;}
  .gftc-grid{grid-template-columns:1fr;gap:50px;}
  .gftc-card{width:min(400px,100%);transform:rotate(-2deg);}
  .gftc-card-v{font-size:24px;}
}
/* END_SECTION:home-gift-card-v2a */

/* START_SECTION:home-hero-cinematic-v2a (INDEX:18) */
.hcv-wrap{
  position:relative;
  width:100%;
  height:calc(100vh - 67px);
  min-height:540px;
  max-height:820px;
  overflow:hidden;
  background:#0e0a0a;
}
.hcv-bg{position:absolute;inset:0;}
.hcv-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:saturate(1.05);
  animation:hcvImgIn 1.6s cubic-bezier(.22,1,.36,1) both, hcvKenBurns 22s ease-out 1.6s forwards;
  transform-origin:center center;
}
@keyframes hcvImgIn{
  0%{opacity:0;transform:scale(1.04);filter:saturate(.85) brightness(.78);}
  100%{opacity:1;transform:scale(1);filter:saturate(1.05) brightness(1);}
}
@keyframes hcvKenBurns{
  0%{transform:scale(1);}
  100%{transform:scale(1.06);}
}
.hcv-bg::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at center,transparent 0%,transparent 40%,rgba(8,5,5,0.35) 100%);
  pointer-events:none;
}
.hcv-content{
  position:absolute;inset:0;
  z-index:2;
  pointer-events:none;
}
.hcv-stack{
  position:absolute;
  top:50%;left:60px;
  transform:translateY(-50%);
  max-width:680px;
}
.hcv-title{
  font-family:'Cormorant Garamond','Noto Serif TC',serif;
  font-weight:400;
  font-size:clamp(40px,5.8vw,84px);
  letter-spacing:.005em;
  color:#E8D7B5;
  text-shadow:0 4px 30px rgba(0,0,0,0.6);
  margin:0;
  line-height:1.08;
  text-align:left;
  opacity:0;
  transform:translateY(28px);
  animation:hcvFadeUp 1.6s cubic-bezier(.22,1,.36,1) .8s forwards;
}
@keyframes hcvFadeUp{
  0%{opacity:0;transform:translateY(28px);filter:blur(6px);}
  100%{opacity:1;transform:translateY(0);filter:blur(0);}
}
.hcv-title em{
  font-style:italic;font-weight:400;
  color:#F0DDB8;
}
.hcv-cn{
  font-family:'Noto Serif TC','Songti TC',serif;
  font-weight:400;
  font-size:clamp(14px,1.25vw,18px);
  letter-spacing:.42em;
  color:#C9AE85;
  margin:28px 0 0;
  text-shadow:0 2px 12px rgba(0,0,0,0.5);
  padding-left:.42em;
  text-align:left;
  opacity:0;
  transform:translateY(18px);
  animation:hcvFadeUp 1.4s cubic-bezier(.22,1,.36,1) 1.6s forwards;
}

/* Mobile · M4 swap · CN 上 + EN 下 · 兩者 center · top/bottom split */
@media (max-width:900px){
  .hcv-wrap{
    height:auto;min-height:680px;
    aspect-ratio:9/16;
    max-height:none;
  }
  .hcv-stack{
    /* unset desktop stack positioning · use absolute children instead */
    position:static;
    inset:auto;
    transform:none;
    max-width:none;
    left:auto;top:auto;
  }
  .hcv-title{
    position:absolute !important;
    bottom:110px !important;
    left:50% !important;
    top:auto !important;
    transform:translateX(-50%) !important;
    font-size:clamp(34px,11vw,48px) !important;
    line-height:1.06 !important;
    text-align:center !important;
    width:90% !important;
    margin:0 !important;
  }
  .hcv-cn{
    position:absolute !important;
    top:84px !important;
    left:50% !important;
    bottom:auto !important;
    transform:translateX(-50%) !important;
    font-size:13px !important;
    letter-spacing:.5em !important;
    margin:0 !important;
    padding-left:.5em !important;
    text-align:center !important;
  }
}
/* END_SECTION:home-hero-cinematic-v2a */

/* START_SECTION:home-manifesto-v2a (INDEX:19) */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500&family=Cormorant+SC:wght@400;500&family=Noto+Serif+TC:wght@300;400;500&display=swap');

.mfst-wrap{
  position:relative;
  width:100%;
  min-height:680px;
  height:75vh;
  max-height:840px;
  overflow:hidden;
  background:#1a0e0e;
  isolation:isolate;
}

/* Image background + ken-burns slow zoom */
.mfst-bg{position:absolute;inset:0;z-index:0;}
.mfst-img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center right;
  display:block;
  filter:saturate(1.02);
  animation:mfstImgIn 1.6s cubic-bezier(.22,1,.36,1) both,
            mfstKenBurns 26s ease-out 1.6s forwards;
  transform-origin:65% center;
}
@keyframes mfstImgIn{
  0%{opacity:0;transform:scale(1.06);filter:saturate(.82) brightness(.74);}
  100%{opacity:1;transform:scale(1);filter:saturate(1.02) brightness(1);}
}
@keyframes mfstKenBurns{
  0%{transform:scale(1) translateX(0);}
  100%{transform:scale(1.08) translateX(-3%);}
}

/* Left-side gradient scrim for text legibility */
.mfst-scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,
    rgba(20,8,10,0.78) 0%,
    rgba(20,8,10,0.62) 22%,
    rgba(20,8,10,0.30) 48%,
    rgba(20,8,10,0.0) 72%);
  pointer-events:none;
}

/* Content (left aligned) */
.mfst-content{
  position:relative;z-index:2;
  max-width:1340px;
  margin:0 auto;
  padding:9vh 6vw;
  height:100%;
  display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;text-align:left;
  color:#FCF4E5;
}

.mfst-eyebrow{
  font-family:'Cormorant SC',serif;
  font-size:clamp(12px,0.95vw,14px);
  letter-spacing:.42em;
  color:#E0BC8B;
  text-transform:uppercase;
  margin-bottom:30px;
  opacity:0;
  animation:mfstFadeUp 1.4s cubic-bezier(.22,1,.36,1) .7s forwards;
}

.mfst-quote{
  max-width:760px;
  margin-bottom:34px;
}
.mfst-quote .mfst-en{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(34px,4.6vw,68px);
  line-height:1.18;
  letter-spacing:.005em;
  color:#FCF4E5;
  text-shadow:0 4px 30px rgba(0,0,0,.55);
  opacity:0;
  transform:translateY(28px);
  filter:blur(8px);
  animation:mfstFadeUpBlur 1.6s cubic-bezier(.22,1,.36,1) 1s forwards;
}
.mfst-quote .mfst-cn{
  display:block;
  font-family:'Noto Serif TC','Songti TC',serif;
  font-weight:400;
  font-size:clamp(14px,1.15vw,18px);
  letter-spacing:.36em;
  color:#E8D7B5;
  margin-top:28px;
  text-shadow:0 2px 12px rgba(0,0,0,.5);
  padding-left:.36em;
  opacity:0;
  animation:mfstFadeUp 1.4s cubic-bezier(.22,1,.36,1) 1.8s forwards;
}

.mfst-rule{
  display:block;
  width:60px;height:1px;
  background:#D4A862;
  margin-bottom:22px;
  opacity:0;
  animation:mfstScaleX 1.2s cubic-bezier(.22,1,.36,1) 2.2s forwards;
  transform-origin:left;
}

.mfst-cite{
  display:block;
  font-family:'Cormorant SC',serif;
  font-style:normal;
  font-size:clamp(11px,0.85vw,13px);
  letter-spacing:.4em;
  color:#D4A862;
  text-transform:uppercase;
  opacity:0;
  animation:mfstFadeUp 1.4s cubic-bezier(.22,1,.36,1) 2.4s forwards;
}
.mfst-cite-cn{
  display:inline;
  font-family:'Noto Serif TC',serif;
  letter-spacing:.28em;
  color:#A8845E;
  font-size:.85em;
  text-transform:none;
  margin-left:14px;
  padding-left:14px;
  border-left:1px solid rgba(212,168,98,.5);
}

@keyframes mfstFadeUp{
  0%{opacity:0;transform:translateY(18px);}
  100%{opacity:1;transform:translateY(0);}
}
@keyframes mfstFadeUpBlur{
  0%{opacity:0;transform:translateY(28px);filter:blur(8px);}
  100%{opacity:1;transform:translateY(0);filter:blur(0);}
}
@keyframes mfstScaleX{
  0%{opacity:0;transform:scaleX(0);}
  100%{opacity:.85;transform:scaleX(1);}
}

/* Mobile · ratio adjustments + tighten scrim */
@media (max-width:900px){
  .mfst-wrap{
    height:auto;min-height:560px;
    aspect-ratio:9/13;max-height:none;
  }
  .mfst-img{object-position:center top;}
  .mfst-scrim{
    background:linear-gradient(180deg,
      rgba(20,8,10,0.35) 0%,
      rgba(20,8,10,0.55) 45%,
      rgba(20,8,10,0.82) 100%);
  }
  .mfst-content{
    justify-content:flex-end;
    padding:8vh 6vw 12vh;
  }
  .mfst-eyebrow{margin-bottom:18px;font-size:10.5px;letter-spacing:.32em;}
  .mfst-quote .mfst-en{font-size:clamp(26px,7.4vw,42px);}
  .mfst-quote .mfst-cn{font-size:12.5px;letter-spacing:.28em;margin-top:18px;}
  .mfst-rule{width:48px;margin-bottom:16px;}
  .mfst-cite{font-size:10px;letter-spacing:.32em;}
  .mfst-cite-cn{display:block;margin-left:0;padding-left:0;border-left:0;margin-top:6px;}
}
/* END_SECTION:home-manifesto-v2a */