/*
 Theme Name: Astra Child
 Theme URI: https://arrisestudio.com/
 Description: Child theme for Astra
 Author: ARRISE STUDIO
 Template: astra
 Version: 1.0.1
 Text Domain: astra-child
*/

/* =======================
   Single Product - Custom
   ======================= */

:root{
  --asc-top-gap: 18px; /* 左右カラムの“中身”の上端をそろえる量 */
}

/* ① ヒーロー：ギャラリーをコンテンツ幅いっぱいに */
.single-product .asc-layout .asc-hero{ margin-bottom:24px; }
.single-product .asc-layout .asc-hero .woocommerce-product-gallery{
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0;
}
.single-product .asc-layout .asc-hero .woocommerce-product-gallery__wrapper{ width:100%; }
.single-product .asc-layout .asc-hero .flex-viewport{ width:100% !important; }

/* 全スライドを一定サイズ（16:9）に統一 */
.single-product .asc-layout .asc-hero .woocommerce-product-gallery__image{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
}
.single-product .asc-layout .asc-hero .woocommerce-product-gallery__image img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
/* YouTube スライドも同じ高さに */
.single-product .asc-layout .asc-hero .woocommerce-product-gallery__image--video .asc-video-wrap{
  position:absolute; inset:0; width:100%; height:100%; padding:0;
}
.single-product .asc-layout .asc-hero .woocommerce-product-gallery__image--video iframe{
  position:absolute; inset:0; width:100%; height:100%;
}

/* 虫眼鏡は常に非表示 */
.single-product .woocommerce-product-gallery__trigger{ display:none !important; }

/* ② 下段：説明/レビューと価格サマリーを 7:3 の2カラムに */
.single-product .asc-layout .asc-body{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(0,3fr);
  gap:32px;
  align-items:start;
  border:0 !important;
}
.single-product .asc-layout .asc-body::before{ content:none !important; }

/* テーマ既定のfloat/幅を打ち消し */
.single-product .asc-layout .asc-body .summary,
.single-product .asc-layout .asc-body .woocommerce-tabs{
  float:none !important;
  width:auto !important;
  max-width:none !important;
  margin:0;
}

/* ── タブ見出しの既定の装飾を殺す（※ ::after は殺さない） ── */
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs .tabs::before{
  border:0 !important;
  box-shadow:none !important;
}
/* タブ本体側の上線も排除（テーマ差異対策） */
.single-product .woocommerce-tabs,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .panel::before{
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  content:normal;
}

/* ── 左右カラムの“中身の上端”をそろえる ── */
.single-product .asc-main .woocommerce-tabs{
  margin-top:0 !important;
  padding-top:var(--asc-top-gap) !important;
  border-top:0 !important;
}
.single-product .summary.entry-summary{
  margin-top:0 !important;
  padding-top:var(--asc-top-gap) !important;
  border-top:0 !important;
}

/* モバイルは1カラム */
@media (max-width: 992px){
  .single-product .asc-layout .asc-body{
    grid-template-columns:1fr;
    gap:24px;
  }
}

/* 単品商品ページ：上の余白・線をゼロ */
.single-product .site-content .ast-container,
.single-product #primary.content-area,
.single-product #primary .site-main,
.single-product #primary .ast-woocommerce-container{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
}
.single-product .ast-article-single{ border-top:0 !important; }

/* ページ見出しの線・余白は消す */
.single-product #primary .entry-header{
  margin:0 0 8px !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
}

/* =======================
   WooCommerce 一覧ページ系
   ======================= */

body.woocommerce #primary.content-area.primary,
body.woocommerce-page #primary.content-area.primary{ margin-top:0 !important; }
body.woocommerce .site-main > *:first-child{ margin-top:0 !important; }
.ast-woocommerce-container{ padding-top:0 !important; }
.entry-header,
.woocommerce-products-header,
.ast-archive-description{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
}

