:root{
    --bg:#F7F3EE; --pink:#E5C1BC; --pink-lite:#F3E1DD; --pink-deep:#C99A93;
    --ink:#3B3630; --green:#96A588; --paper:#FFFFFF; --grey:#6E655B;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  /* 手機頂部（瀏海／status bar）都填粉紅 */
  html{background:var(--pink-lite);}
  body{font-family:'Noto Sans TC',sans-serif;background:var(--bg);color:var(--ink);line-height:1.7;
    padding-bottom:64px;
    /* 預留頂部固定 header 高度：公告帶(約38px)+ nav(66px)+ 安全區 */
    padding-top:calc(104px + env(safe-area-inset-top));}
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
  .wrap{max-width:1100px;margin:0 auto;padding:0 18px;}
  .script{font-family:'La Belle Aurore',cursive;}

  /* 公告 bar：Francfranc 風格。黑色粗體公告置中，維持上下輪播。 */
  .announce{
    background:var(--pink-lite);
    color:#111;
    overflow:hidden;
    padding-top:env(safe-area-inset-top);
    border-bottom:1px solid rgba(0,0,0,.08);
  }
  .announce-row{
    max-width:1100px;
    margin:0 auto;
    min-height:42px;
    padding:0 14px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .announce-window{
    width:min(68vw,620px);
    height:22px;
    overflow:hidden;
    position:relative;
    text-align:center;
  }
  .announce .track{
    display:flex;
    flex-direction:column;
    animation:marqueeVertical 12s ease-in-out infinite;
    will-change:transform;
  }
  .announce .track span{
    height:22px;
    line-height:22px;
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
    letter-spacing:0;
    font-weight:700;
    color:#111;
    text-align:center;
    text-decoration:none;
  }
  .announce-locale{
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    display:flex;
    align-items:center;
    gap:4px;
    font-size:10.8px;
    letter-spacing:.2px;
    white-space:nowrap;
    color:rgba(17,17,17,.68);
    font-weight:500;
  }
  .announce-locale .slash{opacity:.4;}
  @keyframes marqueeVertical{
    0%,22%   {transform:translateY(0);}
    30%,52%  {transform:translateY(-22px);}
    60%,82%  {transform:translateY(-44px);}
    90%,100% {transform:translateY(-66px);}
  }
  @media(max-width:620px){
    .announce-row{min-height:42px;padding:0 10px;}
    .announce-window{width:62vw;}
    .announce .track span{font-size:12px;}
    .announce-locale{right:10px;font-size:10.2px;}
  }
  @media(max-width:390px){
    .announce-window{width:59vw;}
    .announce .track span{font-size:11.5px;}
    .announce-locale{right:8px;font-size:9.8px;}
  }
  @media(prefers-reduced-motion:reduce){
    .announce .track{animation:none;}
  }

  header{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--paper);border-bottom:1px solid rgba(59,54,48,.08);}
  .nav{display:flex;align-items:center;justify-content:space-between;height:66px;}
  .logo{font-family:'La Belle Aurore',cursive;font-size:34px;line-height:1;color:var(--ink);}
  .logo small{font-family:'Noto Sans TC';font-size:10px;letter-spacing:3px;color:#7A5C57;display:block;margin-top:1px;}
  .nav-icons{display:flex;align-items:center;gap:20px;}
  @media(max-width:620px){.nav-icons{gap:13px;}}
  @media(max-width:390px){.nav-icons{gap:10px;}}
  .nav-icons a,.nav-icons button{background:none;border:none;cursor:pointer;color:var(--ink);display:flex;align-items:center;position:relative;}
  .nav-icons svg{width:23px;height:23px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .nav-icons a:hover svg,.nav-icons button:hover svg{stroke:var(--pink-deep);}

  /* 右下角漂浮式 WhatsApp（似 Francfranc chat 波），坐喺固定底 bar 之上 */
  .wa-float{position:fixed;right:16px;bottom:80px;z-index:65;width:56px;height:56px;border-radius:50%;
    background:var(--green);display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 14px rgba(59,54,48,.28);transition:background .2s,transform .2s;}
  .wa-float:hover{background:var(--pink-deep);transform:translateY(-2px);} /* hover 玫瑰粉 */
  .wa-float svg{width:30px;height:30px;fill:#fff;}
  .nav-icons .badge{position:absolute;top:-7px;right:-9px;background:var(--paper);color:var(--ink);font-size:10px;font-weight:500;min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 3px;box-shadow:0 1px 3px rgba(59,54,48,.15);}

  .searchbar{max-height:0;overflow:hidden;transition:.25s;background:var(--paper);}
  .searchbar.open{max-height:80px;}
  .searchbar .box{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid rgba(59,54,48,.12);margin:0 0 14px;padding:11px 16px;}
  .searchbar input{flex:1;border:none;outline:none;font-family:inherit;font-size:15px;color:var(--ink);background:none;}
  .searchbar svg{width:20px;height:20px;fill:none;stroke:var(--pink-deep);stroke-width:1.6;}

  .drawer{position:fixed;inset:0 auto 0 0;width:80%;max-width:320px;background:var(--paper);z-index:80;transform:translateX(-100%);transition:.28s;box-shadow:2px 0 20px rgba(59,54,48,.18);padding:24px 0;overflow-y:auto;}
  .drawer.open{transform:translateX(0);}
  .drawer .dhead{font-family:'La Belle Aurore',cursive;font-size:38px;color:var(--ink);padding:0 24px 18px;border-bottom:1px solid rgba(59,54,48,.1);}
  .drawer a{display:block;padding:15px 24px;font-size:16px;letter-spacing:2px;border-bottom:1px solid rgba(59,54,48,.06);}
  .drawer a:hover{background:var(--bg);color:var(--pink-deep);}
  .mask{position:fixed;inset:0;background:rgba(59,54,48,.4);z-index:75;opacity:0;pointer-events:none;transition:.28s;}
  .mask.open{opacity:1;pointer-events:auto;}

  /* ===== 2026-09-17 雙頁籤漢堡選單 ===== */
  body.drawer-open{overflow:hidden;}
  .drawer.drawer-v2{width:min(88vw,410px);max-width:410px;padding:0;overflow:hidden;display:flex;flex-direction:column;}
  .drawer-tabs{display:grid;grid-template-columns:1fr 1fr 58px;min-height:62px;border-bottom:1px solid rgba(59,54,48,.12);background:#fff;flex:0 0 auto;}
  .drawer-tab,.drawer-close{border:0;background:#f8f7f6;color:var(--ink);font:inherit;cursor:pointer;position:relative;}
  .drawer-tab{font-size:14px;letter-spacing:.12em;color:#62706e;}
  .drawer-tab.on{background:#fff;color:var(--ink);font-weight:500;}
  .drawer-tab.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--pink-deep);}
  .drawer-close{background:#fff;font-size:38px;font-weight:200;line-height:1;color:#59615f;}
  .drawer-panel{display:none;overflow-y:auto;overscroll-behavior:contain;flex:1;padding-bottom:calc(26px + env(safe-area-inset-bottom));}
  .drawer-panel.on{display:block;}
  .drawer-row{min-height:76px!important;padding:13px 22px!important;display:grid!important;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid rgba(59,54,48,.09)!important;letter-spacing:0!important;}
  .drawer-row.member-row{background:var(--pink-lite);}
  .drawer-row .drawer-icon{width:34px;height:34px;display:grid;place-items:center;color:#78827f;font-size:22px;font-style:normal;}
  .drawer-row b{display:block;font-size:15px;font-weight:500;letter-spacing:.04em;line-height:1.35;}
  .drawer-row small,.drawer-category small{display:block;font-size:9px;letter-spacing:.12em;color:#99908a;margin-top:3px;line-height:1.2;}
  .drawer-cart-count{font-style:normal;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--pink-deep);color:#fff;font-size:11px;}
  .drawer-logout{padding:16px 24px!important;color:var(--grey);font-size:13px!important;letter-spacing:.08em!important;}
  .drawer-category{border-bottom:1px solid rgba(59,54,48,.09);}
  .drawer-category-main{display:grid;grid-template-columns:1fr 56px;align-items:stretch;min-height:76px;}
  .drawer-category-main>a{padding:13px 0 13px 22px!important;border:0!important;display:grid!important;grid-template-columns:40px 1fr;gap:12px;align-items:center;letter-spacing:0!important;}
  .drawer-category-main>a b{font-size:15px;font-weight:500;letter-spacing:.03em;}
  .drawer-category-main>button{border:0;border-left:1px solid rgba(59,54,48,.06);background:#fff;color:#68716f;font-size:26px;font-weight:200;cursor:pointer;}
  .drawer-subcategories{padding:2px 22px 12px 74px;background:#fbf8f6;}
  .drawer-subcategories a{padding:12px 0!important;border-bottom:1px solid rgba(59,54,48,.07)!important;font-size:13px!important;letter-spacing:.04em!important;}
  .drawer-subcategories a:last-child{border-bottom:0!important;}
  @media(max-width:390px){
    .drawer.drawer-v2{width:91vw;}
    .drawer-tabs{grid-template-columns:1fr 1fr 54px;min-height:58px;}
    .drawer-tab{font-size:13px;letter-spacing:.08em;}
    .drawer-row,.drawer-category-main{min-height:70px!important;}
  }

  .hero-carousel{position:relative;margin-top:14px;}
  .slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;}
  .slides::-webkit-scrollbar{display:none;}
  .slide{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:1/1;max-height:520px;background:linear-gradient(135deg,#F1E6E0,#EAD9D3);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--pink-deep);}
  .slide img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
  .slide .ph{position:relative;z-index:1;text-align:center;}
  .slide .ph svg{width:46px;height:46px;stroke:currentColor;fill:none;stroke-width:1.3;margin:0 auto 10px;}
  .slide .ph .t{font-size:16px;letter-spacing:3px;}
  .slide .ph .s{font-size:12px;color:var(--grey);margin-top:4px;}
  .car-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--ink);z-index:3;border:none;cursor:pointer;}
  .car-arrow.l{left:10px;}.car-arrow.r{right:10px;}
  .dots{display:flex;gap:7px;justify-content:center;padding:14px 0 4px;}
  .dots span{width:7px;height:7px;border-radius:50%;background:var(--pink-deep);opacity:.35;}
  .dots span.on{opacity:1;}

  section{padding:52px 0;scroll-margin-top:calc(112px + env(safe-area-inset-top));}
  .hero-carousel{scroll-margin-top:calc(112px + env(safe-area-inset-top));}
  .sec-head{text-align:center;margin-bottom:34px;}
  /* 粉筆刷 highlight（淺粉紅、兩邊淡出、微斜、柔邊） */
  .sec-head h2{position:relative;display:inline-block;font-size:clamp(21px,4.2vw,29px);letter-spacing:4px;font-weight:400;line-height:1.6;color:#5A5049;padding:0 10px;z-index:0;}
  .sec-head h2::before{content:"";position:absolute;left:-2px;right:-2px;bottom:8%;height:42%;z-index:-1;
    background:var(--pink-lite);
    /* 兩邊淡出 + 粉筆質感 */
    -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),
      radial-gradient(circle at 20% 40%,#000 60%,transparent 61%),
      radial-gradient(circle at 70% 65%,#000 55%,transparent 56%);
    -webkit-mask-composite:source-over;
    mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
    transform:rotate(-1.2deg);border-radius:40% 60% 55% 45%/60% 50% 55% 45%;
    opacity:.9;filter:blur(.3px);}
  .sec-head .zh{display:block;font-size:14px;letter-spacing:3px;color:var(--grey);font-style:italic;margin-top:12px;}
  .sec-head .line{width:46px;height:2px;background:var(--pink-deep);margin:16px auto 0;}

  .cats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 10px;}
  .cat{text-align:center;padding:6px;}
  .cat .ibox{position:relative;aspect-ratio:1/1;background:transparent;display:flex;align-items:center;justify-content:center;margin-bottom:10px;transition:.2s;}
  .cat:hover .ibox{transform:translateY(-3px);}
  .cat .ibox svg{width:44%;height:44%;stroke:var(--pink-deep);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;}
  /* 透明細圖，置中留白邊，唔填滿唔裁切（似 Francfranc） */
  .cat .ibox img{position:absolute;inset:0;margin:auto;max-width:82%;max-height:82%;width:auto;height:auto;object-fit:contain;}
  .cat .t{font-size:14px;font-weight:500;letter-spacing:1px;}
  @media(max-width:520px){.cat .t{font-size:13px;}}

  .prods{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .prod{background:var(--paper);border:1px solid rgba(59,54,48,.1);overflow:hidden;display:flex;flex-direction:column;}
  .prod .imgbox{aspect-ratio:1/1;background:linear-gradient(135deg,#F1E6E0,#EDE5DA);position:relative;}
  .prod .imgbox img{width:100%;height:100%;object-fit:cover;}
  .prod .imgbox .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--pink-deep);font-size:12px;letter-spacing:1px;}
  .prod .imgbox .ph svg{width:32px;height:32px;stroke:currentColor;fill:none;stroke-width:1.4;}
  .prod .tagjp{position:absolute;top:9px;left:9px;background:var(--green);color:#fff;font-size:11px;letter-spacing:2px;padding:3px 9px;}
  .prod .tagjp.eu{background:var(--pink-deep);}
  .prod .info{padding:14px 14px 16px;display:flex;flex-direction:column;flex:1;}
  .prod .name{font-size:14px;font-weight:500;letter-spacing:1px;}
  .prod .price{font-size:16px;font-weight:700;margin-top:7px;}
  .prod .price small{font-size:11px;color:var(--grey);font-weight:400;margin-left:5px;}
  .prod .order{margin-top:12px;text-align:center;border:1.5px solid var(--ink);padding:8px 0;font-size:12px;letter-spacing:2px;transition:.2s;}
  .prod .order:hover{background:var(--ink);color:#fff;}
  @media(max-width:900px){.prods{grid-template-columns:repeat(2,1fr);}}
  .more-row{text-align:center;margin-top:34px;}

  /* ===== 影片區（9:16 直片） ===== */
  .video-sec{background:var(--paper);}
  .video-wrap{max-width:340px;margin:0 auto;}
  .video-frame{position:relative;aspect-ratio:9/16;background:linear-gradient(135deg,#F1E6E0,#EAD9D3);
    border:1px solid rgba(59,54,48,.1);overflow:hidden;border-radius:10px;}
  .video-frame video,.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:none;}
  .video-frame .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--pink-deep);text-align:center;padding:0 20px;}
  .video-frame .ph svg{width:52px;height:52px;stroke:currentColor;fill:none;stroke-width:1.3;}
  .video-frame .ph .t{font-size:16px;letter-spacing:3px;}
  .video-frame .ph .s{font-size:12px;color:var(--grey);line-height:1.6;}
  .btn{display:inline-block;padding:13px 32px;font-size:14px;letter-spacing:2px;border:1.5px solid var(--ink);transition:.2s;}
  .btn:hover{background:var(--ink);color:#fff;}

  .steps-sec{background:var(--paper);}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  .step{text-align:center;padding:0 6px;}
  .step .n{font-family:'La Belle Aurore',cursive;font-size:42px;color:var(--pink-deep);line-height:1;}
  .step .t{font-size:17px;font-weight:700;letter-spacing:2px;margin-top:10px;}
  .step .d{font-size:13px;color:var(--grey);margin-top:7px;}
  @media(max-width:820px){.steps{grid-template-columns:repeat(2,1fr);row-gap:34px;}}

  .whys{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .why{background:var(--paper);border-top:3px solid var(--pink);padding:24px 20px;}
  .why .t{font-size:16px;font-weight:700;letter-spacing:2px;}
  .why .d{font-size:13px;color:var(--grey);margin-top:9px;}
  @media(max-width:820px){.whys{grid-template-columns:1fr;}}

  .revs-sec{background:var(--paper);}
  .revs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .rev{background:var(--bg);padding:22px 20px;border:1px solid rgba(59,54,48,.08);}
  .rev .stars{color:var(--pink-deep);letter-spacing:3px;font-size:14px;}
  .rev p{font-size:13px;margin-top:10px;}
  .rev .who{font-size:12px;color:var(--grey);margin-top:12px;letter-spacing:1px;}
  @media(max-width:820px){.revs{grid-template-columns:1fr;}}

  .faq{max-width:760px;margin:0 auto;}
  details{background:var(--paper);border:1px solid rgba(59,54,48,.1);margin-bottom:11px;}
  summary{padding:16px 20px;font-size:15px;font-weight:500;letter-spacing:1px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
  summary::after{content:"＋";color:var(--pink-deep);font-size:18px;}
  details[open] summary::after{content:"－";}
  details .a{padding:0 20px 16px;font-size:13px;color:var(--grey);}

  footer{background:var(--pink-lite);color:var(--ink);padding:44px 0 30px;}
  .f-top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;}

  /* footer 上方大圖 + 遮罩（似 jolie femme collection 區） */
  .foot-banner{position:relative;min-height:300px;display:flex;align-items:center;justify-content:center;text-align:center;
    background:linear-gradient(135deg,#EAD9D3,#F1E6E0);overflow:hidden;}
  .foot-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
  .foot-banner .overlay{position:absolute;inset:0;background:rgba(59,54,48,.32);z-index:1;} /* 半透明遮罩 */
  .foot-banner .fb-inner{position:relative;z-index:2;color:#fff;padding:56px 24px;}
  .foot-banner h3{font-size:clamp(24px,5vw,34px);letter-spacing:3px;font-weight:400;line-height:1.4;}
  .foot-banner .zh{font-size:15px;letter-spacing:2px;font-style:italic;margin-top:12px;opacity:.92;}
  .foot-banner .fb-btn{display:inline-block;margin-top:26px;border:1.5px solid #fff;color:#fff;padding:12px 30px;font-size:14px;letter-spacing:2px;transition:.2s;}
  .foot-banner .fb-btn:hover{background:#fff;color:var(--ink);}
  .foot-banner .ph-note{position:relative;z-index:2;color:#fff;font-size:12px;letter-spacing:1px;opacity:.85;margin-top:10px;}
  .f-logo{font-family:'La Belle Aurore',cursive;font-size:34px;line-height:1;}
  .f-col .h{letter-spacing:2px;margin-bottom:11px;font-size:14px;font-weight:700;}
  .f-col a,.f-col p{display:block;margin-bottom:7px;font-size:13px;color:var(--grey);}
  .f-col a:hover{color:var(--pink-deep);}
  .pay{margin-top:34px;padding-top:24px;border-top:1px solid rgba(59,54,48,.12);}
  .pay .h{font-size:13px;letter-spacing:2px;font-weight:700;margin-bottom:12px;}
  .pay .chips{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
  /* 每個付款方式一個白底格；有圖出圖，冇圖出文字後備 */
  .pay .pm{background:var(--paper);border:1px solid rgba(59,54,48,.12);border-radius:6px;height:40px;min-width:60px;padding:0 12px;display:flex;align-items:center;justify-content:center;}
  .pay .pm img{height:22px;width:auto;object-fit:contain;}
  .pay .pm .txt{font-size:12px;font-weight:500;letter-spacing:.5px;color:var(--ink);white-space:nowrap;}
  .copy{margin-top:28px;text-align:center;font-size:12px;letter-spacing:1px;color:var(--grey);}

  .bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--paper);border-top:1px solid rgba(59,54,48,.12);height:64px;display:flex;box-shadow:0 -2px 12px rgba(59,54,48,.08);padding-bottom:env(safe-area-inset-bottom);}
  .bottom-bar a{flex:1;display:flex;align-items:center;justify-content:center;position:relative;color:var(--pink-deep);}
  .bottom-bar a + a::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:rgba(59,54,48,.12);}
  .bottom-bar svg{width:25px;height:25px;}
  .bottom-bar .stroke svg{fill:none;stroke:var(--pink-deep);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .bottom-bar .fill svg{fill:var(--pink-deep);}
  .bottom-bar a:active{background:rgba(201,154,147,.12);}

  /* 手機 Hero：避免首屏出現大片空白 */
  @media(max-width:620px){
    .hero,
    .hero-slider,
    .hero-slide{
      min-height:0 !important;
    }
    .hero img,
    .hero-slide img{
      display:block;
      width:100%;
      height:auto;
      aspect-ratio:4/5;
      object-fit:cover;
    }
  }


  /* 白色 Header 增加約兩行留白 */
  header .nav{padding-top:21px !important;padding-bottom:21px !important;}
  @media(max-width:620px){
    header .nav{min-height:102px !important;padding-top:21px !important;padding-bottom:21px !important;}
  }
  @media(max-width:390px){header .nav{min-height:100px !important;}}


  /* Header layout update：Logo / 搜尋 / 會員 / 漢堡置頂，白色區下方保留空間 */
  header .nav{
    min-height:118px !important;
    padding-top:14px !important;
    padding-bottom:0 !important;
    align-items:flex-start !important;
  }
  .logo,
  .logo.logo-image{
    align-self:flex-start !important;
    margin-top:0 !important;
  }
  .nav-icons{
    align-self:flex-start !important;
    margin-top:2px !important;
  }
  @media(max-width:620px){
    header .nav{
      min-height:118px !important;
      padding-top:13px !important;
      padding-bottom:0 !important;
      align-items:flex-start !important;
    }
    .logo,
    .logo.logo-image{
      align-self:flex-start !important;
      margin-top:0 !important;
    }
    .nav-icons{
      align-self:flex-start !important;
      margin-top:2px !important;
    }
  }
  @media(max-width:390px){
    header .nav{
      min-height:114px !important;
      padding-top:12px !important;
    }
  }

/* ===== 共用頁面內容區 ===== */
.site-page{max-width:1100px;margin:0 auto;padding:48px 18px 80px}
.site-page.narrow{max-width:520px}
.site-card{background:#fff;border:1px solid rgba(59,54,48,.1);padding:24px}
.site-title{font-size:28px;margin:0 0 20px}
.site-muted{color:var(--grey);font-size:13px}
.member-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:24px;border-bottom:1px solid #eee}
.member-tabs a{text-align:center;padding:12px;color:var(--grey)}
.member-tabs a.on{color:var(--ink);border-bottom:2px solid var(--pink-deep)}
.site-page label{display:block;font-size:13px;margin:13px 0 6px}
.site-page input{width:100%;padding:13px;border:1px solid #ddd;background:#fff;font:inherit}
.site-submit{width:100%;margin-top:20px;padding:14px;border:0;background:var(--ink);color:#fff;font:inherit;letter-spacing:2px;cursor:pointer}
.site-error{background:#fff2f2;color:#9d3d3d;padding:11px;margin-bottom:14px;font-size:13px}
.member-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
.member-panel{background:#fff;border:1px solid rgba(59,54,48,.1);padding:20px;margin-top:14px}
.member-num{font-size:27px;margin-top:6px}
.member-tier{display:inline-block;padding:5px 10px;background:var(--pink-lite);border-radius:999px}
.member-table{overflow:auto}
.member-table table{width:100%;min-width:560px;border-collapse:collapse}
.member-table th,.member-table td{text-align:left;padding:11px 8px;border-bottom:1px solid #eee;font-size:13px}
.faq-page{padding:64px 0 72px}
.faq-page .sec-head{margin-bottom:34px}
@media(max-width:640px){
  .member-summary{grid-template-columns:1fr}
  .site-page{padding-top:36px}
  .faq-page{padding:48px 0 64px}
}

/* ===== Storefront v1 ===== */
.product-page{max-width:1160px;margin:0 auto;padding:44px 18px 90px}
.product-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.75fr);gap:52px;align-items:start}
.product-media{position:relative;background:#f5ece7;aspect-ratio:1/1;overflow:hidden;display:grid;place-items:center}
.product-media img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2}
.product-placeholder{position:absolute;color:#c9938d;text-align:center;font-size:28px;letter-spacing:3px}.product-placeholder small{font-size:11px}
.product-tag,.eyebrow{font-size:11px;letter-spacing:2px;color:#bd837e;text-transform:uppercase}
.product-info h1{font-size:28px;line-height:1.35;margin:12px 0}.product-price{font-size:25px;font-weight:700;margin:16px 0 4px}.product-note{font-size:12px;color:var(--grey)}
.product-stock{margin:18px 0;font-size:12px}.product-stock.in{color:#507453}.product-stock.out{color:#9d5b5b}
.product-description{border-top:1px solid #eee;padding-top:20px;margin-top:20px;line-height:1.9;color:#5f5751;font-size:14px}
.qty-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eee;margin-top:22px;padding-top:18px}.qty-row select{width:86px;padding:10px;border:1px solid #ddd;background:white}
.buy-primary,.buy-secondary{display:block;width:100%;padding:15px 18px;margin-top:12px;border:1px solid #3b3630;font:inherit;letter-spacing:1.5px;text-align:center;cursor:pointer}
.buy-primary{background:#3b3630;color:white}.buy-secondary{background:white;color:#3b3630}.buy-primary:disabled,.buy-secondary:disabled{opacity:.4;cursor:not-allowed}
.product-service{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;font-size:11px;color:var(--grey)}
.listing-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.listing-head h1{margin:7px 0 0;font-size:30px}.listing-count,.checkout-secure{font-size:12px;color:var(--grey)}
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 14px}.shop-card{min-width:0}.shop-image{display:block;position:relative;aspect-ratio:1/1;background:#f5ece7;overflow:hidden;color:#c9938d}.shop-image img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.shop-ph{position:absolute;inset:0;display:grid;place-items:center;letter-spacing:2px}.shop-image b{position:absolute;z-index:3;inset:auto 10px 10px;background:#fff;padding:6px 9px;font-size:10px;color:#555}.shop-card.soldout .shop-image img{filter:grayscale(1);opacity:.55}
.shop-meta{display:grid;gap:6px;padding-top:10px}.shop-meta small{font-size:10px;color:#b98b86}.shop-meta a{color:#3b3630;font-size:13px}.shop-meta strong{font-size:13px}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding:16px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.shop-categories{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.shop-categories::-webkit-scrollbar{display:none}.shop-categories a{white-space:nowrap;border:1px solid #e7dcd7;padding:8px 13px;border-radius:999px;font-size:12px;background:#fff}.shop-categories a.on{background:var(--pink-lite);border-color:var(--pink-deep)}.shop-sort{display:flex;gap:8px;align-items:center;flex:0 0 auto}.shop-sort select{border:1px solid #ddd;background:#fff;padding:9px 32px 9px 11px;font:inherit;font-size:12px}.shop-empty{text-align:center;padding:64px 20px;background:#fff}.shop-pagination{display:flex;justify-content:center;gap:7px;margin-top:36px}.shop-pagination a{width:38px;height:38px;display:grid;place-items:center;border:1px solid #e5d9d4;background:#fff}.shop-pagination a.on{background:var(--ink);color:#fff}.content-hero{text-align:center;padding:58px 18px 34px}.content-hero .eyebrow{margin-bottom:10px}.content-hero h1{font-size:clamp(28px,5vw,42px);font-weight:500;letter-spacing:.06em}.content-hero p{max-width:660px;margin:14px auto 0;color:var(--grey);font-size:14px}.content-block-grid{max-width:900px;margin:0 auto;padding:0 18px 80px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.content-block{background:#fff;border:1px solid rgba(59,54,48,.1);padding:28px}.content-block .number{font-family:'La Belle Aurore',cursive;color:var(--pink-deep);font-size:32px}.content-block h2{font-size:18px;margin:8px 0}.content-block p{font-size:13px;color:var(--grey);line-height:1.9}.popular-intro{margin-bottom:26px}.popular-intro p{color:var(--grey);font-size:14px;margin-top:8px}
@media(max-width:720px){.shop-toolbar{align-items:stretch;flex-direction:column}.shop-sort select{width:100%}.shop-grid{grid-template-columns:repeat(2,1fr);gap:22px 10px}.content-block-grid{grid-template-columns:1fr}.content-hero{padding-top:42px}.listing-head{align-items:flex-start}.listing-count{white-space:nowrap}}
.cart-layout,.checkout-layout,.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.cart-summary,.checkout-summary{position:sticky;top:20px}
.cart-item{display:grid;grid-template-columns:112px 1fr auto;gap:18px;padding:18px 0;border-bottom:1px solid #eee}.cart-thumb{width:112px;aspect-ratio:1/1;background:#f5ece7;display:grid;place-items:center;color:#c9938d;overflow:hidden}.cart-thumb img{width:100%;height:100%;object-fit:cover}.cart-copy{display:grid;align-content:start;gap:8px}.cart-copy a{color:#3b3630}.cart-controls{display:flex;align-items:center;gap:8px;margin-top:8px}.cart-controls button{width:30px;height:30px;border:1px solid #ddd;background:white}.cart-controls .remove{width:auto;padding:0 8px;border:0;color:#999}.cart-line{font-weight:700}
.sum-row,.sum-total,.checkout-item{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eee}.sum-total{font-size:18px;border-bottom:0;border-top:1px solid #ddd;margin-top:8px;padding-top:18px}.continue-link{display:block;text-align:center;margin-top:15px;color:#777;text-decoration:underline}
.checkout-block{background:#fff;border:1px solid rgba(59,54,48,.1);padding:22px;margin-bottom:16px}.checkout-block h3,.checkout-summary h3{margin-top:0}.checkout-block label{display:block;font-size:12px;margin:10px 0 6px}.checkout-block input,.checkout-block textarea,.checkout-block select{width:100%;padding:12px;border:1px solid #ddd;font:inherit}.form-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.radio-card{display:flex!important;align-items:flex-start;gap:10px;border:1px solid #e4ded9;padding:13px!important;margin:9px 0!important;cursor:pointer}.radio-card input{width:auto!important;margin-top:4px}.radio-card span{display:grid;gap:2px}.radio-card small,.checkout-note{font-size:11px;color:#777;line-height:1.6}.payment-status{padding:8px 10px;background:#f7f2ef;font-size:12px}.pay-qr{display:block;max-width:220px;width:100%;margin:12px auto}.proof-ok{padding:12px;background:#eef7ea;color:#4b714e;margin-top:12px}.order-success{text-align:center}.order-check{width:62px;height:62px;border-radius:50%;background:#e8f2e5;display:grid;place-items:center;margin:0 auto 16px;font-size:28px;color:#507453}.order-layout{text-align:left;margin-top:30px}
@media(max-width:800px){.product-shell{grid-template-columns:1fr;gap:24px}.shop-grid{grid-template-columns:repeat(2,1fr)}.cart-layout,.checkout-layout,.order-layout{grid-template-columns:1fr}.cart-summary,.checkout-summary{position:static}.product-page{padding-top:24px}.cart-item{grid-template-columns:88px 1fr}.cart-thumb{width:88px}.cart-line{grid-column:2}.form-2{grid-template-columns:1fr}}


/* ===== Store UI polish 2026-09 ===== */
.product-page{background:#fbf8f4}
.product-shell{background:#fff;padding:26px;border:1px solid rgba(59,54,48,.08);box-shadow:0 8px 30px rgba(59,54,48,.035)}
.product-media{border-radius:2px;min-height:420px}
.product-info{padding:8px 6px 8px 4px}
.product-info h1{font-size:clamp(25px,3vw,34px);font-weight:500;letter-spacing:.2px}
.product-price{font-size:22px;font-weight:500}
.product-stock.in{display:inline-block;background:#eef4ea;padding:6px 10px;border-radius:999px}
.product-stock.out{display:inline-block;background:#f6eceb;padding:6px 10px;border-radius:999px}
.buy-primary,.buy-secondary{border-radius:0;min-height:50px;font-weight:500}
.buy-primary{background:#c9958e;border-color:#c9958e}
.buy-primary:hover{background:#b8847d;border-color:#b8847d}
.buy-secondary{background:#fff;border-color:#c9958e;color:#8f625d}
.product-service{border-top:1px solid #eee;padding-top:16px;justify-content:space-between}
.cart-page{background:#fbf8f4}
.cart-summary{border:1px solid rgba(59,54,48,.08);box-shadow:0 8px 30px rgba(59,54,48,.035)}
.cart-item{background:#fff;padding:16px;margin-bottom:10px;border:1px solid rgba(59,54,48,.08)}
.cart-item:last-child{border-bottom:1px solid rgba(59,54,48,.08)}
.bottom-bar .social-ig svg{fill:none!important;stroke:var(--pink-deep)!important;stroke-width:1.7!important;stroke-linecap:round;stroke-linejoin:round}
.bottom-bar .social-ig circle:last-child{fill:var(--pink-deep)!important;stroke:none!important}
.bottom-bar a[aria-label="購物袋"]{position:relative}
.bottom-bar a[aria-label="購物袋"]::after{
  content:attr(data-count);display:none;
}
@media(max-width:800px){
  .product-page{padding:18px 12px 82px}
  .product-shell{padding:0;display:block;background:transparent;border:0;box-shadow:none}
  .product-media{min-height:0;aspect-ratio:1/1;background:#f3e7e1;margin:0 -12px}
  .product-info{background:#fff;margin:0 -12px;padding:24px 18px 30px}
  .product-info h1{font-size:26px}
  .product-description{font-size:13px}
  .product-service{display:grid;grid-template-columns:1fr;gap:6px}
  .cart-page{padding-left:12px;padding-right:12px}
  .cart-item{grid-template-columns:84px minmax(0,1fr);gap:12px;padding:12px}
  .cart-thumb{width:84px}
  .cart-copy a{font-size:14px;line-height:1.45}
  .cart-line{grid-column:2;font-size:14px}
}


/* ===== Product Center V2 — 3:4 visual system ===== */
.shop-image{aspect-ratio:3/4}
.product-v2{background:#fbf8f4}
.product-v2 .product-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.78fr);gap:44px;align-items:start}
.product-gallery{min-width:0}
.product-main-media{aspect-ratio:3/4;background:#f3e7e1;overflow:hidden;display:grid;place-items:center}
.product-main-media img{width:100%;height:100%;object-fit:cover}
.product-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:9px}
.product-thumbs button{padding:0;border:1px solid transparent;background:#fff;aspect-ratio:3/4;overflow:hidden;cursor:pointer}
.product-thumbs button.on{border-color:#b8847d}.product-thumbs img{width:100%;height:100%;object-fit:cover}
.product-short{color:#6b615a;line-height:1.7;margin:7px 0 14px}
.product-arrival{font-size:12px;color:#6b615a;background:#faf2ef;padding:9px 11px;margin:10px 0}
.product-detail-grid{max-width:1160px;margin:26px auto 0;display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.product-detail-card,.product-geo,.product-faq{background:#fff;border:1px solid rgba(59,54,48,.08);padding:24px}
.product-detail-card h2,.product-geo h2,.product-faq h2{font-size:20px;margin:0 0 16px}
.product-detail-card h3{font-size:15px;margin:22px 0 8px}.product-detail-card ul{padding-left:20px;line-height:1.85}
.spec-list{margin:0}.spec-list>div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #eee}.spec-list dt{color:#8a7d74;font-size:12px}.spec-list dd{margin:0;font-size:13px}
.product-geo,.product-faq{max-width:1160px;margin:18px auto 0}.product-geo p{line-height:1.8}
.product-faq details{border-top:1px solid #eee;padding:14px 0}.product-faq summary{cursor:pointer;font-weight:500}.product-faq details div{padding-top:10px;color:#6b615a;line-height:1.8}
@media(max-width:800px){
 .product-v2 .product-shell{grid-template-columns:1fr;gap:0}
 .product-v2 .product-gallery{margin:0 -12px}
 .product-main-media{aspect-ratio:3/4}
 .product-thumbs{padding:0 12px;grid-template-columns:repeat(5,1fr)}
 .product-v2 .product-info{margin-top:14px}
 .product-detail-grid{grid-template-columns:1fr;margin:14px 0 0}
 .product-detail-card,.product-geo,.product-faq{margin-left:0;margin-right:0;padding:20px}
}

.prod .imgbox{aspect-ratio:3/4}.prod .imgbox img{position:relative;z-index:2}.prod .imgbox .ph{z-index:1}
.product-swipe-wrap{position:relative}.product-swipe-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#f3e7e1}.product-swipe-track::-webkit-scrollbar{display:none}.product-swipe-slide{flex:0 0 100%;aspect-ratio:3/4;scroll-snap-align:start;display:grid;place-items:center;overflow:hidden}.product-swipe-slide img{width:100%;height:100%;object-fit:cover}.gallery-dots{display:flex;justify-content:center;gap:7px;padding:11px 0}.gallery-dots button{width:7px;height:7px;border:0;border-radius:50%;background:#d7d3d0;padding:0}.gallery-dots button.on{background:#222}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:28px}.gallery-arrow.prev{left:12px}.gallery-arrow.next{right:12px}
.product-discovery{max-width:1160px;margin:20px auto 80px;padding:0 18px}.discovery-block{margin-top:34px}.discovery-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.discovery-head h2{font-size:27px;font-weight:500;margin:0}.discovery-head span{font-size:11px;color:#8d8179}.discovery-row{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:10px}.discovery-row::-webkit-scrollbar{display:none}.discovery-card{flex:0 0 clamp(190px,25vw,245px);scroll-snap-align:start;position:relative}.discovery-image{display:grid;place-items:center;aspect-ratio:3/4;overflow:hidden;background:#f3e7e1}.discovery-image img{width:100%;height:100%;object-fit:cover}.discovery-copy{display:grid;gap:6px;padding-top:10px}.discovery-copy a{color:#3b3630;font-size:13px}.discovery-add{position:absolute;right:9px;top:9px;width:34px;height:34px;border:0;border-radius:50%;background:#111;color:#fff;font-size:21px}
@media(max-width:800px){.gallery-arrow{display:none}.product-v2 .product-gallery{margin-left:-12px;margin-right:-12px}.product-discovery{padding:0 12px}.discovery-head h2{font-size:23px}.discovery-card{flex-basis:44vw;max-width:210px}}

.product-info-franc .product-submeta{font-size:11px;color:#8b8179;margin:2px 0 12px}
.product-service-list{border:1px solid #e7e1dc;border-radius:10px;overflow:hidden;margin:22px 0 20px;background:#fff}
.service-row{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid #eee}
.service-row:last-child{border-bottom:0}.service-icon{width:28px;height:28px;display:grid;place-items:center}.service-icon svg{width:24px;height:24px;fill:none;stroke:#2f2a26;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-row>div:last-child{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:8px}.service-row b{font-size:13px}.service-row span{font-size:12px;color:#5f5751;line-height:1.45}
.stock-row{grid-template-columns:22px 1fr}.stock-row>div:last-child{display:flex;gap:10px;align-items:center}.stock-dot{width:14px;height:14px;border-radius:50%}.stock-dot.in{background:#37b34a;box-shadow:0 0 0 5px #e6f6df}.stock-dot.low{background:#ef9f32;box-shadow:0 0 0 5px #fff2df}.stock-dot.sold{background:#d9534f;box-shadow:0 0 0 5px #fbe5e4}
.qty-franc{margin:22px 0 12px}.qty-franc label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}.qty-control{display:inline-grid;grid-template-columns:44px 52px 44px;border:1px solid #3b3630;height:46px}.qty-control button{border:0;background:#fff;font-size:20px}.qty-control span{display:grid;place-items:center;font-size:18px}
.shipping-note{font-size:11px;text-decoration:underline;margin:10px 0 7px}.franc-cart{background:#c9958e;border-color:#c9958e;color:#fff;font-weight:600}.franc-cart:hover{background:#bd867e;border-color:#bd867e}.franc-cart:disabled{background:#d8d2ce;border-color:#d8d2ce;color:#fff}
@media(max-width:800px){.service-row>div:last-child{grid-template-columns:92px 1fr}.product-service-list{margin-top:18px}.qty-control{grid-template-columns:42px 48px 42px}}

/* ===== Phase 2: Color Variant ===== */
.variant-picker{margin:20px 0 8px}.variant-picker-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.variant-picker-head b{font-size:14px}.variant-picker-head span{font-size:12px;color:#7d7068}
.variant-options{display:flex;gap:10px;overflow-x:auto;padding:2px 1px 7px;scrollbar-width:none}.variant-options::-webkit-scrollbar{display:none}
.variant-option{position:relative;flex:0 0 76px;width:76px;aspect-ratio:1/1;border:1px solid #ded6d1;background:#fff;padding:5px;display:grid;place-items:center;cursor:pointer;overflow:hidden}
.variant-option img{width:100%;height:100%;object-fit:contain}.variant-option span{font-size:11px;line-height:1.2}.variant-option.on{border:2px solid #c9958e;padding:4px}.variant-option.sold{opacity:.48}.variant-option i{position:absolute;left:3px;right:3px;bottom:3px;background:rgba(255,255,255,.9);font-style:normal;font-size:9px;color:#9d5b5b;padding:2px}
.cart-variant{display:block;font-size:11px;color:#8a7d74}

/* Service information: no visible table/box frame */
.product-service-list{border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
.service-row{border-bottom:0!important;padding:9px 0!important}
.service-row+.service-row{margin-top:3px}
@media(max-width:800px){.variant-option{flex-basis:70px;width:70px}}

.free-option-groups{display:grid;gap:18px;margin:20px 0 8px}.free-option-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.free-option-head b{font-size:14px}.free-option-head span{font-size:9px;color:#a16d68;border:1px solid #dec0bb;border-radius:999px;padding:2px 7px}.free-option-values{display:flex;gap:10px;flex-wrap:wrap}.free-option-value{min-width:84px;min-height:44px;padding:9px 18px;border:1px solid #3b3630;border-radius:999px;background:#fff;color:#3b3630;font:inherit;font-size:14px;cursor:pointer}.free-option-value.on{border:2px solid #c9958e;color:#8f625d;padding:8px 17px}.free-option-group.option-error .free-option-head b{color:#b64c4c}.free-option-group.option-error .free-option-values{outline:1px dashed #d97676;outline-offset:5px;border-radius:8px}@media(max-width:800px){.free-option-value{min-width:76px;min-height:42px;font-size:13px;padding:8px 16px}.free-option-value.on{padding:7px 15px}}

/* ===== Phase 3B: combo stock + Francfranc-inspired cart ===== */
.free-option-value.sold{opacity:.38;text-decoration:line-through;cursor:not-allowed}.stock-dot.pending{background:#b8b8b8;box-shadow:0 0 0 5px #eeeeee}
.cart-franc{max-width:980px;margin:0 auto;background:#fff}.cart-franc-head{text-align:center;padding:12px 0 28px}.cart-franc-head h1{font-size:38px;font-weight:500;margin:4px 0}.delivery-choice{padding:0 0 30px}.delivery-choice h3{font-size:16px;margin:0 0 14px}.delivery-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.delivery-choice-card{min-height:118px;border:1px solid #dedede;background:#fff;display:grid;place-items:center;align-content:center;gap:5px;padding:14px;cursor:pointer}.delivery-choice-card.on{background:#3c3937;color:#fff;border-color:#3c3937}.delivery-choice-card.disabled{opacity:.4;cursor:not-allowed}.delivery-choice-card b{font-size:16px}.delivery-choice-card small{font-size:10px;line-height:1.35}.delivery-big-icon{font-size:28px}.cart-items-franc{border-top:1px solid #222}.cart-franc-item{display:grid;grid-template-columns:180px minmax(0,1fr) 120px;gap:28px;padding:26px 0;border-bottom:1px solid #222;align-items:start}.cart-franc-thumb{width:180px;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;background:#faf7f4}.cart-franc-thumb img{width:100%;height:100%;object-fit:contain}.cart-franc-info{display:grid;gap:8px}.cart-franc-name{font-size:18px;color:#2f2a26;line-height:1.45}.cart-item-option{font-size:12px;color:#3d3936}.cart-franc-controls{display:flex;align-items:center;gap:14px;margin:6px 0}.cart-qty{height:42px;grid-template-columns:38px 42px 38px}.cart-remove{border:0;background:transparent;text-decoration:underline;font-size:12px;cursor:pointer}.cart-availability{font-size:12px;line-height:1.45}.cart-franc-price{text-align:right;font-size:18px}.cart-franc-summary{max-width:640px;margin-left:auto;padding:30px 0 70px}.cart-franc-summary .sum-row,.cart-franc-summary .sum-total{padding:12px 0;border:0}.cart-franc-summary .sum-total{font-size:20px;border-top:1px solid #222;margin-top:6px}.cart-login-note{text-align:center;font-size:11px;color:#756b65}.cart-checkout-btn{width:100%;min-height:58px;background:#c9958e;color:#fff;border:0;font-size:16px;font-weight:600;cursor:pointer;margin:12px 0}.cart-checkout-btn:hover{background:#bd867e}
@media(max-width:800px){.cart-franc{padding:0 14px}.cart-franc-head h1{font-size:34px}.delivery-choice-card{min-height:102px}.cart-franc-item{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:22px 0}.cart-franc-thumb{width:96px}.cart-franc-name{font-size:15px}.cart-franc-price{grid-column:2;text-align:left;font-size:16px}.cart-franc-summary{padding-bottom:36px}.cart-franc-controls{flex-wrap:wrap}.delivery-choice-grid{gap:8px}}


/* ===== Cart delivery icons refinement ===== */
.delivery-big-icon{
  width:42px;height:42px;display:grid;place-items:center;font-size:0
}
.delivery-big-icon svg{
  width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round
}
.delivery-choice-card{
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease
}
.delivery-choice-card:not(.disabled):active{transform:scale(.99)}
.delivery-choice-card.on .delivery-big-icon svg{stroke:#fff}
.delivery-choice-card:not(.on) .delivery-big-icon svg{stroke:#3c3937}

/* ===== Checkout member reminder ===== */
.checkout-member-reminder{
  display:grid;grid-template-columns:54px 1fr;gap:14px;
  padding:18px 20px;margin-bottom:18px;
  background:#fff8f6;border:1px solid #ead7d1;border-radius:14px
}
.checkout-member-icon{
  width:46px;height:46px;border-radius:50%;background:#f3dfda;
  display:grid;place-items:center;color:#8f625d
}
.checkout-member-icon svg{
  width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round
}
.checkout-member-copy strong{display:block;font-size:16px;margin-bottom:5px}
.checkout-member-copy p{margin:0 0 12px;font-size:12px;line-height:1.7;color:#6f645d}
.checkout-member-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.checkout-member-actions a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;padding:0 16px;background:#c9958e;color:#fff;
  border:1px solid #c9958e;border-radius:3px;font-size:13px;font-weight:600
}
.checkout-member-actions a.secondary{background:#fff;color:#6f514c}
.checkout-member-copy small{font-size:10px;color:#8d8179}
.checkout-signedin-note{
  margin-bottom:16px;padding:11px 14px;background:#f6f1ee;
  border-left:3px solid #c9958e;font-size:12px
}
@media(max-width:800px){
  .delivery-big-icon,.delivery-big-icon svg{width:38px;height:38px}
  .checkout-member-reminder{grid-template-columns:42px 1fr;padding:15px}
  .checkout-member-icon{width:38px;height:38px}
  .checkout-member-icon svg{width:23px;height:23px}
  .checkout-member-actions a{flex:1;min-width:120px}
}

/* ===== Homepage 1:1 transparent product cards + 特集 ===== */
.prod .imgbox{aspect-ratio:1/1!important;background:#fff!important}
.prod .imgbox img{width:100%;height:100%;object-fit:contain!important;padding:8%;box-sizing:border-box}
.shop-image{aspect-ratio:1/1!important}
.home-feature-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.home-feature-head h2{font-size:28px;margin:0;letter-spacing:1px}.home-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 18px}.home-feature-card{color:inherit;text-decoration:none;min-width:0}.home-feature-image{aspect-ratio:1/1;background:#f6f1ee;overflow:hidden;border-radius:10px}.home-feature-image img{width:100%;height:100%;object-fit:cover;display:block}.home-feature-title{font-size:15px;font-weight:600;line-height:1.45;margin-top:10px}.home-feature-sub{font-size:11px;color:#81766f;line-height:1.55;margin-top:4px}.home-features{padding:56px 0;background:#fff}
@media(max-width:800px){.home-feature-grid{grid-template-columns:repeat(2,1fr);gap:24px 14px}.home-feature-head h2{font-size:24px}.home-feature-title{font-size:13px}.home-features{padding:42px 0}.prod .imgbox img{padding:10%}}


/* ===== Homepage horizontal product rail — Francfranc inspired ===== */
.home-product-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.home-product-title h2{font-size:28px;font-weight:700;letter-spacing:1px;color:#2f2a26}
.home-product-title .zh{font-size:11px;letter-spacing:1.2px;color:#8b8179}
.home-product-all{color:#E55B8B;font-size:13px;font-weight:600;white-space:nowrap}
.home-product-all span{font-size:22px;vertical-align:-2px}
#hot .home-product-rail{display:flex;gap:22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 2px 14px}
#hot .home-product-rail::-webkit-scrollbar{display:none}
#hot .home-product-rail .prod{flex:0 0 clamp(180px,22vw,235px);scroll-snap-align:start;background:transparent;border:0}
#hot .home-product-rail .imgbox{aspect-ratio:1/1;background:transparent}
#hot .home-product-rail .imgbox img{object-fit:contain!important;background:transparent}
#hot .home-product-rail .prod .info{text-align:left;padding:10px 0 0}
#hot .home-product-rail .prod .name{text-align:left;font-size:14px;line-height:1.45;min-height:2.9em}
#hot .home-product-rail .prod .price{text-align:left;color:#E55B8B;font-size:17px;font-weight:500}
#hot .home-product-rail .prod .price small{color:#E55B8B}
@media(max-width:720px){
  #hot .home-product-rail{gap:14px;padding-right:18px}
  #hot .home-product-rail .prod{flex-basis:41vw;max-width:190px}
  .home-product-title h2{font-size:24px}
  .home-product-all{font-size:12px}
}
@media(max-width:390px){#hot .home-product-rail .prod{flex-basis:43vw}}


/* ===== Homepage/category unified horizontal product rail ===== */
#hot .product-rail-shell{position:relative}
#hot .home-product-rail{display:flex!important;gap:22px!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 2px 14px!important}
#hot .home-product-rail::-webkit-scrollbar{display:none}
#hot .home-product-rail .prod{flex:0 0 clamp(180px,22vw,235px)!important;scroll-snap-align:start}
#hot .home-product-rail .prod>a{width:100%;align-items:center!important;text-align:center!important}
#hot .home-product-rail .imgbox{width:100%!important}
#hot .home-product-rail .prod .info{width:100%!important;text-align:center!important;padding:10px 0 0!important}
#hot .home-product-rail .prod .name,#hot .home-product-rail .prod .price{width:100%!important;text-align:center!important}
#hot .product-rail-arrow{position:absolute;top:42%;transform:translateY(-50%);z-index:5;width:42px;height:42px;border-radius:50%;border:1px solid #ead7d1;background:rgba(255,255,255,.94);color:#b8847d;font-size:25px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px rgba(59,54,48,.06)}
#hot .product-rail-arrow.prev{left:-10px}
#hot .product-rail-arrow.next{right:-10px}
#hot .product-rail-arrow:hover{background:#fff4f1}
@media(max-width:720px){
  #hot .home-product-rail{gap:14px!important;padding-right:18px!important}
  #hot .home-product-rail .prod{flex:0 0 41vw!important;max-width:190px!important}
  #hot .product-rail-arrow{display:none!important}
}
@media(max-width:390px){#hot .home-product-rail .prod{flex-basis:43vw!important}}


/* ===== 2026-09 Header layout: menu left / logo centered / search+member right ===== */
header .nav.nav-centered{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:flex-start!important;
  position:relative;
}
.nav-menu-left{
  justify-self:start;
  align-self:flex-start;
  margin-top:2px;
  background:none;
  border:0;
  padding:0;
  color:var(--ink);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.nav-menu-left svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:var(--ink);
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nav-logo-center{
  justify-self:center!important;
  text-align:center;
  align-self:flex-start!important;
  margin-top:0!important;
}
.nav-logo-center small{
  text-align:center;
}
.nav-icons-right{
  justify-self:end!important;
  align-self:flex-start!important;
  margin-top:2px!important;
}
@media(max-width:620px){
  header .nav.nav-centered{
    grid-template-columns:1fr auto 1fr!important;
  }
  .nav-menu-left svg{width:24px;height:24px;}
  .nav-logo-center{font-size:31px!important;}
  .nav-icons-right{gap:13px!important;}
}

/* ===== Payment icons: self-contained, no image files required ===== */
.pay{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.pay .payment-icons{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.pay .payment-icons .pm{
  width:74px;
  min-width:74px;
  height:46px;
  padding:0 7px;
  border-radius:7px;
  background:#fff;
  border:1px solid rgba(59,54,48,.14);
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:3px;
  overflow:hidden;
}
.pm .brand{font-weight:800;font-size:17px;line-height:1;letter-spacing:-.5px;white-space:nowrap;}
.pm .brand-small{font-weight:600;font-size:11px;line-height:1;white-space:nowrap;}

.pm-visa{background:#1645c8!important;color:#fff!important;border-color:#1645c8!important;}
.pm-visa .brand{font-style:italic;font-size:20px;}

.pm-master{position:relative;background:#222!important;}
.pm-master .mc-red,.pm-master .mc-orange{
  width:27px;height:27px;border-radius:50%;display:block;position:relative;
}
.pm-master .mc-red{background:#ed1c24;margin-right:-10px;z-index:1;}
.pm-master .mc-orange{background:#f79e1b;opacity:.95;}

.pm-amex{background:#1f86d0!important;color:#fff!important;border-color:#1f86d0!important;}
.pm-amex .brand{font-size:18px;letter-spacing:-1px;}

.pm-apple{color:#111!important;}
.pm-apple .brand{font-size:18px;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.8px;}

.pm-bank{background:#efefef!important;}
.pm-bank .bank-card{
  width:44px;height:28px;border-radius:4px;background:#cfcfcf;position:relative;display:block;
  border:1px solid #bbb;
}
.pm-bank .bank-card::before{content:"";position:absolute;left:0;right:0;top:5px;height:6px;background:#777;}
.pm-bank .bank-card i{position:absolute;left:8px;bottom:6px;width:18px;height:4px;border-radius:3px;background:#fff;display:block;}

.pm-fps{color:#169c4a!important;}
.pm-fps .fps-mark{
  width:28px;height:28px;border-radius:50%;background:#19b34f;color:#fff;display:grid;place-items:center;font-size:19px;font-weight:800;
}
.pm-fps .brand-small{font-size:9px;color:#2a7d4a;}

.pm-payme{color:#d94d70!important;}
.pm-payme .payme-p{
  font-family:Georgia,serif;font-weight:700;font-style:italic;font-size:22px;line-height:1;
}
.pm-payme .brand-small{font-size:11px;color:#d94d70;}

@media(max-width:620px){
  .pay{
    margin-top:26px!important;
    padding-top:18px!important;
  }
  .pay .h{
    text-align:center;
    margin-bottom:12px!important;
  }
  .pay .payment-icons{
    justify-content:center!important;
    gap:8px!important;
  }
  .pay .payment-icons .pm{
    width:68px;
    min-width:68px;
    height:42px;
  }
}


/* ===== 2026-09-16 Header FIX v2 ===== */
header .nav.nav-centered{
  display:grid!important;
  grid-template-columns:52px 1fr 92px!important;
  align-items:start!important;
  position:relative!important;
}
header .nav.nav-centered .nav-menu-left{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  width:42px!important;
  height:42px!important;
  padding:8px!important;
  margin:0!important;
  justify-self:start!important;
  align-self:start!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  position:relative!important;
  z-index:20!important;
  cursor:pointer!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
header .nav.nav-centered .hamburger-bars{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  width:25px!important;
  height:18px!important;
}
header .nav.nav-centered .hamburger-bars i{
  display:block!important;
  width:25px!important;
  height:2px!important;
  border-radius:2px!important;
  background:var(--ink)!important;
  opacity:1!important;
}
header .nav.nav-centered .nav-logo-center{
  grid-column:2!important;
  justify-self:center!important;
  align-self:start!important;
  text-align:center!important;
  margin:0!important;
}
header .nav.nav-centered .nav-icons-right{
  grid-column:3!important;
  justify-self:end!important;
  align-self:start!important;
  display:flex!important;
  margin-top:2px!important;
}
@media(max-width:620px){
  header .nav.nav-centered{
    grid-template-columns:48px 1fr 86px!important;
  }
  header .nav.nav-centered .nav-menu-left{
    width:38px!important;height:38px!important;padding:7px!important;
  }
  header .nav.nav-centered .hamburger-bars{
    width:24px!important;height:17px!important;
  }
  header .nav.nav-centered .hamburger-bars i{width:24px!important;}
}

/* ===== Payment icons FIX v2: exactly 4 per row, centered ===== */
footer .pay{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
}
footer .pay .h{
  text-align:center!important;
}
footer .pay .payment-icons{
  width:min(100%, 350px)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  justify-content:center!important;
  align-items:center!important;
}
footer .pay .payment-icons .pm{
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  padding:0 5px!important;
  box-sizing:border-box!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.pm-apple .apple-pay{font-size:16px!important;}
.pm-kpay{color:#2d2d2d!important;background:#fff!important;}
.pm-kpay .kpay-k{
  display:grid;place-items:center;
  width:25px;height:25px;border-radius:7px;
  background:#e8b08f;color:#fff;font-weight:800;font-size:15px;
}
.pm-kpay .brand-small{font-size:11px;color:#2d2d2d;}
@media(max-width:620px){
  footer .pay .payment-icons{
    width:min(100%, 330px)!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
  }
  footer .pay .payment-icons .pm{
    height:44px!important;
  }
}


/* =========================================================
   2026-09-16 Homepage section spacing + Footer visual V3
   ========================================================= */

/* 會員限定服務、首頁大圖及 Footer 之間留白，避免三個區塊黐埋 */
.member-benefits-sec{
  margin-top:36px!important;
  margin-bottom:42px!important;
}
.member-benefits-sec + .foot-banner{
  margin-top:0!important;
}
.foot-banner{
  margin-bottom:38px!important;
}
footer.site-footer-v3{
  margin-top:0!important;
}

/* Footer 主體：簡潔、左右平衡 */
footer.site-footer-v3{
  background:var(--pink-lite)!important;
  color:var(--ink)!important;
  padding:46px 0 calc(34px + env(safe-area-inset-bottom))!important;
}
footer.site-footer-v3 .wrap{
  max-width:1120px!important;
}
footer.site-footer-v3 .footer-top-v3{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:48px!important;
  align-items:start!important;
  padding-bottom:30px!important;
}
footer.site-footer-v3 .footer-brand-v3{
  min-width:0;
}
footer.site-footer-v3 .f-logo{
  font-size:38px!important;
  line-height:1!important;
  margin:0!important;
}
footer.site-footer-v3 .footer-tagline-v3{
  margin:14px 0 0!important;
  color:var(--grey)!important;
  font-size:14px!important;
  letter-spacing:.04em!important;
}
footer.site-footer-v3 .footer-terms-v3{
  min-width:150px;
  text-align:left;
}
footer.site-footer-v3 .footer-terms-v3 .h{
  margin-bottom:14px!important;
}
footer.site-footer-v3 .footer-terms-v3 a{
  margin-bottom:10px!important;
  font-size:13px!important;
}

/* Payment：固定兩行，每行四個，大小完全一致 */
footer.site-footer-v3 .footer-pay-v3{
  margin-top:0!important;
  padding-top:28px!important;
  border-top:1px solid rgba(59,54,48,.12)!important;
}
footer.site-footer-v3 .footer-pay-v3 .h{
  text-align:center!important;
  margin-bottom:18px!important;
  font-size:14px!important;
  letter-spacing:2px!important;
}
footer.site-footer-v3 .payment-grid-v3{
  width:min(100%,520px)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
footer.site-footer-v3 .payment-card-v3{
  height:58px!important;
  min-width:0!important;
  padding:8px 10px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:1px solid rgba(59,54,48,.10)!important;
  border-radius:6px!important;
}
footer.site-footer-v3 .payment-card-v3 img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:88px!important;
  max-height:36px!important;
  object-fit:contain!important;
  margin:0 auto!important;
}

/* copyright / Produced by 統一置中 */
footer.site-footer-v3 .footer-meta-v3{
  margin-top:32px!important;
  padding-top:24px!important;
  border-top:1px solid rgba(59,54,48,.10)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  text-align:center!important;
}
footer.site-footer-v3 .footer-meta-v3 .copy{
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  font-size:11px!important;
  letter-spacing:1px!important;
}
footer.site-footer-v3 .produced-v3{
  color:var(--grey)!important;
  font-size:11px!important;
  letter-spacing:1.2px!important;
  text-align:center!important;
}

/* Mobile */
@media(max-width:620px){
  .member-benefits-sec{
    margin-top:26px!important;
    margin-bottom:30px!important;
  }
  .foot-banner{
    margin-bottom:28px!important;
  }

  footer.site-footer-v3{
    padding:36px 0 calc(94px + env(safe-area-inset-bottom))!important;
  }
  footer.site-footer-v3 .wrap{
    padding-left:24px!important;
    padding-right:24px!important;
  }
  footer.site-footer-v3 .footer-top-v3{
    grid-template-columns:minmax(0,1fr) minmax(120px,.72fr)!important;
    gap:24px!important;
    padding-bottom:26px!important;
  }
  footer.site-footer-v3 .f-logo{
    font-size:34px!important;
  }
  footer.site-footer-v3 .footer-tagline-v3{
    margin-top:12px!important;
    font-size:13px!important;
  }
  footer.site-footer-v3 .footer-terms-v3{
    min-width:0!important;
  }

  footer.site-footer-v3 .footer-pay-v3{
    padding-top:24px!important;
  }
  footer.site-footer-v3 .footer-pay-v3 .h{
    margin-bottom:16px!important;
  }
  footer.site-footer-v3 .payment-grid-v3{
    width:100%!important;
    max-width:360px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:9px!important;
  }
  footer.site-footer-v3 .payment-card-v3{
    height:49px!important;
    padding:7px!important;
  }
  footer.site-footer-v3 .payment-card-v3 img{
    max-width:68px!important;
    max-height:31px!important;
  }
  footer.site-footer-v3 .footer-meta-v3{
    margin-top:28px!important;
    padding-top:20px!important;
  }
}

/* 窄屏仍保持四個一行，但壓縮安全 */
@media(max-width:380px){
  footer.site-footer-v3 .wrap{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  footer.site-footer-v3 .footer-top-v3{
    gap:16px!important;
  }
  footer.site-footer-v3 .payment-grid-v3{
    gap:7px!important;
  }
  footer.site-footer-v3 .payment-card-v3{
    height:45px!important;
    padding:6px!important;
  }
}
