:root{
  --forest:#1F4D2C;
  --forest-dark:#153420;
  --gold:#D4A62A;
  --gold-soft:#EBCB74;
  --cream:#F7F3E8;
  --teal:#1B4B4A;
  --brown:#6B4423;
  --text-dark:#24301F;
  --radius:18px;
}

/* GLOBAL MOBILE PRECISION & OVERFLOW PREVENTION */
*, *::before, *::after {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

html, body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  position: relative;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: var(--text-dark);
  background: var(--cream);
  max-width: 100vw;
}

.section, header, footer, main, section, .hero {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

nav, .navbar, .navbar-village {
  overflow: visible !important;
}

.container-fluid {
  max-width: 100% !important;
  box-sizing: border-box;
}

img, svg, iframe, video {
  max-width: 100% !important;
}

h1,h2,h3,h4,.font-display{
  font-family:'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.eyebrow{
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--gold);
}
.eyebrow.dark{color:var(--forest);}
.section-title{
  font-weight:600;
  color:var(--forest-dark);
}
.btn-village{
  background:var(--gold);
  color:var(--forest-dark) !important;
  border:none;
  font-weight:700;
  padding:.55rem 1.6rem;
  border-radius:50px;
  transition:.25s ease;
  position:relative;
  overflow:hidden;
  white-space: normal;
  box-shadow:0 4px 14px rgba(212,166,42,0.35);
  text-decoration:none;
}

.icon-black {
  color: #000 !important;
}
.btn-village:hover{
  background:var(--gold-soft);
  color:var(--forest-dark) !important;
  transform:translateY(-2px);
}
.btn-outline-village{
  border:2px solid var(--cream);
  color:var(--cream);
  font-weight:700;
  padding:.65rem 1.7rem;
  border-radius:50px;
  transition:.25s ease;
  background:transparent;
  white-space: normal;
}
.btn-outline-village:hover{
  background:var(--cream);
  color:var(--forest-dark);
}

/* NAVBAR & ACCORDION DROPDOWN */
.navbar-village{
  background:transparent;
  transition: background-color 0.35s ease, box-shadow 0.35s ease, backdrop-filter 0.35s ease;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  overflow: visible !important;
}
.navbar-village.scrolled{
  background:rgba(31,77,44,.97);
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  box-shadow:0 6px 24px rgba(0,0,0,.15);
  backdrop-filter: blur(10px);
}
.navbar-village .navbar-brand{
  font-family:'Fraunces', serif;
  font-weight:700;
  color:#fff;
  font-size:1.35rem;
  letter-spacing:-0.01em;
  text-decoration:none;
}

/* NAVBAR TOGGLER ICON SWAP (HAMBURGER TO X) */
.navbar-toggler .icon-hamburger {
  display: inline-block;
}
.navbar-toggler .icon-close {
  display: none;
}
.navbar-toggler:not(.collapsed) .icon-hamburger {
  display: none !important;
}
.navbar-toggler:not(.collapsed) .icon-close {
  display: inline-block !important;
}
.navbar-village .nav-link,
.navbar-village .dropdown-toggle-custom{
  color:rgba(255,255,255,.88) !important;
  font-weight:600;
  font-size:.95rem;
  padding:.55rem .9rem !important;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-decoration:none;
  transition:all 0.2s ease;
  border-left:3px solid transparent;
}
.navbar-village .nav-link:hover,
.navbar-village .dropdown-toggle-custom:hover{
  color:var(--gold-soft) !important;
  background:rgba(255,255,255,0.08);
}
.navbar-village .nav-link.active,
.navbar-village .dropdown-toggle-custom.active{
  color:var(--gold-soft) !important;
  background:rgba(255,255,255,0.12);
  border-left-color:var(--gold);
}

/* ACCORDION DROPDOWN SYSTEM */
.dropdown-accordion{
  position:relative;
}
.dropdown-toggle-custom .arrow-icon{
  font-size:.8rem;
  transition:transform 0.3s ease;
  margin-left:.5rem;
}
.dropdown-accordion.open .dropdown-toggle-custom .arrow-icon{
  transform:rotate(180deg);
}
.dropdown-submenu{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height 0.35s ease, opacity 0.3s ease, padding 0.3s ease;
  padding-left:1.2rem;
  display:flex;
  flex-direction:column;
  gap:.2rem;
}
.dropdown-accordion.open .dropdown-submenu{
  max-height:200px;
  opacity:1;
  padding-top:.3rem;
  padding-bottom:.4rem;
}
.dropdown-subitem{
  color:rgba(255,255,255,.9) !important;
  font-size:.92rem;
  font-weight:600;
  padding:.6rem .9rem;
  border-radius:8px;
  text-decoration:none !important;
  transition:all 0.2s ease;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  display:block;
}
.dropdown-subitem:hover,
.dropdown-subitem.active{
  color:var(--gold-soft) !important;
  background:rgba(255,255,255,0.16);
  border-color:var(--gold);
  text-decoration:none !important;
}

