/* ═══════════════════════════════════════════════════════════
   Akiya Labs — PMPro Custom Styles
   Matches homepage design: Shippori Mincho + DM Sans
   Colors: #f9f7f4 bg · #1a1713 ink · #b5372a red · #c49a3c gold
   ═══════════════════════════════════════════════════════════ */

/* ─── Override PMPro color variables + Akiya tokens ─── */
:root {
  --pmpro--color--base: #f9f7f4 !important;
  --pmpro--color--contrast: #1a1713 !important;
  --pmpro--color--accent: #b5372a !important;
  --pmpro--color--accent--variation: #962e24 !important;
  --pmpro--color--border--variation: #e6e2db !important;
  --bg:            #f9f7f4;
  --white:         #ffffff;
  --ink:           #1a1713;
  --muted:         #7a7268;
  --border:        #e6e2db;
  --border-strong: #ccc8bf;
  --red:           #b5372a;
  --red-light:     #fdf0ee;
  --gold:          #c49a3c;
  --gold-light:    #f7f1e3;
  --green:         #2a7a4b;
  --r:             10px;
}

/* ─── Base ─── */
body,
#pmpro_wrap,
.entry-content {
  font-family: 'DM Sans', sans-serif !important;
  background: var(--bg) !important;
  color: var(--ink) !important;
  -webkit-font-smoothing: antialiased;
}

/* ─── Page wrapper ─── */
#pmpro_wrap {
  max-width: 560px;
  margin: 80px auto 80px !important;
  padding: 0 24px !important;
}

/* ─── Page title ─── */
.pmpro_page_title,
#pmpro_wrap h1,
#pmpro_wrap h2.pmpro_checkout_step_title {
  font-family: 'Shippori Mincho', serif !important;
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  color: var(--ink) !important;
  margin-bottom: 32px !important;
}

/* ─── Section headings ─── */
#pmpro_wrap h3,
#pmpro_wrap .pmpro_checkout_section_title {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin-bottom: 16px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--border) !important;
}

/* ─── Form fields ─── */
#pmpro_wrap input[type="text"],
#pmpro_wrap input[type="email"],
#pmpro_wrap input[type="password"],
#pmpro_wrap input[type="tel"],
#pmpro_wrap input[type="number"],
#pmpro_wrap select,
#pmpro_wrap textarea {
  width: 100% !important;
  padding: 13px 16px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--ink) !important;
  background: var(--white) !important;
  border: 1.5px solid var(--border-strong) !important;
  border-radius: var(--r) !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
}

#pmpro_wrap input:focus,
#pmpro_wrap select:focus,
#pmpro_wrap textarea:focus {
  border-color: var(--ink) !important;
  box-shadow: 0 0 0 3px rgba(26,23,19,0.08) !important;
}

#pmpro_wrap label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  margin-bottom: 6px !important;
}

/* ─── Field rows ─── */
#pmpro_wrap .pmpro_checkout_field,
#pmpro_wrap .pmpro_form_field {
  margin-bottom: 20px !important;
}

/* ─── Submit / CTA button ─── */
#pmpro_wrap input[type="submit"],
#pmpro_wrap button[type="submit"],
#pmpro_wrap .pmpro_btn,
#pmpro_wrap .pmpro_submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 16px 32px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  color: var(--bg) !important;
  background: var(--ink) !important;
  border: none !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.15s !important;
  margin-top: 8px !important;
}

#pmpro_wrap input[type="submit"]:hover,
#pmpro_wrap button[type="submit"]:hover,
#pmpro_wrap .pmpro_btn:hover {
  background: var(--red) !important;
  transform: translateY(-2px) !important;
}

/* ─── Secondary / ghost links ─── */
#pmpro_wrap a {
  color: var(--ink) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--border-strong) !important;
  padding-bottom: 1px !important;
  transition: color 0.2s, border-color 0.2s !important;
}
#pmpro_wrap a:hover {
  color: var(--red) !important;
  border-color: var(--red) !important;
}

/* ─── Membership level box ─── */
#pmpro_wrap .pmpro_level,
#pmpro_wrap .pmpro_checkout_level {
  background: var(--white) !important;
  border: 1.5px solid var(--border) !important;
  border-radius: 14px !important;
  padding: 28px !important;
  margin-bottom: 28px !important;
}

