/*
Theme Name: EGO SK Design Child
Theme URI: https://marumaru-health.com/
Description: TCD EGO Welcart - SK Design child theme. Unified design with ion-shower-eco.jp.
Author: Good Corporation
Author URI: https://www.good-good.co.jp/
Template: ego_welcart_tcd079
Version: 1.0.0
Text Domain: ego-sk-child
*/

/* ============================================
   SK DESIGN SYSTEM - CSS Custom Properties
   ============================================ */
:root {
  --sk-white: #ffffff;
  --sk-black: #000000;
  --sk-red: #d1544d;
  --sk-red-dark: #b8413b;
  --sk-gray-light: #f5f5f5;
  --sk-gray-mid: #e0e0e0;
  --sk-gray-text: #666666;
}

/* ============================================
   GLOBAL TYPOGRAPHY
   ============================================ */
body,
.p-headline,
.p-entry__body,
.c-btn,
.p-footer,
.p-header {
  font-family: 'Helvetica Neue', 'Noto Sans JP', -apple-system, BlinkMacSystemFont, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   GLOBAL RESET - Remove all border-radius
   ============================================ */
*,
.c-btn,
.c-btn--primary,
.c-btn--secondary,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="submit"],
input[type="button"],
textarea,
select,
.p-card,
.p-entry,
.wp-block-button__link,
.usces_cart .send input[type="submit"],
.cart_navi input[type="submit"] {
  border-radius: 0 !important;
}

/* ============================================
   HEADER - SK Style
   ============================================ */
.p-header {
  background: var(--sk-white) !important;
  border-bottom: 1px solid var(--sk-black) !important;
  box-shadow: none !important;
}

.p-header__nav a {
  color: var(--sk-black) !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  transition: color 0.2s !important;
}

.p-header__nav a:hover {
  color: var(--sk-red) !important;
}

/* ============================================
   BUTTONS - SK Style (Black & Red)
   ============================================ */
.c-btn--primary,
.usces_cart .send input[type="submit"],
.cart_navi input.to_customerinfo_button,
input.to_confirm_button,
input.to_completion_button,
.usces_cart input[type="submit"][name="purchase"] {
  background: var(--sk-red) !important;
  color: var(--sk-white) !important;
  border: none !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  padding: 14px 32px !important;
  transition: background 0.2s !important;
}

.c-btn--primary:hover,
.usces_cart .send input[type="submit"]:hover {
  background: var(--sk-red-dark) !important;
}

.c-btn--secondary,
.cart_navi input[type="submit"] {
  background: var(--sk-black) !important;
  color: var(--sk-white) !important;
  border: none !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  transition: background 0.2s !important;
}

.c-btn--secondary:hover {
  background: #333333 !important;
}

/* ============================================
   PRODUCT CARDS - SK Style
   ============================================ */
.p-item__thumb,
.p-item,
.p-card {
  border-radius: 0 !important;
  overflow: hidden;
}

.p-item__title {
  font-weight: 700 !important;
  color: var(--sk-black) !important;
  letter-spacing: -0.01em !important;
}

.p-item__price {
  color: var(--sk-red) !important;
  font-weight: 900 !important;
}

/* ============================================
   PRODUCT DETAIL PAGE - SK Style
   ============================================ */
.p-single-item__title,
.welcart_basic_item_single h1 {
  font-weight: 900 !important;
  color: var(--sk-black) !important;
  letter-spacing: -0.02em !important;
  line-height: 1.3 !important;
}

.itemGrPrice,
.itemPrice,
.skuPrice {
  color: var(--sk-red) !important;
  font-weight: 900 !important;
  font-size: 1.5em !important;
}

.incart_btn input[type="submit"],
.to_cart input[type="submit"],
.incart_btn button,
input[name="usces_cart_button"] {
  background: var(--sk-red) !important;
  color: var(--sk-white) !important;
  border: none !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 16px 40px !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  width: 100% !important;
  max-width: 400px !important;
}

.incart_btn input[type="submit"]:hover,
.to_cart input[type="submit"]:hover {
  background: var(--sk-red-dark) !important;
}

