/* =============================================================================
   AKIRA NAKAMURA SHOP — Welcart カート/チェックアウト/会員ページの見た目上書き
   親テーマ ego_welcart_tcd079/css/welcart.css・style.css のクラスをトークンで再スタイル。
   構造（テンプレート・フォーム）は親のまま。CSSのみで上書きする。
   ============================================================================= */

/* -----------------------------------------------------------------------------
   ボタン（親: ティール #00bcbc → 墨。hover はシャンパンゴールド）
   ----------------------------------------------------------------------------- */
body .p-button {
  background: var(--ink);
  color: #fff !important; /* 親が !important のため踏襲 */
  font-family: var(--font-ja);
  letter-spacing: var(--ls-ja);
  transition: background var(--duration) var(--ease);
}
body .p-button:hover {
  background: var(--accent);
}

/* グレー系サブボタン（戻る等） */
body .p-button--gray,
body .p-button-back {
  background: transparent;
  color: var(--ink) !important;
  border: 1px solid var(--hairline);
}
body .p-button--gray:hover,
body .p-button-back:hover {
  background: var(--paper-alt);
  color: var(--ink) !important;
}

/* 危険操作（退会等）は彩度を抑えた赤 */
body #memberpages .p-button.p-button-red {
  background: var(--error);
}

/* -----------------------------------------------------------------------------
   見出し
   ----------------------------------------------------------------------------- */
body .p-wc-headline,
body .p-wc .p-wc-headline,
body .p-wc-headline02,
body .p-wc .p-wc-headline02 {
  font-family: var(--font-ja);
  font-weight: 400;
  letter-spacing: var(--ls-ja);
  color: var(--ink);
}
body .p-wc-headline02,
body .p-wc .p-wc-headline02 {
  border-bottom-color: var(--hairline);
}

/* -----------------------------------------------------------------------------
   ステップナビ（カート → お客様情報 → 確認 → 完了）
   ----------------------------------------------------------------------------- */
body .p-wc-cart_navi ul {
  border-color: var(--hairline);
}
body .p-wc-cart_navi li {
  background: var(--paper-alt);
  color: var(--muted);
  font-family: var(--font-ja);
  letter-spacing: 0.04em;
}
body .p-wc-cart_navi li:before {
  border-left-color: var(--paper-alt);
}
body .p-wc-cart_navi li:after {
  border-left-color: var(--hairline);
}
body .p-wc-cart_navi li.is-current {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}
body .p-wc-cart_navi li.is-current::after {
  border-left-color: var(--ink);
}

/* -----------------------------------------------------------------------------
   カート表・確認表（細罫線テーブル）
   ----------------------------------------------------------------------------- */
body .p-wc-cart_table {
  border-color: var(--hairline);
}
body .p-wc-cart_table thead {
  background: var(--paper-alt);
}
body .p-wc-cart_table th {
  font-weight: 400;
  color: var(--ink-soft);
  letter-spacing: var(--ls-ja);
  border-color: var(--hairline);
}
body .p-wc-cart_table tbody tr,
body .p-wc-cart_table tbody td,
body .p-wc-cart_table tfoot tr,
body .p-wc-cart_table tfoot th {
  border-color: var(--hairline);
}
body .p-wc-cart_table tbody td.subtotal,
body .p-wc-cart-page .p-wc-cart_table tbody td.subtotal {
  font-family: var(--font-en);
  font-size: 16px;
  color: var(--ink);
}
body .p-wc-cart_table tfoot tr:last-child th:nth-child(2) {
  font-family: var(--font-en);
  color: var(--ink);
}

/* 削除ボタン等のアクション列 */
body .p-wc-cart_table td.action,
body .p-wc-cart-page .p-wc-cart_table td.action {
  color: var(--muted);
}
body .p-wc-cart-page .p-wc-cart_table td.action:hover {
  color: var(--error);
}

/* クーポン・ポイント表 */
body #coupon_table,
body #coupon_table th,
body .p-wc-cart-page.p-wc-confirm #coupon_table td,
body .p-wc-cart-page.p-wc-confirm #coupon_table th,
body .p-wc-cart-page.p-wc-confirm .p-wc-point_table,
body .p-wc-cart-page.p-wc-confirm .p-wc-point_table th {
  border-color: var(--hairline);
  background: var(--paper);
  font-weight: 400;
}

/* -----------------------------------------------------------------------------
   フォーム（お客様情報・配送・会員登録・ログイン）
   ----------------------------------------------------------------------------- */
body .p-wc input[type="text"],
body .p-wc input[type="password"],
body .p-wc input[type="email"],
body .p-wc input[type="tel"],
body .p-wc input[type="number"],
body .p-wc select,
body .p-wc textarea,
body #memberpages input[type="text"],
body #memberpages input[type="password"],
body #memberpages input[type="email"],
body #memberpages select,
body #memberpages textarea {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: 0;
  color: var(--ink);
  font-family: var(--font-ja);
}
body .p-wc input[type="text"]:focus,
body .p-wc input[type="password"]:focus,
body .p-wc input[type="email"]:focus,
body .p-wc input[type="tel"]:focus,
body .p-wc textarea:focus,
body #memberpages input:focus,
body #memberpages textarea:focus {
  outline: none;
  border-color: var(--accent);
}