/* 結果数だけ縦中央 */
.woocommerce .woocommerce-result-count{
  float:left;
  display:flex;
  align-items:center;
  min-height:40px;
  line-height:1.4;
  margin:0 0 16px;
}
@media (max-width:544px){
  .woocommerce .woocommerce-result-count{
    float:none;
    min-height:0;
    margin:0 0 12px;
  }
}

/* 商品リスト：カード化（STATE 管理） */
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product,
li.ast-grid-common-col.product{
  background: var(--as-product-card-bg) !important;
  border-radius: var(--as-product-card-radius);
  box-shadow: var(--as-product-card-shadow) !important;
  border: 0 !important;
  padding: 0 0 20px;
  transition:
    box-shadow var(--as-dur) var(--as-ease),
    transform var(--as-dur-fast) var(--as-ease);
}
body.woocommerce ul.products li.product a img,
body.woocommerce-page ul.products li.product a img,
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
ul.products li.product a img,
li.ast-grid-common-col.product a img{
  border-radius: calc(var(--as-product-card-radius) - 2px) calc(var(--as-product-card-radius) - 2px) 0 0;
}

/* 商品カード：テキスト左詰め + 左余白、ボタン中央寄せ */
body.woocommerce ul.products li.product .astra-shop-summary-wrap,
body.woocommerce-page ul.products li.product .astra-shop-summary-wrap,
.woocommerce ul.products li.product .astra-shop-summary-wrap,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap,
ul.products li.product .astra-shop-summary-wrap,
li.ast-grid-common-col.product .astra-shop-summary-wrap{
  text-align: left;
}
body.woocommerce ul.products li.product .astra-shop-summary-wrap .ast-woo-product-category,
body.woocommerce-page ul.products li.product .astra-shop-summary-wrap .ast-woo-product-category,
.woocommerce ul.products li.product .astra-shop-summary-wrap .ast-woo-product-category,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap .ast-woo-product-category,
ul.products li.product .astra-shop-summary-wrap .ast-woo-product-category,
li.ast-grid-common-col.product .astra-shop-summary-wrap .ast-woo-product-category,
body.woocommerce ul.products li.product .astra-shop-summary-wrap .ast-loop-product__link,
body.woocommerce-page ul.products li.product .astra-shop-summary-wrap .ast-loop-product__link,
.woocommerce ul.products li.product .astra-shop-summary-wrap .ast-loop-product__link,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap .ast-loop-product__link,
ul.products li.product .astra-shop-summary-wrap .ast-loop-product__link,
li.ast-grid-common-col.product .astra-shop-summary-wrap .ast-loop-product__link,
body.woocommerce ul.products li.product .astra-shop-summary-wrap .review-rating,
body.woocommerce-page ul.products li.product .astra-shop-summary-wrap .review-rating,
.woocommerce ul.products li.product .astra-shop-summary-wrap .review-rating,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap .review-rating,
ul.products li.product .astra-shop-summary-wrap .review-rating,
li.ast-grid-common-col.product .astra-shop-summary-wrap .review-rating{
  padding-left: 20px;
}
body.woocommerce ul.products li.product .astra-shop-summary-wrap .button,
body.woocommerce-page ul.products li.product .astra-shop-summary-wrap .button,
.woocommerce ul.products li.product .astra-shop-summary-wrap .button,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap .button,
ul.products li.product .astra-shop-summary-wrap .button,
li.ast-grid-common-col.product .astra-shop-summary-wrap .button{
  display: table;
  margin: 12px auto 0;
}

/* 商品カード：カード全体をホバー扱い */
.as-card-clickable{ cursor: pointer; }

/* 商品カード：ボタン配色（固定） */
body.woocommerce ul.products li.product .astra-shop-summary-wrap .button,
body.woocommerce-page ul.products li.product .astra-shop-summary-wrap .button,
.woocommerce ul.products li.product .astra-shop-summary-wrap .button,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap .button,
ul.products li.product .astra-shop-summary-wrap .button,
li.ast-grid-common-col.product .astra-shop-summary-wrap .button{
  background-color: #1caad9 !important;
  color: #ffffff !important;
}