.skuArea,
.itemSku {
  border: 1px solid var(--sk-gray-mid) !important;
  padding: 20px !important;
  background: var(--sk-gray-light) !important;
}

/* ============================================
   CART PAGE - SK Style
   ============================================ */
.usces_cart table {
  border-collapse: collapse !important;
}

.usces_cart table th {
  background: var(--sk-black) !important;
  color: var(--sk-white) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.05em !important;
  padding: 14px 16px !important;
}

.usces_cart table td {
  border-bottom: 1px solid var(--sk-gray-mid) !important;
  padding: 14px 16px !important;
}

.cart_navi {
  border-bottom: 2px solid var(--sk-black) !important;
}

.cart_navi .current {
  color: var(--sk-red) !important;
  font-weight: 700 !important;
}

/* ============================================
   FOOTER - SK Style
   ============================================ */
.p-footer {
  background: var(--sk-black) !important;
  color: var(--sk-white) !important;
}

.p-footer a {
  color: rgba(255, 255, 255, 0.7) !important;
  transition: color 0.2s !important;
}

.p-footer a:hover {
  color: var(--sk-white) !important;
}

/* ============================================
   FORMS - SK Style
   ============================================ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
textarea,
select {
  border: 1px solid var(--sk-gray-mid) !important;
  padding: 12px 16px !important;
  font-family: 'Helvetica Neue', 'Noto Sans JP', sans-serif !important;
  font-size: 14px !important;
  transition: border-color 0.2s !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus {
  border-color: var(--sk-black) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ============================================
   BREADCRUMB - SK Style
   ============================================ */
.p-breadcrumb {
  font-size: 12px !important;
  letter-spacing: 0.03em !important;
}

.p-breadcrumb a {
  color: var(--sk-gray-text) !important;
}

.p-breadcrumb a:hover {
  color: var(--sk-red) !important;
}

/* ============================================
   SIDEBAR - SK Style
   ============================================ */
.p-sidebar .widget_title,
.l-sidebar .widget_title {
  font-weight: 700 !important;
  color: var(--sk-black) !important;
  border-bottom: 2px solid var(--sk-black) !important;
  padding-bottom: 8px !important;
  font-size: 14px !important;
  letter-spacing: 0.05em !important;
}

/* ============================================
   PAGINATION - SK Style
   ============================================ */
.p-pager a,
.p-pager span {
  border: 1px solid var(--sk-black) !important;
  color: var(--sk-black) !important;
  border-radius: 0 !important;
  font-weight: 500 !important;
}

.p-pager .current,
.p-pager a:hover {
  background: var(--sk-black) !important;
  color: var(--sk-white) !important;
}

/* ============================================
   CONTENT HEADINGS - SK Style
   ============================================ */
.p-entry__body h2,
.p-entry__body h3 {
  border: none !important;
  padding-left: 0 !important;
}

.p-entry__body h2::before,
.p-entry__body h3::before {
  display: none !important;
}

.p-entry__body h2 {
  font-size: 1.5em !important;
  font-weight: 900 !important;
  color: var(--sk-black) !important;
  border-bottom: 2px solid var(--sk-black) !important;
  padding-bottom: 8px !important;
  margin-bottom: 24px !important;
}

.p-entry__body h3 {
  font-size: 1.2em !important;
  font-weight: 700 !important;
  color: var(--sk-black) !important;
  margin-bottom: 16px !important;
}

/* ============================================
   TABLES - SK Style
   ============================================ */
.p-entry__body table {
  border-collapse: collapse !important;
  width: 100% !important;
}

.p-entry__body table th {
  background: var(--sk-gray-light) !important;
  font-weight: 700 !important;
  border: 1px solid var(--sk-gray-mid) !important;
  padding: 12px 16px !important;
  text-align: left !important;
}

.p-entry__body table td {
  border: 1px solid var(--sk-gray-mid) !important;
  padding: 12px 16px !important;
}

/* ============================================
   WELCART LOGIN / MEMBER PAGES
   ============================================ */
.usces_member input[type="submit"],
.usces_login input[type="submit"] {
  background: var(--sk-black) !important;
  color: var(--sk-white) !important;
  border: none !important;
  padding: 14px 32px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
}

