/* ============================================================
   版型布局切換 — 由後台切換,客人看不到切換功能
   透過 <html data-layout="..."> 生效
   topnav = 預設頂部橫向(不需覆蓋,用 style.css 原樣式)
   sidebar = 左側直向側邊欄(以下 CSS 把頂部 nav 變成左側欄)
   純 CSS 轉換,不動任何 HTML,好維護
   ============================================================ */

@media (min-width: 861px) {
  /* ===== 側邊欄布局(桌機)===== */
  [data-layout="sidebar"] .nav {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 232px;
    flex-direction: column;
    align-items: stretch;
    padding: 1.2rem 0;
    overflow-y: auto;
    border-bottom: none;
    border-right: 1px solid var(--line);
    background: var(--surface);
    z-index: 100;
  }
  /* 品牌 logo 移到側欄頂部 */
  [data-layout="sidebar"] .brand {
    padding: 0 1.4rem 1rem;
    margin-bottom: .6rem;
    border-bottom: 1px solid var(--line);
    font-size: 1.15rem;
  }
  /* 購物車/漢堡快捷列在側欄不需要 */
  [data-layout="sidebar"] .nav-quick { display: none; }
  /* 選單改直向堆疊,始終展開 */
  [data-layout="sidebar"] .nav-links {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: .1rem;
    padding: 0 .6rem;
    position: static;
    background: none;
    box-shadow: none;
    max-height: none;
    width: auto;
  }
  [data-layout="sidebar"] .nav-links a,
  [data-layout="sidebar"] .nav-links .link-btn {
    display: block;
    width: 100%;
    text-align: left;
    padding: .6rem .9rem;
    border-radius: var(--r-sm);
    font-size: .92rem;
    transition: background .15s;
  }
  [data-layout="sidebar"] .nav-links a:hover,
  [data-layout="sidebar"] .nav-links .link-btn:hover {
    background: var(--surface2);
  }
  [data-layout="sidebar"] .nav-links form.inline { width: 100%; }
  [data-layout="sidebar"] .nav-links form.inline .link-btn { text-align: left; }
  /* 主內容區右移,讓出側欄空間 */
  [data-layout="sidebar"] main.container,
  [data-layout="sidebar"] .container {
    margin-left: 232px;
    max-width: calc(100% - 232px - 3rem);
  }
  /* VIP 跑馬燈也要右移對齊內容 */
  [data-layout="sidebar"] .vip-marquee { margin-left: 232px; }
  /* flash 訊息對齊 */
  [data-layout="sidebar"] .flash { margin-left: 232px; }
}

/* 手機版:側邊欄布局退回原本的頂部漢堡選單(側欄在小螢幕不實用) */
@media (max-width: 860px) {
  [data-layout="sidebar"] .nav { position: relative; }
  [data-layout="sidebar"] main.container { margin-left: 0; }
}

/* ============================================================
   追加版型(第 3~6 版)
   ============================================================ */

