/* Attractive v26 — いちばん最後に読み込まれます。
 *  1. スマホでも送料無料の案内を表示
 *  2. メンズ／レディースの入口（トップページ）
 *  3. 星・レビュー
 *  4. 在庫（残りわずか・再入荷お知らせ）
 *  5. 商品ページの安心表示
 *  6. 商品一覧の絞り込み
 *  7. ギフトラッピング（購入手続き）
 */

/* =========================================================
 * 1. スマホでも送料無料の案内を表示（これまで900px以下では非表示）
 * ======================================================= */
@media (max-width: 900px) {
  .info-bar {
    display: flex !important; justify-content: center; align-items: center;
    min-height: 30px; padding: 6px 12px; font-size: 11px; letter-spacing: .06em; text-align: center;
  }
  .info-bar a { display: none; }   /* お問い合わせはメニュー内にあるため省略 */
}

/* =========================================================
 * 2. メンズ／レディースの入口
 * ======================================================= */
.at-gender-entry {
  max-width: 1280px; margin: 0 auto; padding: 40px 32px 0; box-sizing: border-box;
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.at-gender-entry a {
  position: relative; display: flex; flex-direction: column; justify-content: center; gap: 8px;
  min-height: 120px; padding: 24px 64px 24px 32px;
  border: 1px solid #d9d2c6; background: #fff; color: #171717;
  transition: background .25s, color .25s, border-color .25s;
}
.at-gender-entry-en { font: 500 26px/1.2 'Cormorant Garamond', serif; letter-spacing: .16em; }
.at-gender-entry-ja { font-size: 12px; letter-spacing: .1em; color: #625b51; transition: color .25s; }
.at-gender-entry-arrow {
  position: absolute; right: 28px; top: 50%; transform: translateY(-50%);
  font-size: 18px; color: #806326; transition: transform .25s, color .25s;
}
.at-gender-entry a:hover, .at-gender-entry a:focus-visible { background: #171717; border-color: #171717; color: #fff; }
.at-gender-entry a:hover .at-gender-entry-ja, .at-gender-entry a:focus-visible .at-gender-entry-ja { color: #d8d4cd; }
.at-gender-entry a:hover .at-gender-entry-arrow { transform: translate(4px, -50%); color: #fff; }
@media (max-width: 900px) {
  .at-gender-entry { padding: 24px 20px 0; gap: 10px; }
  .at-gender-entry a { min-height: 88px; padding: 16px 30px 16px 16px; gap: 5px; }
  .at-gender-entry-en { font-size: 19px; letter-spacing: .12em; }
  .at-gender-entry-ja { font-size: 11px; letter-spacing: .04em; }
  .at-gender-entry-arrow { right: 12px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .at-gender-entry a, .at-gender-entry-ja, .at-gender-entry-arrow { transition: none; }
}

/* =========================================================
 * 3. 星・レビュー
 * ======================================================= */
/* 星：下地（薄い色）の上に、点数ぶんだけ濃い色を重ねます */
.at-stars,
.at-reviews .star-rating {
  position: relative; display: inline-block; float: none; overflow: hidden;
  width: auto; height: auto; margin: 0; vertical-align: middle; white-space: nowrap;
  font: 400 14px/1.2 'Noto Sans JP', sans-serif !important; letter-spacing: .08em;
}
.at-stars::before,
.at-reviews .star-rating::before {
  content: '★★★★★'; position: static; float: none; color: #ddd6ca;
}
.at-stars > span,
.at-reviews .star-rating > span {
  position: absolute; top: 0; left: 0; height: 100%; padding: 0; float: none; overflow: hidden; font-size: 0;
}
.at-stars > span::before,
.at-reviews .star-rating > span::before {
  content: '★★★★★'; position: static; color: #806326;
  font: 400 14px/1.2 'Noto Sans JP', sans-serif; letter-spacing: .08em;
}

.at-rating { display: inline-flex; align-items: center; gap: 6px; color: #403d39; font-size: 12px; }
a.at-rating { margin: 2px 0 12px; }
a.at-rating:hover .at-rating-count { text-decoration: underline; text-underline-offset: 3px; }
.at-rating-num { font-weight: 500; font-variant-numeric: tabular-nums; }
.at-rating-count { color: #7a746b; }
.pcard .at-rating { display: flex; justify-content: center; margin-top: 6px; font-size: 11px; }
.pcard .at-rating .at-stars, .pcard .at-rating .at-stars > span::before { font-size: 12px !important; }

/* レビュー欄（v26.1：枠や色地をやめ、本文と同じ調子で読めるように） */
.at-reviews { max-width: 720px; margin: 72px auto 0; padding-top: 40px; border-top: 1px solid #e5dfd5; }
.at-reviews #reviews, .at-reviews #comments, .at-reviews #review_form_wrapper,
.at-reviews #review_form, .at-reviews #respond {
  float: none; width: auto; margin: 0; padding: 0; border: 0 !important; background: transparent !important; box-shadow: none !important;
}
.at-reviews .woocommerce-Reviews-title,
.at-reviews #reply-title {
  display: block; margin: 0 0 20px; color: #292621;
  font: 500 17px/1.6 'Noto Serif JP', serif; letter-spacing: .06em;
}
.at-reviews .woocommerce-noreviews { margin: 0 0 36px; color: #7a746b; font-size: 14px; }
.at-reviews ol.commentlist { list-style: none; margin: 0 0 44px; padding: 0; }
.at-reviews ol.commentlist li { margin: 0; padding: 20px 0; border: 0; border-bottom: 1px solid #eee8de; }
.at-reviews ol.commentlist li:first-child { border-top: 1px solid #eee8de; }
.at-reviews .comment_container { display: block; }
.at-reviews .comment_container img.avatar { display: none; }
.at-reviews .comment-text { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.at-reviews .comment-text .meta { margin: 6px 0; font-size: 12px; color: #7a746b; }
.at-reviews .comment-text .meta strong,
.at-reviews .comment-text .woocommerce-review__author { color: #292621; font-size: 13px; font-weight: 500; }
.at-reviews .comment-text .description p { margin: 0; font-size: 14px; line-height: 1.9; color: #403d39; }

.at-reviews .comment-form { margin: 0; }
.at-reviews .comment-form > p, .at-reviews .comment-form > div { margin: 0 0 20px; font-size: 13px; color: #625b51; }
.at-reviews .comment-form label { display: block; margin: 0 0 8px; color: #403d39; font-size: 13px; font-weight: 400; }
.at-reviews .comment-form input[type="text"],
.at-reviews .comment-form input[type="email"],
.at-reviews .comment-form textarea,
.at-reviews .comment-form select {
  width: 100%; box-sizing: border-box; min-height: 46px; padding: 11px 14px;
  border: 1px solid #d5cdbf; border-radius: 2px; background: #fff; color: #292621;
  font: 400 15px/1.8 'Noto Sans JP', sans-serif;
}
.at-reviews .comment-form textarea { min-height: 120px; resize: vertical; }
.at-reviews .comment-form textarea::placeholder { color: #a39c91; }
.at-reviews .comment-form input:focus-visible,
.at-reviews .comment-form textarea:focus-visible { outline: 2px solid #806326; outline-offset: 2px; }
.at-reviews .comment-form-cookies-consent label { display: inline; font-size: 13px; }
.at-reviews .comment-form .form-submit { margin: 0; }
#page .at-reviews #respond input#submit {
  min-width: 180px; min-height: 48px; padding: 10px 28px;
  border: 1px solid #171717 !important; border-radius: 2px; background: #fff !important; color: #171717 !important;
  font: 500 14px/1.6 'Noto Sans JP', sans-serif; letter-spacing: .12em; cursor: pointer; box-shadow: none !important;
  transition: background .2s, color .2s;
}
#page .at-reviews #respond input#submit:hover,
#page .at-reviews #respond input#submit:focus-visible { background: #171717 !important; color: #fff !important; }

/* 星を選ぶ（投稿フォーム）… 親テーマのボタン装飾を打ち消します */
.at-rate { display: flex; gap: 6px; margin-left: -4px; }
#page .at-rate-star,
#page .at-rate-star:hover,
#page .at-rate-star:focus {
  width: 32px; height: 36px; min-height: 0; padding: 0; border: 0 !important; border-radius: 0;
  background: transparent !important; box-shadow: none !important;
  color: #d9d2c6; font-size: 24px; line-height: 1; cursor: pointer;
}
#page .at-rate-star.is-on { color: #806326; }
#page .at-rate-star:focus-visible { outline: 2px solid #806326; outline-offset: 2px; }
.at-rate-error { margin: 6px 0 0; color: #a32626; font-size: 13px; }
@media (max-width: 640px) {
  .at-reviews { margin-top: 48px; padding-top: 32px; }
  #page .at-reviews #respond input#submit { width: 100%; }
}

/* =========================================================
 * 4. 在庫
 * ======================================================= */
.at-low-stock {
  display: inline-block; margin: 0 0 14px; padding: 4px 10px;
  border: 1px solid #a32626; border-radius: 2px; color: #a32626;
  font-size: 12px; font-weight: 500; letter-spacing: .06em;
}
.pcard-low { margin-top: 6px; color: #a32626; font-size: 11px; letter-spacing: .06em; }

.at-restock { margin: 20px 0 0; }
.at-restock-title { margin: 0 0 10px; color: #292621; font-size: 14px; }
.at-restock-row { display: flex; gap: 8px; }
.at-restock-row input[type="email"] {
  flex: 1 1 auto; min-width: 0; height: 48px; padding: 0 14px; box-sizing: border-box;
  border: 1px solid #d5cdbf; border-radius: 2px; background: #fff; color: #292621; font-size: 16px;
}
.at-restock-row input[type="email"]:focus-visible { outline: 2px solid #806326; outline-offset: 2px; }
.at-restock-row button {
  flex: 0 0 auto; height: 48px; padding: 0 22px; border: 0; border-radius: 2px;
  background: #171717; color: #fff; font: 500 13px/1 'Noto Sans JP', sans-serif; letter-spacing: .1em; cursor: pointer;
}
#page .at-restock-row button { border: 0; background: #171717; color: #fff; box-shadow: none; }
#page .at-restock-row button:hover, #page .at-restock-row button:focus { background: #806326; color: #fff; }
.at-restock-row button:disabled { opacity: .5; cursor: default; }
.at-restock-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.at-restock-msg { margin: 10px 0 0; font-size: 13px; color: #2f6b3a; }
.at-restock-msg:empty { display: none; }
.at-restock-msg.is-error { color: #a32626; }
.at-restock-note { margin: 8px 0 0; color: #7a746b; font-size: 12px; line-height: 1.7; }
.at-restock.is-done .at-restock-row { display: none; }

/* =========================================================
 * 5. 商品ページの安心表示
 * ======================================================= */
.at-buy-assure { margin: 14px 0 0; }

/* =========================================================
 * 6. 商品一覧の絞り込み
 * ======================================================= */
.at-refine { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; margin-left: auto; }
.at-refine-field { display: flex; align-items: center; gap: 8px; margin: 0; }
.at-refine-field > span { color: #625b51; font-size: 12px; letter-spacing: .06em; white-space: nowrap; }
.at-refine-submit {
  height: 38px; padding: 0 16px; border: 1px solid #171717; border-radius: 2px;
  background: #fff; color: #171717; font: 500 12px/1 'Noto Sans JP', sans-serif; cursor: pointer;
}
.at-refine.is-js .at-refine-submit { display: none; }
.at-refine-clear { color: #625b51; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.at-refine-clear:hover { color: #806326; }
@media (max-width: 640px) {
  .at-refine { width: 100%; margin-left: 0; }
  .at-refine-field { flex: 1 1 0; min-width: 0; flex-direction: column; align-items: stretch; gap: 4px; }
  .at-refine-clear { flex: 0 0 100%; }
  .at-refine-field select { flex: 1 1 auto; min-width: 0; width: 100%; }
}

/* =========================================================
 * 7. ギフトラッピング（購入手続き）
 * ======================================================= */
.at-gift { margin: 0 0 22px; padding: 0 0 20px; border-bottom: 1px solid #eee8de; }
.at-gift-check { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 12px; cursor: pointer; }
.at-gift-check input { flex: 0 0 auto; width: 20px; height: 20px; margin: 2px 0 0; accent-color: #806326; }
.at-gift-check span { color: #292621; font-size: 14px; line-height: 1.7; }
.at-gift-note { margin: 0; color: #625b51; font-size: 12px; line-height: 1.8; }
.at-gift-note a { text-decoration: underline; text-underline-offset: 3px; }

/* =========================================================
 * 8. v26.1 の調整
 * ======================================================= */
/* 仕様表：項目名が枠の左端に貼り付いて見えるのを解消（縦線をやめ、項目名に地色と余白） */
#page .at-spec { border: 0; border-top: 1px solid #e5dfd5; border-collapse: collapse; }
#page .at-spec th,
#page .at-spec td {
  padding: 13px 16px; border: 0; border-bottom: 1px solid #e5dfd5;
  text-align: left; vertical-align: top; background: transparent;
}
#page .at-spec th { width: 7em; background: #f7f4ef; color: #625b51; font-weight: 400; white-space: nowrap; }
@media (max-width: 640px) {
  #page .at-spec th, #page .at-spec td { padding: 12px; }
  #page .at-spec th { width: 6em; }
}

/* 「お気に入りに追加」：カーソルを乗せると親テーマの青が出ていたのを、サイトの色に */
#page .at-wish-btn--text,
#page .at-wish-btn--text:focus {
  background: #fff; border: 1px solid #d9d2c6; color: #625b51; box-shadow: none;
  transition: border-color .2s, color .2s, background .2s;
}
#page .at-wish-btn--text:hover,
#page .at-wish-btn--text:focus-visible { background: #faf7f1; border-color: #806326; color: #806326; }
#page .at-wish-btn--text.is-active,
#page .at-wish-btn--text.is-active:hover,
#page .at-wish-btn--text.is-active:focus { background: #faf7f1; border-color: #806326; color: #806326; }
#page .at-wish-btn--text.is-active .at-wish-icon path { fill: currentColor; }

/* ランキングのタブ・絞り込みボタンも、押したあとに青くならないように */
#page .at-rank-tab:focus { background: #fff; color: #625b51; }
#page .at-rank-tab.is-active, #page .at-rank-tab.is-active:focus { background: #171717; color: #fff; }
#page .at-refine-submit:hover, #page .at-refine-submit:focus { background: #171717; color: #fff; }

/* 並び替え：件数と同じ高さにそろえる */
.at-shop-bar { align-items: center; }
.at-shop-bar .woocommerce-ordering { float: none; margin: 0; }
