/* =========================================================
   HITO MACHI SHOP 子テーマ  site.css
   1. 基本（色・文字・角）   2. ヘッダー   3. メイン画像
   4. セクション共通        5. SEARCH      6. CATEGORY
   7. 商品カード            8. SHOP        9. FEATURE
   10. GUIDE                11. 出店の案内  12. フッター
   13. スマホ・タブレット    14〜 WooCommerce のページ
   ========================================================= */

/* ---------- 1. 基本 ---------- */
:root{
  --bg:#ffffff;
  --panel:#ffffff;
  --text:#141414;
  --text-mid:#555555;
  --text-lt:#8a8a8a;
  --accent:#141414;
  --accent-soft:#f3f2ef;
  --border:#e2e2e2;
  --radius:0px;
  --radius-sm:0px;
  --font:'Inter','Noto Sans JP','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  --hs-latin:'Inter','Helvetica Neue',Arial,sans-serif;
  --hs-max:1232px;
  --hs-wide:1320px;
  --hs-gutter:clamp(20px,5vw,60px);
  --hs-header-h:82px;
  /* 親テーマの .container（固定ページなど）の幅を、トップページの本文幅にそろえる */
  --max:calc(var(--hs-max) + var(--hs-gutter) * 2);
}
html{scroll-padding-top:calc(var(--hs-header-h) + 16px)}
body.hs-site{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.8;padding-bottom:0}
:where(body.hs-site) img{max-width:100%;height:auto}
.hs-icon{width:24px;height:24px;flex:0 0 auto;display:block}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.hs-skip{position:absolute;left:12px;top:-60px;z-index:300;background:var(--text);color:#fff;padding:10px 16px;font-size:13px}
.hs-skip:focus{top:12px}
.hs-site a:focus-visible,.hs-site button:focus-visible,.hs-site select:focus-visible,.hs-site input:focus-visible{outline:2px solid var(--text);outline-offset:2px}

/* 古いテーマのスマホ下部ナビは使わない */
.hs-site .bottom-nav{display:none!important}

/* ---------- 2. ヘッダー ---------- */
.hs-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid #efefef}
.admin-bar .hs-header{top:32px}
.hs-header-inner{max-width:none;margin:0 auto;padding:0 var(--hs-gutter);height:var(--hs-header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.hs-logo{font-family:var(--hs-latin);font-weight:800;font-size:26px;letter-spacing:.005em;line-height:1;color:var(--text);white-space:nowrap;justify-self:start}
.hs-nav{display:flex;align-items:center;gap:36px}
.hs-nav a{font-size:14.5px;font-weight:500;letter-spacing:.04em;color:var(--text);padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s}
.hs-nav a:hover,.hs-nav a.is-current{border-bottom-color:var(--text)}
.hs-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px}
.hs-action{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--text);border-radius:50%;transition:background .2s}
.hs-action:hover{background:#f3f3f3}
.hs-action .hs-icon{width:32px;height:32px;stroke-width:1.5}
.hs-cart-badge{position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--text);color:#fff;font-family:var(--hs-latin);font-size:10px;font-weight:700;line-height:17px;text-align:center}
.hs-hamburger{display:none}
.hs-search-panel{border-top:1px solid #efefef;background:#fff}
.hs-search-panel[hidden]{display:none}
.hs-search-mini{max-width:var(--hs-max);margin:0 auto;padding:16px var(--hs-gutter);display:flex;gap:0}
.hs-search-mini input{flex:1;min-width:0;height:50px;border:1px solid var(--border);border-right:0;padding:0 18px;font-size:15px;font-family:var(--font);background:#fff;border-radius:0;-webkit-appearance:none;appearance:none}
.hs-search-mini input:focus{outline:none;border-color:var(--text)}
.hs-search-mini button{height:50px;padding:0 28px;background:var(--text);color:#fff;font-size:14px;font-weight:700;letter-spacing:.06em}

.hs-drawer .drawer-nav a{font-weight:500}
.hs-drawer .drawer-login{border-radius:0}

/* ---------- 3. メイン画像 ---------- */
.hs-hero{position:relative;display:flex;align-items:center;min-height:clamp(420px,34vw,560px);background:#3b4436 var(--hs-hero-image) center/cover no-repeat;color:#fff;overflow:hidden}
.hs-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,8,.62) 0%,rgba(10,12,8,.38) 34%,rgba(10,12,8,.06) 62%,rgba(10,12,8,0) 100%)}
.hs-hero.is-noimage{background-image:linear-gradient(120deg,#2f382c 0%,#56604a 55%,#8b8f74 100%)}
.hs-hero-inner{position:relative;width:100%;margin:0;padding:56px var(--hs-gutter);padding-left:calc(var(--hs-gutter) + 24px)}
.hs-hero-eyebrow{font-family:var(--hs-latin);font-size:22px;font-weight:600;letter-spacing:.04em;margin:0 0 14px}
.hs-hero-title{font-size:clamp(36px,3.9vw,58px);font-weight:700;line-height:1.38;letter-spacing:.04em;margin:0 0 22px}
.hs-hero-lead{font-size:18px;line-height:1.9;letter-spacing:.06em;margin:0;opacity:.95}
.hs-hero-eyebrow,.hs-hero-title,.hs-hero-lead{text-shadow:0 1px 12px rgba(0,0,0,.25)}

/* ---------- 4. セクション共通 ---------- */
.hs-container{max-width:calc(var(--hs-max) + var(--hs-gutter) * 2);margin:0 auto;padding:0 var(--hs-gutter)}
.hs-sec{margin:112px 0 0}
.hs-sec:first-child{margin-top:88px}
.hs-sec-head{margin:0 0 30px}
.hs-sec-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 14px;margin:0;line-height:1.2}
.hs-sec-en{font-family:var(--hs-latin);font-size:36px;font-weight:700;letter-spacing:-.005em}
.hs-sec-slash{position:relative;width:22px;height:22px;align-self:center;margin-top:4px}
.hs-sec-slash::before{content:"";position:absolute;left:50%;top:0;width:1px;height:100%;background:var(--text);transform:rotate(38deg)}
.hs-sec-ja{font-size:20px;font-weight:700;letter-spacing:.06em}
.hs-sec-lead{margin:12px 0 0;font-size:16px;color:var(--text-lt);letter-spacing:.04em;line-height:1.7}

.hs-grid{list-style:none;margin:0;padding:0;display:grid;gap:32px 30px}
.hs-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.hs-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 34px}
.hs-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}

.hs-media{position:relative;display:block;overflow:hidden;background:var(--accent-soft)}
.hs-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
a:hover .hs-media img{transform:scale(1.035)}
.hs-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#efede8,#e2e3dd);color:#9a9a92;font-size:13px;font-weight:700;letter-spacing:.06em}

/* ---------- 5. SEARCH ---------- */
.hs-search-form{display:grid;grid-template-columns:330px 306px minmax(0,1fr) 192px;height:62px;border:1px solid var(--border)}
.hs-select{position:relative;border-right:1px solid var(--border)}
.hs-select select{width:100%;height:100%;border:0;background:#fff;padding:0 46px 0 28px;font-family:var(--font);font-size:16px;font-weight:500;color:var(--text);cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:0}
.hs-select .hs-icon{position:absolute;right:20px;top:50%;width:18px;height:18px;margin-top:-9px;pointer-events:none;stroke-width:2}
.hs-search-word{border:0;padding:0 30px;font-family:var(--font);font-size:16px;color:var(--text);background:#fff;min-width:0;border-radius:0;-webkit-appearance:none;appearance:none}
.hs-search-word::placeholder{color:#a5a5a5}
.hs-search-word:focus,.hs-select select:focus{outline:2px solid var(--text);outline-offset:-2px}
.hs-search-btn{margin:-1px -1px -1px 0;background:var(--text);color:#fff;font-size:17px;font-weight:700;letter-spacing:.1em;transition:opacity .2s}
.hs-search-btn:hover{opacity:.85}

/* ---------- 6. CATEGORY ---------- */
.hs-cat{display:block;text-align:center}
.hs-media-cat{aspect-ratio:285/222}
.hs-cat-name{display:block;margin-top:18px;font-size:18px;font-weight:700;letter-spacing:.06em}

/* ---------- 7. 商品カード ---------- */
.hs-card{position:relative}
.hs-card-link{display:block;color:var(--text)}
.hs-media-product{aspect-ratio:286/262}
.hs-card-maker{display:block;margin-top:18px;font-size:15px;color:var(--text-mid);letter-spacing:.04em;line-height:1.5}
.hs-card-title{display:block;margin-top:6px;font-size:17px;font-weight:500;letter-spacing:.04em;line-height:1.6}
.hs-card-price{display:block;margin-top:10px;font-family:var(--hs-latin);font-size:22px;font-weight:700;letter-spacing:.01em}
.hs-card-price del{color:var(--text-lt);font-size:15px;font-weight:500;margin-right:6px}
.hs-card-price ins{text-decoration:none}
.hs-card-price .woocommerce-Price-currencySymbol{margin-right:1px}
.hs-card-badge{position:absolute;left:10px;top:10px;background:rgba(20,20,20,.86);color:#fff;font-family:var(--hs-latin);font-size:10px;font-weight:700;letter-spacing:.08em;padding:4px 8px}
.hs-wish{position:absolute;top:10px;right:10px;margin:0}
.hs-wish-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));transition:transform .2s}
.hs-wish-btn .hs-icon{width:30px;height:30px;stroke-width:1.5}
.hs-wish-btn:hover{transform:scale(1.08)}
.hs-wish-btn.is-wish .hs-icon{fill:#fff}

/* ---------- 8. SHOP ---------- */
.hs-shop{display:block;color:var(--text)}
.hs-media-shop{aspect-ratio:388/208}
.hs-shop-body{position:relative;display:block;padding:18px 40px 0 2px}
.hs-shop-name{display:block;font-size:18px;font-weight:700;letter-spacing:.04em;line-height:1.5}
.hs-shop-sub{display:block;margin-top:4px;font-size:15px;color:var(--text-lt);letter-spacing:.04em}
.hs-shop-body .hs-icon{position:absolute;right:4px;top:22px;width:26px;height:26px;transition:transform .2s}
.hs-shop:hover .hs-shop-body .hs-icon{transform:translateX(4px)}

/* ---------- 9. FEATURE ---------- */
.hs-feature-list{gap:30px}
.hs-feature{position:relative;display:block;aspect-ratio:600/262;overflow:hidden;background:#2f342c;color:#fff}
.hs-feature.is-noimage{background:linear-gradient(120deg,#30362e,#6a6f5c)}
.hs-feature-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.hs-feature:hover .hs-feature-img{transform:scale(1.035)}
.hs-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.5) 100%)}
.hs-feature-body{position:absolute;left:26px;right:80px;bottom:24px;z-index:1}
.hs-feature-title{display:block;font-size:30px;font-weight:700;letter-spacing:.06em;line-height:1.4;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.hs-feature-lead{display:block;margin-top:8px;font-size:16px;letter-spacing:.04em;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-feature > .hs-icon{position:absolute;right:26px;bottom:28px;z-index:1;width:26px;height:26px;color:#fff;transition:transform .2s}
.hs-feature:hover > .hs-icon{transform:translateX(4px)}

/* ---------- 10. GUIDE ---------- */
.hs-guide-list{list-style:none;margin:0;padding:6px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.hs-guide-list li + li{border-left:1px solid var(--border)}
.hs-guide-item{display:flex;flex-direction:column;align-items:center;gap:14px;padding:12px 10px 10px;color:var(--text);text-align:center}
.hs-guide-item .hs-icon:first-child{width:56px;height:56px;stroke-width:1.3}
.hs-guide-label{font-size:19px;font-weight:700;letter-spacing:.06em}
.hs-guide-item .hs-icon:last-child{width:24px;height:24px;transition:transform .2s}
.hs-guide-item:hover .hs-icon:last-child{transform:translateX(4px)}

/* ---------- 11. 出店の案内 ---------- */
.hs-cta{position:relative;max-width:1720px;margin:72px auto 0;width:calc(100% - var(--hs-gutter) * 2);min-height:260px;display:flex;align-items:center;background:#0f0f0f;color:#fff;overflow:hidden}
.hs-cta-img{position:absolute;top:0;right:0;width:68%;height:100%;object-fit:cover}
.hs-cta::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0d0d0d 0%,#0d0d0d 34%,rgba(13,13,13,.72) 52%,rgba(13,13,13,.25) 78%,rgba(13,13,13,.35) 100%)}
.hs-cta.is-noimage::before{background:linear-gradient(110deg,#0d0d0d 0%,#1f211d 60%,#353a30 100%)}
.hs-cta-inner{position:relative;z-index:2;width:100%;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:44px 52px 44px 82px}
.hs-cta-title{margin:0 0 14px;font-size:32px;font-weight:700;line-height:1.65;letter-spacing:.06em}
.hs-cta-lead{margin:0;font-size:17px;letter-spacing:.05em;opacity:.92}
.hs-cta-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:22px;min-width:240px;justify-content:center;height:64px;padding:0 30px;border:1.5px solid #fff;color:#fff;font-size:18px;font-weight:700;letter-spacing:.08em;transition:background .2s,color .2s}
.hs-cta-btn .hs-icon{width:20px;height:20px}
.hs-cta-btn:hover{background:#fff;color:var(--text)}

/* ---------- 12. フッター ---------- */
.hs-footer{margin-top:72px;padding:0 0 36px}
.hs-footer-inner{max-width:none;margin:0 auto;padding:30px var(--hs-gutter) 0;display:flex;align-items:center;gap:54px}
.hs-footer-logo{font-size:26px}
.hs-footer-nav,.hs-footer-legal{display:flex;flex-wrap:wrap;gap:6px 28px}
.hs-footer-nav a{font-size:14px;font-weight:500;letter-spacing:.04em;color:var(--text)}
.hs-footer-legal{margin-left:auto}
.hs-footer-legal a{font-size:13.5px;color:var(--text-mid);letter-spacing:.03em}
.hs-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.hs-copy{max-width:none;margin:18px auto 0;padding:0 var(--hs-gutter);font-family:var(--hs-latin);font-size:11px;color:var(--text-lt);letter-spacing:.04em}

/* ---------- 13. スマホ・タブレット ---------- */
@media (max-width:1180px){
  .hs-search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) 160px}
  .hs-nav{gap:22px}
}
@media (max-width:980px){
  :root{--hs-header-h:64px}
  .hs-header-inner{grid-template-columns:1fr auto;gap:8px}
  .hs-nav{display:none}
  .hs-logo{font-size:18px}
  .hs-actions{gap:2px}
  .hs-action .hs-icon{width:24px;height:24px}
  .hs-hamburger{display:flex;width:40px;height:40px;align-items:center;margin-left:2px}
  .hs-hamburger span{width:22px}
  .hs-sec{margin-top:76px}
  .hs-sec:first-child{margin-top:56px}
  .hs-sec-en{font-size:28px}
  .hs-sec-ja{font-size:15px}
  .hs-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
  .hs-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
  .hs-search-form{grid-template-columns:1fr 1fr;height:auto}
  .hs-select{height:56px;border-bottom:1px solid var(--border)}
  .hs-select:nth-child(2){border-right:0}
  .hs-search-word{grid-column:1 / -1;height:56px;border-bottom:1px solid var(--border)}
  .hs-search-btn{grid-column:1 / -1;height:56px;margin:0 -1px -1px}
  .hs-cta-inner{flex-direction:column;align-items:flex-start;padding:40px 32px}
  .hs-cta-img{width:100%;opacity:.55}
  .hs-cta::before{background:linear-gradient(180deg,rgba(13,13,13,.55) 0%,rgba(13,13,13,.85) 100%)}
  .hs-footer-inner{flex-wrap:wrap;gap:20px 32px}
  .hs-footer-legal{margin-left:0;width:100%}
}
@media (max-width:782px){
  .admin-bar .hs-header{top:46px}
}

/* 文字を大きくした分、タブレット・スマホでは控えめに */
@media (max-width:980px){
  .hs-logo,.hs-footer-logo{font-size:20px}
  .hs-action .hs-icon{width:26px;height:26px}
  .hs-hero-eyebrow{font-size:17px}
  .hs-hero-lead{font-size:16px}
  .hs-sec-lead{font-size:14px}
  .hs-cat-name{font-size:15px}
  .hs-card-maker{font-size:13px}
  .hs-card-title{font-size:15px}
  .hs-card-price{font-size:19px}
  .hs-shop-name{font-size:16px}
  .hs-shop-sub{font-size:13.5px}
  .hs-feature-title{font-size:24px}
  .hs-feature-lead{font-size:14px}
  .hs-guide-label{font-size:16px}
  .hs-cta-title{font-size:26px}
  .hs-cta-lead{font-size:15px}
  .hs-cta-btn{font-size:16px}
}
@media (max-width:640px){
  body.hs-site{font-size:14px}
  .hs-logo{font-size:17px}
  .hs-action,.hs-hamburger{width:38px;height:38px}
  .hs-header-inner{padding:0 14px 0 18px}
  .hs-hero{min-height:440px;align-items:flex-end;background-position:62% center}
  .hs-hero::before{background:linear-gradient(180deg,rgba(10,12,8,.05) 0%,rgba(10,12,8,.25) 40%,rgba(10,12,8,.72) 100%)}
  .hs-hero-inner{padding:40px 22px 36px}
  .hs-hero-eyebrow{font-size:13px;margin-bottom:10px}
  .hs-hero-title{font-size:32px;margin-bottom:14px}
  .hs-hero-lead{font-size:13.5px}
  .hs-sec{margin-top:64px}
  .hs-sec:first-child{margin-top:44px}
  .hs-sec-head{margin-bottom:20px}
  .hs-sec-en{font-size:25px}
  .hs-sec-slash{width:16px;height:16px}
  .hs-sec-ja{font-size:14px}
  .hs-sec-lead{font-size:12.5px}
  .hs-search-form{grid-template-columns:1fr}
  .hs-select{border-right:0}
  .hs-select select{padding-left:18px}
  .hs-search-word{padding:0 18px}
  .hs-cat-name{margin-top:10px;font-size:13.5px}
  .hs-card-maker{margin-top:10px;font-size:11.5px}
  .hs-card-title{font-size:13.5px;margin-top:3px}
  .hs-card-price{font-size:16px;margin-top:4px}
  .hs-wish{top:4px;right:4px}
  .hs-grid-3{grid-template-columns:1fr;gap:26px}
  .hs-grid-2{grid-template-columns:1fr;gap:16px}
  .hs-feature{aspect-ratio:16/9}
  .hs-feature-body{left:18px;right:56px;bottom:18px}
  .hs-feature-title{font-size:21px}
  .hs-feature-lead{font-size:13px}
  .hs-feature > .hs-icon{right:18px;bottom:20px}
  .hs-guide-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}
  .hs-guide-list li + li{border-left:0}
  .hs-guide-list li:nth-child(even){border-left:1px solid var(--border)}
  .hs-guide-list li:nth-child(n+3){border-top:1px solid var(--border)}
  .hs-guide-item{padding:22px 8px 18px;gap:10px}
  .hs-guide-item .hs-icon:first-child{width:38px;height:38px}
  .hs-guide-label{font-size:14px}
  .hs-cta{width:100%;margin-top:64px;min-height:0}
  .hs-cta-inner{padding:40px 22px}
  .hs-cta-title{font-size:22px}
  .hs-cta-lead{font-size:13px}
  .hs-cta-btn{width:100%;height:56px}
  .hs-footer{margin-top:44px}
  .hs-footer-inner{padding-top:26px}
  .hs-footer-logo{width:100%;font-size:19px}
}

/* ---------- 14. WooCommerce ページの外枠（テーマの .container と同じ幅・余白に） ---------- */
.woocommerce-page .app-content:not(:has(> .container)),
.woocommerce .app-content:not(:has(> .container)){
  max-width:var(--max);margin:0 auto;padding:0 var(--gutter);
}
.woocommerce-page .app-content{padding-bottom:20px}
/* テーマにサイドバーが無いため、WordPress 標準のウィジェット（検索・固定ページ一覧など）が出てしまうのを消す */
.woocommerce .app-content > #sidebar,
.woocommerce-page .app-content > #sidebar{display:none}

/* カート・購入手続き・マイアカウントは、テーマの本文枠（幅640px）を広げる */
.woocommerce-cart .detail-bio,
.woocommerce-checkout .detail-bio,
.woocommerce-account .detail-bio{max-width:none;color:var(--text);font-size:14px}

/* パンくず */
.woocommerce .woocommerce-breadcrumb{
  margin:26px 0 22px;font-size:11.5px;color:var(--text-lt);letter-spacing:.02em;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--text-mid)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--text)}

/* ---------- 15. ボタン・入力欄・お知らせ ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button{
  background:var(--panel);color:var(--text);border:1px solid var(--border);
  border-radius:var(--radius-sm);font-family:var(--font);font-size:13.5px;font-weight:700;
  line-height:1.4;padding:13px 24px;letter-spacing:.02em;transition:opacity .2s,background .2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:var(--accent-soft);color:var(--text)}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce button.single_add_to_cart_button,
.woocommerce .checkout-button{
  background:var(--text);color:var(--white);border-color:var(--text);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce .checkout-button:hover{background:var(--text);color:var(--white);opacity:.85}
.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled[disabled]{background:var(--text);color:var(--white);opacity:.35;padding:13px 24px}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label{font-size:12.5px;font-weight:600;color:var(--text-mid);line-height:1.6;margin-bottom:6px}
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row .input-text,
.woocommerce div.product form.cart .variations select,
.woocommerce .quantity .qty,
.woocommerce .woocommerce-ordering select{
  font-family:var(--font);font-size:14px;color:var(--text);background:var(--panel);
  border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;line-height:1.4;
}
.woocommerce form .form-row .input-text:focus,
.woocommerce div.product form.cart .variations select:focus,
.woocommerce .quantity .qty:focus{outline:none;border-color:var(--text)}
.woocommerce form .form-row .required{color:var(--danger)}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments{
  background:var(--panel);color:var(--text);border:1px solid var(--border);border-top:0;
  border-left:3px solid var(--text);border-radius:var(--radius-sm);
  font-size:13.5px;line-height:1.8;padding:14px 18px 14px 46px;margin:0 0 24px;
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--text);top:14px;left:18px}
.woocommerce-error{border-left-color:var(--danger)}
.woocommerce-error::before{color:var(--danger);top:14px;left:18px}
.woocommerce-message .button,.woocommerce-info .button{padding:8px 16px;font-size:12.5px}
.woocommerce-noreviews,p.no-comments{padding-left:18px}

/* ---------- 16. 商品ページ ---------- */
.woocommerce div.product{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px 56px;
  align-items:start;margin:0 0 56px;
}
.woocommerce div.product::before,.woocommerce div.product::after{display:none}
.woocommerce div.product > *{grid-column:1 / -1}
.woocommerce div.product > div.images,
.woocommerce #content div.product div.images{grid-column:1;float:none;width:auto;margin:0}
.woocommerce div.product > div.summary,
.woocommerce #content div.product div.summary{grid-column:2;float:none;width:auto;margin:0;padding-top:4px}
.woocommerce div.product > span.onsale{grid-column:1;grid-row:1;z-index:2;align-self:start;justify-self:start}

/* 画像 */
.woocommerce div.product div.images{position:relative}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{border-radius:var(--radius);overflow:hidden;background:var(--panel)}
.woocommerce div.product div.images .woocommerce-product-gallery__image > a > img:not(.zoomImg){width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:var(--panel)}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:10px;margin-top:12px}
.woocommerce div.product div.images .flex-control-thumbs li{width:72px !important;float:none !important}
.woocommerce div.product div.images .flex-control-thumbs li img{border-radius:var(--radius-sm);opacity:.55}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover{opacity:1}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
  top:14px;right:14px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);
  box-shadow:0 2px 8px rgba(0,0,0,.1);font-size:0;display:flex;align-items:center;justify-content:center;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after{display:none}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger img,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger img.emoji{display:none !important}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger span{display:none}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1d1d' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 20 20M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:18px;
}

/* 商品名・価格・説明 */
.woocommerce div.product .product_title{font-size:26px;font-weight:900;line-height:1.45;letter-spacing:.01em;margin:0 0 10px;padding:0;clear:none}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--text);font-size:20px;font-weight:700;margin:0 0 18px}
.woocommerce div.product p.price del,.woocommerce div.product span.price del{color:var(--text-lt);font-size:14px;opacity:1}
.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{text-decoration:none;font-weight:700}
.woocommerce div.product .woocommerce-product-details__short-description{
  font-size:13.5px;line-height:1.9;color:var(--text-mid);
  background:var(--accent-soft);border-radius:var(--radius-sm);padding:14px 18px;margin:0 0 24px;
}
.woocommerce div.product .woocommerce-product-details__short-description p{margin:0}
.woocommerce div.product .stock{font-size:12.5px;font-weight:700;color:var(--text-mid);margin:0 0 16px}
.woocommerce div.product .stock.out-of-stock{color:var(--danger)}
.woocommerce div.product .woocommerce-variation-price .price{font-size:18px;margin:0 0 8px}

/* サイズ選択・数量・カートに入れる */
.woocommerce div.product form.cart{margin:0 0 8px}
.woocommerce div.product form.cart .variations{width:100%;border:0;margin:0 0 18px;border-collapse:collapse}
.woocommerce div.product form.cart .variations tr{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td{display:block;padding:0;text-align:left;line-height:1.5;border:0}
.woocommerce div.product form.cart .variations th label{font-size:12.5px;font-weight:700;color:var(--text-mid)}
.woocommerce div.product form.cart .variations select{width:100%;max-width:320px;min-width:0;margin:0;
  appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c5a54' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px;
}
.woocommerce div.product form.cart .reset_variations{display:inline-block;font-size:12px;color:var(--text-lt);margin-top:8px;text-decoration:underline;text-underline-offset:3px}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form){display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.woocommerce div.product form.cart div.quantity{float:none;margin:0}
.woocommerce .quantity .qty{width:76px;height:50px;text-align:center;padding:0 8px}
.woocommerce div.product form.cart .button{float:none;flex:1;min-width:200px;height:50px;padding:0 24px;font-size:14.5px}

/* 商品コード・カテゴリー */
.woocommerce div.product .product_meta{
  font-size:12px;color:var(--text-lt);border-top:1px solid var(--border);padding-top:16px;margin-top:24px;
  display:flex;flex-direction:column;gap:4px;
}
.woocommerce div.product .product_meta .sku_wrapper:has(.sku:empty),
.woocommerce div.product .product_meta .sku_wrapper:has(.sku:is(:empty)){display:none}
.woocommerce div.product .product_meta a{color:var(--text-mid);text-decoration:underline;text-underline-offset:3px}

/* タブ（説明・追加情報） */
.woocommerce div.product .woocommerce-tabs{margin:12px 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;gap:28px;list-style:none;padding:0;margin:0 0 28px;border-bottom:1px solid var(--border);overflow:visible;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0 0 -1px;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:12px 2px;font-size:13.5px;font-weight:700;color:var(--text-lt);border-bottom:2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--text);border-bottom-color:var(--text)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:760px;margin:0;font-size:14px;line-height:2;color:var(--text)}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child{display:none}
.woocommerce div.product .woocommerce-tabs .panel p{margin:0 0 1.2em}
.woocommerce div.product .woocommerce-tabs .panel h3{font-size:16px;font-weight:700;margin:32px 0 10px}
.woocommerce div.product .woocommerce-tabs .panel ul{list-style:disc;padding-left:1.4em;margin:0 0 1.2em}
.woocommerce div.product .woocommerce-tabs .panel ol{padding-left:1.6em;margin:0 0 1.2em}
.woocommerce table.shop_attributes{border:0;border-top:1px solid var(--border);margin:0;max-width:560px}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td{border-bottom:1px solid var(--border);padding:12px 14px;font-size:13.5px;font-style:normal;background:none}
.woocommerce table.shop_attributes th{width:120px;font-weight:700;color:var(--text-mid);text-align:left}
.woocommerce table.shop_attributes td p{padding:0;margin:0}
.woocommerce table.shop_attributes tr:nth-child(even) th,
.woocommerce table.shop_attributes tr:nth-child(even) td{background:none}

/* 関連商品 */
.woocommerce .related.products,
.woocommerce .upsells.products{margin-top:20px}
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce .cross-sells > h2{font-size:19px;font-weight:700;margin:0 0 20px}

/* ---------- 17. 商品一覧（ショップ・カテゴリー・関連商品） ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:30px 22px;margin:0 0 32px;padding:0;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{float:none;width:auto !important;margin:0 !important;padding:0;text-align:left}
.woocommerce ul.products li.product > a img{
  width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-sm);background:var(--accent-soft);margin:0 0 12px;box-shadow:none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{font-size:13.5px;font-weight:600;line-height:1.6;padding:0;margin:0 0 4px;color:var(--text)}
.woocommerce ul.products li.product .price{color:var(--text);font-size:14px;font-weight:700;margin:0 0 10px}
.woocommerce ul.products li.product .button{margin-top:4px;padding:9px 16px;font-size:12.5px}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
  min-height:0;min-width:0;line-height:1.4;border-radius:4px;background:var(--text);color:var(--white);
  font-size:10px;font-weight:700;letter-spacing:.04em;padding:4px 9px;top:10px;left:10px;right:auto;margin:0;
}
.woocommerce .woocommerce-result-count{font-size:12px;color:var(--text-lt);margin:0 0 20px;line-height:44px}
.woocommerce .woocommerce-ordering{margin:0 0 20px}
.woocommerce .woocommerce-ordering select{padding:10px 36px 10px 14px;font-size:12.5px}
.woocommerce .woocommerce-products-header__title.page-title,
.woocommerce-products-header h1{font-size:22px;font-weight:900;margin:0 0 20px}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);
  border-radius:var(--radius-sm);background:var(--panel);font-size:13px;color:var(--text);padding:0 10px;
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--text);color:var(--white);border-color:var(--text)}

/* ---------- 18. カート・購入手続き（ブロック） ---------- */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{font-family:var(--font);color:var(--text)}
.wc-block-components-button:not(.is-link){
  background:var(--text) !important;color:var(--white) !important;border:0;border-radius:var(--radius-sm) !important;
  font-family:var(--font);font-weight:700;min-height:50px;
}
.wc-block-components-button:not(.is-link):hover{opacity:.85}
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .wc-block-components-combobox-control input{
  border-color:var(--border) !important;border-radius:var(--radius-sm) !important;background:var(--panel) !important;font-family:var(--font) !important;
}
.wc-block-components-text-input.is-active input:focus,
.wc-block-components-text-input input:focus{border-color:var(--text) !important;box-shadow:none !important;outline:none}
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-totals-wrapper{border-color:var(--border) !important}
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart__sidebar .wc-block-components-sidebar-layout__sidebar > div{
  background:var(--panel);border:1px solid var(--border) !important;border-radius:var(--radius);
}
.wc-block-components-product-name{color:var(--text);font-weight:600}
.wc-block-components-checkout-step__title{font-weight:700}
.wc-block-components-checkout-step__description,
.wc-block-checkout__terms{color:var(--text-mid);font-size:13px}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{font-size:18px;font-weight:700}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before{display:none}

/* ---------- 19. マイアカウント ---------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start;margin:28px 0 40px}
.woocommerce-account .woocommerce::before,.woocommerce-account .woocommerce::after{display:none}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-account .woocommerce > :only-child,
.woocommerce-account .woocommerce > h2,
.woocommerce-account .woocommerce > #customer_login,
.woocommerce-account .woocommerce > form.login,
.woocommerce-account .woocommerce > form.lost_reset_password{grid-column:1 / -1}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-MyAccount-navigation ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:0}
.woocommerce-MyAccount-navigation ul li a{display:block;padding:11px 14px;font-size:13.5px;font-weight:600;color:var(--text-mid);border-radius:var(--radius-sm)}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover{background:var(--panel);color:var(--text)}
.woocommerce-MyAccount-content{font-size:14px;line-height:1.9}
.woocommerce-MyAccount-content p{margin:0 0 1em}
.woocommerce-MyAccount-content a:not(.button){text-decoration:underline;text-underline-offset:3px}
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account form.lost_reset_password{
  max-width:440px;margin:0 auto !important;background:var(--panel);border:1px solid var(--border) !important;
  border-radius:var(--radius) !important;padding:28px !important;
}
.woocommerce-account #customer_login h2,
.woocommerce-account .woocommerce > h2{font-size:22px;font-weight:900;text-align:center;margin:0 0 20px}
.woocommerce-account form.login .button,
.woocommerce-account form.register .button{width:100%;background:var(--text);color:var(--white);border-color:var(--text);margin-top:8px}
.woocommerce-account .woocommerce-form-login__rememberme{display:block;font-size:12.5px;color:var(--text-mid);margin-bottom:6px}
.woocommerce-account .lost_password{text-align:center;font-size:12.5px;margin-top:14px}
.woocommerce-account .lost_password a{color:var(--text-mid);text-decoration:underline;text-underline-offset:3px}
.woocommerce table.shop_table{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{border-top:1px solid var(--border);padding:12px 14px;font-size:13.5px}
.woocommerce table.shop_table thead th{border-top:0;font-size:12px;color:var(--text-mid)}

/* ---------- 20. 「準備中」の管理者向け帯（管理者にしか出ない） ---------- */
.woocommerce-store-notice,p.demo_store{background:var(--text);font-size:12.5px}

/* ---------- 21. WooCommerce のスマホ ---------- */
@media (max-width: 980px){
  .woocommerce div.product{grid-template-columns:minmax(0,1fr);gap:22px}
  .woocommerce div.product > div.images,
  .woocommerce div.product > div.summary,
  .woocommerce #content div.product div.images,
  .woocommerce #content div.product div.summary{grid-column:1}
  .woocommerce div.product .product_title{font-size:21px}
  .woocommerce div.product p.price,.woocommerce div.product span.price{font-size:18px}
  .woocommerce div.product form.cart .variations select{max-width:none}
  .woocommerce div.product form.cart .button{min-width:0}
  .woocommerce .woocommerce-breadcrumb{margin:16px 0 14px}
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr);gap:20px}
  .woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap;gap:6px}
  .woocommerce-MyAccount-navigation ul li a{background:var(--panel);border:1px solid var(--border);padding:8px 12px;font-size:12.5px}
  .woocommerce div.product .woocommerce-tabs ul.tabs{gap:20px}
}