#pmpro_wrap .pmpro_level_name,
#pmpro_wrap .pmpro_level h3 {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  border: none !important;
  margin-bottom: 8px !important;
  padding-bottom: 0 !important;
}

#pmpro_wrap .pmpro_level_price,
#pmpro_wrap .pmpro_price {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  line-height: 1 !important;
}

#pmpro_wrap .pmpro_level_price sup,
#pmpro_wrap .pmpro_price sup {
  font-size: 18px !important;
  vertical-align: super !important;
}

#pmpro_wrap .pmpro_billing_period {
  font-size: 13px !important;
  color: var(--muted) !important;
  font-weight: 300 !important;
  margin-top: 4px !important;
}

/* ─── Includes list ─── */
#pmpro_wrap .pmpro_level ul,
#pmpro_wrap .pmpro_level_description ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

#pmpro_wrap .pmpro_level ul li::before,
#pmpro_wrap .pmpro_level_description ul li::before {
  content: '✓ ' !important;
  color: var(--green) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
}

#pmpro_wrap .pmpro_level ul li,
#pmpro_wrap .pmpro_level_description ul li {
  font-size: 14px !important;
  color: var(--ink) !important;
  line-height: 1.5 !important;
}

/* ─── Messages / alerts ─── */
#pmpro_wrap .pmpro_message,
#pmpro_wrap .pmpro_success {
  background: var(--gold-light) !important;
  border: 1px solid var(--gold) !important;
  border-radius: var(--r) !important;
  padding: 16px 20px !important;
  font-size: 14px !important;
  color: var(--ink) !important;
  margin-bottom: 24px !important;
}

#pmpro_wrap .pmpro_error,
#pmpro_wrap .pmpro_alert_danger {
  background: var(--red-light) !important;
  border: 1px solid var(--red) !important;
  border-radius: var(--r) !important;
  padding: 16px 20px !important;
  font-size: 14px !important;
  color: var(--red) !important;
  margin-bottom: 24px !important;
}

/* ─── Tables (account page) ─── */
#pmpro_wrap table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
  margin-bottom: 28px !important;
}

#pmpro_wrap table th {
  text-align: left !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: 10px 0 10px !important;
  border-bottom: 1.5px solid var(--border) !important;
}

#pmpro_wrap table td {
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--ink) !important;
  vertical-align: top !important;
}

/* ─── Account page — Sections ─── */
.pmpro_section {
  margin-bottom: 32px !important;
}

/* Section title avec eyebrow rouge */
.pmpro_section_title {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #1a1713 !important;
  margin-bottom: 16px !important;
  border: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.pmpro_section_title::before {
  content: '' !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: #b5372a !important;
}

#pmpro_account-profile .pmpro_section_title::before {
  content: '— Account' !important;
}

#pmpro_account-membership .pmpro_section_title::before {
  content: '— Membership' !important;
}

#pmpro_account-orders .pmpro_section_title::before {
  content: '— History' !important;
}

/* ─── Cards ─── */
.pmpro_card {
  background: #ffffff !important;
  border: 1.5px solid #e6e2db !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(26,23,19,0.05) !important;
}

.pmpro_card_title {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #1a1713 !important;
  padding: 22px 24px 18px !important;
  margin: 0 !important;
  border-bottom: 1px solid #e6e2db !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: #f9f7f4 !important;
}

.pmpro_card_title img.avatar {
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
}

.pmpro_card_content {
  padding: 22px 24px !important;
}

