/*
Theme Name: HOUKA STORE
Theme URI: https://download.houka.group
Author: 株式会社鳳窠
Description: download.houka.group 専用テーマ。デザイン設計書 design_handoff_houka_store に基づく WooCommerce ダウンロード販売用。コーポレートサイト（houka.group）のデザイントークンを踏襲。
Version: 1.0.1
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: houka-store
Tags: e-commerce, custom-colors
*/

/* ==========================================================================
   Design Tokens — corporate-site/src/app/globals.css と共通。新規色は追加しない
   ========================================================================== */
:root{
  --bg:#0b0906;
  --surface:#0e0b07;
  --field:#100c08;

  --text:#ece2cd;
  --text-2:#c8bca4;
  --text-3:#a89468;
  --muted:#786a4e;
  --placeholder:#5c5342;

  --gold:#b8964e;
  --gold-lt:#d4b46a;
  --red:#c8160a;
  --red-hover:#a01208;
  --cream:#f5efe0;
  --cream-hover:#fff;

  --line:rgba(184,150,78,.25);   /* 主要区切り */
  --line-grid:rgba(184,150,78,.18);
  --line-sub:rgba(184,150,78,.14);
  --line-form:rgba(184,150,78,.28);
  --line-thumb:rgba(184,150,78,.35);

  --ja:"Shippori Mincho",serif;
  --en:"Cormorant Garamond",serif;
  --sans:"Noto Sans JP",sans-serif;
  --mono:ui-monospace,Menlo,Consolas,monospace;

  --pad-x:clamp(20px,4vw,72px);
  --pad-y:clamp(44px,6vw,104px);
  --maxw:1520px;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ==========================================================================
   Reset / Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--sans);font-size:14px;line-height:2;
  text-wrap:pretty;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid rgba(200,22,10,.7);outline-offset:3px}

/* 環境光 */
.hs-ambient{
  position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse at 82% 8%, rgba(184,150,78,.10), transparent 55%),
    radial-gradient(ellipse at 12% 96%, rgba(200,22,10,.13), transparent 55%);
  animation:glowPulse 7s ease-in-out infinite;
}
@keyframes glowPulse{0%,100%{opacity:.35}50%{opacity:.75}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}

.hs-wrap{position:relative;z-index:1}
.hs-section{padding:var(--pad-y) var(--pad-x)}
.hs-inner{max-width:var(--maxw);margin:0 auto}

/* ==========================================================================
   共通パーツ
   ========================================================================== */
.hs-eyebrow{font-family:var(--en);font-style:italic;letter-spacing:.26em;color:var(--gold);font-size:clamp(10px,1.1vw,13px)}
.hs-eyebrow--red{color:var(--red)}
.hs-h1{font-family:var(--ja);font-weight:700;font-size:clamp(28px,3.8vw,50px);line-height:1.34;letter-spacing:.10em;color:var(--text)}
.hs-h2{font-family:var(--ja);font-weight:700;font-size:clamp(22px,2.8vw,34px);line-height:1.4;letter-spacing:.13em;color:var(--text)}
.hs-lead{font-size:15px;line-height:2.1;color:var(--text-2);max-width:640px}
.hs-note{font-size:12px;color:var(--muted);line-height:1.9}
.hs-price{font-family:var(--en);color:var(--gold-lt)}
.hs-rule{height:1px;background:var(--gold);border:0}