/* カード全体ホバーでボタン色を変更（hover色は元指定色） */
body.woocommerce ul.products li.product.as-card-clickable:hover .astra-shop-summary-wrap .button,
body.woocommerce-page ul.products li.product.as-card-clickable:hover .astra-shop-summary-wrap .button,
.woocommerce ul.products li.product.as-card-clickable:hover .astra-shop-summary-wrap .button,
.woocommerce-page ul.products li.product.as-card-clickable:hover .astra-shop-summary-wrap .button,
ul.products li.product.as-card-clickable:hover .astra-shop-summary-wrap .button,
li.ast-grid-common-col.product.as-card-clickable:hover .astra-shop-summary-wrap .button,
body.woocommerce ul.products li.product .astra-shop-summary-wrap .button:hover,
body.woocommerce-page ul.products li.product .astra-shop-summary-wrap .button:hover,
.woocommerce ul.products li.product .astra-shop-summary-wrap .button:hover,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap .button:hover,
ul.products li.product .astra-shop-summary-wrap .button:hover,
li.ast-grid-common-col.product .astra-shop-summary-wrap .button:hover{
  background-color: #1c88bb !important;
  color: #ffffff !important;
}


/* =======================
   パンくず（移動後の体裁）
   ======================= */

.summary .woocommerce-breadcrumb{ display:none; }
#primary > .woocommerce-breadcrumb,
.asc-bc-moved{
  margin:0 0 .5rem;
  font-size:14px;
  line-height:1.4;
}

/* =======================
   ShopEngine 余計なアイコン排除
   ======================= */
.shopengine-quickview-trigger,
.shopengine_comparison_add_to_list_action{
  display:none !important;
}

/* =======================
   BetterDocs（既存調整）
   ======================= */