/* 商品一覧（WooCommerce のループ）も、トップと同じ商品カードで表示する */
.woocommerce ul.products li.product.hs-loop-item{list-style:none}
.woocommerce ul.products{gap:32px 30px}
@media (max-width:980px){.woocommerce ul.products,.woocommerce-page ul.products{gap:28px 16px}}

/* ---------- 22. 古いテーマの絵文字アイコン（残っているページ用）を線のアイコンに ---------- */
.header-search-icon,
.bottom-nav-icon,
.category-circle-photo-icon{font-size:0 !important;line-height:0}
.header-search-icon img.emoji,
.bottom-nav-icon img.emoji,
.category-circle-photo-icon img.emoji{display:none !important}
.header-search-icon::before,
.bottom-nav-icon::before,
.category-circle-photo-icon::before{
  content:"";display:block;background-color:currentColor;
  -webkit-mask:var(--hms-icon) center/contain no-repeat;mask:var(--hms-icon) center/contain no-repeat;
}
.header-search-icon{display:flex;align-items:center;color:var(--text-lt);opacity:1}
.header-search-icon::before{width:15px;height:15px}
.bottom-nav-icon{display:flex;justify-content:center;height:22px}
.bottom-nav-icon::before{width:21px;height:21px}
.category-circle-photo-icon{color:var(--text-mid)}
.category-circle-photo-icon::before{width:30px;height:30px}

