/* Beasiswa (scholarship calendar) — shared styles for /beasiswa/* and /konsultasi.
   Uses ONLY the real design tokens from style.css (--green*, --gray-*, --white).
   Bump the ?v=N on every beasiswa page's <link> when this changes. */

/* hero */
.bea-hero { background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%); color:#fff; padding:44px 20px 34px; text-align:center; }
.bea-hero h1 { font-size: clamp(1.6rem,4vw,2.3rem); font-weight:800; color:#fff; margin-bottom:10px; line-height:1.18; }
.bea-hero p { color: rgba(255,255,255,.9); font-size:1rem; max-width:640px; margin:0 auto; }
.bea-hero .breadcrumb { color: rgba(255,255,255,.75); margin-bottom:14px; font-size:.85rem; }
.bea-hero .breadcrumb a { color: rgba(255,255,255,.9); }

/* language toggle (shared look with pp pages) */
.pp-lang-toggle { display:flex; gap:.5rem; margin:1.5rem 0; flex-wrap:wrap; }
.pp-lang-btn { padding:.4rem 1.1rem; border-radius:999px; border:2px solid var(--green); background:transparent; color:var(--green); font-size:.85rem; font-weight:600; cursor:pointer; font-family:inherit; }
.pp-lang-btn.active { background:var(--green); color:#fff; }

/* filters */
.bea-bar { display:flex; gap:8px; flex-wrap:wrap; margin:1.25rem 0 .5rem; }
.bea-bar input, .bea-bar select { font:inherit; font-size:.9rem; padding:10px 13px; border:1.5px solid var(--gray-200); border-radius:10px; background:var(--white); color:var(--gray-900); }
.bea-bar input { flex:1; min-width:180px; }
.bea-bar input:focus, .bea-bar select:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(22,163,74,.1); }
.bea-count { font-size:.82rem; color:var(--gray-500); margin:.25rem 0 1rem; }

/* card grid */
.bea-grid { display:grid; gap:13px; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }
.bea-card { background:var(--white); border:1.5px solid var(--gray-200); border-radius:14px; padding:16px 17px; text-decoration:none; color:var(--gray-800); display:block; transition:border-color .15s; }
.bea-card:hover { border-color:var(--green); }

/* destination flag banner (bleeds to card edges) */
.bea-flag { margin:-16px -17px 13px; height:92px; overflow:hidden; border-radius:12px 12px 0 0; background:var(--gray-100); }
.bea-flag img { width:100%; height:100%; object-fit:cover; display:block; }
.bea-slide .bea-flag { margin:-20px -20px 14px; height:112px; border-radius:14px 14px 0 0; }
.bea-tag { display:inline-block; font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border-radius:99px; background:var(--green); color:#fff; margin-bottom:9px; }
.bea-tag.m { background:var(--green-dark); }
.bea-tag.x { background:var(--gray-500); }
.bea-card-name { font-size:1rem; font-weight:800; margin:0 0 3px; color:var(--gray-900); }
.bea-card-full { font-size:.8rem; color:var(--gray-500); line-height:1.4; }
.bea-meta { font-size:.78rem; color:var(--gray-600); margin-top:8px; }
.bea-win { font-size:.82rem; color:var(--green-dark); font-weight:600; margin-top:8px; }
[data-theme="dark"] .bea-win { color:var(--green-light); }
.bea-empty { color:var(--gray-500); font-size:.9rem; padding:1.5rem 0; }

/* countdown / status badge */
/* status chip (dot + label) + a separate info line */
.bea-cd-wrap { margin-top:10px; display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.bea-status { display:inline-flex; align-items:center; gap:7px; font-size:.72rem; font-weight:800; letter-spacing:.02em; padding:4px 11px; border-radius:99px; }
.bea-dot { width:8px; height:8px; border-radius:50%; position:relative; flex:none; }
.bea-status-info { font-size:.74rem; font-weight:600; color:var(--gray-500); }

.bea-status.open { background:var(--green-pale); color:var(--green-dark); }
.bea-status.open .bea-dot { background:var(--green); }
.bea-status.open .bea-dot::after { content:''; position:absolute; inset:0; border-radius:50%; background:var(--green); animation:bea-ping 1.6s ease-out infinite; }
[data-theme="dark"] .bea-status.open { background:rgba(22,163,74,.22); color:var(--green-light); }

.bea-status.closed { background:rgba(220,38,38,.12); color:#dc2626; }
.bea-status.closed .bea-dot { background:#dc2626; }
[data-theme="dark"] .bea-status.closed { background:rgba(248,113,113,.18); color:#f87171; }
[data-theme="dark"] .bea-status.closed .bea-dot { background:#f87171; }

.bea-status.upcoming { background:rgba(245,158,11,.15); color:#b45309; }
.bea-status.upcoming .bea-dot { background:#f59e0b; }
[data-theme="dark"] .bea-status.upcoming { background:rgba(245,158,11,.2); color:#fbbf24; }
[data-theme="dark"] .bea-status.upcoming .bea-dot { background:#fbbf24; }

.bea-status.varies { background:var(--gray-100); color:var(--gray-600); }
.bea-status.varies .bea-dot { background:var(--gray-400); }

@keyframes bea-ping { 0% { transform:scale(1); opacity:.55; } 100% { transform:scale(2.6); opacity:0; } }
@media (prefers-reduced-motion: reduce) { .bea-status.open .bea-dot::after { animation:none; } }

/* warning + verified note */
.bea-warn { font-size:.85rem; color:var(--gray-600); border-left:3px solid var(--green); background:var(--gray-50); padding:.75rem 1rem; border-radius:0 8px 8px 0; margin:1.75rem 0; }
.bea-warn.stale { border-left-color:var(--red); }
.bea-verified { font-size:.8rem; color:var(--gray-500); margin-top:1rem; }

/* date-provenance pills (Perkiraan / Resmi) + legend */
.bea-prov { display:inline-block; font-size:.6rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:1px 6px; border-radius:5px; vertical-align:middle; margin-left:5px; white-space:nowrap; }
.bea-prov.est { background:var(--gray-100); color:var(--gray-500); }
.bea-prov.official { background:var(--green-pale); color:var(--green-dark); }
[data-theme="dark"] .bea-prov.official { background:rgba(22,163,74,.22); color:var(--green-light); }
.bea-legend { display:flex; gap:16px; flex-wrap:wrap; align-items:center; font-size:.78rem; color:var(--gray-500); margin:1rem 0 1.5rem; }
.bea-legend .bea-prov { margin-left:0; margin-right:5px; }

/* in-page section headings + anchor offset for the sticky header */
.bea-section-title { font-size:1.2rem; font-weight:800; color:var(--gray-900); margin:2.25rem 0 .6rem; }
.bea-section-sub { font-size:.9rem; color:var(--gray-500); margin:0 0 1rem; }
#populer, #semua, #panduan, #konsultasi { scroll-margin-top:76px; }

/* guide grid (Panduan) */
.bea-guide-grid { display:grid; gap:12px; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
.bea-guide { background:var(--white); border:1.5px solid var(--gray-200); border-radius:14px; padding:16px 18px; text-decoration:none; display:flex; flex-direction:column; transition:border-color .15s, transform .15s; }
.bea-guide:hover { border-color:var(--green); transform:translateY(-2px); }
.bea-guide, .bea-guide:hover, .bea-guide * { text-decoration:none; }
.bea-guide h3 { font-size:1.05rem; font-weight:800; color:var(--gray-900); margin:0 0 5px; }
.bea-guide p { font-size:.83rem; color:var(--gray-600); line-height:1.5; margin:0 0 12px; flex:1; }
.bea-guide-link { font-size:.85rem; font-weight:700; color:var(--green-dark); }
[data-theme="dark"] .bea-guide-link { color:var(--green-light); }

/* catchy Konsultasi nav pill (beasiswa header) */
.bea-nav-cta { background:#dc2626; color:#fff !important; padding:4px 12px; border-radius:999px; font-weight:700; }
.bea-nav-cta:hover { background:#b91c1c; }

/* article prose lists on detail pages */
.bea-prose ul, .bea-prose ol { margin:.25rem 0 1rem; padding-left:1.35rem; }
.bea-prose li { font-size:.95rem; line-height:1.65; color:var(--gray-800); margin:0 0 .35rem; }
.bea-prose strong { color:var(--gray-900); }

/* hover = highlight the card box only, never underline the text lines */
.bea-card, .bea-card:hover, .bea-slide, .bea-slide:hover,
.bea-card *, .bea-slide * { text-decoration:none; }

/* shared CTA */
.bea-cta { background:var(--green); border-radius:16px; padding:24px; margin:2.25rem 0; }
.bea-cta h3 { color:#fff; font-size:1.25rem; font-weight:800; margin:0 0 8px; }
.bea-cta p { color:rgba(255,255,255,.92); font-size:.92rem; line-height:1.6; margin:0 0 15px; max-width:60ch; }
.bea-cta-btn { display:inline-block; background:#fff; color:var(--green-dark); padding:11px 20px; border-radius:10px; font-weight:700; text-decoration:none; font-size:.92rem; }
.bea-cta-btn:hover { opacity:.92; }
.bea-cta-price { color:rgba(255,255,255,.85); font-size:.8rem; margin-top:12px; }

/* ── featured slider (landing) ── */
.bea-featured { margin: 1.5rem 0 .5rem; }
.bea-featured-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:.75rem; }
.bea-featured-title { font-size:1.15rem; font-weight:800; color:var(--gray-900); margin:0; }
.bea-slider-nav { display:flex; gap:.4rem; }
.bea-arrow { width:34px; height:34px; border-radius:99px; border:1.5px solid var(--gray-200); background:var(--white); color:var(--gray-800); font-size:1.1rem; line-height:1; cursor:pointer; display:grid; place-items:center; font-family:inherit; }
.bea-arrow:hover { border-color:var(--green); color:var(--green); }

/* full-width single-card carousel (one major at a time) */
.bea-slider { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; border-radius:16px; }
.bea-slider::-webkit-scrollbar { display:none; }
.bea-slide { scroll-snap-align:start; flex:0 0 100%; width:100%; min-width:100%; background:var(--white); border:1.5px solid var(--gray-200); border-radius:16px; text-decoration:none; color:var(--gray-800); display:flex; align-items:stretch; overflow:hidden; box-shadow:var(--shadow-sm); }
.bea-slide:hover { border-color:var(--green); }
.bea-slide-flag { flex:0 0 40%; max-width:40%; overflow:hidden; background:var(--gray-100); }
.bea-slide-flag img { width:100%; height:100%; min-height:210px; object-fit:cover; display:block; }
.bea-slide-body { flex:1; min-width:0; padding:22px 26px; display:flex; flex-direction:column; }
.bea-slide-body .bea-tag { align-self:flex-start; }
.bea-slide-name { font-size:1.4rem; font-weight:800; color:var(--gray-900); margin:0 0 3px; }
.bea-slide-full { font-size:.9rem; color:var(--gray-500); line-height:1.4; }
.bea-slide .bea-meta { margin-top:12px; font-size:.85rem; }
.bea-slide .bea-win { font-size:.88rem; }
.bea-slide-link { margin-top:14px; font-size:.9rem; font-weight:700; color:var(--green-dark); }
[data-theme="dark"] .bea-slide-link { color:var(--green-light); }
@media (max-width:640px) {
  .bea-slide { flex-direction:column; }
  .bea-slide-flag { flex-basis:auto; max-width:none; height:130px; }
  .bea-slide-flag img { min-height:0; height:130px; }
  .bea-slide-body { padding:18px 20px; }
  .bea-slide-name { font-size:1.2rem; }
}

/* ── owner / CTA block (landing + detail) ── */
.bea-owner { background:var(--green); border-radius:16px; padding:24px; margin:2.25rem 0; display:flex; gap:20px; align-items:flex-start; }
.bea-owner-avatar { flex:0 0 84px; width:84px; height:84px; border-radius:99px; background:var(--green-dark); display:grid; place-items:center; overflow:hidden; background-size:cover; background-position:center; }
.bea-owner-avatar::before { content:'S'; color:#fff; font-size:2rem; font-weight:800; }
.bea-owner-avatar.has-photo::before { content:''; }
.bea-owner-body { flex:1; min-width:0; }
.bea-owner-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.8); margin-bottom:2px; }
.bea-owner-name { color:#fff; font-size:1.35rem; font-weight:800; margin:0 0 8px; }
.bea-owner-bio { color:rgba(255,255,255,.92); font-size:.92rem; line-height:1.6; margin:0 0 16px; max-width:60ch; }
.bea-owner-btn { display:inline-block; background:#fff; color:var(--green-dark); padding:11px 20px; border-radius:10px; font-weight:700; text-decoration:none; font-size:.92rem; }
.bea-owner-btn:hover { opacity:.92; }
@media (max-width:480px) { .bea-owner { flex-direction:column; align-items:center; text-align:center; gap:14px; } .bea-owner-bio { text-align:left; } }

/* ── detail page ── */
.bea-detail-head { margin:0 0 .5rem; }
.bea-detail-head h1 { font-size:clamp(1.5rem,4vw,2.1rem); font-weight:800; color:var(--gray-900); margin:0 0 4px; line-height:1.2; }
.bea-detail-head .sub { color:var(--gray-500); font-size:.95rem; }
.bea-deadline-hero { display:flex; flex-direction:column; align-items:flex-start; gap:7px; margin:.9rem 0 1.25rem; }
.bea-deadline-hero .bea-status { font-size:.85rem; padding:5px 14px; }
.bea-deadline-hero .bea-status-info { font-size:.85rem; }

.bea-detail-card { background:var(--white); border:1px solid var(--gray-200); border-radius:14px; padding:1.4rem 1.5rem; margin:1rem 0 1.5rem; }
.bea-dl { display:grid; grid-template-columns:160px 1fr; gap:.6rem 1.2rem; font-size:.92rem; }
.bea-dl dt { color:var(--gray-500); }
.bea-dl dd { color:var(--gray-900); margin:0; }
.bea-dl a { color:var(--green); text-decoration:underline; word-break:break-word; }
@media (max-width:480px) { .bea-dl { grid-template-columns:1fr; gap:.15rem; } .bea-dl dd { margin-bottom:.5rem; } }

.bea-prose h2 { font-size:1.15rem; font-weight:800; color:var(--gray-900); margin:1.75rem 0 .6rem; }
.bea-prose p { font-size:.95rem; line-height:1.7; color:var(--gray-800); margin:0 0 .75rem; }
.bea-source { font-size:.8rem; color:var(--gray-500); margin-top:.5rem; }
.bea-source a { color:var(--green); }

/* roundup table */
.bea-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--gray-200); border-radius:14px; margin:1rem 0 1.5rem; }
.bea-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.bea-table th, .bea-table td { text-align:left; padding:11px 13px; border-bottom:1px solid var(--gray-200); white-space:nowrap; }
.bea-table th { font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--gray-500); background:var(--gray-50); }
.bea-table tr:last-child td { border-bottom:0; }
.bea-table a { color:var(--green); }