@media (min-width: 861px) {

  /* ===== 右側欄 sidebar-right(側欄在右邊,左側欄的鏡像)===== */
  [data-layout="sidebar-right"] .nav {
    position: fixed; top: 0; right: 0; bottom: 0; left: auto;
    width: 232px; flex-direction: column; align-items: stretch;
    padding: 1.2rem 0; overflow-y: auto;
    border-bottom: none; border-left: 1px solid var(--line);
    background: var(--surface); z-index: 100;
  }
  [data-layout="sidebar-right"] .brand {
    padding: 0 1.4rem 1rem; margin-bottom: .6rem;
    border-bottom: 1px solid var(--line); font-size: 1.15rem;
  }
  [data-layout="sidebar-right"] .nav-quick { display: none; }
  [data-layout="sidebar-right"] .nav-links {
    display: flex !important; flex-direction: column; align-items: stretch;
    gap: .1rem; padding: 0 .6rem; position: static; background: none;
    box-shadow: none; max-height: none; width: auto;
  }
  [data-layout="sidebar-right"] .nav-links a,
  [data-layout="sidebar-right"] .nav-links .link-btn {
    display: block; width: 100%; text-align: left;
    padding: .6rem .9rem; border-radius: var(--r-sm); font-size: .92rem;
  }
  [data-layout="sidebar-right"] .nav-links a:hover { background: var(--surface2); }
  [data-layout="sidebar-right"] .nav-links form.inline { width: 100%; }
  [data-layout="sidebar-right"] main.container,
  [data-layout="sidebar-right"] .container { margin-right: 232px; max-width: calc(100% - 232px - 3rem); }
  [data-layout="sidebar-right"] .vip-marquee { margin-right: 232px; }

  /* ===== 膠囊置中 capsule(選單濃縮成漂浮圓角膠囊,置中懸浮)===== */
  [data-layout="capsule"] .nav {
    position: fixed; top: 1rem; left: 50%; transform: translateX(-50%);
    width: auto; max-width: 92%; border-radius: var(--r-pill);
    border: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 88%, transparent);
    backdrop-filter: blur(12px); padding: .4rem .8rem;
    box-shadow: 0 8px 30px -8px rgba(0,0,0,.5); z-index: 100;
    gap: .3rem;
  }
  [data-layout="capsule"] body { padding-top: 4.5rem; }
  [data-layout="capsule"] .brand { font-size: 1rem; padding-right: .5rem; }
  [data-layout="capsule"] .nav-links a,
  [data-layout="capsule"] .nav-links .link-btn { font-size: .85rem; padding: .35rem .6rem; border-radius: var(--r-pill); }
  [data-layout="capsule"] main.container { margin-top: 2rem; }

  /* ===== 雙欄緊湊 compact(左側窄圖示欄)===== */
  [data-layout="compact"] .nav {
    position: fixed; top: 0; left: 0; bottom: 0; width: 168px;
    flex-direction: column; align-items: stretch; padding: 1rem 0;
    overflow-y: auto; border-bottom: none; border-right: 1px solid var(--line);
    background: var(--surface2); z-index: 100;
  }
  [data-layout="compact"] .brand { padding: 0 1rem .8rem; font-size: 1rem; border-bottom: 1px solid var(--line); margin-bottom: .5rem; }
  [data-layout="compact"] .nav-quick { display: none; }
  [data-layout="compact"] .nav-links {
    display: flex !important; flex-direction: column; align-items: stretch;
    gap: 0; padding: 0 .4rem; position: static; background: none; box-shadow: none; max-height: none; width: auto;
  }
  [data-layout="compact"] .nav-links a,
  [data-layout="compact"] .nav-links .link-btn {
    display: block; width: 100%; text-align: left; padding: .5rem .7rem;
    border-radius: var(--r-sm); font-size: .82rem;
  }
  [data-layout="compact"] .nav-links a:hover { background: var(--surface3); }
  [data-layout="compact"] .nav-links form.inline { width: 100%; }
  [data-layout="compact"] main.container,
  [data-layout="compact"] .container { margin-left: 168px; max-width: calc(100% - 168px - 2rem); }
  [data-layout="compact"] .vip-marquee { margin-left: 168px; }

  /* ===== 大字置頂 hero-top(大 logo 置中 + 選單在下)===== */
  [data-layout="hero-top"] .nav {
    flex-direction: column; align-items: center; padding: 1.4rem 1rem .6rem; gap: .8rem;
  }
  [data-layout="hero-top"] .brand { font-size: 1.8rem; letter-spacing: .05em; }
  [data-layout="hero-top"] .nav-quick { position: absolute; top: 1rem; right: 1.2rem; }
  [data-layout="hero-top"] .nav-links { justify-content: center; flex-wrap: wrap; }
  [data-layout="hero-top"] .nav-links a { font-size: .9rem; }
}

/* 手機版:所有側欄類版型都退回頂部漢堡(小螢幕側欄不實用) */
@media (max-width: 860px) {
  [data-layout="sidebar-right"] .nav,
  [data-layout="compact"] .nav { position: relative; width: auto; }
  [data-layout="sidebar-right"] main.container,
  [data-layout="compact"] main.container { margin-left: 0; margin-right: 0; }
  [data-layout="capsule"] .nav { position: relative; left: auto; transform: none; width: auto; max-width: none; border-radius: 0; backdrop-filter: none; }
  [data-layout="capsule"] body { padding-top: 0; }
}
