/* DUBLIN POOLS — papan tulis pub */
.db-page { --color-primary:#0f2e1d; --color-accent:#c9a24b; --color-bg:#f9f6ee; --db-ink:#2b2418; --db-muted:#7a6f5c;
  background:var(--color-bg); color:var(--db-ink); font-family:'Merriweather',Georgia,serif; margin:-1.5rem -12px 0; padding-bottom:54px; text-align:center; }
.db-container { width:100%; max-width:900px; margin:0 auto; padding:0 16px; }
.db-breadcrumb { padding:14px 0 0; font-size:12px; color:var(--db-muted); text-align:left; font-family:system-ui,sans-serif; }
.db-breadcrumb a { color:var(--color-primary); }
.db-sign { display:flex; align-items:center; justify-content:center; gap:16px; padding:32px 0 6px; }
.db-knot { width:34px; height:34px; flex:0 0 34px; border:3px solid var(--color-accent); border-radius:50% 8px 50% 8px; }
.db-kicker { margin:0 0 6px; font-size:10.5px; font-weight:700; letter-spacing:.3em; color:var(--color-accent); font-family:system-ui,sans-serif; }
.db-h1 { font-weight:700; font-size:clamp(21px,5vw,32px); line-height:1.16; margin:0; }
.db-date { margin:0 0 22px; font-size:12.5px; color:var(--db-muted); font-family:system-ui,sans-serif; }
.db-board { background:var(--color-primary); border:12px solid var(--color-accent); border-radius:8px; padding:26px 18px 22px;
  box-shadow:inset 0 0 60px rgba(0,0,0,.45), 0 10px 24px rgba(15,46,29,.25); }
.db-board-label { display:block; font-family:'Caveat',cursive; font-size:19px; color:#cfe3d5; margin-bottom:6px; }
.db-chalk { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 18px; }
.db-digit { font-family:'Caveat',cursive; font-size:clamp(56px,16vw,104px); line-height:1; color:#f4f6f0;
  text-shadow:0 0 2px rgba(255,255,255,.55); opacity:0; transform:rotate(-2deg) translateY(8px); animation:db-in .45s ease forwards; }
.db-digit:nth-child(even) { transform:rotate(1.6deg) translateY(8px); }
.db-digit-empty { color:#5c7a68; }
@keyframes db-in { to{opacity:1;transform:rotate(0) translateY(0);} }
.db-underline { display:block; width:62%; height:3px; margin:6px auto 12px; border-radius:99px; background:rgba(244,246,240,.55);
  filter:blur(.4px); }
.db-board-meta { display:block; font-family:system-ui,sans-serif; font-size:11.5px; color:#a8c2b2; }
.db-desc { margin:22px auto 0; max-width:600px; font-size:13.5px; color:var(--db-muted); }
.db-section { margin-top:42px; }
.db-h2 { font-weight:700; font-size:clamp(19px,4.4vw,26px); margin:0 0 16px; color:var(--color-primary); }
.db-filter { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:16px; font-family:system-ui,sans-serif; }
.db-filter select { height:40px; padding:0 12px; border:2px solid var(--color-primary); border-radius:8px; background:#fff; font-size:13px; }
.db-btn { display:inline-flex; align-items:center; height:40px; padding:0 18px; border:2px solid var(--color-primary); border-radius:8px;
  background:var(--color-primary); color:var(--color-accent); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; font-family:system-ui,sans-serif; }
.db-btn:hover { background:#0a2015; color:var(--color-accent); } .db-btn-ghost { background:#fff; color:var(--color-primary); }
.db-menu { list-style:none; margin:0; padding:0; text-align:left; }
.db-menu li { display:flex; align-items:baseline; gap:8px; padding:11px 4px; }
.db-menu-date { font-size:13.5px; font-weight:700; } .db-menu-date small { font-weight:400; font-size:11.5px; color:var(--db-muted); margin-left:6px; }
.db-dots { flex:1 1 auto; border-bottom:2px dotted #cbbfa6; transform:translateY(-4px); }
.db-menu-num { font-family:'Caveat',cursive; font-size:28px; color:var(--color-primary); }
.db-empty { background:#fff; border:2px dashed var(--color-primary); border-radius:8px; padding:40px 20px; }
.db-empty h3 { font-size:18px; margin:0 0 6px; } .db-empty p { margin:0; font-size:13px; color:var(--db-muted); font-family:system-ui,sans-serif; }
.db-pagination { margin-top:14px; font-size:12.5px; color:var(--db-muted); font-family:system-ui,sans-serif; }
.db-pagination .page-link { border-radius:8px; border:2px solid var(--color-primary); color:var(--color-primary); font-weight:700; }
.db-pagination .page-item.active .page-link { background:var(--color-primary); border-color:var(--color-primary); color:var(--color-accent); }
.db-cards { display:grid; gap:12px; }
.db-card { background:#fff; border:2px solid var(--color-accent); border-radius:8px; padding:18px 14px; }
.db-card-label { display:block; font-family:system-ui,sans-serif; font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--db-muted); }
.db-card-value { display:block; margin:6px 0 3px; font-family:'Caveat',cursive; font-size:26px; color:var(--color-primary); }
.db-card-note { display:block; font-family:system-ui,sans-serif; font-size:11.5px; color:var(--db-muted); }
.db-note { margin:18px 0 0; font-family:system-ui,sans-serif; font-size:12.5px; color:var(--db-muted); }
.db-note a { color:var(--color-primary); font-weight:700; }
@media (min-width:768px) { .db-cards { grid-template-columns:repeat(3,1fr); } }
@media (min-width:992px) { .db-page { margin-left:-24px; margin-right:-24px; } }
@media (max-width:575.98px) { .db-board { border-width:8px; padding:20px 12px 18px; } .db-knot { display:none; } .db-section { margin-top:32px; } }
@media (prefers-reduced-motion:reduce) { .db-digit { animation:none; opacity:1; transform:none; } }
