/* shared-price-table — extracted from v1-category-18.html
   Source of truth — based on baseline file. */

.price-table-wrap {
    margin-top: 14px;
    border: 1px solid var(--color-border-tertiary);
    border-radius: 12px;
    overflow: hidden;
    background: white;
    /* CLS guard: reserve approximate rendered height so footer/below-content
       doesn't shift if table renders late or font swaps. ~12 rows + header. */
    min-height: 540px;
  }

@media (min-width: 1024px) {
    .price-table-wrap { min-height: 620px; }
  }

.price-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    table-layout: auto;
  }

.price-table thead {
    background: #F5F8EE;
  }

.price-table th {
    text-align: left;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--green-dark);
    padding: 12px 14px;
    border-bottom: 1.5px solid var(--color-border-tertiary);
  }

.price-table th.num,
  .price-table td.num {
    text-align: right;
    white-space: nowrap;
  }

.price-table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--color-border-tertiary);
    color: var(--color-text-primary);
    vertical-align: middle;
    line-height: 1.4;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

.price-table tbody tr:last-child td { border-bottom: 0; }

.price-table tbody tr:nth-child(even) { background: #FAFBF7; }

.price-table tbody tr:hover { background: #EAF3DE; }

.price-table-link {
    color: var(--color-text-primary);
    text-decoration: none;
    font-weight: 500;
  }

.price-table-link:hover {
    color: var(--green-dark);
    text-decoration: underline;
  }

.price-table .price-cell {
    font-weight: 800;
    color: var(--color-text-primary);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
    white-space: nowrap;
    font-size: 1.0625rem;
    background: #F5F8EE;
  }

.price-table tbody tr:nth-child(even) .price-cell { background: #EFF4E2; }

.price-table tbody tr:hover .price-cell { background: #DCEBC4; }

.price-table tbody tr:hover .t-stalls { background: #F9D8B0; }

.price-table tbody tr:hover .t-stalls-arrow { transform: translateX(2px); }

.price-table-note {
    font-size: 0.8125rem;
    color: #6b7280;
    margin-top: 10px;
    font-style: italic;
  }

@media (min-width: 1024px) {
    .price-table { font-size: 0.9375rem; }
    .price-table th,
    .price-table td { padding: 14px 18px; }
  }

@media (max-width: 599px) {
    .price-table { font-size: 0.8125rem; }
    .price-table th { padding: 10px 8px; font-size: 0.6875rem; letter-spacing: 0.02em; }
    .price-table td { padding: 10px 8px; }
    .price-table .price-cell { font-size: 0.9375rem; }
    .price-table th:first-child,
    .price-table td:first-child { padding-left: 12px; }
    .price-table th:last-child,
    .price-table td:last-child { padding-right: 12px; }
  }
