/* ============================================================
   五十嵐園 — 下層ページ（お知らせ／店長ブログの一覧・記事）
   style.css の変数・ヘッダー・フッターをそのまま使う。
   ============================================================ */

/* 下層はヒーローが無いので、ヘッダーは最初から塗りつぶし */
.page .header{background:rgba(14,13,11,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:var(--line)}
.post-main{padding:calc(var(--header) + 72px) 0 120px;min-height:70vh}
.post-main .sh{margin-bottom:56px}
.post-main [data-rv]{opacity:1;transform:none} /* 下層はスクロール演出なし */

/* ---------- 一覧 ---------- */
.post-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:48px 36px}
.post-card a{display:block;transition:transform .4s}
.post-card a:hover{transform:translateY(-4px)}
.post-card-thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg3);border:1px solid var(--line);position:relative}
.post-card-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .8s}
.post-card a:hover .post-card-thumb img{transform:scale(1.04)}
.post-card-noimg{position:absolute;inset:0;display:grid;place-items:center;font-size:44px;color:var(--gold3);font-weight:300}
.post-card-meta{display:flex;flex-direction:column;gap:6px;padding:16px 4px 0}
.post-card-meta time{font-size:15px;color:var(--gold2);letter-spacing:.08em;text-transform:none}
.post-card-meta .ttl{font-size:15px;line-height:1.8;letter-spacing:.05em;color:#fff}
.post-empty{color:var(--muted);letter-spacing:.1em;padding:40px 0 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.post-back{margin-top:72px}

/* ---------- 記事 ---------- */
.post-wrap{max-width:720px}
.post-kicker{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.post-kicker .cat{font-size:10.5px;letter-spacing:.2em;color:var(--gold);border:1px solid var(--gold3);padding:4px 10px}
.post-kicker time{font-size:15px;color:var(--gold2);letter-spacing:.08em;text-transform:none}
.post-title{font-size:clamp(24px,3vw,34px);line-height:1.6;letter-spacing:.06em;color:#fff;font-weight:400;margin-bottom:36px}
.post-lead{color:var(--muted)}
.post-thumb{margin:0 0 44px;border:1px solid var(--line)}
.post-thumb img{display:block;width:100%;height:auto}
.post-body{font-size:15.5px;line-height:2.15;letter-spacing:.06em;color:var(--text);border-top:1px solid var(--line);padding-top:40px}
.post-body p{margin:0 0 1.6em}
.post-body h2{font-size:22px;line-height:1.6;color:#fff;font-weight:400;letter-spacing:.08em;margin:2.2em 0 1em;padding-left:18px;border-left:1px solid var(--gold)}
.post-body h3{font-size:18px;line-height:1.7;color:var(--gold2);font-weight:400;letter-spacing:.08em;margin:2em 0 .8em}
.post-body h4{font-size:16px;color:#fff;font-weight:500;margin:1.6em 0 .6em}
.post-body strong{color:#fff;font-weight:600}
.post-body em{font-style:italic}
.post-body a{color:var(--gold2);border-bottom:1px solid var(--gold3);transition:.3s}
.post-body a:hover{color:#fff;border-color:var(--gold2)}
.post-body ul,.post-body ol{margin:0 0 1.6em;padding-left:1.6em}
.post-body ul{list-style:disc}
.post-body ol{list-style:decimal}
.post-body li{margin:.3em 0}
.post-body blockquote{margin:1.8em 0;padding:18px 24px;border-left:1px solid var(--gold);background:var(--bg2);color:var(--muted)}
.post-body blockquote p:last-child{margin-bottom:0}
.post-body img{display:block;max-width:100%;height:auto;margin:1.8em auto;border:1px solid var(--line)}
.post-body figure{margin:1.8em 0}
.post-body figure img{margin:0 auto}
.post-body figcaption{font-size:12.5px;color:var(--muted);text-align:center;margin-top:10px;letter-spacing:.08em}
.post-body hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.post-body table{width:100%;border-collapse:collapse;margin:1.8em 0;font-size:14px}
.post-body th,.post-body td{border:1px solid var(--line2);padding:10px 14px;text-align:left;vertical-align:top}
.post-body th{background:var(--bg2);color:var(--gold2);font-weight:400}
.post-404 .post-kicker .en{font-size:48px;color:var(--gold3);font-weight:300;letter-spacing:.2em}

@media (max-width:900px){
  .post-main{padding:calc(var(--header) + 44px) 0 90px}
  .post-grid{grid-template-columns:repeat(2,1fr);gap:32px 20px}
  .post-title{margin-bottom:28px}
  .post-body{font-size:15px;line-height:2.05}
  .post-body h2{font-size:19px}
}
@media (max-width:560px){
  .post-grid{grid-template-columns:1fr;gap:28px}
}

/* ============================================================
   商品一覧（/products/）・商品詳細（/products/{slug}）
   ============================================================ */
/* カード: 画像＋名前がリンク、カート行はその下（style.css の .pcard/.ncard を再利用） */
.pcard-link{display:block;color:inherit}
.pcard-link .pbody{padding-bottom:0}
.pcard-link .nbody{padding-bottom:0}
.pfoot-wrap{padding-top:0}
.pfoot-wrap .pfoot{margin-top:0}
.pcard-link:hover .pname .kanji{color:var(--gold2)}
.page-products .lead{margin-bottom:64px}
.plist-sec{margin-top:24px}
.plist-sec+.plist-sec{margin-top:120px;padding-top:72px;border-top:1px solid var(--line)}
.plist-h{display:flex;align-items:baseline;gap:18px;margin:0 0 32px;line-height:1}
.plist-h .jp{font-size:22px;color:#fff;font-weight:400;letter-spacing:.2em}
.plist-h .en{font-size:14px;color:var(--gold);font-style:italic;letter-spacing:.2em;text-transform:none}
.plist-lead{color:var(--muted);font-size:14px;max-width:680px;margin:-12px 0 32px}
.plist-set h3 a{color:#fff}
.plist-set h3 a:hover{color:var(--gold2)}

/* パンくず */
.crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;letter-spacing:.12em;color:var(--muted);margin-bottom:40px}
.crumbs a{color:var(--gold2)}
.crumbs a:hover{color:#fff}
.crumbs span{color:var(--gold3)}
.crumbs em{font-style:normal;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}

/* 詳細レイアウト */
.pd{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:72px;align-items:start}
.pd-pic .plate{aspect-ratio:1/1;border:1px solid var(--line)}
.pd-pic .plate img{transform:none}
.pd-pic .plate-tall img{object-fit:cover}
.pd-pic .ribbon{top:22px;left:-36px}
.pd-cat{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;letter-spacing:.24em;color:var(--muted);margin-bottom:18px}
.pd-cat .cat{font-size:10.5px;letter-spacing:.2em;color:var(--gold);border:1px solid var(--gold3);padding:4px 10px}
.pd-cat em{font-style:normal;color:var(--gold);border:1px solid var(--gold3);padding:3px 8px;font-size:10px}
.pd-award{color:var(--gold2);letter-spacing:.16em}
.pd-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 18px;margin:0 0 16px;line-height:1.1;font-weight:400}
.pd-name{font-size:18px;letter-spacing:.2em;color:var(--muted);flex-basis:100%}
.pd-kanji{font-size:clamp(56px,7vw,88px);color:#fff;line-height:1}
.pd-yomi{font-size:16px;color:var(--gold2);font-style:italic;text-transform:none;letter-spacing:.14em}
.page-product-nanairo .pd-name,.page-product-set .pd-name{font-size:clamp(24px,3vw,34px);color:#fff;letter-spacing:.08em;line-height:1.5}
.pd-sub{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);letter-spacing:.1em;margin:0 0 14px}
.pd-sub .dot{width:10px;height:10px;border-radius:50%;background:var(--c,var(--gold));flex:none}
.pd-price{margin:22px 0 26px;padding-top:22px;border-top:1px solid var(--line)}
.pd-price .price{font-size:34px}
.pd-price .price small{font-size:12px}
.pd-cta{display:flex;flex-wrap:wrap;gap:14px}
.pd-cta .btn{min-width:200px}
.pd-add:disabled{opacity:.5;cursor:default}
.pd-add:disabled::before{display:none}
.pd-note{font-size:12px;color:var(--muted);letter-spacing:.06em;margin:16px 0 36px;line-height:1.9}
.pd-desc{font-size:15px;line-height:2.1;letter-spacing:.06em;color:var(--text)}
.pd-desc p{margin:0 0 1.3em}
.pd-block{margin-top:40px}
.pd-block h2{font-size:13px;letter-spacing:.3em;color:var(--gold);font-weight:400;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.pd-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.pd-tags li{font-size:12.5px;letter-spacing:.1em;color:var(--text);border:1px solid var(--line2);padding:6px 12px;background:var(--bg2)}
.pd-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.pd-list li{font-size:13.5px;color:var(--text);letter-spacing:.06em;padding-left:16px;position:relative;line-height:1.7}
.pd-list li::before{content:"";position:absolute;left:0;top:.85em;width:6px;height:1px;background:var(--gold)}
.pd-caution{font-size:12.5px;color:var(--gold2);margin-top:22px;letter-spacing:.06em}
.pd-spec{margin:0}
.pd-spec>div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13.5px;letter-spacing:.06em}
.pd-spec dt{color:var(--muted)}
.pd-spec dd{margin:0;color:var(--text)}
.pd-spec dd.tbd{color:var(--gold2)}
.pd-related{margin-top:120px;padding-top:72px;border-top:1px solid var(--line)}
.rel-pgrid{grid-template-columns:repeat(3,1fr)}
.rel-ngrid{grid-template-columns:repeat(3,1fr);gap:24px}
.page-product .post-back{margin-top:64px}

@media (max-width:1100px){
  .pd{gap:48px}
  .rel-pgrid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .pd{grid-template-columns:1fr;gap:36px}
  .pd-pic{max-width:520px}
  .plist-sec+.plist-sec{margin-top:80px;padding-top:48px}
  .pd-related{margin-top:80px;padding-top:48px}
  .rel-pgrid{grid-template-columns:repeat(2,1fr);gap:16px 12px}
  .rel-ngrid{grid-template-columns:repeat(2,1fr);gap:12px}
  .pd-list{grid-template-columns:1fr}
  .pd-spec>div{grid-template-columns:96px 1fr}
  .pd-cta .btn{flex:1 1 100%;min-width:0}
  .crumbs em{max-width:100%}
}
