/* =========================================================================
   SUB-PAGES — Rental / Opening Hours / Events & News
   ========================================================================= */

.subpage-section{ padding: 100px var(--pad) 130px; position:relative; z-index:2; }

/* ===================== Rental table ===================== */
.rental-intro{
  display:flex; justify-content:space-between; align-items:flex-end; gap:30px;
  flex-wrap:wrap; margin-bottom: 50px;
}
.rental-table{
  width:100%; border-collapse:collapse;
  border-top: 1px solid var(--ink-line);
}
.rental-table tr{ border-bottom: 1px solid var(--ink-line); transition: background .3s; }
.rental-table tr:hover{ background: var(--ink-soft); }
.rental-table td, .rental-table th{
  padding: 18px 16px; text-align:left;
}
.rental-table thead th{
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color: var(--gold);
  font-weight:600; padding-bottom:14px;
}
.rental-table td:first-child{ color: var(--cream); font-family: var(--font-display); font-size:1.02rem; }
.rental-table td:last-child{ color: var(--gold-bright); text-align:right; font-weight:600; letter-spacing:.02em; }
.rental-table .idx{ color: var(--sage-dim); font-size:.8rem; width:40px; }

.rental-cta{
  margin-top:50px; padding:40px; border:1px solid var(--ink-line); background: var(--ink);
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.rental-cta h3{ font-family:var(--font-display); font-size:1.5rem; color:var(--cream); max-width:30ch; }
.rental-cta p{ color: var(--sage); margin-top:8px; max-width:40ch; }

/* ===================== Opening hours ===================== */
.hours-wrap{ display:grid; grid-template-columns: 1fr 1fr; gap:70px; align-items:start; }
.hours-list{ display:flex; flex-direction:column; }
.hours-row{
  display:flex; justify-content:space-between; align-items:center;
  padding: 20px 4px; border-bottom:1px solid var(--ink-line);
}
.hours-row .day{ font-family: var(--font-display); font-size:1.15rem; color: var(--cream); }
.hours-row .time{ color: var(--sage); letter-spacing:.02em; font-size:.95rem; }
.hours-row.is-today{ border-color: var(--moss); }
.hours-row.is-today .day{ color: var(--moss-bright); }
.hours-row.is-today .day::after{
  content:"Today"; margin-left:12px; font-family:var(--font-body); font-size:.62rem;
  letter-spacing:.14em; text-transform:uppercase; color:#0d1409; background: var(--moss);
  padding: 3px 8px; vertical-align:middle;
}
.hours-note{
  background: var(--ink); border:1px solid var(--ink-line); padding: 34px;
}
.hours-note .eyebrow{ margin-bottom:16px; }
.hours-note p{ color: var(--sage); margin-bottom:14px; }
.hours-note ul{ display:flex; flex-direction:column; gap:12px; margin-top:18px; }
.hours-note li{ display:flex; gap:12px; color:var(--sage); font-size:.92rem; }
.hours-note li i{ color: var(--gold); margin-top:3px; }

/* ===================== Events ===================== */
.events-section h2.strip-title{
  font-family:var(--font-display); font-size:1rem; text-transform:uppercase; letter-spacing:.16em;
  color: var(--gold); margin-bottom: 30px; padding-bottom:16px; border-bottom:1px solid var(--ink-line);
}
.events-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap:28px; margin-bottom:90px; }
.event-card{
  border:1px solid var(--ink-line); background: var(--ink-soft);
  display:flex; flex-direction:column; overflow:hidden; transition: transform .35s, border-color .35s;
}
.event-card:hover{ transform: translateY(-6px); border-color: var(--gold-dim); }
.event-media{ position:relative; height:220px; overflow:hidden; }
.event-media img{ width:100%; height:100%; object-fit:cover; transition: transform .8s var(--ease); }
.event-card:hover .event-media img{ transform:scale(1.06); }
.event-date{
  position:absolute; top:16px; left:16px;
  background: var(--gold); color:#191408; font-size:.72rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; padding:7px 12px;
}
.event-date.past{ background: var(--ink); color: var(--sage); border:1px solid var(--ink-line-2); }
.event-body{ padding: 26px 28px 30px; display:flex; flex-direction:column; gap:12px; }
.event-body h3{ font-family: var(--font-display); font-size:1.3rem; color: var(--cream); }
.event-body p{ color: var(--sage); font-size:.94rem; }
.event-body a{ margin-top:8px; }
.events-empty{
  border:1px dashed var(--ink-line-2); padding: 60px 30px; text-align:center; color: var(--sage);
  margin-bottom:90px;
}

@media (max-width: 900px){
  .hours-wrap{ grid-template-columns:1fr; }
  .events-grid{ grid-template-columns:1fr; }
}