.usces_member input[type="submit"]:hover,
.usces_login input[type="submit"]:hover {
  background: #333333 !important;
}

/* ============================================
   CLEAN LINK STYLES
   ============================================ */
a {
  color: var(--sk-black);
  transition: color 0.2s;
}

a:hover {
  color: var(--sk-red);
}

/* ============================================
   CUSTOM UTILITY CLASSES
   ============================================ */
.sk-subscription-badge {
  display: inline-block;
  background: var(--sk-red);
  color: var(--sk-white);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 4px 12px;
  text-transform: uppercase;
}

.sk-save-badge {
  display: inline-block;
  background: var(--sk-black);
  color: var(--sk-white);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 4px 12px;
}

/* ============================================
   MOBILE RESPONSIVE
   ============================================ */
@media (max-width: 768px) {
  .incart_btn input[type="submit"],
  .to_cart input[type="submit"] {
    max-width: 100% !important;
    font-size: 15px !important;
    padding: 14px 20px !important;
  }

  .usces_cart table th,
  .usces_cart table td {
    padding: 10px 12px !important;
    font-size: 13px !important;
  }
}
/* ============================================
   PRODUCT SINGLE PAGE - Layout Fix v2
   カートリッジ商品ページの購入導線改善
   正しいクラス名で再設定
   ============================================ */

/* --- 1. 最近チェックした商品ウィジェットを非表示 --- */
body.postid-415 .p-recentry-viewed-products,
body.postid-421 .p-recentry-viewed-products,
body.postid-425 .p-recentry-viewed-products,
body.postid-415 .p-recentry-viewed-products__headline,
body.postid-421 .p-recentry-viewed-products__headline,
body.postid-425 .p-recentry-viewed-products__headline {
  display: none !important;
}

/* --- 2. テーマ標準タブ（送料・特長・使用方法・遠赤外線）を非表示 --- */
body.postid-415 .p-entry-product__tabs-container,
body.postid-421 .p-entry-product__tabs-container,
body.postid-425 .p-entry-product__tabs-container {
  display: none !important;
}

/* --- 3. サイドバー全体を非表示 + メインを全幅に --- */
body.postid-415 .l-main__inner,
body.postid-421 .l-main__inner,
body.postid-425 .l-main__inner {
  display: block !important;
}

body.postid-415 .l-main__inner > aside,
body.postid-421 .l-main__inner > aside,
body.postid-425 .l-main__inner > aside,
body.postid-415 .l-main__inner > .l-sidebar,
body.postid-421 .l-main__inner > .l-sidebar,
body.postid-425 .l-main__inner > .l-sidebar,
body.postid-415 .l-main__inner > [class*="sidebar"],
body.postid-421 .l-main__inner > [class*="sidebar"],
body.postid-425 .l-main__inner > [class*="sidebar"] {
  display: none !important;
}

body.postid-415 .l-primary,
body.postid-421 .l-primary,
body.postid-425 .l-primary {
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  float: none !important;
  flex: none !important;
}

/* --- 4. タイトルのサイズ調整 --- */
body.postid-415 h1.p-entry__title,
body.postid-421 h1.p-entry__title,
body.postid-425 h1.p-entry__title,
body.postid-415 .p-entry-product__title,
body.postid-421 .p-entry-product__title,
body.postid-425 .p-entry-product__title {
  font-size: 22px !important;
  line-height: 1.4 !important;
  margin-bottom: 16px !important;
}

/* --- 5. Welcart カートエリアを強調表示 --- */
body.postid-415 .p-entry-product__carts,
body.postid-421 .p-entry-product__carts,
body.postid-425 .p-entry-product__carts {
  background: var(--sk-gray-light) !important;
  border: 2px solid var(--sk-black) !important;
  padding: 28px !important;
  margin-top: 32px !important;
  margin-bottom: 32px !important;
}

/* 価格を大きく表示 */
body.postid-415 .p-entry-product__price.p-price,
body.postid-421 .p-entry-product__price.p-price,
body.postid-425 .p-entry-product__price.p-price {
  font-size: 28px !important;
  font-weight: 900 !important;
  color: var(--sk-red) !important;
}