/* ─── Lists ─── */
.pmpro_list.pmpro_list-plain {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pmpro_list_item {
  font-size: 14px !important;
  color: #1a1713 !important;
  padding: 6px 0 !important;
  line-height: 1.6 !important;
}

.pmpro_list_item strong {
  color: #7a7268 !important;
  font-weight: 500 !important;
  margin-right: 8px !important;
}

/* ─── Membership list with labels ─── */
.pmpro_list-with-labels {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px 40px !important;
}

.pmpro_list-with-labels .pmpro_list_item {
  min-width: 120px !important;
}

.pmpro_list_item_label {
  display: block !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #7a7268 !important;
  margin-bottom: 6px !important;
  white-space: nowrap !important;
}

.pmpro_list_item_value {
  display: block !important;
  font-family: 'Shippori Mincho', serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #1a1713 !important;
  white-space: nowrap !important;
}

/* ─── Card actions ─── */
.pmpro_card_actions {
  padding: 14px 24px !important;
  border-top: 1px solid #e6e2db !important;
  background: #f9f7f4 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
}

.pmpro_card_action a {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1a1713 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #ccc8bf !important;
  padding-bottom: 1px !important;
  transition: color 0.2s, border-color 0.2s !important;
}

.pmpro_card_action a:hover {
  color: #b5372a !important;
  border-color: #b5372a !important;
}

.pmpro_card_action_separator {
  color: #e6e2db !important;
  margin: 0 8px !important;
}

/* ─── Status badge ─── */
.pmpro_tag.pmpro_tag-success {
  display: inline-block !important;
  background: #eaf3ee !important;
  color: #2a7a4b !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
}

/* ─── Orders table ─── */
.pmpro_table_orders {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
}

.pmpro_table_orders thead th {
  text-align: left !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #7a7268 !important;
  padding: 0 12px 12px 0 !important;
  border-bottom: 1.5px solid #e6e2db !important;
}

.pmpro_table_orders tbody td,
.pmpro_table_orders tbody th {
  padding: 14px 12px 14px 0 !important;
  border-bottom: 1px solid #e6e2db !important;
  color: #1a1713 !important;
  font-weight: 400 !important;
  vertical-align: middle !important;
}

.pmpro_table_orders tbody tr:last-child td,
.pmpro_table_orders tbody tr:last-child th {
  border-bottom: none !important;
}

.pmpro_table_orders a {
  color: #1a1713 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #ccc8bf !important;
}

.pmpro_table_orders a:hover {
  color: #b5372a !important;
  border-color: #b5372a !important;
}

.pmpro_account-user img.avatar {
  border-radius: 50% !important;
  width: 48px !important;
  height: 48px !important;
  margin-right: 14px !important;
  vertical-align: middle !important;
}

.pmpro_account-user h2,
.pmpro_account-user .pmpro_account-user-login {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  margin-bottom: 10px !important;
  border: none !important;
  padding: 0 !important;
}

.pmpro_account-user p,
.pmpro_account-user ul {
  font-size: 14px !important;
  color: var(--muted) !important;
  margin-bottom: 6px !important;
}

.pmpro_account-user ul {
  list-style: none !important;
  padding: 0 !important;
  margin-bottom: 20px !important;
}

.pmpro_account-user ul li {
  font-size: 14px !important;
  color: var(--ink) !important;
  padding: 4px 0 !important;
}

.pmpro_account-user ul li strong {
  color: var(--muted) !important;
  font-weight: 500 !important;
  margin-right: 6px !important;
}

/* Links row — Edit profile | Change password | Log out */
.pmpro_account-user .pmpro_btn-group,
.pmpro_account-user nav {
  display: flex !important;
  gap: 20px !important;
  border-top: 1px solid var(--border) !important;
  padding-top: 18px !important;
  margin-top: 18px !important;
  flex-wrap: wrap !important;
}

.pmpro_account-user a {
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--border-strong) !important;
  padding-bottom: 2px !important;
}

.pmpro_account-user a:hover {
  color: var(--red) !important;
  border-color: var(--red) !important;
}

/* ─── Account page — My Membership ─── */
.pmpro_account-membership {
  background: var(--white) !important;
  border: 1.5px solid var(--border) !important;
  border-radius: 14px !important;
  padding: 28px !important;
  margin-bottom: 24px !important;
}

.pmpro_account-membership h2 {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  margin-bottom: 20px !important;
  border: none !important;
  padding: 0 !important;
}

.pmpro_account-membership table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 20px !important;
}

.pmpro_account-membership table th {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: 0 0 10px !important;
  border-bottom: 1.5px solid var(--border) !important;
  text-align: left !important;
}

.pmpro_account-membership table td {
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--border) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  vertical-align: top !important;
}

.pmpro_account-membership .pmpro_btn-group,
.pmpro_account-membership nav {
  display: flex !important;
  gap: 20px !important;
  padding-top: 18px !important;
  flex-wrap: wrap !important;
}

.pmpro_account-membership a {
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--border-strong) !important;
  padding-bottom: 2px !important;
}

