/* 神楽AYA - responsive individual session prices. Desktop tables remain unchanged. */
@media (max-width: 640px) {
  #individual-booking .container,
  #individual-booking .pkr-form,
  #individual-booking .pkr-form-inner,
  #individual-booking .pkr-form-section,
  #individual-booking .kqa-area-choices,
  #individual-booking .kqa-area-card,
  #individual-booking .kqa-area-table-scroll {
    min-width: 0; max-width: 100%; box-sizing: border-box;
  }
  #individual-booking .kqa-area-choices {
    width: 100%; grid-template-columns: minmax(0,1fr); gap: 13px;
  }
  #individual-booking .kqa-area-card {
    padding: 14px 12px; overflow: hidden;
  }
  #individual-booking .kqa-area-heading,
  #individual-booking .kqa-area-heading label,
  #individual-booking .kqa-area-heading strong {
    min-width: 0; max-width: 100%; white-space: normal;
    overflow-wrap: anywhere; word-break: normal;
  }
  #individual-booking .kqa-area-table-scroll {
    width: 100%; overflow: visible;
  }
  #individual-booking .kqa-area-table {
    display: block; min-width: 0 !important; width: 100%;
    max-width: 100%; border-collapse: separate; font-size: 12px;
  }
  #individual-booking .kqa-area-table thead {
    display: none;
  }
  #individual-booking .kqa-area-table tbody {
    display: grid; grid-template-columns: minmax(0,1fr);
    gap: 9px; min-width: 0;
  }
  #individual-booking .kqa-area-table tbody tr {
    display: grid; grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.26fr);
    min-width: 0; max-width: 100%; padding: 9px 10px 10px;
    background: rgba(255,255,255,.86);
    border: 1px solid #e7d8cb; border-radius: 10px;
  }
  #individual-booking .kqa-area-table td {
    display: block; min-width: 0; max-width: 100%;
    padding: 3px 0; border: 0; white-space: normal;
    color: #6e5552; font-size: 12px; line-height: 1.6;
    text-align: left !important; overflow-wrap: anywhere;
    box-sizing: border-box;
  }
  #individual-booking .kqa-area-table td:first-child {
    font-size: 13px; font-weight: 700; color: #795267;
  }
  #individual-booking .kqa-area-table td:nth-child(2) {
    font-size: 11px; color: #85726a;
    text-align: right !important; align-self: center;
  }
  #individual-booking .kqa-area-table td:nth-child(3),
  #individual-booking .kqa-area-table td:nth-child(4) {
    display: flex; flex-direction: column; align-items: flex-start;
    justify-content: center; margin-top: 6px;
    padding: 7px 8px; border: 1px solid #efd9d6;
    border-radius: 7px; background: #fff7f5;
    color: #7c485e; font: 700 12px/1.55 var(--sans);
    font-variant-numeric: tabular-nums;
    white-space: nowrap; overflow-wrap: normal;
  }
  #individual-booking .kqa-area-table td:nth-child(4) {
    border-color: #e8d7b7; background: #fff9e9;
  }
  #individual-booking .kqa-area-table td:nth-child(3)::before {
    content: "平日"; display: block; margin-bottom: 2px;
    font: 600 10px/1.4 var(--sans); color: #94697a;
  }
  #individual-booking .kqa-area-table td:nth-child(4)::before {
    content: "土日祝"; display: block; margin-bottom: 2px;
    font: 600 10px/1.4 var(--sans); color: #906f41;
  }
  #individual-booking .kqa-area-intro,
  #individual-booking .kqa-area-note,
  #individual-booking .kqa-area-discount {
    min-width: 0; max-width: 100%; overflow-wrap: anywhere;
  }
}
@media (max-width: 360px) {
  #individual-booking .pkr-form-inner { padding-inline: 11px; }
  #individual-booking .kqa-area-card { padding-inline: 10px; }
  #individual-booking .kqa-area-table tbody tr { padding-inline: 8px; }
  #individual-booking .kqa-area-table td:nth-child(3),
  #individual-booking .kqa-area-table td:nth-child(4) {
    padding-inline: 6px; font-size: 11px;
  }
}
