/*
Theme Name: やま骨董ギャラリー
Theme URI: https://yama-kottougallery.local
Description: やま骨董ギャラリー専用クラシックテーマ。カラーミーの2カラム構成を踏襲し、骨董パープル（七宝）配色に再スキン。WooCommerce対応。
Author: やまアートギャラリー
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: yama-kottou
*/

/* ===== カラーパレット（骨董パープル／七宝）===== */
:root{
  --ink:#2b2330;          /* 本文（深い墨紫）*/
  --purple:#6e3b8e;       /* ブランド主色 */
  --purple-deep:#532a6e;
  --purple-light:#b48fd0;
  --lav-bg:#f4eef7;       /* ページ背景（淡ラベンダー）*/
  --gold:#c2a14a;         /* 七宝ゴールド・アクセント */
  --line:#d9cbe4;         /* 罫線（ラベンダーグレー）*/
  --line-soft:#eadff2;
  --red:#aa3322;          /* SOLD等・要所のみ */
  --white:#ffffff;
  --muted:#8a7d94;
  --serif-jp:"Noto Serif JP",serif;
  --serif-en:"Cormorant Garamond",serif;
  --round:"Noto Serif JP",serif; /* UI文字も商品説明と統一（旧Zen Maru Gothic） */
}

/* ===== reset / base ===== */
*{margin:0;padding:0;box-sizing:border-box}
html{height:100%}
body{
  text-align:left;
  font-family:var(--serif-jp);
  font-size:15px;
  line-height:1.85;
  color:var(--ink);
  /* 白の半透明オーバーレイで背景画像を淡くする（数値を上げるほど薄い）*/
  background:linear-gradient(rgba(255,255,255,.60),rgba(255,255,255,.60)),
             url(assets/site-bg.png) center top/cover no-repeat fixed;
  background-color:var(--lav-bg);
}
/* コンテンツも白箱にせず背景を透かす */
#container{background:transparent;padding:0 18px}
img{border:none;vertical-align:middle;max-width:100%;height:auto;
  -webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;user-drag:none}
a{color:var(--purple);text-decoration:none;outline:none}
a:hover{color:var(--purple-light);text-decoration:underline}
.clearfix:after{content:"";display:table;clear:both}

/* ===== layout ===== */
#top_line{height:4px;background:linear-gradient(90deg,var(--purple),var(--gold),var(--purple))}
#container{width:96%;max-width:1040px;margin:0 auto}
.content-wrap{margin:24px 0 60px}
#main{float:right;width:75%}
#side{float:left;width:23%}

