/* Attractive v28.3 — 商品ページの購入欄（表組み・金の点・金枠ボタンをやめ、国内アクセサリーECの並びに） */
#page .at28-info { min-width: 0; }
.at28-cat { margin: 0 0 8px; font-size: 12px; letter-spacing: .04em; }
#page .at28-cat a { color: var(--a-mute) !important; text-decoration: none; }
#page .at28-cat a:hover { color: var(--a-ink) !important; text-decoration: underline; text-underline-offset: 3px; }
#page .at27-pdp .at28-name { margin: 0 !important; padding: 0 !important; border: 0 !important; font-family: var(--a-ja) !important; font-weight: 500 !important; font-size: 19px !important; line-height: 1.6 !important; letter-spacing: .02em !important; color: var(--a-ink); }
.at28-sku { margin: 6px 0 0; font-size: 12px; color: var(--a-mute); font-variant-numeric: tabular-nums; }
.at28-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px; margin: 18px 0 0; font: 600 24px/1.3 var(--a-ja); font-variant-numeric: tabular-nums; color: var(--a-ink); }
.at28-price del { font-size: 14px; font-weight: 400; color: var(--a-mute); }
.at28-price ins { text-decoration: none; color: var(--a-sale); }
.at28-price .woocommerce-price-suffix { display: none; }
.at28-tax { font-size: 12px; font-weight: 400; color: var(--a-ink2); }
.at28-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; }
.at28-tags li { padding: 3px 8px; border: 1px solid #cfc9bf; font-size: 11.5px; line-height: 1.4; color: var(--a-ink2); }
.at28-low { margin: 10px 0 0 !important; font-size: 13px; color: var(--a-sale); }
#page .at28-summary { margin: 20px 0 0; font-size: 14px; line-height: 1.9; color: var(--a-ink2); }
#page .at28-summary p { margin: 0; }
#page .at28-jump { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; margin-top: 6px; font-size: 13px; color: var(--a-ink) !important; text-decoration: underline; text-decoration-color: #cfc9bf; text-underline-offset: 5px; }
#page .at28-jump::after { content: ''; width: 5px; height: 5px; border: solid currentColor; border-width: 1px 1px 0 0; transform: rotate(45deg); }
#page .at28-jump:hover { text-decoration-color: var(--a-ink); }

/* カート欄（v28.4）：選択項目の有無に関係なく「数量｜カートボタン｜♡」が同じ高さ・同じ幅で並ぶように */
#page .at28-buy { position: relative; display: block; margin: 24px 0 0; padding: 0; border: 0; background: none; }
#page .at28-buy form.cart { display: block !important; margin: 0 !important; min-width: 0; }
/* 数量＋ボタンの行（通常商品＝form直下／選択項目あり＝.woocommerce-variation-add-to-cart）。右に♡の場所を空ける */
#page .at28-buy form.cart:not(.variations_form),
#page .at28-buy .woocommerce-variation-add-to-cart { display: flex !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 8px; padding-right: 60px; margin: 0 !important; }
#page .at28-buy form.cart:not(.variations_form) > *:not(.quantity):not(.single_add_to_cart_button):not(.at-qty) { flex-basis: 100%; }
#page .at28-buy .quantity, #page .at28-buy .at-qty { flex: none !important; height: 52px !important; margin: 0 !important; }
#page .at28-buy .quantity input, #page .at28-buy .quantity button, #page .at28-buy .at-qty input, #page .at28-buy .at-qty button { height: 52px !important; min-height: 52px !important; }
#page .at28-buy .single_add_to_cart_button { flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; height: 52px !important; min-height: 52px !important; margin: 0 !important; padding: 0 12px !important; white-space: nowrap; }
#page .at28-buy > .at-wish-btn { position: absolute !important; right: 0; bottom: 0; display: grid !important; place-items: center; width: 52px !important; height: 52px !important; margin: 0 !important; padding: 0 !important; border: 1px solid #cfc9bf !important; border-radius: 2px !important; background: #fff !important; box-shadow: none !important; color: var(--a-ink) !important; transform: none !important; }
/* 再入荷フォームなどがカート欄の中に出た場合でも♡はボタン行の横に */
#page .at28-buy .stock { margin: 0 0 10px !important; font-size: 13px; }

/* 選択項目（サイズ・書体など）：表をやめ「項目名 → 選択欄（横幅いっぱい）」の縦並びに */
#page .at28-buy table.variations, #page .at28-buy table.variations tbody, #page .at28-buy table.variations tr, #page .at28-buy table.variations th, #page .at28-buy table.variations td { display: block !important; width: 100% !important; border: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important; }
#page .at28-buy table.variations { margin: 0 0 20px !important; table-layout: auto !important; }
#page .at28-buy table.variations tr { margin: 0 0 16px !important; }
#page .at28-buy table.variations tr:last-child { margin-bottom: 0 !important; }
#page .at28-buy table.variations th.label, #page .at28-buy table.variations .label { margin: 0 0 8px !important; text-align: left !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.7 !important; color: var(--a-ink) !important; white-space: normal !important; word-break: normal !important; }
#page .at28-buy table.variations .label label { font: inherit !important; color: inherit !important; }
#page .at28-buy table.variations td.value { position: relative; }
#page .at28-buy table.variations select { display: block; width: 100% !important; max-width: none !important; min-width: 0 !important; height: 48px !important; min-height: 48px !important; margin: 0 !important; padding: 0 40px 0 14px !important; border: 1px solid #cfc9bf !important; border-radius: 2px !important; background-color: #fff !important; font-size: 16px !important; color: var(--a-ink) !important; text-overflow: ellipsis; }
#page .at28-buy table.variations select:focus { border-color: var(--a-ink) !important; outline: none; }
#page .at28-buy .reset_variations { display: inline-block; margin: 8px 0 0 !important; font-size: 12px; color: var(--a-mute) !important; text-decoration: underline; text-underline-offset: 3px; }
#page .at28-buy .single_variation_wrap { margin: 0 !important; }
#page .at28-buy .woocommerce-variation:not(:empty) { margin: 0 0 14px; font-size: 13px; }
#page .at28-buy .woocommerce-variation-price .price { font: 600 20px/1.3 var(--a-ja); font-variant-numeric: tabular-nums; }
/* 未選択のときのボタン：灰色の塗りではなく、薄い墨色で「まだ押せない」ことを伝える */
#page .at28-buy .single_add_to_cart_button.disabled, #page .at28-buy .single_add_to_cart_button:disabled { opacity: 1 !important; background: #8d8a85 !important; border-color: #8d8a85 !important; color: #fff !important; cursor: not-allowed; }
#page .at28-buy > .at-wish-btn:hover { border-color: var(--a-ink) !important; }
#page .at28-buy > .at-wish-btn .at-wish-icon { width: 20px; height: 20px; }
#page .at28-buy > .at-wish-btn.is-active { color: var(--a-sale) !important; }
#page .at28-buy > .at-wish-btn.is-active .at-wish-icon path { fill: currentColor; }
#page .at28-buy > .at-wish-btn span:not(.screen-reader-text) { display: none; }

.at28-ship { margin: 24px 0 0; padding: 16px 18px; background: #f6f5f2; }
.at28-ship-head { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; font-weight: 500; color: var(--a-ink); }
.at28-ship-lead { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; font-size: 13.5px; color: var(--a-ink); }
.at28-dot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: #7da453; }
.at28-ship-lead.is-out .at28-dot { background: #b9b3a8; }
.at28-ship-fee { margin: 4px 0 0 15px; font-size: 12px; color: var(--a-mute); }

.at28-perks { display: grid; gap: 14px; margin: 20px 0 0; padding: 20px 0 0; border-top: 1px solid var(--a-line); list-style: none; }
.at28-perks li { display: flex; align-items: center; gap: 12px; font-size: 13px; }
.at28-perks svg { flex: none; color: var(--a-ink2); }
#page .at28-perks a { color: var(--a-ink) !important; text-decoration: underline; text-decoration-color: #d6d0c6; text-underline-offset: 5px; }
#page .at28-perks a:hover { text-decoration-color: var(--a-ink); }

#page .at28-acc { margin: 36px 0 0; border: 0 !important; }
#page .at28-acc .at-acc-item { margin: 0 !important; border: 0 !important; border-top: 1px solid var(--a-line) !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
#page .at28-acc .at-acc-item:last-child { border-bottom: 1px solid var(--a-line) !important; }
#page .at28-acc summary { display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding: 0 !important; list-style: none; cursor: pointer; font: 500 14px/1.4 var(--a-ja) !important; letter-spacing: .04em; color: var(--a-ink); background: none !important; }
#page .at28-acc summary::-webkit-details-marker { display: none; }
#page .at28-acc summary::before { content: none !important; }
#page .at28-acc summary::after { content: '+' !important; position: static !important; width: auto !important; height: auto !important; border: 0 !important; transform: none !important; font: 300 20px/1 var(--a-ja) !important; color: var(--a-mute); }
#page .at28-acc details[open] > summary::after { content: '−' !important; }
#page .at28-acc .at-acc-body { padding: 0 0 28px !important; margin: 0 !important; border: 0 !important; font-size: 14px; line-height: 2; color: var(--a-ink2); }
#page .at28-acc .at-product-description { padding-top: 0 !important; margin-top: 0 !important; border-top: 0 !important; }
#page .at28-acc .at-acc-body img { display: block; width: 100%; height: auto; margin: 20px 0; }
#page .at28-acc .at-acc-body p { margin: 0 0 12px; }

.at28-spec { margin: 24px 0 0; padding: 18px 0 0; border-top: 1px dotted #cfc9bf; }
.at28-spec > div { display: grid; grid-template-columns: 6.5em minmax(0, 1fr); gap: 8px; padding: 3px 0; font-size: 13.5px; line-height: 1.8; }
.at28-spec dt { color: var(--a-mute); }
.at28-spec dd { margin: 0; color: var(--a-ink); }
.at28-spec dd::before { content: '：'; margin-right: 4px; color: var(--a-mute); }
.at28-spec .at-spec-note { display: inline; margin-left: 8px; font-size: 12px; }
#page .at28-spec .at-spec-link { color: var(--a-ink2) !important; }

@media (min-width: 900px) {
  #page .at27-pdp .at28-name { font-size: 21px !important; }
  .at28-price { font-size: 26px; }
}

@media (max-width: 374px) {
  #page .at28-buy .single_add_to_cart_button { font-size: 13px !important; letter-spacing: 0 !important; }
  #page .at28-buy .quantity, #page .at28-buy .at-qty { transform: none; }
}

/* v28.5 スマホ：数量を1段目、2段目に「カートボタン（横幅いっぱい）＋♡」 */
@media (max-width: 599px) {
  #page .at28-buy form.cart:not(.variations_form),
  #page .at28-buy .woocommerce-variation-add-to-cart { flex-wrap: wrap !important; row-gap: 12px; }
  #page .at28-buy .quantity, #page .at28-buy .at-qty { flex: 0 0 auto !important; margin-right: 100% !important; }
  #page .at28-buy .single_add_to_cart_button { flex: 1 1 100% !important; font-size: 14px !important; }
}
/* 仕様：項目名が長いもの（選択肢の説明など）は「項目名 → 内容」の縦並び */
.at28-spec > div.is-long { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 10px 0; }
.at28-spec > div.is-long + div:not(.is-long), .at28-spec > div:not(.is-long) + div.is-long { margin-top: 6px; border-top: 1px dotted #e3ded6; }
.at28-spec > div.is-long dt { font-size: 12.5px; line-height: 1.7; }
.at28-spec > div.is-long dd::before { content: none; }
.at28-spec-opts { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; padding: 0; list-style: none; }
.at28-spec-opts li { padding: 2px 8px; border: 1px solid #e3ded6; background: #faf9f7; font-size: 12.5px; line-height: 1.7; }