/* カートに入れるボタンを全幅・大きく */
body.postid-415 .skubutton.p-wc-button-sku,
body.postid-421 .skubutton.p-wc-button-sku,
body.postid-425 .skubutton.p-wc-button-sku {
  font-size: 18px !important;
  padding: 18px 40px !important;
  width: 100% !important;
  max-width: 100% !important;
  background: var(--sk-red) !important;
  color: var(--sk-white) !important;
  border: none !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
}

body.postid-415 .skubutton.p-wc-button-sku:hover,
body.postid-421 .skubutton.p-wc-button-sku:hover,
body.postid-425 .skubutton.p-wc-button-sku:hover {
  background: var(--sk-red-dark) !important;
}

/* --- 6. フッター最近の記事を非表示 --- */
body.postid-415 .p-footer-blog,
body.postid-421 .p-footer-blog,
body.postid-425 .p-footer-blog,
body.postid-415 .l-footer__blog,
body.postid-421 .l-footer__blog,
body.postid-425 .l-footer__blog {
  display: none !important;
}

/* --- 7. スティッキー購入バー（下部固定） --- */
.sk-sticky-cart {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: var(--sk-white);
  border-top: 2px solid var(--sk-black);
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.sk-sticky-cart.is-visible {
  transform: translateY(0);
}

.sk-sticky-cart__info {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sk-sticky-cart__name {
  font-size: 14px;
  font-weight: 700;
  color: var(--sk-black);
  letter-spacing: -0.01em;
}

.sk-sticky-cart__price {
  font-size: 20px;
  font-weight: 900;
  color: var(--sk-red);
}

.sk-sticky-cart__price .tax {
  font-size: 12px;
  font-weight: 400;
  color: var(--sk-gray-text);
}

.sk-sticky-cart__btn {
  display: inline-block;
  background: var(--sk-red);
  color: var(--sk-white);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 14px 40px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s;
  white-space: nowrap;
}

.sk-sticky-cart__btn:hover {
  background: var(--sk-red-dark);
  color: var(--sk-white);
  text-decoration: none;
}

/* スティッキーバー分のbody下部余白 */
body.postid-415,
body.postid-421,
body.postid-425 {
  padding-bottom: 80px !important;
}

/* --- 8. モバイル対応 --- */
@media (max-width: 768px) {
  .sk-sticky-cart {
    padding: 10px 16px;
    gap: 12px;
  }

  .sk-sticky-cart__name {
    display: none;
  }

  .sk-sticky-cart__price {
    font-size: 18px;
  }

  .sk-sticky-cart__btn {
    font-size: 14px;
    padding: 12px 24px;
    flex: 1;
    text-align: center;
  }
}
/* --- 9. サイドバー（最近の記事・カテゴリー等）を非表示 --- */
body.postid-415 .p-sidebar.l-secondary,
body.postid-421 .p-sidebar.l-secondary,
body.postid-425 .p-sidebar.l-secondary {
  display: none !important;
}

/* --- 全商品ページ共通：サイドバー・タブ非表示 --- */
body.single-product .p-sidebar.l-secondary {
  display: none !important;
}

body.single-product .p-entry-product__tabs-container {
  display: none !important;
}

body.single-product .l-primary {
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  float: none !important;
  flex: none !important;
}

/* ============================================
   【施策1】裏方カート化 - 追加CSS
   追加日: 2026/03/29
   ============================================ */

/* ============================================
   A. 全ページ共通：サイドバー非表示 + メインを全幅
   カート画面・商品ページ・マイページすべてで統一
   ============================================ */
.l-main__inner {
  display: block !important;
}

.l-main__inner > aside,
.l-main__inner > .l-sidebar,
.l-secondary,
.p-sidebar.l-secondary {
  display: none !important;
}

.l-primary {
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  float: none !important;
  flex: none !important;
}

/* ============================================
   B. ヘッダー上部の説明文を非表示
   「毎日の健康づくりをサポートする情報サイト」を消す
   ============================================ */
.p-header__upper,
.p-header-description {
  display: none !important;
}

/* ============================================
   C. ヘッダーロゴエリアをSKデザインに統一
   ============================================ */
.p-header__lower {
  border-bottom: 1px solid #000 !important;
}

.p-logo a {
  font-family: 'Helvetica Neue', 'Noto Sans JP', sans-serif !important;
  font-weight: 900 !important;
  font-size: 20px !important;
  letter-spacing: -0.02em !important;
  color: #000 !important;
  text-decoration: none !important;
}

/* ============================================
   D. グローバルメニューをSKデザインに統一
   ============================================ */
.p-global-nav a {
  font-family: 'Helvetica Neue', 'Noto Sans JP', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 0.05em !important;
  color: #000 !important;
}

.p-global-nav a:hover {
  color: #d1544d !important;
}

/* ion-shower-eco.jp リンクを赤で強調 */
.sk-ionshower-link a {
  color: #d1544d !important;
  font-weight: 700 !important;
}

/* ============================================
   E. フッターメニューエリアをSKデザインに統一
   ============================================ */
.p-footer-nav__area {
  background: #111 !important;
}

.p-footer-nav a {
  color: rgba(255, 255, 255, 0.7) !important;
  font-family: 'Helvetica Neue', 'Noto Sans JP', sans-serif !important;
  font-size: 13px !important;
}

.p-footer-nav a:hover {
  color: #fff !important;
}

.p-footer-nav__headline {
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.03em !important;
}

/* ============================================
   F. コピーライトエリア
   ============================================ */
.p-copyright {
  background: #000 !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 12px !important;
  letter-spacing: 0.03em !important;
}

/* ============================================
   G. 最近の記事ウィジェット・月別アーカイブ・
      旧カテゴリ（紅塩等）を全ページで非表示
   ============================================ */
.widget_recent_entries,
.widget_archives,
.widget_categories,
.widget_meta {
  display: none !important;
}

/* ============================================
   H. フッターブログ・フッター商品エリアを非表示
   ============================================ */
.p-footer-blog,
.l-footer__blog,
.p-footer-products {
  display: none !important;
}

/* ============================================
   I. カートステップナビをSKデザインに統一
   ============================================ */
.p-wc-cart_navi ul {
  display: flex !important;
  justify-content: center !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 32px 0 !important;
  border-bottom: 2px solid #000 !important;
}

.p-wc-cart_navi li {
  flex: 1 !important;
  text-align: center !important;
}

.p-wc-cart_navi li span {
  display: block !important;
  padding: 14px 8px !important;
  font-family: 'Helvetica Neue', 'Noto Sans JP', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  color: #999 !important;
}

.p-wc-cart_navi li.is-current span {
  color: #000 !important;
  font-weight: 700 !important;
  border-bottom: 3px solid #d1544d !important;
  margin-bottom: -2px !important;
}

/* ============================================
   J. 確認ページ・配送ページのテーブルをSKデザインに
   ============================================ */
.p-wc-confirm_table th {
  background: #f5f5f5 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  color: #000 !important;
  border: 1px solid #e0e0e0 !important;
  padding: 12px 16px !important;
}

.p-wc-confirm_table td {
  border: 1px solid #e0e0e0 !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
}

/* ============================================
   K. 購入完了ボタンをSKデザインに統一
   ============================================ */
.p-wc input[type="submit"][name="purchase"],
.usces_cart input.to_completion_button {
  background: #d1544d !important;
  color: #fff !important;
  border: none !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  padding: 18px 48px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

.p-wc input[type="submit"][name="purchase"]:hover {
  background: #b8413b !important;
}

/* ============================================
   L. 「戻る」ボタンをSKセカンダリスタイルに
   ============================================ */
.back_to_customer_button,
input[name="backCart"],
input[name="backCustomer"],
input[name="backDelivery"] {
  background: #000 !important;
  color: #fff !important;
  border: none !important;
  font-weight: 700 !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

.back_to_customer_button:hover,
input[name="backCart"]:hover,
input[name="backCustomer"]:hover,
input[name="backDelivery"]:hover {
  background: #333 !important;
}