.pmpro_account-membership a:hover {
  color: var(--red) !important;
  border-color: var(--red) !important;
}

/* ─── Account page — Order history ─── */
.pmpro_account-invoices {
  background: var(--white) !important;
  border: 1.5px solid var(--border) !important;
  border-radius: 14px !important;
  padding: 28px !important;
  margin-bottom: 24px !important;
}

.pmpro_account-invoices h2 {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  margin-bottom: 20px !important;
  border: none !important;
  padding: 0 !important;
}

.pmpro_account-invoices table th {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: 0 12px 10px 0 !important;
  border-bottom: 1.5px solid var(--border) !important;
  text-align: left !important;
}

.pmpro_account-invoices table td {
  padding: 14px 12px 14px 0 !important;
  border-bottom: 1px solid var(--border) !important;
  font-size: 14px !important;
  color: var(--ink) !important;
}

/* Paid badge */
.pmpro_account-invoices .pmpro_invoice-status,
.pmpro_account-invoices td .success {
  display: inline-block !important;
  background: #eaf3ee !important;
  color: var(--green) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
}


/* ─── Cancel page ─── */
#pmpro_wrap .pmpro_cancel {
  background: var(--red-light) !important;
  border: 1px solid var(--red) !important;
  border-radius: 14px !important;
  padding: 28px !important;
  margin-bottom: 24px !important;
}

/* ─── Eyebrow decoration above forms ─── */
.akiya-form-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 16px;
}
.akiya-form-eyebrow::before {
  content: '';
  width: 20px;
  height: 1.5px;
  background: var(--red);
}

/* ─── Card number / Stripe iframe wrapper ─── */
#pmpro_wrap .pmpro_card_field,
#pmpro_wrap .__PrivateStripeElement {
  background: var(--white) !important;
  border: 1.5px solid var(--border-strong) !important;
  border-radius: var(--r) !important;
  padding: 14px 16px !important;
  transition: border-color 0.2s !important;
}

/* ─── Checkbox / radio ─── */
#pmpro_wrap input[type="checkbox"],
#pmpro_wrap input[type="radio"] {
  accent-color: var(--ink) !important;
  width: 16px !important;
  height: 16px !important;
}

/* ─── Divider ─── */
#pmpro_wrap hr,
#pmpro_wrap .pmpro_divider {
  border: none !important;
  border-top: 1px solid var(--border) !important;
  margin: 32px 0 !important;
}

/* ─── Mobile ─── */
@media (max-width: 600px) {
  #pmpro_wrap {
    margin: 48px auto 48px !important;
    padding: 0 16px !important;
  }
}


/* ═══════════════════════════════════════════════════
   PMPro v3 CHECKOUT — Targeted Overrides
   Based on actual HTML structure from /membership-checkout/
   ═══════════════════════════════════════════════════ */

/* ── Checkout section wrapper ── */
.pmpro_section.pmpro_checkout_gateway-stripe {
  max-width: 580px !important;
  margin: 0 auto !important;
}

/* ── Pricing card (Membership Information) ── */
/* ═══════════════════════════════════════
   Pricing card — Dark premium banner
   ═══════════════════════════════════════ */
#pmpro_pricing_fields.pmpro_card {
  background: #1a1713 !important;
  border: none !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(26,23,19,.2) !important;
  margin-bottom: 24px !important;
  position: relative !important;
}
/* Decorative kanji watermark */
#pmpro_pricing_fields.pmpro_card::after {
  content: '会員' !important;
  position: absolute !important;
  right: 14px !important;
  bottom: -12px !important;
  font-family: 'Shippori Mincho', serif !important;
  font-size: 110px !important;
  font-weight: 800 !important;
  color: rgba(249,247,244,.025) !important;
  line-height: 1 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
/* Red left accent bar */
#pmpro_pricing_fields.pmpro_card::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 20px !important;
  bottom: 20px !important;
  width: 3px !important;
  border-radius: 0 2px 2px 0 !important;
  background: #b5372a !important;
  z-index: 1 !important;
}

/* Title — hidden, content speaks for itself */
#pmpro_pricing_fields .pmpro_card_title {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #f9f7f4 !important;
  padding: 28px 28px 0 !important;
  margin: 0 !important;
  border: none !important;
  border-bottom: none !important;
  background: transparent !important;
  display: block !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  position: relative !important;
  z-index: 1 !important;
}