.betterdocs-article-reactions{ display:none !important; }
.single-docs .betterdocs-author,
.single-docs .author,
.single-docs .betterdocs-last-update,
.single-docs .betterdocs-reading-time{ display:none !important; }
body.single-docs h1 + hr,
body.single-docs h1 + hr + *,
body.single-docs h1 + hr + * + hr{ display:none !important; }
body.single-docs a[href*="/docs/authors/"]{
  display:none !important; pointer-events:none !important;
}
body.single-docs [class*="single-post-meta"],
body.single-docs [class*="single_meta"],
body.single-docs [class*="single-meta"],
body.single-docs [class*="doc-meta"],
body.single-docs [class*="docs-meta"],
body.single-docs [class*="author"],
body.single-docs [class*="reading"]{
  display:none !important;
  margin:0 !important; padding:0 !important; border:0 !important; height:0 !important;
}
.betterdocs-category-header-inner .betterdocs-sub-category-items-counts[data-count="0"]{
  display:none !important;
}
.update-date, .betterdocs-last-update{ display:none !important; }
body.single-docs .betterdocs-entry-header .docs-single-title .betterdocs-entry-title{
  font-size:1.8rem !important;
  line-height:1.2 !important;
  margin-bottom:.6em !important;
}
.betterdocs-title-excerpt-list:hover{ background:#a1dcc0 !important; }
.betterdocs-title-excerpt-list{ position:relative; }
.betterdocs-title-excerpt-list .betterdocs-entry-title a::after{
  content:""; position:absolute; inset:0; z-index:2; background:transparent;
}
.betterdocs-title-excerpt-list:hover{ background:#aee3cc; }
.betterdocs-title-excerpt-list .betterdocs-entry-title a{ position:static !important; }

/* ============== Prev/Next navigation — sitewide unify ============== */
.docs-navigation,
.post-navigation .nav-links,
.navigation.post-navigation .nav-links,
.nav-links.prev-next-links{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.post-navigation .nav-links > *,
.navigation.post-navigation .nav-links > *,
.nav-links.prev-next-links > *{
  width:auto !important; flex:0 0 auto !important;
}
.docs-navigation a,
.post-navigation .nav-links a,
.navigation.post-navigation .nav-links a,
.nav-links.prev-next-links a{
  display:inline-flex !important; align-items:center;
  width:auto !important; padding:0; background:transparent;
  max-width:48%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.docs-navigation a[rel="next"],
.post-navigation .nav-next,
.navigation.post-navigation .nav-next,
.nav-links.prev-next-links .nav-next{
  margin-left:auto !important; text-align:right;
}
.docs-navigation a[rel="prev"],
.post-navigation .nav-previous,
.navigation.post-navigation .nav-previous,
.nav-links.prev-next-links .nav-previous{
  text-align:left;
}
.docs-navigation a svg,
.post-navigation .nav-links a svg{ width:18px; height:18px; }
.docs-navigation a[rel="prev"] svg,
.post-navigation .nav-previous a svg{ margin-right:.4em; }
.docs-navigation a[rel="next"] svg,
.post-navigation .nav-next a svg{ margin-left:.4em; }

/* ── 左カラム：青ラインと同じYで下線を描く（強制上書き） ── */
.single-product .asc-layout .asc-main .woocommerce-tabs{ position: static; }
.single-product .asc-layout .asc-main .woocommerce-tabs .tabs{ position: relative; }
.single-product .asc-layout .asc-main .woocommerce-tabs .tabs::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important; right:0 !important;
  top:0 !important;
  height:1px !important;
  background: var(--ast-border-color, #e5e7eb) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

/* =======================
   Paddle 信用バッジ
   ======================= */

/* 既定のAstra支払いバッジを非表示。自前のみ表示 */
.ast-single-product-payments:not(.asc-paddle){ display:none !important; }

/* コンテナの枠線を復活。背景・影は無効化 */
.ast-single-product-payments.asc-paddle{
  background: transparent !important;
  box-shadow: none !important;
  border: 1px solid var(--ast-border-color, #e5e7eb) !important;
  border-radius: 12px !important;
  padding: 22px 28px !important;
  position: relative;
  margin-block-start: 16px !important; /* 上余白 */
}

/* legend の体裁 */
.ast-single-product-payments.asc-paddle > legend{
  padding: 0 10px;
  font-weight: 700;
  line-height: 1.2;
}

/* UL 自体の装飾は無効化 */
.ast-single-product-payments.asc-paddle ul{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  display: flex;
  gap: 14px;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 各アイコンのカード装飾を全面無効化 */
.ast-single-product-payments.asc-paddle .ast-custom-payment{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* 疑似要素の白板/グローも無効化 */
.ast-single-product-payments.asc-paddle .ast-custom-payment::before,
.ast-single-product-payments.asc-paddle .ast-custom-payment::after{
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 画像はそのまま表示。にじみ防止 */
.ast-single-product-payments.asc-paddle .ast-custom-payment img{
  display: block;
  background: transparent !important;
  height: 28px;
  width: auto;
  object-fit: contain;
  filter: none !important;
  box-shadow: none !important;
}

/* 注記の体裁 */
.asc-paddle .asc-paddle-note{
  display: block;
  margin-top: 8px;
  font-size: 12px;
  color: #6b7280;
}

/* 追加のスペーサー（必要時のみ視覚的に効く） */
.ast-single-product-payments.asc-paddle::before{
  content:"";
  display:block;
  height:16px;
}

/* レビュー：並びと見た目 */
.asc-review-extras { margin: .5rem 0 1rem; }
.asc-review-icons { margin: .25rem 0 .75rem; }
.asc-review-icons .asc-label { display:block; font-weight:600; margin-bottom:.25rem; }
.asc-icons-wrap { display:flex; gap:8px; flex-wrap:wrap; }
.asc-icon { position:relative; display:inline-block; }
.asc-icon input { position:absolute; inset:0; opacity:0; }
.asc-icon label{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border:1px solid #d1d5db; border-radius:50%;
  background:#fff; cursor:pointer;
}
.asc-icon img{ width:26px; height:26px; object-fit:contain; }
.asc-icon input:checked + label{
  outline:2px solid #2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.18);
}
.asc-review-name label{ display:block; margin:.5rem 0 .25rem; }
.asc-review-name input{ width:100%; max-width:360px; }