body .p-wc .p-wc-customer_form th,
body .p-wc-member-info th,
body .p-wc-mypage .history_head th {
  font-weight: 400;
  color: var(--ink-soft);
  background: var(--paper-alt);
  border-color: var(--hairline);
}
body .p-wc .p-wc-customer_form td,
body .p-wc-mypage .history_head td {
  border-color: var(--hairline);
}

/* 配送フォーム */
body .delivery-form-wrap,
body .delivery-form-wrap .delivery-form-row {
  border-color: var(--hairline);
}

/* ログインフォーム */
body .p-wc-loginform {
  border: 1px solid var(--hairline);
  background: var(--paper);
}
body .p-wc-loginform__registration::before {
  border-color: var(--hairline);
}
body .p-wc-loginform__lostpassword a,
body .p-wc-loginform__registration a {
  color: var(--ink);
}
body .p-wc-loginform__lostpassword a:hover,
body .p-wc-loginform__registration a:hover {
  color: var(--accent);
}

/* -----------------------------------------------------------------------------
   メッセージ・注意書き
   ----------------------------------------------------------------------------- */
body .p-wc-error_message,
body .error_message {
  color: var(--error);
}
body .p-wc-header_explanation,
body .p-wc-footer_explanation {
  color: var(--ink-soft);
  font-size: 13px;
  line-height: var(--lh-body);
}

/* 完了ページ・空カート */
body .p-wc-cart-page .no_cart {
  color: var(--ink-soft);
  font-size: 15px;
  letter-spacing: var(--ls-ja);
}

/* -----------------------------------------------------------------------------
   サイドバーウィジェット（旧 style-custom.css のコーラル系を白基調で再構成）
   ----------------------------------------------------------------------------- */
body .p-sidebar .widget {
  margin-bottom: 30px;
  background: var(--paper);
  padding: 20px;
  border: 1px solid var(--hairline);
  border-radius: 0;
  box-shadow: none;
}

body .p-sidebar .widget-title {
  font-family: var(--font-ja);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: var(--ls-ja);
  color: var(--ink);
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--hairline);
  position: relative;
}
body .p-sidebar .widget-title:before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 40px;
  height: 1px;
  background: var(--accent);
}

body .widget_categories ul,
body .widget_welcart_categories ul,
body .widget_recent_entries ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

body .widget_categories li,
body .widget_welcart_categories li,
body .widget_recent_entries li {
  margin-bottom: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--paper-alt);
}
body .widget_categories li:last-child,
body .widget_welcart_categories li:last-child,
body .widget_recent_entries li:last-child {
  border-bottom: none;
}

body .widget_categories a,
body .widget_welcart_categories a,
body .widget_recent_entries a {
  color: var(--ink-soft);
  font-size: 14px;
  transition: color var(--duration) var(--ease);
  display: block;
  padding: 5px 0;
}
body .widget_categories a:hover,
body .widget_welcart_categories a:hover,
body .widget_recent_entries a:hover {
  color: var(--accent);
}

/* 検索フォーム */
body .widget_welcart_search .search-form {
  position: relative;
}
body .widget_welcart_search input[type="text"] {
  width: 100%;
  padding: 10px 40px 10px 15px;
  border: 1px solid var(--hairline);
  border-radius: 0;
  font-size: 14px;
  background: var(--paper);
  transition: border-color var(--duration) var(--ease);
}
body .widget_welcart_search input[type="text"]:focus {
  outline: none;
  border-color: var(--accent);
}
body .widget_welcart_search input[type="submit"] {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  background: var(--ink);
  border: none;
  color: #fff;
  width: 30px;
  height: 30px;
  border-radius: 0;
  cursor: pointer;
  font-size: 12px;
  transition: background var(--duration) var(--ease);
}
body .widget_welcart_search input[type="submit"]:hover {
  background: var(--accent);
}

/* -----------------------------------------------------------------------------
   TCDテーマオプションが wp_head に出力するインラインCSSへの対抗
   （.p-button 等を #c21e56 ピンクで上書きしてくるため !important が必要）
   ----------------------------------------------------------------------------- */
body .p-button,
body .p-pagetop a {
  background-color: var(--ink) !important;
}
body .p-button:hover,
body .p-pagetop a:hover {
  background-color: var(--accent) !important;
}
body .p-header__membermenu-cart__badge {
  background-color: var(--ink) !important;
  color: #fff !important;
}
body .p-header__membermenu .p-header__membermenu-cart a {
  color: var(--ink) !important;
}
body .p-entry-product__header-like:hover,
body .p-entry-product__category a:hover,
body #wdgctToCart a:hover {
  color: var(--accent) !important;
}

/* パンくず・記事like等のテーマオプション色（ピンク）にも対抗 */
body .p-breadcrumb__inner,
body .p-wc-headline,
body .p-wc-headline02,
body .p-archive03__item-like,
body .p-article-like,
body .p-entry-product__category a {
  color: var(--ink) !important;
}
body .p-breadcrumb__inner a {
  color: var(--muted) !important;
}
body .p-breadcrumb__inner a:hover {
  color: var(--accent) !important;
}
body .p-page-links a:hover,
body .p-page-links > span,
body .p-pager__item .current,
body .p-pager__item a:hover,
body #wdgctToCheckout a {
  background-color: var(--ink) !important;
  border-color: var(--ink) !important;
}