#pmpro_pricing_fields .pmpro_card_content {
  padding: 16px 28px 28px !important;
  position: relative !important;
  z-index: 1 !important;
}

#pmpro_pricing_fields .pmpro_level_name_text {
  font-size: 14px !important;
  color: rgba(240,236,228,.45) !important;
  line-height: 1.7 !important;
  margin-bottom: 10px !important;
}
#pmpro_pricing_fields .pmpro_level_name_text strong {
  color: #f9f7f4 !important;
  font-weight: 700 !important;
}

#pmpro_pricing_fields .pmpro_level_description_text {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: rgba(240,236,228,.5) !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  margin-bottom: 4px !important;
  letter-spacing: 0 !important;
}
/* The plan title line (strong tag) */
#pmpro_pricing_fields .pmpro_level_description_text strong {
  display: block !important;
  font-family: 'Shippori Mincho', serif !important;
  font-size: 22px !important;
  color: #c49a3c !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 14px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
/* Feature list container (injected by JS) */
.al-checkout-features {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px 20px !important;
  margin-top: 2px !important;
}
.al-checkout-feature {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: rgba(240,236,228,.55) !important;
  white-space: nowrap !important;
  line-height: 2 !important;
}
.al-checkout-feature .al-check {
  color: #2a7a4b !important;
  font-size: 11px !important;
  flex-shrink: 0 !important;
}

#pmpro_pricing_fields .pmpro_level_cost_text,
#pmpro_pricing_fields .pmpro_level_expiration_text {
  display: none !important;
}

/* Tag-like badge for the level */
#pmpro_pricing_fields .pmpro_level_name_text::after {
  content: '' !important;
  display: none !important;
}

/* ── User fields card (Account Information) ── */
/* ═══════════════════════════════════════
   Account card — Light premium banner
   ═══════════════════════════════════════ */
#pmpro_user_fields .pmpro_card {
  background: #ffffff !important;
  border: 1.5px solid #e6e2db !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 16px rgba(26,23,19,.06) !important;
  margin-bottom: 20px !important;
  position: relative !important;
}
/* Left accent bar */
#pmpro_user_fields .pmpro_card::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 20px !important;
  bottom: 20px !important;
  width: 3px !important;
  border-radius: 0 2px 2px 0 !important;
  background: #1a1713 !important;
  z-index: 1 !important;
}
/* Decorative kanji */
#pmpro_user_fields .pmpro_card::after {
  content: '登録' !important;
  position: absolute !important;
  right: 14px !important;
  bottom: 50px !important;
  font-family: 'Shippori Mincho', serif !important;
  font-size: 100px !important;
  font-weight: 800 !important;
  color: rgba(26,23,19,.02) !important;
  line-height: 1 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

#pmpro_user_fields .pmpro_card_content {
  padding: 28px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Legend / heading */
#pmpro_user_fields .pmpro_form_legend {
  padding: 0 !important;
  margin: 0 0 24px !important;
  border: none !important;
}
#pmpro_user_fields .pmpro_form_heading,
#pmpro_user_fields h2.pmpro_font-large {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #1a1713 !important;
  margin: 0 !important;
  padding: 0 0 16px !important;
  border: none !important;
  border-bottom: 2px solid #1a1713 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  background: none !important;
}

/* ── Form fields ── */
.pmpro_form_field {
  margin-bottom: 18px !important;
}

.pmpro_form_label,
#pmpro_form .pmpro_form_label,
.pmpro_section .pmpro_form_label,
.pmpro_card .pmpro_form_label,
#pmpro_user_fields .pmpro_form_label,
.pmpro_form_field .pmpro_form_label,
.pmpro_form_field label.pmpro_form_label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1a1713 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.pmpro_form_label .pmpro_asterisk {
  color: #b5372a !important;
}
.pmpro_form_label .pmpro_asterisk abbr {
  text-decoration: none !important;
  border: none !important;
  color: #b5372a !important;
}

