/* =================================
              PROFILE
================================= */
.profile {
  max-width: 1200px;
  margin: 20px auto 30px auto;
  padding: 0px 8%;
  width: 100%;
  box-sizing: border-box;
}

/* Responsive profile untuk layar besar */
@media (min-width: 1400px) {
  .profile {
    max-width: 1300px;
  }
}

@media (min-width: 1600px) {
  .profile {
    max-width: 1500px;
  }
}

@media (min-width: 1920px) {
  .profile {
    max-width: 1700px;
  }
}

.profile h1 {
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  color: #003366;
  margin-bottom: 20px;
  padding: 10px 0px;
  text-align: center;
}

.profile-card {
  max-width: 1100px;
  margin: 0px auto;
  padding: 20px 15px 20px 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.profile-photo {
  flex: 1;
  display: flex;
  justify-content: center;
}

.profile-photo img {
  width: clamp(180px, 12vw, 220px);
  height: clamp(180px, 12vw, 220px);
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid #007bff;
}

.profile-details {
  flex: 2;
}

.profile-name {
  font-size: clamp(1.3rem, 2vw, 2rem);
  font-weight: 700;
  color: #222;
  margin: 10px 0;
}

.profile-title {
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 500;
  color: #555;
  margin-bottom: 12px;
}

.separator-line {
  width: 60px;
  height: 2px;
  background: #007bff;
  margin-bottom: 15px;
}

.profile-description {
  font-size: clamp(0.8rem, 1.2vw, 1.1rem);
  color: #666;
  text-align: justify;
}

/* Responsif */
@media (max-width: 992px) {
  .profile {
    padding: 0px 4%;
    width: 100%;
    box-sizing: border-box;
  }

  .profile-card {
    flex-direction: column;
    text-align: center;
  }
  .profile-photo img {
    width: 200px;
    height: 200px;
  }
  .profile-name {
    font-size: 24px;
  }
  .profile-description {
    font-size: 15px;
  }
  .separator-line {
    margin: 0 auto 15px auto;
  }
}

@media (max-width: 600px) {
  html, body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
  }

  .profile {
    padding: 0px 4%;
  }

  .profile-card {
    padding: 40px 4%;
    width: 100%;
    box-sizing: border-box;
  }
  .profile-photo img {
    width: 160px;
    height: 160px;
  }
  .profile-name {
    font-size: 20px;
  }
  .profile-title {
    font-size: 16px;
  }
  .profile-description {
    font-size: 14px;
  }
}

/* =================================
              PROFILE
================================= */
.platform-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 8% 10px 8%;
  width: 100%;
  box-sizing: border-box;
}

/* Responsive platform-section untuk layar besar */
@media (min-width: 1400px) {
  .platform-section {
    max-width: 1300px;
  }
}

@media (min-width: 1600px) {
  .platform-section {
    max-width: 1500px;
  }
}

@media (min-width: 1920px) {
  .platform-section {
    max-width: 1700px;
  }
}

.platform-section h1 {
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  color: #003366;
  margin-bottom: 20px;
  padding: 5px 0px;
  text-align: center;
}

.platform-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* lebih kecil */
  gap: 10px; /* jarak antar item lebih rapat */
  margin: 0 auto;
}

.platform-item {
  background: white;
  padding: 10px;
  border-radius: 12px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  max-width: 250px; /* batasi ukuran kotak */
  margin: 0 auto; /* biar center */
}

.platform-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.15);
}

.platform-item:hover img {
  filter: brightness(80%);
  cursor: pointer;
}

/* Atur ukuran gambar agar seragam */
.platform-item img {
  width: clamp(150px, 10vw, 200px);
  height: clamp(150px, 10vw, 200px);
  object-fit: contain;
}

.platform-item h3 {
  font-size: 1.1rem; /* sedikit diperkecil */
  color: #003366;
  margin-bottom: 8px;
}

.platform-item p {
  color: #666;
  font-size: clamp(0.8rem, 1.1vw, 1rem);
}

/* =================================
              KEGIATAN
================================= */
.cards-container {
  max-width: 1200px;
  margin: 0px auto;
  padding: 20px 8%;
  width: 100%;
  box-sizing: border-box;
}

