/* DOMINIKA POOLS — bingkai rimba */
.dm-page { --color-primary:#15803d; --color-accent:#7c3aed; --color-bg:#fdfdf6; --dm-kuning:#facc15; --dm-ink:#1c2b21; --dm-muted:#6f7a70;
  position:relative; overflow:hidden; background:var(--color-bg); color:var(--dm-ink); font-family:'Nunito',system-ui,sans-serif;
  margin:-1.5rem -12px 0; padding-bottom:54px; text-align:center; }
.dm-container { position:relative; z-index:1; width:100%; max-width:960px; margin:0 auto; padding:0 16px; }
.dm-leaf { position:absolute; width:280px; height:280px; pointer-events:none; opacity:.9;
  background-repeat:no-repeat; background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='%2315803d' opacity='.5'%3E%3Cpath d='M10 10c70 0 120 50 120 120C60 130 10 80 10 10z'/%3E%3Cpath d='M60 6c46 18 70 62 66 112-38-32-58-72-66-112z' opacity='.7'/%3E%3C/g%3E%3C/svg%3E"); }
.dm-leaf-tl { top:-40px; left:-60px; }
.dm-leaf-br { bottom:-40px; right:-60px; transform:rotate(180deg); }
.dm-breadcrumb { padding:14px 0 0; font-size:12px; color:var(--dm-muted); text-align:left; } .dm-breadcrumb a { color:var(--color-primary); }
.dm-hero { padding:34px 0 4px; }
.dm-kicker { margin:0 0 8px; font-size:11px; font-weight:800; letter-spacing:.28em; color:var(--color-accent); }
.dm-h1 { font-weight:800; font-size:clamp(24px,5.8vw,40px); line-height:1.1; margin:0 0 8px; }
.dm-date { margin:0; font-size:13px; color:var(--dm-muted); }
.dm-circles { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; padding:30px 0 0; }
.dm-circle { display:inline-flex; align-items:center; justify-content:center; width:clamp(66px,17vw,90px); height:clamp(66px,17vw,90px);
  background:var(--color-primary); color:#fff; font-weight:800; font-size:clamp(28px,8vw,40px);
  clip-path:polygon(50% 0,68% 8%,86% 6%,94% 24%,100% 44%,92% 62%,84% 82%,64% 92%,50% 100%,36% 92%,16% 82%,8% 62%,0 44%,6% 24%,14% 6%,32% 8%);
  opacity:0; transform:scale(.86); animation:dm-in .45s ease forwards; }
.dm-circle-empty { background:#dfe6de; color:#a8b3a8; }
@keyframes dm-in { to{opacity:1;transform:scale(1);} }
.dm-meta { margin:20px 0 0; font-size:12.5px; color:var(--dm-muted); }
.dm-desc { margin:16px auto 0; max-width:600px; font-size:14px; color:var(--dm-muted); }
.dm-section { margin-top:42px; }
.dm-h2 { font-weight:800; font-size:clamp(20px,4.6vw,28px); margin:0 0 16px; color:var(--color-primary); }
.dm-filter { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:16px; }
.dm-filter select { height:42px; padding:0 14px; border:2px solid var(--color-primary); border-radius:14px; background:#fff; font-family:inherit; font-size:13px; font-weight:700; }
.dm-btn { display:inline-flex; align-items:center; height:42px; padding:0 20px; border:2px solid var(--color-primary); border-radius:14px;
  background:var(--color-primary); color:#fff; font-size:12.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.dm-btn:hover { background:#166534; color:#fff; } .dm-btn-ghost { background:var(--dm-kuning); color:var(--dm-ink); border-color:var(--dm-kuning); }
.dm-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:14px; text-align:left; }
.dm-card { padding:16px 18px; border-radius:14px; background:#fff; border:2px solid #e3ebe3; display:flex; flex-direction:column; gap:2px;
  transition:transform .18s ease, box-shadow .18s ease; }
.dm-card:hover { transform:translateY(-3px); box-shadow:0 8px 20px rgba(28,43,33,.12); }
.dm-card-ungu { border-left:8px solid var(--color-accent); } .dm-card-kuning { border-left:8px solid var(--dm-kuning); }
.dm-card-day { font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--dm-muted); }
.dm-card-date { font-size:13.5px; font-weight:700; }
.dm-card-num { margin-top:6px; font-size:30px; font-weight:800; letter-spacing:.12em; color:var(--color-primary); }
.dm-empty { background:#fff; border:2px dashed var(--color-primary); border-radius:14px; padding:42px 20px; }
.dm-empty-mark { display:inline-block; width:50px; height:50px; background:var(--color-primary); margin-bottom:14px;
  clip-path:polygon(50% 0,68% 8%,86% 6%,94% 24%,100% 44%,92% 62%,84% 82%,64% 92%,50% 100%,36% 92%,16% 82%,8% 62%,0 44%,6% 24%,14% 6%,32% 8%); }
.dm-empty h3 { font-weight:800; font-size:18px; margin:0 0 6px; } .dm-empty p { margin:0; font-size:13px; color:var(--dm-muted); }
.dm-pagination { margin-top:14px; font-size:13px; color:var(--dm-muted); }
.dm-pagination .page-link { border-radius:12px; border:2px solid var(--color-primary); color:var(--color-primary); font-weight:800; }
.dm-pagination .page-item.active .page-link { background:var(--color-primary); border-color:var(--color-primary); color:#fff; }
.dm-leaves { display:grid; gap:12px; }
.dm-leafcard { background:#fff; border:2px solid #e3ebe3; border-radius:14px 40px 14px 40px; padding:18px 16px; }
.dm-leafcard-label { display:block; font-size:10.5px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--dm-muted); }
.dm-leafcard-value { display:block; margin:6px 0 3px; font-size:19px; font-weight:800; color:var(--color-primary); }
.dm-leafcard-note { display:block; font-size:11.5px; color:var(--dm-muted); }
.dm-note { margin:18px 0 0; font-size:13px; color:var(--dm-muted); } .dm-note a { color:var(--color-accent); font-weight:800; }
@media (min-width:576px) { .dm-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:768px) { .dm-leaves { grid-template-columns:repeat(3,1fr); } }
@media (min-width:992px) { .dm-page { margin-left:-24px; margin-right:-24px; } }
@media (max-width:575.98px) { .dm-leaf { width:180px; height:180px; opacity:.55; } .dm-circles { gap:9px; } .dm-section { margin-top:32px; } }
@media (prefers-reduced-motion:reduce) { .dm-circle { animation:none; opacity:1; transform:none; } }