.pmpro_form_input,
.pmpro_form_input-text,
.pmpro_form_input-email,
.pmpro_form_input-password {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  color: #1a1713 !important;
  background: #f9f7f4 !important;
  border: 1.5px solid #e6e2db !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.pmpro_form_input:focus {
  border-color: #1a1713 !important;
  box-shadow: 0 0 0 3px rgba(26,23,19,0.06) !important;
  background: #ffffff !important;
}

/* ── Two-column fields (password, email) ── */
.pmpro_cols-2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  margin-bottom: 18px !important;
}
.pmpro_cols-2 > * {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.pmpro_cols-2 .pmpro_form_input,
.pmpro_cols-2 input[type="password"],
.pmpro_cols-2 input[type="email"],
.pmpro_cols-2 input[type="text"],
#pmpro_form .pmpro_cols-2 .pmpro_form_input,
#pmpro_form .pmpro_cols-2 input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.pmpro_cols-2 .pmpro_form_field {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
}

/* ── Password toggle button ── */
.pmpro_form_field-password-toggle {
  margin-top: 6px !important;
}
.pmpro_btn.pmpro_btn-plain.pmpro_btn-password-toggle,
.pmpro_form_field-password-toggle .pmpro_btn,
#pmpro_form .pmpro_btn-password-toggle {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #b5372a !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 2px 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
  max-width: none !important;
  border-radius: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transform: none !important;
}
.pmpro_btn.pmpro_btn-plain.pmpro_btn-password-toggle:hover,
.pmpro_form_field-password-toggle .pmpro_btn:hover,
#pmpro_form .pmpro_btn-password-toggle:hover {
  background: none !important;
  background-color: transparent !important;
  transform: none !important;
  box-shadow: none !important;
  color: #962e24 !important;
}
.pmpro_form_field-password-toggle-state {
  font-size: 11px !important;
}
.pmpro_icon.pmpro_icon-eye svg {
  width: 14px !important;
  height: 14px !important;
  stroke: #b5372a !important;
}

/* ── Card actions (Already have an account?) ── */
#pmpro_user_fields .pmpro_card_actions {
  padding: 16px 28px !important;
  border-top: 1px solid #e6e2db !important;
  background: #f9f7f4 !important;
  font-size: 13px !important;
  color: #7a7268 !important;
  position: relative !important;
  z-index: 1 !important;
}
#pmpro_user_fields .pmpro_card_actions a {
  color: #b5372a !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(181,55,42,.3) !important;
}
#pmpro_user_fields .pmpro_card_actions a:hover {
  border-color: #b5372a !important;
}

/* ── Submit area ── */
.pmpro_form_submit {
  text-align: center !important;
  margin-top: 8px !important;
}

#pmpro_btn-submit,
.pmpro_btn-submit-checkout {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: #1a1713 !important;
  color: #f9f7f4 !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 16px 40px !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s !important;
  box-shadow: 0 2px 12px rgba(26,23,19,.18) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 400px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
}
#pmpro_btn-submit:hover,
.pmpro_btn-submit-checkout:hover {
  background: #b5372a !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(181,55,42,.25) !important;
}

/* Processing message */
#pmpro_processing_message {
  font-size: 13px !important;
  color: #7a7268 !important;
  margin-top: 12px !important;
  text-align: center !important;
}

/* ── Fieldset reset ── */
#pmpro_user_fields.pmpro_form_fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
}

/* ── Honeypot field (keep hidden) ── */
.pmpro_hidden {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ── Mobile overrides ── */
@media (max-width: 600px) {
  .pmpro_section.pmpro_checkout_gateway-stripe {
    padding: 0 4px !important;
  }
  #pmpro_pricing_fields .pmpro_card_title {
    font-size: 22px !important;
    padding: 22px 20px 0 !important;
  }
  #pmpro_pricing_fields .pmpro_card_content {
    padding: 12px 20px 22px !important;
  }
  #pmpro_pricing_fields .pmpro_level_description_text strong {
    font-size: 18px !important;
  }
  #pmpro_pricing_fields .al-checkout-features {
    gap: 2px 14px !important;
  }
  #pmpro_pricing_fields.pmpro_card::after {
    font-size: 80px !important;
  }
  #pmpro_user_fields .pmpro_card_content {
    padding: 22px 20px !important;
  }
  #pmpro_user_fields .pmpro_form_heading,
  #pmpro_user_fields h2.pmpro_font-large {
    font-size: 18px !important;
  }
  #pmpro_user_fields .pmpro_card::after {
    font-size: 70px !important;
  }
  .pmpro_cols-2 {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  #pmpro_btn-submit {
    max-width: 100% !important;
  }
}

