:root {
  --ec-primary: #8a5b3c;
  --ec-secondary: #4a4437;
  --ec-accent: #a8875a;
  --ec-bg: #faf7f0;
  --ec-text: #35302a;
  --ec-font: inherit;
  --ec-heading-font: inherit;
  --ec-font-stack: 'Noto Sans JP', 'Helvetica Neue', Helvetica, sans-serif;
  --ec-header-bg: #fdfaf4;
  --ec-section-bg: #f1e9dc;
  --ec-card-bg: #fffdf8;
  --ec-tab-bg: #fffdf8;
  --ec-footer-bg: #3f382e;
  --ec-btn-radius: 6px;
  --ec-cart-btn-bg: #8a5b3c;
  --ec-cart-btn-color: #ffffff;
  --ec-cart-btn-radius: 8px;
  --ec-cart-btn-font-size: 13px;
  --ec-cart-btn-shadow: none;
  --ec-cart-btn-border: 0 solid transparent;
  --ec-fav-color: #c6bfae;
  --ec-fav-active-color: #a8674f;
  --ec-fav-size: 34px;
  --ec-fav-icon-size: 21px;
  --ec-fav-radius: 50%;
  --ec-card-border-color: #e4dccb;
  --ec-card-border-width: 1px;
  --ec-card-radius: 12px;
  --ec-card-shadow: 0 2px 8px rgba(0,0,0,.06);
  --ec-card-hover-shadow: 0 6px 20px rgba(0,0,0,.12);
  --ec-card-hover-transform: none;
  --ec-card-hover-border: #e4dccb;
  --ec-simple-min-w: 280px;
  --ec-detail-min-w: 200px;
  --ec-simple-desc-display: block;
  --ec-detail-desc-display: block;
  --ec-img-max-w: 1200px;
  --ec-img-fit: contain;
  --ec-img-bg: #f6f1e6;
  --ec-burger-display: flex;
  --ec-header-height: 64px;
  --ec-logo-height: 48px;
  --ec-nav-font-size: 14px;
  --ec-header-text: #4a4437;
  --ec-nav-color: #5c5449;
  --ec-header-accent: #8a5b3c;
  --ec-soft-bg: #f4efe5;
  --ec-border-color: #d6cdbb;
  --ec-muted: #8a8175;
  --ec-sub-text: #5c5449;
  --ec-topbar-bg: #4a4437;
  --ec-topbar-color: #ddd4c3;
  --ec-footer-text: #a39887;
  --ec-footer-heading: #ddd4c3;
  --ec-hero-overlay: 0.4;
  --ec-card-border: #e4dccb;
}

body { font-family: var(--ec-font); }
h1, h2, h3, h4, h5, h6 { font-family: var(--ec-heading-font); }


/* ─── 背景色 ─────────────────────────────────────────── */
.ec-header { background: var(--ec-header-bg) !important; }
.ec-footer { background: var(--ec-footer-bg) !important; }
.ec-page-bg { background: var(--ec-section-bg) !important; }
.ec-tabpanel { background: var(--ec-tab-bg) !important; }

/* ─── 商品カード枠 ───────────────────────────────────── */
.ec-card {
  background: var(--ec-card-bg) !important;
  border: var(--ec-card-border-width) solid var(--ec-card-border-color) !important;
  border-radius: var(--ec-card-radius) !important;
  box-shadow: var(--ec-card-shadow) !important;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.ec-card:hover {
  box-shadow: var(--ec-card-hover-shadow) !important;
  transform: var(--ec-card-hover-transform);
  border-color: var(--ec-card-hover-border) !important;
}

/* ─── カード幅（シンプル / 詳細） ───────────────────── */
.ec-grid[data-mode="simple"] { grid-template-columns: repeat(auto-fill, minmax(var(--ec-simple-min-w), 1fr)) !important; }
.ec-grid[data-mode="detail"] { grid-template-columns: repeat(auto-fill, minmax(var(--ec-detail-min-w), 1fr)) !important; }
.ec-grid[data-mode="simple"] .ec-card-desc { display: var(--ec-simple-desc-display) !important; }
.ec-grid[data-mode="detail"] .ec-card-desc { display: var(--ec-detail-desc-display) !important; }

/* ─── カートに入れるボタン ─────────────────────────── */
.ec-cart-btn {
  background: var(--ec-cart-btn-bg) !important;
  color: var(--ec-cart-btn-color) !important;
  border-radius: var(--ec-cart-btn-radius) !important;
  font-size: var(--ec-cart-btn-font-size) !important;
  box-shadow: var(--ec-cart-btn-shadow) !important;
  border: var(--ec-cart-btn-border) !important;
}
.ec-cart-btn.is-added { background: #4caf50 !important; color: #fff !important; }
.ec-cart-btn:disabled { opacity: .5 !important; }

/* ─── お気に入り（ハート）ボタン ───────────────────── */
.ec-fav-btn {
  width: var(--ec-fav-size) !important;
  height: var(--ec-fav-size) !important;
  border-radius: var(--ec-fav-radius) !important;
  color: var(--ec-fav-color) !important;
}
.ec-fav-btn[data-active="1"] { color: var(--ec-fav-active-color) !important; }
.ec-fav-btn img, .ec-fav-btn svg { width: var(--ec-fav-icon-size) !important; height: var(--ec-fav-icon-size) !important; }

/* ─── 商品ページのメイン画像（欠けないように） ─────── */
.ec-main-image { max-width: var(--ec-img-max-w) !important; margin: 0 auto; }
.ec-main-image .ec-gallery-slide {
  height: auto !important;
  aspect-ratio: 1 / 1;
  background: var(--ec-img-bg) !important;
}
.ec-main-image .ec-gallery-slide img {
  object-fit: var(--ec-img-fit) !important;
  width: 100% !important;
  height: 100% !important;
}

/* ─── ハンバーガーメニュー ───────────────────────────── */
.btoc-burger { display: var(--ec-burger-display) !important; flex-direction: column; justify-content: center; }