/* ボタン */
.hs-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-size:14px;letter-spacing:.14em;line-height:1;
  padding:17px 38px;border:1px solid transparent;
  transition:background .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease);
}
.hs-btn--red{background:var(--red);color:#fff;font-weight:700}
.hs-btn--red:hover{background:var(--red-hover)}
.hs-btn--cream{background:var(--cream);color:#0b0906;font-weight:700}
.hs-btn--cream:hover{background:var(--cream-hover)}
.hs-btn--line{border-color:rgba(184,150,78,.4);color:var(--text-2)}
.hs-btn--line:hover{border-color:var(--gold);color:var(--gold-lt)}
.hs-btn--sm{padding:11px 22px;font-size:13px}
.hs-btn--block{width:100%}

/* サムネイル代替（斜線地紋＋漢字1文字） */
.hs-thumb{
  display:grid;place-items:center;position:relative;overflow:hidden;
  background:repeating-linear-gradient(135deg,#14100a 0 6px,#0e0b07 6px 12px);
  border:1px solid var(--line-thumb);color:var(--text-3);font-family:var(--ja);font-weight:700;
}
.hs-thumb--lg{background:repeating-linear-gradient(135deg,#14100a 0 8px,#0e0b07 8px 16px)}
.hs-thumb img{width:100%;height:100%;object-fit:cover}
.hs-thumb__ph{font-size:11px;letter-spacing:.14em;color:var(--muted);font-family:var(--sans);font-weight:400;margin-top:8px}

/* グリッド区切り（gap:1px + 親に罫線色の背景） */
.hs-grid-rule{display:grid;gap:1px;background:var(--line-grid)}
.hs-grid-rule > *{background:var(--bg)}

/* ==========================================================================
   ヘッダー
   ========================================================================== */
.hs-header{
  position:sticky;top:0;z-index:30;
  background:rgba(11,9,6,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.hs-header__in{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  gap:14px clamp(16px,2vw,24px);padding:20px var(--pad-x);
  max-width:var(--maxw);margin:0 auto;
}
.hs-logo{display:flex;align-items:center;gap:14px}
.hs-logo__ja{font-family:var(--ja);font-weight:700;font-size:clamp(15px,1.7vw,20px);letter-spacing:clamp(.1em,.5vw,.22em)}
.hs-logo__bar{width:1px;height:20px;background:rgba(184,150,78,.4)}
.hs-logo__en{font-family:var(--en);font-size:clamp(10px,1.1vw,13px);letter-spacing:clamp(.16em,.7vw,.4em);color:var(--gold)}
.hs-nav{display:flex;flex-wrap:wrap;gap:10px clamp(12px,1.8vw,38px);font-size:13px;letter-spacing:.14em}
.hs-nav a{color:var(--text-2);transition:color .22s var(--ease)}
.hs-nav a:hover{color:var(--gold-lt)}
.hs-headtools{display:flex;align-items:center;gap:clamp(10px,1.4vw,18px)}
.hs-iconbtn{width:38px;height:38px;display:grid;place-items:center;background:var(--field);border:1px solid var(--line-form);font-size:16px;color:var(--text-3);transition:border-color .22s var(--ease),color .22s var(--ease)}
.hs-iconbtn:hover{border-color:var(--gold);color:var(--gold-lt)}
.hs-mypage{font-family:var(--en);font-size:14px;letter-spacing:.2em;color:var(--text-3)}
.hs-mypage:hover{color:var(--gold-lt)}
.hs-cartbtn{background:var(--red);color:#fff;font-size:13px;letter-spacing:.12em;padding:11px clamp(14px,1.8vw,22px);display:inline-flex;gap:.6em;align-items:center;transition:background .22s var(--ease)}
.hs-cartbtn:hover{background:var(--red-hover)}

/* 告知帯 */
.hs-notice{background:rgba(200,22,10,.06);padding:12px var(--pad-x);display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.hs-notice__in{max-width:var(--maxw);margin:0 auto;width:100%;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.hs-notice p{font-size:13px;color:var(--text-2);margin:0}

/* ==========================================================================
   パンくず
   ========================================================================== */
.hs-crumb{padding:18px var(--pad-x);font-size:12px;letter-spacing:.10em;color:var(--muted);border-bottom:1px solid var(--line-sub)}
.hs-crumb__in{max-width:var(--maxw);margin:0 auto}
.hs-crumb a{color:var(--text-3)}
.hs-crumb a:hover{color:var(--gold-lt)}

/* ==========================================================================
   フッター
   ========================================================================== */
.hs-footer{border-top:1px solid var(--line);padding:var(--pad-y) var(--pad-x) 40px}
.hs-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(28px,3.5vw,56px);max-width:var(--maxw);margin:0 auto}
.hs-footer h4{font-family:var(--en);font-size:12px;letter-spacing:.3em;color:var(--gold);margin-bottom:18px;font-weight:400}
.hs-footer li{margin-bottom:10px}
.hs-footer a{font-size:13px;color:var(--text-2)}
.hs-footer a:hover{color:var(--gold-lt)}
.hs-footer__bottom{max-width:var(--maxw);margin:clamp(32px,4vw,56px) auto 0;padding-top:24px;border-top:1px solid var(--line-sub);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}
.hs-footer__copy{font-family:var(--en);font-size:12px;letter-spacing:.16em;color:var(--muted)}
.hs-footer__pay{font-size:12px;color:var(--muted);letter-spacing:.08em}

/* ==========================================================================
   トップ（案B 分割グリッド）
   ========================================================================== */
.hs-splitgrid{display:grid;gap:1px;background:var(--line-grid);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.hs-splitcell{background:var(--bg);padding:clamp(28px,3.4vw,48px);display:flex;flex-direction:column;gap:18px;transition:background .22s var(--ease)}
.hs-splitcell--copy{justify-content:center;gap:22px}
.hs-splitcell--product:hover{background:rgba(200,22,10,.06)}
.hs-splitcell__h1{font-family:var(--ja);font-weight:700;font-size:clamp(30px,3.4vw,46px);line-height:1.36;letter-spacing:.08em}
.hs-splitcell__h1 em{font-style:normal;color:var(--red)}
.hs-splitcell__no{font-family:var(--en);font-size:26px;color:var(--red);line-height:1}
.hs-splitcell__name{font-family:var(--ja);font-weight:700;font-size:19px;letter-spacing:.08em;line-height:1.55}
.hs-splitcell__excerpt{font-size:13px;line-height:2;color:var(--text-2)}
.hs-splitcell__price{font-family:var(--en);font-size:24px;color:var(--gold-lt)}

/* カテゴリ帯 */
.hs-cats{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.hs-cat{padding:clamp(24px,2.6vw,34px);display:flex;flex-direction:column;gap:10px;transition:background .22s var(--ease)}
.hs-cat:hover{background:rgba(200,22,10,.06)}
.hs-cat__en{font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.22em;color:var(--red)}
.hs-cat__ja{font-family:var(--ja);font-weight:700;font-size:19px;letter-spacing:.10em}
.hs-cat__n{font-size:12px;color:var(--muted)}

/* 新着・改訂 4点カード */
.hs-newgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:clamp(20px,2.4vw,32px)}
.hs-newcard{border:1px solid var(--line-grid);display:flex;flex-direction:column;transition:border-color .22s var(--ease)}
.hs-newcard:hover{border-color:var(--line-thumb)}
.hs-newcard__thumb{aspect-ratio:4/3;font-size:40px}
.hs-newcard__body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px}
.hs-newcard__meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:11px;color:var(--muted)}
.hs-newcard__tag{color:var(--gold);letter-spacing:.1em}
.hs-newcard__name{font-family:var(--ja);font-weight:700;font-size:17px;letter-spacing:.08em;line-height:1.6}
.hs-newcard__foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:6px}

/* 三つの約束 */
.hs-pledges{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(24px,3vw,48px)}
.hs-pledge__lb{font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.26em;color:var(--red);display:block;margin-bottom:14px}
.hs-pledge h3{font-family:var(--ja);font-weight:700;font-size:19px;letter-spacing:.09em;margin-bottom:10px}
.hs-pledge p{font-size:13px;line-height:2.1;color:var(--text-2)}

/* JOURNAL */
.hs-journal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(28px,4vw,64px);align-items:start}
.hs-journal__list li{border-bottom:1px solid var(--line-sub)}
.hs-journal__list a{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:baseline;padding:18px 0;transition:color .2s ease}
.hs-journal__list a:hover{color:var(--gold-lt)}
.hs-journal__date{font-family:var(--en);font-size:13px;letter-spacing:.1em;color:var(--muted);flex:0 0 auto}
.hs-journal__title{font-size:14px;line-height:1.8;flex:1 1 200px}

/* ==========================================================================
   資料一覧（罫線カード）
   ========================================================================== */
.hs-toolbar{display:flex;flex-wrap:wrap;gap:20px clamp(20px,3vw,44px);align-items:center;margin-bottom:clamp(28px,3vw,44px)}
.hs-search{display:flex;align-items:center;gap:10px;background:var(--field);border:1px solid var(--line-form);padding:13px 18px;max-width:420px;flex:1 1 260px}
.hs-search input{background:none;border:0;outline:none;width:100%;font-size:14px}
.hs-search input::placeholder{color:var(--placeholder)}
.hs-chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hs-chips__lb{font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.24em;color:var(--gold)}
.hs-chips__bar{width:28px;height:1px;background:var(--gold)}
.hs-chip{padding:9px 20px;font-size:13px;letter-spacing:.12em;border:1px solid rgba(184,150,78,.22);color:var(--text-2);transition:background .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease)}
.hs-chip:hover{border-color:var(--gold)}
.hs-chip.is-on{background:var(--gold);border-color:var(--gold);color:#0b0906}
.hs-count{font-size:12px;color:var(--muted);margin-left:auto}

/* 罫線グリッド */
.hs-rulegrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.hs-rulecard{padding:clamp(24px,2.6vw,32px);display:flex;flex-direction:column;gap:16px;transition:background .22s var(--ease)}
.hs-rulecard:hover{background:rgba(200,22,10,.05)}
.hs-rulecard__head{display:flex;gap:18px;align-items:flex-start}
.hs-rulecard__thumb{width:76px;height:76px;border-radius:18px;flex:0 0 auto;font-size:28px}
.hs-rulecard__no{font-family:var(--en);font-size:28px;color:var(--red);line-height:1;margin-left:auto}
.hs-rulecard__name{font-family:var(--ja);font-weight:700;font-size:20px;letter-spacing:.08em;line-height:1.55}
.hs-rulecard__en{font-family:var(--en);font-style:italic;font-size:13px;letter-spacing:.16em;color:var(--text-3);display:block;margin-top:4px}
.hs-rulecard__excerpt{font-size:13px;line-height:2;color:var(--text-2)}
.hs-rulecard__tags{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px;color:var(--muted)}
.hs-rulecard__foot{border-top:1px solid var(--line-sub);padding-top:16px;margin-top:auto;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.hs-rulecard__price{font-family:var(--en);font-size:24px;color:var(--gold-lt)}
.hs-empty{padding:60px 0;color:var(--text-3);font-size:14px}

/* ==========================================================================
   商品詳細
   ========================================================================== */
.hs-pd{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(36px,4.5vw,72px);align-items:start}
.hs-pd__main{aspect-ratio:4/3;font-size:70px}
.hs-pd__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.hs-pd__thumbs .hs-thumb{aspect-ratio:1;font-size:22px}
.hs-pd__no{font-family:var(--en);font-size:30px;color:var(--red);line-height:1}
.hs-pd__headrow{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.hs-pd__bar{width:36px;height:1px;background:var(--gold)}
.hs-pd__en{font-family:var(--en);font-style:italic;font-size:14px;letter-spacing:.2em;color:var(--text-3)}
.hs-pd__title{font-family:var(--ja);font-weight:700;font-size:clamp(28px,3.4vw,44px);line-height:1.4;letter-spacing:.08em;margin-bottom:20px}
.hs-pd__desc{font-size:15px;line-height:2.2;color:var(--text-2);margin-bottom:28px}
.hs-specs{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));margin-bottom:28px}
.hs-spec{padding:18px 20px}
.hs-spec dt{font-family:var(--en);font-style:italic;font-size:11px;letter-spacing:.24em;color:var(--gold);margin-bottom:8px}
.hs-spec dd{margin:0;font-size:14px;color:var(--text)}
.hs-buybox{background:var(--surface);border:1px solid var(--line);padding:28px 30px;display:flex;flex-direction:column;gap:20px}
.hs-buybox__lb{font-size:12px;color:var(--text-3);letter-spacing:.1em}
.hs-buybox__price{font-family:var(--en);font-size:44px;color:var(--gold-lt);line-height:1}
.hs-buybox__actions{display:flex;flex-wrap:wrap;gap:12px}
.hs-buybox__actions .hs-btn--red{flex:1 1 200px;padding:19px 32px}
.hs-buybox__notes{border-top:1px solid var(--line-sub);padding-top:16px;display:flex;flex-direction:column;gap:8px}
.hs-qty{display:inline-flex;align-items:center;border:1px solid var(--line-form)}
.hs-qty button{width:40px;height:44px;display:grid;place-items:center;font-size:16px;color:var(--text-3);transition:color .2s ease}
.hs-qty button:hover{color:var(--gold-lt)}
.hs-qty input{width:56px;height:44px;text-align:center;background:none;border:0;border-left:1px solid var(--line-form);border-right:1px solid var(--line-form);-moz-appearance:textfield}
.hs-qty input::-webkit-outer-spin-button,.hs-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* 収録内容6マス */
.hs-contents{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.hs-content{padding:clamp(22px,2.4vw,30px)}
.hs-content__lb{font-family:var(--en);font-style:italic;font-size:11px;letter-spacing:.24em;color:var(--red);display:block;margin-bottom:12px}
.hs-content h3{font-family:var(--ja);font-weight:700;font-size:19px;letter-spacing:.08em;margin-bottom:10px}
.hs-content p{font-size:13px;line-height:2.1;color:var(--text-2)}

/* 収録ファイル */
.hs-files li{display:grid;grid-template-columns:1fr 84px 72px;gap:16px;padding:15px 0;border-bottom:1px solid var(--line-sub);font-size:13px;align-items:center}
.hs-files__ext{font-family:var(--mono);color:var(--gold);font-size:12px}
.hs-files__size{font-family:var(--mono);color:var(--muted);font-size:12px;text-align:right}

/* 更新履歴 */
.hs-changelog li{display:grid;grid-template-columns:72px 92px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--line-sub);font-size:13px;align-items:baseline}
.hs-changelog__v{font-family:var(--en);font-size:16px;color:var(--red)}
.hs-changelog__d{font-size:12px;color:var(--muted)}

/* 関連商品 */
.hs-related{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.hs-related__item{padding:22px;display:flex;flex-direction:column;gap:12px;transition:background .22s var(--ease)}
.hs-related__item:hover{background:rgba(200,22,10,.06)}
.hs-related__top{display:flex;gap:14px;align-items:center;justify-content:space-between}
.hs-related__thumb{width:54px;height:54px;border-radius:13px;font-size:20px;flex:0 0 auto}

/* ==========================================================================
   カート / チェックアウト
   ========================================================================== */
.hs-steps{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:clamp(28px,3.4vw,48px)}
.hs-step{display:flex;align-items:center;gap:12px;color:var(--muted)}
.hs-step.is-on{color:var(--text)}
.hs-step__n{width:30px;height:30px;display:grid;place-items:center;border:1px solid currentColor;font-family:var(--en);font-size:15px}
.hs-step__lb{font-size:13px;letter-spacing:.1em}
.hs-step__line{width:clamp(16px,3vw,44px);height:1px;background:var(--line)}
.hs-checkout{display:grid;grid-template-columns:minmax(min(100%,440px),2fr) minmax(min(100%,300px),1fr);gap:clamp(32px,4vw,64px);align-items:start}
.hs-summary{background:var(--surface);border:1px solid var(--line);padding:clamp(28px,3.2vw,40px);position:sticky;top:110px;display:flex;flex-direction:column;gap:16px}
.hs-summary__lb{font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.26em;color:var(--gold)}
.hs-summary__row{display:flex;justify-content:space-between;gap:16px;font-size:13px;color:var(--text-2)}
.hs-summary__total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:14px}
.hs-summary__total b{font-family:var(--en);font-size:38px;color:var(--gold);font-weight:400}
.hs-cartrow{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line-sub)}
.hs-cartrow__l{display:flex;gap:16px;align-items:center;flex:1 1 200px}
.hs-cartrow__thumb{width:64px;height:64px;border-radius:15px;flex:0 0 auto;font-size:22px}
.hs-cartrow__r{display:flex;gap:18px;align-items:center;flex-shrink:0}
.hs-cartrow__sub{min-width:78px;white-space:nowrap;text-align:right;font-family:var(--en);font-size:18px;color:var(--gold-lt)}
.hs-cartrow__x{color:var(--muted);font-size:18px;transition:color .2s ease}
.hs-cartrow__x:hover{color:var(--red)}
.hs-formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:20px}
.hs-field label{display:block;font-size:12px;color:var(--text-3);margin-bottom:8px;letter-spacing:.08em}
.hs-field .req{color:var(--red)}
.hs-field input,.hs-field select,.hs-field textarea{width:100%;padding:14px 16px;background:var(--field);border:1px solid var(--line-form);font-size:14px}
.hs-field input:focus{border-color:var(--gold);outline:none}
.hs-confirm{border:1px solid rgba(200,22,10,.4);background:rgba(200,22,10,.06);padding:clamp(22px,2.6vw,32px);margin-bottom:28px}
.hs-done__no{font-family:var(--mono);color:var(--gold-lt);font-size:16px}

/* WooCommerce の既定要素をトーンに寄せる */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--gold);
  padding:16px 20px;margin:0 0 24px;font-size:13px;color:var(--text-2);list-style:none
}
.woocommerce-error{border-left-color:var(--red)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea{
  width:100%;padding:14px 16px;background:var(--field);border:1px solid var(--line-form);color:var(--text);font-size:14px
}
.woocommerce form .form-row label{font-size:12px;color:var(--text-3);letter-spacing:.08em;display:block;margin-bottom:8px}
.woocommerce form .form-row{margin-bottom:18px}
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button,
.woocommerce #respond input#submit,.woocommerce #place_order{
  background:var(--red);color:#fff;border:0;border-radius:0;font-size:14px;font-weight:700;
  letter-spacing:.14em;padding:17px 38px;transition:background .22s var(--ease)
}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button:hover,.woocommerce #place_order:hover{background:var(--red-hover);color:#fff}
.woocommerce .quantity input.qty{background:var(--field);border:1px solid var(--line-form);color:var(--text);padding:10px;width:64px;text-align:center}
#payment,.woocommerce-checkout #payment{background:var(--surface);border:1px solid var(--line);border-radius:0}
#payment ul.payment_methods{border-bottom:1px solid var(--line-sub);padding:20px}
#payment div.form-row{padding:20px}
.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper{font-size:12px;color:var(--muted)}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:0;font-size:13px}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-top:1px solid var(--line-sub);padding:14px 16px}