/* Responsive cards-container untuk layar besar */
@media (min-width: 1400px) {
  .cards-container {
    max-width: 1300px;
    margin: 0px auto;
  }
}

@media (min-width: 1600px) {
  .cards-container {
    max-width: 1500px;
  }
}

@media (min-width: 1920px) {
  .cards-container {
    max-width: 1700px;
  }
}

.cards-container h1 {
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  color: #003366;
  margin-bottom: 20px;
  padding: 5px 0px;
  text-align: center;
}

.cards {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc(100% / 3 - 20px); /* default: 3 card */
  grid-column-gap: 20px;
  padding: 25px 0px;
  padding-right: 40px;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.card {
  display: flex;
  flex-direction: column;
  padding: 20px;
  background: var(--white);
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 15%);
  scroll-snap-align: start;
  transition: all 0.2s;
  align-items: center;
  text-align: center;
}

.card:hover {
  color: var(--white);
  background: var(--orange);
}

.card .card-title {
  font-size: clamp(18px, 1.8vw, 24px);
}

.card .card-content {
  margin: 20px 0;
  max-width: 100%;
}

.card .card-content img {
  width: 100px; /* default ukuran gambar */
  height: auto; /* biar proporsional */
  max-width: 100%; /* biar tidak lebih besar dari card */
  transition: transform 0.2s ease;
}

.card:hover .card-content img {
  transform: scale(1.1); /* efek zoom saat hover */
}

.card .card-link-wrapper {
  margin-top: auto;
}

.card .card-link {
  display: inline-block;
  text-decoration: none;
  color: white;
  background: var(--orange);
  padding: 6px 12px;
  border-radius: 8px;
  transition: background 0.2s;
}

.card:hover .card-link {
  background: var(--darkorange);
}

.cards::-webkit-scrollbar {
  height: 12px;
}

.cards::-webkit-scrollbar-thumb,
.cards::-webkit-scrollbar-track {
  border-radius: 92px;
}

.cards::-webkit-scrollbar-thumb {
  background: var(--darkorange);
}

.cards::-webkit-scrollbar-track {
  background: var(--thumb);
}

/* Responsif */
@media (max-width: 699px) {
  .cards-container {
    margin: 0px auto;
    padding: 15px 4%;
    width: 100%;
    box-sizing: border-box;
  }

  .cards {
    grid-auto-columns: calc(100% / 2 - 15px); /* tablet: 2 card */
    padding-right: 30px;
  }

  .card .card-content img {
    width: 80px; /* lebih kecil di tablet */
  }
}

@media (max-width: 499px) {
  html, body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
  }

  .cards-container {
    margin: 0px auto;
    padding: 20px 4%;
  }

  .cards {
    grid-auto-columns: calc(100% - 20px); /* HP kecil: 1 card dengan margin */
  }

  .card .card-content img {
    width: 70px; /* lebih kecil di HP */
  }
}
/* =================================
              CALENDER
================================= */
.calender h1 {
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  color: #003366;
  margin-bottom: 20px;
  padding: 5px 0px;
  text-align: center;
}

.calender {
  max-width: 1200px;
  margin: 0 auto 30px auto;
  padding: 0 8%;
  width: 100%;
  box-sizing: border-box;
}

/* Responsive calender untuk layar besar */
@media (min-width: 1400px) {
  .calender {
    max-width: 1300px;
  }
  
  .calender-activity iframe {
    width: clamp(800px, 70vw, 1000px) !important;
    height: clamp(600px, 50vw, 700px) !important;
  }
}

@media (min-width: 1600px) {
  .calender {
    max-width: 1500px;
  }
  
  .calender-activity iframe {
    width: clamp(1000px, 75vw, 1200px) !important;
    height: clamp(700px, 55vw, 800px) !important;
  }
}

@media (min-width: 1920px) {
  .calender {
    max-width: 1700px;
  }
  
  .calender-activity iframe {
    width: clamp(1200px, 80vw, 1400px) !important;
    height: clamp(800px, 60vw, 900px) !important;
  }
}

.calender-activity {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f0f4f9;
  padding: 10px;
  border-radius: 15px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.calender-activity iframe {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

/* =================================
              News
================================= */
.news h1 {
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 700;
  color: #003366;
  margin-bottom: 20px;
  padding: 5px 0px;
  text-align: center;
}