/* ===== header ===== */
#header{padding:18px 0 6px}
.header_top{display:flex;justify-content:flex-end;align-items:center;gap:18px;flex-wrap:wrap}
.header_link ul{display:flex;gap:18px;list-style:none}
.header_link a{color:var(--ink);font-size:13px;font-family:var(--round)}
.header_link a:hover{color:var(--purple)}
.header_link .count{margin-left:5px;padding:2px 8px;border-radius:20px;background:var(--purple);color:#fff;font-size:12px}
.header_main{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-top:8px}
.site-logo img{max-height:112px;width:auto}
.site-logo .txt{font-family:var(--serif-en);font-size:34px;color:var(--purple)}
.header_search form{display:flex;align-items:stretch}
.header_search select,.header_search input[type=text]{
  border:1px solid var(--line);background:#fff;font-size:13px;padding:8px;font-family:var(--serif-jp)}
.header_search input[type=text]{width:190px}
.header_search button{
  border:none;background:var(--purple);color:#fff;padding:0 16px;cursor:pointer;font-family:var(--round)}
.header_search button:hover{background:var(--purple-deep)}

/* ===== 安心バー（trust strip）===== */
.trust_bar{
  display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px;
  margin:14px 0 0;padding:11px 14px;
  background:linear-gradient(90deg,#faf6fd,#f3ebf8);
  border:1px solid var(--line);border-radius:8px;
  font-family:var(--round);font-size:13px;color:var(--purple-deep)}
.trust_bar span{display:inline-flex;align-items:center;gap:6px}
.trust_bar span:before{content:"◆";color:var(--gold);font-size:11px}

/* ===== global nav（英語大＋日本語小・縦区切り線）===== */
.global_nav{margin-top:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.45)}
.global_nav ul{display:flex;justify-content:center;flex-wrap:wrap;list-style:none}
.global_nav li{position:relative}
.global_nav li+li::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:var(--line)}
.global_nav li a{display:block;padding:12px 30px;text-align:center;text-decoration:none}
.global_nav .jp{display:block;font-size:16px;color:var(--purple-deep);font-weight:600;
  letter-spacing:.04em;line-height:1.3}
.global_nav .en{display:block;font-family:var(--serif-en);font-size:11px;color:var(--muted);
  margin-top:2px;letter-spacing:.08em;line-height:1.2}
.global_nav li a:hover{background:var(--line-soft)}
.global_nav li a:hover .jp{color:var(--purple)}

/* ===== 見出し（box header）===== */
.header_block{
  padding:0 0 .7em;margin:0 0 1.2em;border-bottom:2px solid var(--line);
  display:flex;align-items:baseline;gap:10px}
.header_block h3{font-size:16px;color:var(--purple-deep);font-weight:600}
.header_block .en{font-family:var(--serif-en);font-size:14px;color:var(--gold);letter-spacing:.05em}

/* ===== sidebar boxes ===== */
#side .box{margin-bottom:38px}
#side .box > h3,.side_title{
  font-size:15px;color:var(--purple-deep);padding:0 0 .6em;margin-bottom:.8em;
  border-bottom:2px solid var(--line);display:flex;align-items:baseline;gap:8px;font-weight:600}
.side_title .en{font-family:var(--serif-en);font-size:12px;color:var(--gold)}
#side .box ul{list-style:none}
/* サイドナビ＝やまアート準拠（アイコン＋日本語＋英語サブ・右寄せ・点線区切り）*/
#side_nav{border-right:2px solid var(--line-soft)}
#side_nav ul{margin-right:10px}
#side_nav li a{display:block;text-decoration:none}
#side_nav .nav_item{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:.95em 0;border-bottom:1px dotted var(--line)}
#side_nav li:last-child .nav_item{border-bottom:none}
#side_nav .nav_icon{flex:0 0 26px;width:26px;height:26px;color:var(--purple);display:flex;align-items:center}
#side_nav .nav_icon svg{width:23px;height:23px}
#side_nav .nav_title{text-align:right;line-height:1.3}
#side_nav .nav_title .jp{display:block;font-size:14px;color:var(--ink);font-family:var(--serif-jp)}
#side_nav .nav_title .en{display:block;font-size:11px;color:var(--gold);font-family:var(--serif-en);letter-spacing:.03em}
#side_nav li a:hover .nav_title .jp{color:var(--purple)}
#side_nav li a:hover .nav_icon{color:var(--purple-light)}
#box_category li a{display:block;padding:.6em 0;border-bottom:1px dotted var(--line);color:var(--ink);font-size:14px}
#box_category li a:hover{color:var(--purple);text-decoration:none}
#box_category .cat_parent > a{font-weight:600;color:var(--purple-deep)}
#box_category .subcat{list-style:none;margin:0 0 .2em;padding:0}
#box_category .subcat li a{padding:.45em 0 .45em 1.1em;font-size:13px;color:var(--ink);border-bottom:1px dotted var(--line-soft);position:relative}
#box_category .subcat li a::before{content:"└";position:absolute;left:0;color:var(--gold);font-size:12px}
#box_category .subcat li a:hover{color:var(--purple)}
#box_pages .side_menu{list-style:none}
#box_pages .side_menu li a{display:block;padding:.6em 0;border-bottom:1px dotted var(--line);color:var(--ink);font-size:14px;text-decoration:none}
#box_pages .side_menu li a:hover{color:var(--purple)}
#box_owner .owner_photo{width:110px;border:1px solid var(--line);border-radius:6px;margin-bottom:10px}
#box_owner .name{font-size:14px;color:var(--purple-deep);margin-bottom:6px}
#box_owner .memo{font-size:13px;line-height:1.7;color:var(--ink)}
.side_products li{display:flex;gap:10px;padding:12px 0;border-bottom:1px dotted var(--line)}
.side_products img{width:64px;height:64px;object-fit:cover;border:1px solid var(--line);border-radius:4px}
.side_products .sp_name{font-size:12.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.side_products .sp_price{font-size:13px;color:var(--purple-deep);font-family:var(--round)}

/* ===== WooCommerce 商品一覧（archive grid）===== */
/* WooCommerce既定の float/width(30.75%)/margin を打ち消してグリッドで整列 */
.woocommerce ul.products{
  display:grid!important;grid-template-columns:repeat(3,1fr);gap:30px 22px;
  list-style:none;margin:0!important;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{
  width:auto!important;float:none!important;clear:none!important;
  margin:0!important;padding:0!important;text-align:left}
.woocommerce ul.products li.product a img{
  width:100%!important;display:block;height:auto;
  border:1px solid var(--line);border-radius:6px;margin:0 0 10px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:14px;line-height:1.6;color:var(--ink);padding:0;margin:0 0 6px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.woocommerce ul.products li.product .price{
  color:var(--purple-deep)!important;font-family:var(--round);font-size:15px;display:block}
.woocommerce ul.products li.product .price del{color:var(--muted);font-weight:normal}
.woocommerce ul.products li.product .button{display:none} /* 一覧の即カート無効＝詳細へ誘導 */
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:13px;color:var(--muted)}

/* ===== WooCommerce 商品詳細（single）===== */
.woocommerce div.product .product_title{
  font-family:var(--serif-jp);font-size:22px;line-height:1.5;color:var(--ink);
  padding-bottom:.6em;margin-bottom:.7em;border-bottom:2px solid var(--line)}
.woocommerce div.product div.images{width:48%}
.woocommerce div.product div.summary{width:48%}
.woocommerce div.product div.images img{border:1px solid var(--line);border-radius:6px}
/* 価格を大きく＋（税込）*/
.woocommerce div.product p.price,.woocommerce div.product span.price{
  color:var(--purple-deep);font-family:var(--round);font-size:30px;font-weight:700;margin:.2em 0 .4em}
.price-tax-note{font-size:15px;color:var(--muted);font-weight:normal}
/* 一点物バッジ */
.single-only{display:inline-block;margin:0 0 14px;padding:5px 14px;border:1px solid var(--gold);
  color:var(--gold);font-family:var(--round);font-size:13px;border-radius:20px;letter-spacing:.04em}
/* 購入ボタン（パープルCTA）*/
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button.alt{
  background:var(--purple);color:#fff;font-family:var(--round);font-size:16px;
  padding:14px 28px;border-radius:6px;border:none;letter-spacing:.05em}
.woocommerce div.product form.cart .button:hover,.woocommerce a.button:hover,.woocommerce button.button.alt:hover{
  background:var(--purple-deep)}
/* 操作ブロック（カゴ追加・特商法・問い合わせ・お探し）＝説明と関連商品の間 */
.product-actions{clear:both;margin:34px 0 8px}
.sk-link{display:block;margin:8px 0 14px;font-size:13px}
.btn-addcart-full,.btn-contact-full,.btn-search-full{display:block;text-align:center;padding:14px;margin:8px 0;
  border-radius:6px;font-family:var(--round);font-size:15px}
.btn-addcart-full{background:var(--purple);color:#fff;border:none}
.btn-addcart-full:hover{background:var(--purple-deep);color:#fff;text-decoration:none}
.btn-contact-full{background:#8d7f97;color:#fff}
.btn-contact-full:hover{background:#766885;color:#fff;text-decoration:none}
.btn-search-full{background:#fff;color:var(--purple-deep);border:1px solid var(--line)}
.btn-search-full:hover{background:#faf6fd;text-decoration:none}
/* 特定商取引法に基づく表記 */
.tokushoho .tk-sec{font-size:16px;color:var(--purple-deep);border-left:4px solid var(--gold);
  padding-left:10px;margin:34px 0 16px}
.tokushoho .tk-table{width:100%;border-collapse:collapse;margin-bottom:8px}
.tokushoho .tk-table th{width:210px;text-align:left;vertical-align:top;padding:14px 14px 14px 0;
  font-weight:600;color:var(--ink);font-size:14px;border-bottom:1px dotted var(--line)}
.tokushoho .tk-table td{padding:14px 0;vertical-align:top;font-size:14px;line-height:1.85;
  border-bottom:1px dotted var(--line)}
@media(max-width:600px){
  .tokushoho .tk-table th,.tokushoho .tk-table td{display:block;width:100%;border:none;padding:2px 0}
  .tokushoho .tk-table th{padding-top:14px;color:var(--purple-deep);border-top:1px dotted var(--line)}
  .tokushoho .tk-table td{padding-bottom:12px}
}
/* お探しフォーム */
.yk-form label{display:block;margin:0 0 18px;font-size:14px;color:var(--ink)}
.yk-form label span{color:var(--red);font-size:11px;margin-left:8px}
.yk-form input,.yk-form textarea,.yk-form select{width:100%;margin-top:5px;padding:11px;
  border:1px solid var(--line);border-radius:5px;background:#fff;font-family:var(--serif-jp);font-size:14px}
.yk-form .btn-primary{border:none;cursor:pointer;font-size:15px;margin-top:6px}
.form-err{color:var(--red);margin:0 0 16px;font-size:14px}
/* 説明冒頭のリード文（簡単な説明）*/
.woocommerce div.product .yk-lead p{font-size:15.5px;line-height:1.9;margin:0 0 1.1em;color:var(--ink)}
/* 詳細本文（jp_description）*/
.woocommerce-Tabs-panel,.woocommerce div.product .woocommerce-tabs{font-size:14.5px;line-height:1.8}
.woocommerce-Tabs-panel p{margin:0 0 .9em}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:#fff}
/* SKU・カテゴリー・タグはお客様に不要＝非表示 */
.woocommerce div.product .product_meta{display:none}
/* 関連商品見出し */
.woocommerce .related > h2,.woocommerce .upsells > h2{
  font-size:18px;color:var(--purple-deep);border-bottom:2px solid var(--line);padding-bottom:.5em}

/* ===== WooCommerce チェックアウト（決済説明エリアは白抜き）===== */
.woocommerce-checkout ul.payment_methods li .payment_box{background:#ffffff!important;border:1px solid var(--line);color:var(--ink)}
.woocommerce-checkout ul.payment_methods li .payment_box::before{border-bottom-color:#ffffff!important}

/* ===== 汎用ボタン ===== */
.btn-primary{display:inline-block;background:var(--purple);color:#fff;padding:14px 26px;border-radius:6px;font-family:var(--round)}
.btn-primary:hover{background:var(--purple-deep);color:#fff;text-decoration:none}

/* ===== SOLD ===== */
.sold_out{color:var(--red)}
.wc-block-components-product-badge,.onsale{background:var(--gold);color:#fff;border:none}
.loop-sold,.single-sold{display:inline-block;background:var(--red);color:#fff;
  font-family:var(--round);letter-spacing:.08em;border-radius:4px}
.loop-sold{position:absolute;top:8px;left:8px;z-index:2;font-size:12px;padding:3px 12px}
.single-sold{font-size:15px;padding:6px 16px;margin:0 0 14px}
/* 売約済みは画像を少し落ち着かせる＋価格は非表示（カラーミー準拠）*/
.woocommerce ul.products li.product.outofstock a img{opacity:.62}
.woocommerce ul.products li.product.outofstock .price,
.woocommerce div.product.outofstock p.price{display:none!important}
/* SOLD時のお探し誘導ブロック */
.sold-guide{margin:4px 0 12px}
.sold-guide p{font-size:14px;line-height:1.85;margin:10px 0}
.sold-guide .btn-primary{margin-top:6px}
/* カート下の案内文 */
.cart-note{clear:both;display:block;font-size:16px;font-weight:700;color:var(--ink);margin:12px 0 0;line-height:1.7}
/* ヘッダー右側：カード案内→検索 を縦に積む */
.header_right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.header_cards{display:flex;align-items:center}
.header_cards img{height:58px;width:auto;border-radius:4px}
.cards-note{font-family:var(--round);font-size:12px;color:var(--purple-deep);
  border:1px solid var(--line);border-radius:4px;padding:3px 10px;background:#fff}

/* ===== to top ===== */
.to_top{position:fixed;right:18px;bottom:18px;display:inline-block;padding:10px 12px;
  background:var(--purple);color:#fff;border-radius:6px;font-family:var(--serif-en);font-size:13px;opacity:.85}
.to_top:hover{opacity:1;color:#fff;text-decoration:none}

/* ===== footer ===== */
#footer{clear:both;border-top:3px solid var(--line);background:rgba(255,255,255,.40);padding:36px 0 24px}
.footer_inner{width:96%;max-width:1040px;margin:0 auto}
.foot_policy{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;
  padding-bottom:24px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.foot_sk_box{width:280px}
.foot_sk_box h3{font-size:14px;color:var(--purple-deep);margin-bottom:.8em;
  border-left:3px solid var(--gold);padding-left:8px}
.foot_sk_box dt{font-size:13px;color:var(--ink);margin-bottom:.2em;font-weight:600}
.foot_sk_box dd{font-size:13px;color:var(--muted);margin-bottom:1em}
.footer_sns{display:flex;justify-content:center;gap:16px;list-style:none;margin-bottom:18px}
.footer_sns a{color:var(--purple);font-family:var(--round);font-size:13px}
.footer_menu{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;list-style:none;margin-bottom:14px}
.footer_menu a{color:var(--muted);font-size:12.5px}
.copyright{text-align:center;color:var(--muted);font-size:12px;font-family:var(--serif-en)}

/* ===== responsive（スマホ1カラム）===== */
@media(max-width:900px){
  #main,#side{float:none;width:100%}
  #side{margin-top:46px}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:20px 14px}
  .woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%;float:none}
  .header_main{justify-content:center;text-align:center}
  .header_search input[type=text]{width:150px}
  .global_nav ul{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}
  .global_nav li a{white-space:nowrap;padding:12px 14px}
}
@media(max-width:480px){
  .woocommerce ul.products{grid-template-columns:1fr 1fr;gap:16px 10px}
  .woocommerce div.product p.price,.woocommerce div.product span.price{font-size:26px}
}