/* DESKTOP FLOATING DROPDOWN SPECIFIC */
@media (min-width: 992px) {
  .navbar-village .navbar-collapse {
    overflow: visible !important;
  }
  .dropdown-accordion {
    position: relative;
  }
  .dropdown-accordion:hover .dropdown-submenu,
  .dropdown-accordion.open .dropdown-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  .dropdown-accordion:hover .dropdown-toggle-custom .arrow-icon,
  .dropdown-accordion.open .dropdown-toggle-custom .arrow-icon {
    transform: rotate(180deg);
  }
  .dropdown-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 175px;
    background: rgba(21, 52, 32, 0.98);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 12px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.3);
    padding: 0.6rem;
    margin-top: 0.4rem;
    z-index: 1050;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
    max-height: none !important;
    overflow: visible !important;
  }
  .dropdown-submenu::before {
    content: '';
    position: absolute;
    top: -12px;
    left: 0;
    width: 100%;
    height: 12px;
  }
  .dropdown-subitem {
    white-space: nowrap;
    text-decoration: none !important;
  }
  .dropdown-subitem:hover,
  .dropdown-subitem.active {
    background: rgba(255, 255, 255, 0.16);
    color: var(--gold-soft) !important;
    border-color: var(--gold);
    transform: translateX(4px);
    text-decoration: none !important;
  }
}

/* HERO / SLIDER */
.hero{position:relative;height:100vh;min-height:640px;overflow:hidden;}
.hero .carousel,.hero .carousel-inner,.hero .carousel-item{height:100vh;min-height:640px;}
.hero .carousel-item{
  background-size:cover;background-position:center;
}
.hero .slide-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(21,52,32,.55) 0%, rgba(21,52,32,.72) 55%, rgba(21,52,32,.92) 100%);
}
.hero .carousel-caption-custom{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:center;
  color:#fff;
  z-index:3;
}
.hero-title{
  font-size:clamp(2rem, 5vw, 4.2rem);
  font-weight:700;
  line-height:1.2;
  max-width:860px;
  margin-left:0;
  margin-right:auto;
  text-align:left;
  word-wrap:break-word;
  overflow-wrap:break-word;
}
.hero-sub{
  max-width:640px;
  font-size:1.05rem;
  color:rgba(255,255,255,.88);
  text-align:left;
  margin-left:0;
  margin-right:auto;
}
.hero-stats{
  display:flex;gap:2.2rem;flex-wrap:wrap;
}
.hero-stats .num{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:600;color:var(--gold-soft);}
.hero-stats .lab{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75);}
.hero .carousel-indicators{bottom:5.2rem;z-index:4;}
.hero .carousel-indicators [data-bs-target]{
  width:34px;height:4px;border-radius:2px;background:rgba(255,255,255,.4);opacity:1;
}
.hero .carousel-indicators .active{background:var(--gold);}
.scroll-cue{
  position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);
  z-index:5;color:#fff;text-decoration:none;
  display:flex;flex-direction:column;align-items:center;gap:.25rem;
  transition:opacity .3s;
}
.scroll-cue-text{
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--gold-soft);
  text-shadow:0 2px 4px rgba(0,0,0,.8);
  white-space:nowrap;
}
.scroll-cue i{
  font-size:1.3rem;
  animation:bob 2s infinite ease-in-out;
}
@keyframes bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}

/* WAVE DIVIDER */
.wave-divider{display:block;width:100%;line-height:0;overflow:hidden;}
.wave-divider svg{width:100%;height:70px;display:block;}

