/* AQUA HARMONY サロンさまのご注文・マイページ（プラグインの画面）
   外枠・見出し・フォームの行・ボタン（.btn）はテーマの common.css・ah-sub.css をそのまま使う。ここは足りない部品だけ。
   色はテーマの tokens.css の変数（--navy・--ink・--pale・--water・--paper）。文字は15px以上。 */

.aqua-b2b{font-family:"Noto Sans JP",sans-serif}
.aqua-b2b .ah-body{font-size:16px;line-height:1.9}
.aqua-b2b h2,.aqua-store__h{margin:40px 0 16px;font-family:"Noto Serif JP",serif;font-weight:400;font-size:20px;color:var(--navy);letter-spacing:.08em}
.aqua-b2b h2:first-child{margin-top:0}
.aqua-b2b a:not(.btn){color:var(--navy)}
.btn--sub{background:var(--paper);color:var(--navy)}

/* お知らせ（成功・案内・エラー） */
.checkout-notice{margin:0 0 24px;padding:16px 20px;border:1px solid var(--water);background:var(--pale);color:var(--navy);font-size:16px}
.checkout-notice p{margin:0}
.checkout-notice--success{border-color:#9fd3b8;background:#f1faf5;color:#1d5c3c}
.checkout-notice--error{border-color:#e6b3ae;background:#fdf3f2;color:#8c1d14}

/* マイページ（旧テーマから写した画面の部品） */
.account{display:block}
.account__layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}
.account__section-title{scroll-margin-top:calc(var(--head-h) + 24px);margin:40px 0 12px;font-family:"Noto Serif JP",serif;font-weight:400;font-size:20px;color:var(--navy)}
.account__main>.account__section-title:first-child{margin-top:0}
.account-form__hint{font-size:15px;color:#555}
.account-form__required{color:#8c1d14}
.account-form__error{display:block;margin-top:6px;font-size:14px;color:#8c1d14}
.account--narrow{display:block;max-width:560px;margin:0 auto}
.account__side{position:sticky;top:calc(var(--head-h) + 20px)}
.account-user{margin:0 0 16px;padding:16px;background:var(--pale);font-size:15px;line-height:1.7}
.account-nav{list-style:none;margin:0;padding:0;border-top:1px solid var(--water)}
.account-nav li{border-bottom:1px solid var(--water)}
.account-nav a{display:block;padding:12px 4px;text-decoration:none;font-size:16px}
.account-nav .is-current a{font-weight:500;color:var(--navy);background:var(--pale);padding-left:12px}
.account-form__field{margin:0 0 18px}
.account-form__field label{display:block;margin-bottom:6px;font-size:15px;color:var(--navy)}
.account-form input[type=email],.account-form input[type=password],.account-form input[type=text],.account-form input[type=tel],.account-form select,.account-form textarea,
.bank-form input[type=email],.bank-form input[type=text],.bank-form input[type=tel],.bank-form select,.bank-form textarea{
  width:100%;padding:12px 14px;border:1px solid #cfdcea;background:#fbfdff;font-size:17px;line-height:1.6;color:var(--ink);border-radius:0}
.account-form input:focus,.account-form select:focus,.bank-form input:focus,.bank-form select:focus{outline:none;border-color:var(--navy);background:var(--paper)}
.account-form__field--check label{display:flex;gap:10px;align-items:flex-start;color:var(--ink)}
.account-form__submit-row{margin-top:24px}
.account-form__submit,.bank-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-width:260px;min-height:54px;padding:14px 25px;border:1px solid var(--navy);background:var(--navy);color:var(--paper);font-size:17px;letter-spacing:.08em;cursor:pointer}
.account-form__submit:hover,.bank-form button[type=submit]:hover{background:var(--paper);color:var(--navy)}
.account-links{list-style:none;margin:28px 0 0;padding:0;font-size:15px}
.account-links li{margin:8px 0}
.account-hint{margin-top:16px;font-size:15px;color:#555}
.account table,.bank-form table,.bank-complete table{width:100%;border-collapse:collapse;font-size:15px}
.account th,.account td,.bank-form th,.bank-form td,.bank-complete th,.bank-complete td{padding:12px 10px;border-bottom:1px solid var(--water);text-align:left;vertical-align:top}
.account th,.bank-form th,.bank-complete th{color:var(--navy);font-weight:500;white-space:nowrap}
.field-error,.account .is-error{color:#8c1d14;font-size:14px}
.legal-links{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;margin-top:24px;font-size:15px}

/* ご注文 */
.aqua-store__who{margin:0 0 8px;color:var(--navy)}
.aqua-store__items{list-style:none;margin:0;padding:0;border-top:1px solid var(--water)}
.aqua-store__item{display:flex;gap:16px 24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--water)}
.aqua-store__info{flex:1 1 auto;min-width:0}
.aqua-store__item.is-on{background:linear-gradient(90deg,var(--pale),transparent 70%)}
.aqua-store__img{width:96px;height:96px;object-fit:contain;background:var(--pale)}
.aqua-store__name{margin:0;font-size:17px;color:var(--navy)}
.aqua-store__price{margin:4px 0 0}
.aqua-price__excl{font-size:22px;color:var(--navy);letter-spacing:.04em}
.aqua-price__unit{margin-left:2px;font-size:15px}
.aqua-price__incl{display:inline-block;margin-left:10px;font-size:15px;color:#555}
.aqua-store__qty{display:flex;align-items:center;gap:6px}
.aqua-qty__btn{width:44px;height:44px;border:1px solid var(--navy);background:var(--paper);color:var(--navy);font-size:20px;line-height:1;cursor:pointer}
.aqua-qty__btn:hover{background:var(--navy);color:var(--paper)}
.aqua-qty__input{width:72px;height:44px;border:1px solid #cfdcea;text-align:center;font-size:18px}
.aqua-store__pay{display:flex;flex-direction:column;gap:12px}
.aqua-store__pay-opt{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--water);cursor:pointer;font-size:16px}
.aqua-store__pay-opt input{width:18px;height:18px;accent-color:var(--navy)}
.aqua-store__pay-opt:has(input:checked){border-color:var(--navy);background:var(--pale)}
.aqua-store__sum{margin-top:32px;padding:20px 24px;background:var(--pale)}
.aqua-store__sum[hidden]{display:none}
.aqua-store__table{width:100%;border-collapse:collapse;font-size:16px}
.aqua-store__table th,.aqua-store__table td{padding:8px 0;border-bottom:1px solid var(--water);font-weight:400}
.aqua-store__table th{text-align:left;color:var(--navy)}
.aqua-store__table td{text-align:right}
.aqua-store__total th,.aqua-store__total td{font-size:20px;color:var(--navy);border-bottom:0}
.aqua-store__note{margin:12px 0 0;font-size:15px}
.aqua-store__msg{min-height:1.5em;margin:16px 0 0;color:#8c1d14;text-align:center}
.aqua-store__actions,.aqua-store__links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.ah-form__submit .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}

@media (max-width:820px){
  .account__layout{grid-template-columns:1fr;gap:24px}
  .account__side{position:static}
  .aqua-store__item{flex-wrap:wrap;gap:12px}
  .aqua-store__img{width:64px;height:64px}
  .aqua-store__qty{flex:1 0 100%;justify-content:flex-end}
  .account-form__submit,.bank-form button[type=submit]{width:100%;min-width:0}
}