.header-search-icon,
.bottom-nav a[href*="page_id=21"] .bottom-nav-icon{
  --hms-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 20 20'/%3E%3C/svg%3E");
}
.bottom-nav a:first-child .bottom-nav-icon{
  --hms-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 12 4l8 6.5V20h-5.5v-5.5h-5V20H4z'/%3E%3C/svg%3E");
}
.bottom-nav a[href*="reads"] .bottom-nav-icon{
  --hms-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5C6.5 4.5 9.5 4.5 12 6c2.5-1.5 5.5-1.5 8-.5V19c-2.5-1-5.5-1-8 .5-2.5-1.5-5.5-1.5-8-.5z'/%3E%3Cpath d='M12 6v13.5'/%3E%3C/svg%3E");
}
.bottom-nav a[href*="login"] .bottom-nav-icon,
.bottom-nav a[href*="mypage"] .bottom-nav-icon,
.bottom-nav a[href*="page_id=12"] .bottom-nav-icon,
.bottom-nav a[href*="page_id=7"] .bottom-nav-icon{
  --hms-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8.5' r='4'/%3E%3Cpath d='M4.5 20c1.2-3.6 4-5.5 7.5-5.5s6.3 1.9 7.5 5.5'/%3E%3C/svg%3E");
}
a[href*="area-list"] .category-circle-photo-icon,
a[href*="page_id=10"] .category-circle-photo-icon{
  --hms-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E");
}
a[href*="makers"] .category-circle-photo-icon,
a[href*="page_id=9"] .category-circle-photo-icon{
  --hms-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5c-1.4 2.3-4 3.3-4 6.6A4 4 0 0 0 12 14a4 4 0 0 0 4-3.9c0-3.3-2.6-4.3-4-6.6z'/%3E%3Cpath d='M6 20.5c.8-2.8 3.2-4.5 6-4.5s5.2 1.7 6 4.5'/%3E%3C/svg%3E");
}

/* ---------- 23. 商品一覧：WooCommerce 標準の画像の指定（高さ auto・下余白）を打ち消す ---------- */
.woocommerce ul.products li.product .hs-media img,
.woocommerce-page ul.products li.product .hs-media img{width:100%;height:100%;margin:0;box-shadow:none;object-fit:cover}

/* ---------- 24. 固定ページの表（特定商取引法に基づく表記など） ---------- */
.hs-site .detail-bio:has(.wp-block-table){max-width:860px}
.hs-site .wp-block-table{margin:0 0 32px}
.hs-site .wp-block-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.8}
.hs-site .wp-block-table td{border:1px solid var(--border);padding:14px 18px;vertical-align:top;color:var(--text)}
.hs-site .wp-block-table td:first-child{width:11em;font-weight:700;background:#f6f6f4;white-space:nowrap}
@media (max-width:640px){.hs-site .wp-block-table td{display:block;width:auto;border-top:0}.hs-site .wp-block-table tr:first-child td:first-child{border-top:1px solid var(--border)}.hs-site .wp-block-table td:first-child{width:auto;padding:10px 14px}}