/* SECTION */
.section{padding:6rem 0;overflow-x:hidden;}
.section-alt{background:#fff;overflow-x:hidden;}
.divider-mark{
  width:56px;height:4px;border-radius:2px;background:var(--gold);margin-bottom:1.1rem;
}

/* VISI MISI */
.visi-card{
  background:var(--forest-dark);
  color:#fff;
  border-radius:var(--radius);
  padding:2.6rem;
  height:100%;
  position:relative;
  overflow:hidden;
}
.visi-card::after{
  content: none !important;
  display: none !important;
  background: none !important;
}
.misi-item{
  display:flex;gap:1rem;align-items:flex-start;
  padding:1.1rem 0;border-bottom:1px solid rgba(31,77,44,.12);
}
.misi-item:last-child{border-bottom:none;}
.misi-num{
  font-family:'Fraunces',serif;font-weight:600;color:var(--gold);
  font-size:1.05rem;min-width:2.2rem;
}

/* SEJARAH */
.sejarah-card{
  border: 1px solid rgba(31, 77, 44, 0.1) !important;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(31, 77, 44, 0.05);
}
.sejarah-content p {
  line-height: 1.7;
  color: #334155;
  margin-bottom: 1.1rem;
  font-size: 1rem;
  text-align: justify;
  text-align-last: left;
  word-spacing: normal;
  letter-spacing: normal;
}
.sejarah-content p:last-child {
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .sejarah-content p {
    text-align: left !important;
    line-height: 1.65;
    margin-bottom: 1rem;
  }
}
.sejarah-content .lead-text {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--forest-dark);
}

/* SEJARAH TIMELINE */
.timeline{position:relative;padding-left:2rem;overflow:hidden;}
.timeline::before{
  content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;
  background:repeating-linear-gradient(to bottom, var(--gold) 0 6px, transparent 6px 12px);
}
.timeline-item{position:relative;padding-bottom:2.2rem;}
.timeline-item::before{
  content:"";position:absolute;left:-2rem;top:2px;width:16px;height:16px;border-radius:50%;
  background:var(--cream);border:3px solid var(--gold);
}
.timeline-year{font-family:'Fraunces',serif;color:var(--forest);font-weight:700;font-size:1.15rem;}

