/* ===== TPP Bos – Openingstijden Section ===== */
.open-hours-section{--oh-purple:#6a4fd3;--oh-purple2:#8a5adf;--oh-bg:#f7f9fc;--oh-dark:#0e2038;--oh-muted:#5b6770;--oh-border:#e6eef6}
.open-hours-section{padding:48px 0;background:radial-gradient(1200px 400px at 50% 0,var(--oh-bg) 0%,#fff 60%)}
.open-hours-section .oh-wrap{width:min(1400px,92vw);margin:0 auto}
.oh-header{text-align:center;margin-bottom:18px}
.oh-title{font-size:clamp(24px,3.5vw,32px);margin:0;color:var(--oh-dark)}
.oh-intro{color:var(--oh-muted);max-width:720px;margin:8px auto 0}

.oh-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}
@media (max-width:900px){.oh-grid{grid-template-columns:1fr}}

.oh-card{background:#fff;border:1px solid var(--oh-border);border-radius:20px;padding:18px;box-shadow:0 8px 24px rgba(16,32,48,.06)}
.oh-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.oh-titlewrap{display:flex;align-items:center;gap:10px}
.oh-card h3{margin:0;font-size:18px;color:var(--oh-dark)}
.oh-chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px}
.oh-chip.open{background:#eaf9f3;color:#187a57}
.oh-chip.closed{background:#fde8e8;color:#b42318}
.oh-actions{display:flex;gap:10px;flex-wrap:wrap}
.oh-btn{appearance:none;border:1.5px solid rgba(106,79,211,.35);background:transparent;border-radius:999px;padding:8px 12px;font-weight:700;color:var(--oh-purple);text-decoration:none}
.oh-btn.primary{background:linear-gradient(135deg,var(--oh-purple),var(--oh-purple2));border-color:transparent;color:#fff}
.oh-address{margin:6px 0 10px 0;font-style:normal;color:var(--oh-muted)}

.oh-schedule{display:grid;grid-template-columns:1fr auto;row-gap:4px}
.oh-row{display:contents}
.oh-row .day{padding:8px 0;color:var(--oh-dark);font-weight:600}
.oh-row .hours{padding:8px 0;color:var(--oh-muted)}
.oh-row.today .day,.oh-row.today .hours{background:linear-gradient(90deg,rgba(106,79,211,.08),rgba(138,90,223,.06));margin:0 -8px;padding:8px;border-radius:8px}

.oh-note{margin-top:10px;color:var(--oh-muted);font-size:.95em}

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