/* TARIFF SECTION (separate file: only the room pages load it) */

.tariff { padding: 2.25rem 0; background: var(--green-night); color: #fff; }
.tariff-inner { max-width: 1320px; margin: 0 auto; padding: 0 1rem; }

.tariff-head { max-width: 42em; margin: 0 auto 1.5rem; text-align: center; }
.tariff h2 { margin: 0 0 .5rem; font: 400 clamp(1.75rem, 6vw, 3.25rem)/1.15 var(--font-head); }
.tariff-head p { margin: 0; line-height: 1.6; color: rgba(255, 255, 255, .92); }

/* Table card. Scrolls sideways only if a very small screen needs it. */
.tariff-scroll { overflow-x: auto; background: var(--cream); color: var(--ink); box-shadow: 0 10px 28px rgba(0, 0, 0, .25); }
.tariff-scroll:focus-visible { outline-offset: -3px; }
.tariff-table { width: 100%; min-width: 300px; border-collapse: collapse; }
.tariff-table th, .tariff-table td { padding: .8rem .6rem; text-align: center; border-bottom: 1px solid #e3dccb; }
.tariff-table thead th { vertical-align: top; background: #efe8d8; border-bottom: 2px solid var(--gold); font-weight: 500; }
.tariff-table thead th:first-child,
.tariff-table tbody th { text-align: left; padding-left: .75rem; }
.tariff-table tbody th { font-weight: 500; line-height: 1.35; }
.tariff-table td { font-size: 1.0625rem; font-weight: 500; white-space: nowrap; }
.t-extras tr:first-child > * { border-top: 2px solid #cfc6af; }   /* separates extras from rooms */
.tariff-table tbody:last-child tr:last-child > * { border-bottom: 0; }

.t-season { display: block; margin-bottom: .2rem; font: 400 1.125rem/1.3 var(--font-head); color: var(--gold-dark); }
.t-dates { display: block; font-size: .8125rem; font-weight: 400; line-height: 1.45; color: var(--muted); }

.tariff-note { margin: 1.25rem 0 0; text-align: center; font: 400 1.25rem/1.3 var(--font-head); color: var(--gold-light); }

.tariff-info { display: grid; gap: 1.5rem; margin-top: 1.75rem; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .25); }
.tariff-info h3 { margin: 0 0 .6rem; font: 400 1.375rem/1.25 var(--font-head); }
.tariff-info ul { display: grid; gap: .5rem; padding-left: 1.25rem; list-style: disc; }
.tariff-info li { line-height: 1.6; color: rgba(255, 255, 255, .92); }
.tariff-info li::marker { color: var(--gold-light); }

/* Call button: gold on green so it stands out from the table */
.tariff-cta { margin-top: 1.75rem; text-align: center; }
.tariff-btn {
  display: flex; align-items: center; justify-content: center; gap: .6rem;
  height: 52px; padding: 0 1.5rem;
  background: var(--gold-light); color: var(--green-night); border-bottom: 3px solid var(--gold);
  font: 500 1.0625rem/1 var(--font-body); text-decoration: none;
  box-shadow: 0 6px 14px rgba(0, 0, 0, .3); transition: background-color .2s;
}
.tariff-btn:hover { background: #fff; }
.tariff-btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.tariff-btn svg { flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

@media (min-width: 640px) {
  .tariff-btn { display: inline-flex; }
}
@media (min-width: 768px) {
  .tariff { padding: 3rem 0; }
  .tariff-inner { padding: 0 1.5rem; }
  .tariff-table th, .tariff-table td { padding: 1rem 1.25rem; }
  .tariff-table thead th:first-child, .tariff-table tbody th { padding-left: 1.5rem; font-size: 1.0625rem; }
  .tariff-table td { font-size: 1.125rem; }
  .t-season { font-size: 1.375rem; }
  .t-dates { font-size: .875rem; }
  .tariff-info { grid-template-columns: 1fr 1fr; gap: 3rem; }
}
@media (min-width: 992px) {
  .tariff { padding: 3.5rem 0; }
  .tariff-inner { padding: 0 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .tariff-btn { transition: none; }
}