/* STRUKTURAL & PERANGKAT DESA PREMIUM ROYAL CARDS (MIDNIGHT NAVY & GOLD EDITION) */
.org-card{
  background:linear-gradient(170deg, #0d1e38 0%, #061020 100%);
  color:#fff;
  border-radius:20px;
  text-align:center;
  padding:1.35rem 1.15rem 1.6rem;
  border:2px solid var(--gold);
  box-shadow:0 12px 32px rgba(6,16,32,.35);
  height:100%;
  transition:all .3s cubic-bezier(0.25, 0.8, 0.25, 1);
  position:relative;
  overflow:hidden;
}
.org-card:hover{
  transform:translateY(-8px);
  border-color:#f7e199;
  box-shadow:0 20px 45px rgba(6,16,32,.5), 0 0 25px rgba(212,166,42,.3);
}
.org-card h3,
.org-card h4,
.org-card h5,
.org-card h6{
  color:#ffffff !important;
  font-weight:700;
  letter-spacing:-0.01em;
  margin-top:4px;
}

/* FOTO FRAME MEWAH SPOTLIGHT BIRU PASFOTO RESMI (ROYAL STUDIO BLUE) */
.org-photo{
  width:100%;
  aspect-ratio:4/5;
  border-radius:16px;
  margin:0 auto 1.15rem;
  background:radial-gradient(ellipse at 50% 35%, #2563eb 0%, #1d4ed8 40%, #0e2b66 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold-soft);
  font-size:2.5rem;
  border:2.5px solid var(--gold);
  box-shadow:0 8px 20px rgba(0,0,0,0.25);
  position:relative;
  overflow:hidden;
  transition:all .3s ease;
}
.org-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  position:absolute;
  top:0;
  left:0;
  transition:transform .4s ease;
}
.org-card:hover .org-photo img{
  transform:scale(1.04);
}

/* ROLE BADGE PILLS - GOLD ACCENTS */
.org-role-badge{
  display:inline-block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:4px 12px;
  border-radius:50px;
  line-height:1.2;
  background:rgba(212,166,42,0.18);
  border:1px solid rgba(212,166,42,0.55);
  color:#F8DC81;
}

/* LEAD CARD - KEPALA DESA (EXTRA PROMINENT) */
.org-card.lead-card{
  padding:1.6rem 1.4rem 1.8rem;
  border-radius:22px;
  box-shadow:0 16px 42px rgba(10,30,16,.4);
}
.org-card.lead-card h3,
.org-card.lead-card h4{
  font-size:1.35rem;
  font-weight:800;
}

/* ORGANIGRAM TREE CHART STYLING PRESISI */
.organigram-container {
  width: 100%;
  overflow-x: auto;
  padding: 1rem 0;
  -webkit-overflow-scrolling: touch;
}
.organigram-tree {
  min-width: 1080px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  margin: 0 auto;
  padding: 1.5rem 1rem;
}

.org-node-card {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 2px solid #0f172a;
  border-radius: 6px;
  padding: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  width: 235px;
  height: 96px;
  position: relative;
  z-index: 5;
  box-sizing: border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.org-node-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.org-node-photo {
  width: 68px;
  height: 82px;
  border-radius: 3px;
  overflow: hidden;
  background: #22c55e;
  border: 1.5px solid #0f172a;
  flex-shrink: 0;
  position: relative;
}
.org-node-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.org-node-text {
  flex: 1;
  min-width: 0;
  padding-left: 8px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.org-node-jabatan {
  font-size: 0.70rem;
  font-weight: 800;
  color: #0f172a;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 1.25;
  margin-bottom: 4px;
  padding-bottom: 4px;
  border-bottom: 1.5px solid #0f172a;
  word-wrap: break-word;
}
.org-node-nama {
  font-size: 0.72rem;
  font-weight: 800;
  color: #0f172a;
  text-transform: uppercase;
  line-height: 1.2;
  word-wrap: break-word;
}

/* TREE CONNECTOR LINES PRESISI */
.tree-line-v {
  width: 2.5px;
  background: #0f172a;
  margin: 0 auto;
}
.tree-line-h {
  height: 2.5px;
  background: #0f172a;
}

/* FASILITAS */
.fasilitas-card{
  border-radius:var(--radius);overflow:hidden;position:relative;height:280px;
  background-size:cover;background-position:center;
}
.fasilitas-card::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(21,52,32,.88) 100%);
}
.fasilitas-body{
  position:absolute;left:0;right:0;bottom:0;padding:1.4rem;color:#fff;z-index:2;
  background: linear-gradient(180deg, transparent 0%, rgba(15, 38, 23, 0.92) 100%);
}

.btn-fasilitas-toggle {
  background: rgba(212, 166, 42, 0.22);
  border: 1px solid rgba(212, 166, 42, 0.55);
  color: #fce8a6;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.32rem 0.85rem;
  border-radius: 50px;
  backdrop-filter: blur(4px);
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  margin-top: 0.3rem;
}

.btn-fasilitas-toggle:hover {
  background: var(--gold);
  color: var(--forest-dark);
  border-color: var(--gold);
  box-shadow: 0 4px 12px rgba(212, 166, 42, 0.35);
}
.fasilitas-icon{
  width:44px;height:44px;border-radius:12px;background:var(--gold);
  display:flex;align-items:center;justify-content:center;color:var(--forest-dark);font-size:1.15rem;margin-bottom:.7rem;
}

/* PRESTASI */
.prestasi-card{
  background:#ffffff;
  border-radius:var(--radius);
  padding:1.4rem 1.5rem;
  height:100%;
  border:1px solid rgba(31,77,44,.12);
  box-shadow:0 4px 16px rgba(31,77,44,.05);
  transition:.25s ease;
}
.prestasi-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(31,77,44,.12);
}
.medal-badge{
  position:relative;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.6rem;
  line-height:1;
}
.medal-gold{
  color:#D4A62A;
  filter:drop-shadow(0 3px 6px rgba(212,166,42,.35));
}
.medal-silver{
  color:#94A3B8;
  filter:drop-shadow(0 3px 6px rgba(148,163,184,.35));
}
.medal-bronze{
  color:#D97706;
  filter:drop-shadow(0 3px 6px rgba(217,119,6,.35));
}
.medal-num{
  position:absolute;
  top:38%;
  left:50%;
  transform:translate(-50%, -50%);
  font-size:.88rem;
  font-weight:800;
  color:#153420;
  font-family:'Plus Jakarta Sans', sans-serif;
  line-height:1;
}
.prestasi-year{
  display:inline-block;
  background:var(--forest-dark);
  color:var(--gold-soft);
  font-weight:700;
  font-size:.76rem;
  padding:.3rem .85rem;
  border-radius:50px;
  letter-spacing:.02em;
}
.prestasi-title{
  font-family:'Plus Jakarta Sans', sans-serif;
  font-size:1.05rem;
  font-weight:700;
  color:var(--forest-dark);
  margin-bottom:.3rem;
}
.prestasi-sub{
  font-size:.88rem;
  color:#6c757d;
}

/* UMKM */
.section-umkm{
  background:var(--forest-dark);
  color:#fff;
  position:relative;
  overflow-x:hidden;
}
.umkm-card{
  background:#fff;border-radius:var(--radius);overflow:hidden;color:var(--text-dark);height:100%;
  transition:.25s ease;
}
.umkm-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(0,0,0,.28);}
.umkm-img{height:190px;background-size:cover;background-position:center;position:relative;}
.badge-laris{
  position:absolute;top:.8rem;left:.8rem;background:var(--gold);color:var(--forest-dark);
  font-weight:700;font-size:.7rem;padding:.35rem .7rem;border-radius:50px;letter-spacing:.03em;
}
.umkm-body{padding:1.2rem 1.3rem 1.4rem;}
.umkm-price{color:var(--forest);font-weight:800;font-family:'Fraunces',serif;font-size:1.15rem;}
.rating i{color:var(--gold);font-size:.85rem;}

