/* SRILANKA — candi bertingkat */
.sl-page { --color-primary:#14532d; --color-accent:#c9a24b; --color-bg:#f8f4ea; --sl-marun:#7f1d1d; --sl-ink:#22271f; --sl-muted:#6f6a5c;
  background:var(--color-bg); color:var(--sl-ink); font-family:'Open Sans',system-ui,sans-serif; margin:-1.5rem -12px 0; padding-bottom:52px; text-align:center; }
.sl-breadcrumb { max-width:1080px; margin:0 auto; padding:14px 16px 0; font-size:12px; color:var(--sl-muted); text-align:left; }
.sl-breadcrumb a { color:var(--color-primary); }

/* Tingkat menyempit ke bawah */
.sl-tier { margin:0 auto; padding:0 16px; }
.sl-tier-1 { max-width:100%; background:var(--color-primary); color:#f8f4ea; padding:44px 16px 38px; margin-top:14px; border-bottom:4px solid var(--color-accent); }
.sl-tier-2 { max-width:880px; padding-top:26px; }
.sl-tier-3 { max-width:800px; }
.sl-tier-4 { max-width:720px; }

.sl-kicker { margin:0 0 10px; font-size:10.5px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--color-accent); }
.sl-h1 { font-family:'Lora',Georgia,serif; font-weight:700; font-size:clamp(26px,6.2vw,44px); line-height:1.1; margin:0 0 8px; }
.sl-date { margin:0; font-size:13px; color:rgba(248,244,234,.82); }

.sl-ornament { height:26px; margin:22px auto; max-width:320px;
  background-image:linear-gradient(90deg,transparent,var(--color-accent),transparent),radial-gradient(circle,var(--sl-marun) 5px,transparent 6px);
  background-size:100% 1px,26px 26px; background-position:center,center; background-repeat:no-repeat,repeat-x; }

.sl-frame { position:relative; background:#fff; border:3px solid var(--color-primary); padding:26px 20px 22px; border-radius:8px; }
.sl-frame::before,.sl-frame::after { content:''; position:absolute; width:20px; height:20px; border:3px solid var(--color-accent); }
.sl-frame::before { top:-3px; left:-3px; border-right:0; border-bottom:0; }
.sl-frame::after { bottom:-3px; right:-3px; border-left:0; border-top:0; }
.sl-frame-label { margin:0 0 16px; font-size:10.5px; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--sl-muted); }
.sl-digits { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.sl-digit { display:inline-flex; align-items:center; justify-content:center; width:clamp(56px,14vw,76px); height:clamp(56px,14vw,76px);
  border:3px solid var(--color-accent); border-radius:8px; background:linear-gradient(160deg,#1c6b3c,var(--color-primary));
  color:#fdf9ee; font-family:'Lora',Georgia,serif; font-weight:700; font-size:clamp(26px,7vw,38px);
  opacity:0; transform:translateY(10px); animation:sl-in .45s ease forwards; position:relative; }
.sl-digit::after { content:''; position:absolute; inset:4px; border:1px solid rgba(201,162,75,.5); border-radius:5px; }
.sl-digit-empty { background:#e7e1d3; color:#a79f8c; border-color:#d3c8ad; }
@keyframes sl-in { to{opacity:1;transform:translateY(0);} }
.sl-frame-meta { margin:16px 0 0; font-size:12.5px; color:var(--sl-muted); }
.sl-desc { margin:22px auto 0; max-width:620px; font-size:14px; color:var(--sl-muted); }

.sl-h2 { font-family:'Lora',Georgia,serif; font-weight:700; font-size:clamp(20px,4.6vw,28px); margin:0 0 16px; color:var(--sl-marun); }
.sl-filter { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:18px; }
.sl-filter select { height:40px; padding:0 12px; border:1px solid var(--color-primary); border-radius:8px; background:#fff; font-family:inherit; font-size:13px; }
.sl-btn { display:inline-flex; align-items:center; height:40px; padding:0 18px; border:1px solid var(--color-primary); border-radius:8px;
  background:var(--color-primary); color:#f8f4ea; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.sl-btn:hover { background:#0f3f22; color:#f8f4ea; }
.sl-btn-ghost { background:#fff; color:var(--color-primary); }

.sl-weeks { display:grid; gap:16px; text-align:left; }
.sl-week { background:#fff; border:1px solid #ded6c4; border-radius:8px; overflow:hidden; }
.sl-week-title { margin:0; padding:12px 16px; background:var(--sl-marun); color:#fdf5f5; font-family:'Lora',Georgia,serif; font-size:14px; font-weight:700; }
.sl-week-list { list-style:none; margin:0; padding:0; }
.sl-week-list li { display:flex; align-items:center; gap:12px; padding:11px 16px; border-bottom:1px solid #efe9db; }
.sl-week-list li:last-child { border-bottom:0; }
.sl-week-list li:nth-child(even) { background:#faf7ef; }
.sl-day { flex:0 0 74px; font-size:12px; font-weight:600; color:var(--sl-muted); }
.sl-date-cell { flex:1 1 auto; font-size:13px; }
.sl-result { font-family:'Lora',Georgia,serif; font-weight:700; font-size:18px; letter-spacing:.14em; color:var(--color-primary); }

.sl-empty { background:#fff; border:2px dashed var(--color-accent); border-radius:8px; padding:40px 20px; }
.sl-empty-mark { display:inline-block; width:44px; height:52px; background:var(--color-primary); margin-bottom:14px;
  clip-path:polygon(50% 0,100% 38%,84% 100%,16% 100%,0 38%); }
.sl-empty h3 { font-family:'Lora',Georgia,serif; font-size:18px; margin:0 0 6px; }
.sl-empty p { margin:0; font-size:13px; color:var(--sl-muted); }
.sl-pagination { margin-top:16px; font-size:13px; color:var(--sl-muted); }
.sl-pagination .page-link { border-radius:8px; border:1px solid var(--color-primary); color:var(--color-primary); font-weight:700; }
.sl-pagination .page-item.active .page-link { background:var(--color-primary); border-color:var(--color-primary); color:#fff; }

.sl-cards { display:grid; gap:12px; }
.sl-card { background:#fff; border:1px solid var(--color-accent); border-radius:8px; padding:18px 14px; }
.sl-card-label { display:block; font-size:10.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--sl-muted); }
.sl-card-value { display:block; margin:6px 0 3px; font-family:'Lora',Georgia,serif; font-weight:700; font-size:19px; color:var(--color-primary); }
.sl-card-note { display:block; font-size:11.5px; color:var(--sl-muted); }
.sl-note { margin:18px 0 0; font-size:13px; color:var(--sl-muted); }
.sl-note a { color:var(--sl-marun); font-weight:700; }

@media (min-width:768px) { .sl-cards { grid-template-columns:repeat(3,1fr); } }
@media (min-width:992px) { .sl-page { margin-left:-24px; margin-right:-24px; } }
@media (max-width:575.98px) { .sl-tier-1 { padding:32px 12px 28px; } .sl-digits { gap:8px; } .sl-day { flex:0 0 62px; } }
@media (prefers-reduced-motion:reduce) { .sl-digit { animation:none; opacity:1; transform:none; } }