/* ── Fix: force form fields full-width in cols-2 (desktop) ── */
.pmpro_cols-2 .pmpro_form_field,
#pmpro_form .pmpro_cols-2 .pmpro_form_field,
.pmpro_section .pmpro_cols-2 .pmpro_form_field,
.pmpro_card .pmpro_cols-2 .pmpro_form_field,
.pmpro_cols-2 > .pmpro_form_field,
.pmpro_cols-2 .pmpro_form_field-password,
.pmpro_cols-2 .pmpro_form_field-email {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}


/* ═══════════════════════════════════════════════════════════
   LOGO — Replace text with SVG mark
   ═══════════════════════════════════════════════════════════ */

.cs-header__logo,
a.cs-header__logo,
.cs-header__logo-mobile,
a.cs-header__logo-mobile,
h1.cs-logo a,
h1.cs-logo-desktop a,
.cs-logo-mobile a,
.cs-logo a.cs-logo-once,
a.cs-header__logo.cs-logo-once,
a.cs-header__logo-mobile.cs-logo-once {
  font-size: 0 !important;
  line-height: 0 !important;
  letter-spacing: 0 !important;
  color: transparent !important;
  overflow: hidden !important;
  display: block !important;
  width: 200px !important;
  height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 370 72'%3E%3Crect y='4' width='56' height='56' rx='6' fill='%231a1713'/%3E%3Ctext x='28' y='46' font-family='Georgia,serif' font-size='32' font-weight='700' fill='%23c49a3c' text-anchor='middle'%3E家%3C/text%3E%3Ctext x='74' y='48' font-family='Georgia,serif' font-size='36' font-weight='700' fill='%231a1713' letter-spacing='1'%3EAKIYA%3C/text%3E%3Ctext x='224' y='48' font-family='Georgia,serif' font-size='36' font-weight='700' fill='%23b5372a' letter-spacing='1'%3ELABS%3C/text%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

.cs-header__logo-outer,
.cs-header__col.cs-col-center {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cs-header__logo::before,
.cs-header__logo::after,
.cs-header__logo-mobile::before,
.cs-header__logo-mobile::after,
h1.cs-logo a::before,
h1.cs-logo a::after,
.cs-logo a.cs-logo-once::before,
.cs-logo a.cs-logo-once::after {
  content: none !important;
  display: none !important;
}

/* ─── Mobile: logo left + tighter SVG ─── */
@media (max-width: 767px) {
  .cs-header__inner-mobile {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 0 !important;
  }

  .cs-header__inner-mobile .cs-col-left {
    flex: 0 0 auto !important;
  }

  .cs-header__inner-mobile .cs-col-center,
  .cs-header__inner-mobile .cs-col-center .cs-header__logo-outer,
  .cs-header__inner-mobile .cs-col-center .cs-logo-mobile {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    text-align: left !important;
  }

  .cs-header__inner-mobile .cs-col-right {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }

  .cs-header__logo,
  a.cs-header__logo,
  .cs-header__logo-mobile,
  a.cs-header__logo-mobile,
  h1.cs-logo a,
  h1.cs-logo-desktop a,
  .cs-logo-mobile a,
  .cs-logo a.cs-logo-once,
  a.cs-header__logo.cs-logo-once,
  a.cs-header__logo-mobile.cs-logo-once {
    width: 140px !important;
    height: 28px !important;
    background-position: left center !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 340 72'%3E%3Crect y='4' width='56' height='56' rx='6' fill='%231a1713'/%3E%3Ctext x='28' y='46' font-family='Georgia,serif' font-size='32' font-weight='700' fill='%23c49a3c' text-anchor='middle'%3E家%3C/text%3E%3Ctext x='74' y='48' font-family='Georgia,serif' font-size='36' font-weight='700' fill='%231a1713' letter-spacing='0'%3EAKIYA%3C/text%3E%3Ctext x='210' y='48' font-family='Georgia,serif' font-size='36' font-weight='700' fill='%23b5372a' letter-spacing='0'%3ELABS%3C/text%3E%3C/svg%3E") !important;
  }
}