/* KONTAK */
.contact-info-item{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.4rem;}
.contact-icon{
  width:46px;height:46px;border-radius:12px;background:var(--forest);color:var(--gold-soft);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem;
}
.form-control-village{
  border:1px solid rgba(31,77,44,.2);border-radius:12px;padding:.75rem 1rem;background:#fff;
}
.form-control-village:focus{
  border-color:var(--forest);box-shadow:0 0 0 .2rem rgba(31,77,44,.12);
}
.map-frame{border-radius:var(--radius);overflow:hidden;height:100%;min-height:340px;border:0;width:100%;}

/* FOOTER */
footer.site-footer{
  background:var(--forest-dark);color:rgba(255,255,255,.8);padding:4rem 0 0;overflow-x:hidden;
}
.footer-brand{
  font-family:'Plus Jakarta Sans', sans-serif;color:#fff;font-weight:700;font-size:1.35rem;
}
.footer-links li{margin-bottom:.55rem;}
.footer-links a{color:rgba(255,255,255,.72);text-decoration:none;font-size:.93rem;}
.footer-links a:hover{color:var(--gold-soft);}
.social-circle{
  width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;color:#fff;transition:.2s;
}
.social-circle:hover{background:var(--gold);color:var(--forest-dark);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);margin-top:3rem;padding:1.4rem 0;font-size:.85rem;
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.footer-bottom span {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

/* FOOTER BOTTOM */

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal.active{opacity:1;transform:translateY(0);}

/* MEDIA QUERIES FOR MOBILE PRECISION */
@media (max-width:991.98px){
  .navbar-village{background:rgba(31,77,44,.97);}
  .hero-stats{gap:1.4rem;}
  .section{padding:4rem 0;}
}

@media (max-width:575.98px){
  .hero-title{
    font-size: 2.1rem;
  }
  .hero-sub{
    font-size: 0.95rem;
  }
  .btn-village, .btn-outline-village{
    padding: .6rem 1.3rem;
    font-size: .88rem;
    width: 100%;
    text-align: center;
  }
  .visi-card{
    padding: 1.6rem 1.4rem;
  }
  .org-card{
    padding: 0.95rem 0.65rem 1.25rem;
  }
  .org-photo{
    width: 100%;
    aspect-ratio: 4/5;
    border-radius: 12px;
  }
  .org-role{
    font-size: .7rem;
  }
  .org-card h3{
    font-size: .85rem;
  }
  .timeline{
    padding-left: 1.6rem;
  }
  .timeline-item::before{
    left: -1.6rem;
    width: 14px;
    height: 14px;
  }
  .wave-divider svg{
    height: 40px;
  }
  .map-frame{
    min-height: 260px;
  }
}

/* PAGINATION VILLAGE */
.pagination-village .page-item .page-link {
  color: var(--forest-dark);
  border: 1px solid rgba(31, 77, 44, 0.18);
  background: #ffffff;
  font-weight: 600;
  padding: 0.55rem 0.95rem;
  border-radius: 8px;
  margin: 0 3px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.03);
}

.pagination-village .page-item.active .page-link {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--forest-dark) !important;
  box-shadow: 0 4px 12px rgba(212, 166, 42, 0.35);
}

.pagination-village .page-item.disabled .page-link {
  color: rgba(30, 41, 59, 0.35);
  background: rgba(241, 245, 249, 0.6);
  border-color: rgba(31, 77, 44, 0.08);
}

.pagination-village .page-item .page-link:hover:not(.active) {
  background: rgba(31, 77, 44, 0.08);
  color: var(--forest-dark);
}

/* ICON ONLY CIRCULAR BUTTON (PRESTASI TOGGLE) */
#btnTogglePrestasi.btn-icon-only {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 18px rgba(212, 166, 42, 0.4) !important;
  transition: all 0.25s ease;
  line-height: 1 !important;
}

#btnTogglePrestasi.btn-icon-only #iconTogglePrestasi {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.25rem !important;
  transform: translateY(-1.5px) !important;
}

#btnTogglePrestasi.btn-icon-only:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 22px rgba(212, 166, 42, 0.55) !important;
}