/* チェックアウト本体カラム */
.hs-checkout__main{min-width:0}
.hs-checkout__main #customer_details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:0 24px}
.hs-checkout__main h3{font-family:var(--ja);font-weight:700;font-size:19px;letter-spacing:.09em;margin:0 0 18px}
.hs-entry h2{font-family:var(--ja);font-weight:700;font-size:clamp(20px,2.4vw,28px);letter-spacing:.1em;margin:36px 0 16px}
.hs-entry h3{font-family:var(--ja);font-weight:700;font-size:18px;letter-spacing:.08em;margin:28px 0 12px}
.hs-entry p{margin:0 0 18px}
.hs-entry a{color:var(--gold-lt);text-decoration:underline;text-underline-offset:3px}
.hs-entry table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:13px}
.hs-entry th,.hs-entry td{border-bottom:1px solid var(--line-sub);padding:14px 16px;text-align:left;vertical-align:top}
.hs-entry th{width:34%;color:var(--text-3);font-weight:500;background:rgba(184,150,78,.04)}
.hs-entry ul{list-style:disc;padding-left:1.4em;margin:0 0 18px}
.hs-entry li{margin-bottom:8px}
.woocommerce-pagination ul{display:flex;gap:8px;list-style:none;padding:0}
.woocommerce-pagination a,.woocommerce-pagination span{display:grid;place-items:center;min-width:40px;height:40px;border:1px solid var(--line-form);font-size:13px}
.woocommerce-pagination .current{background:var(--gold);color:#0b0906;border-color:var(--gold)}
