/* Font faces */
@font-face {
  font-family: "Barlow";
  src: url("https://fonts.gstatic.com/s/barlow/v12/7cHpv4kjgoGqM7E_DMs5.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}

/* Global font size increase - make all text x% larger */
html {
  font-size: 110%; 
}

@font-face {
  font-family: "Barlow";
  src: url("https://fonts.gstatic.com/s/barlow/v12/7cHqv4kjgoGqM7E3_-gs51os.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Barlow";
  src: url("https://fonts.gstatic.com/s/barlow/v12/7cHqv4kjgoGqM7E30-8s51os.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "Barlow Semi Condensed";
  src: url("https://fonts.gstatic.com/s/barlowsemicondensed/v15/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRfi6m_B2sl.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Playfair Display";
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v39/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Playfair Display";
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v39/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Playfair Display";
  src: url("https://fonts.gstatic.com/s/playfairdisplay/v39/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  /* This font could not be included automatically because of legal reasons. Please add it manually or switch to another font */
  font-family: "default";
  font-weight: normal;
  font-style: normal;
  src: local("Arial"); /* Fallback to Arial as a placeholder */
}

/* Icon styles - using Font Awesome with improved proportions */
i.fa-bars::before,
i.fa-times::before,
i.fa-search::before,
i.fa-chevron-down::before,
i.fa-chevron-right::before,
i.fa-facebook::before,
i.fa-twitter::before,
i.fa-instagram::before,
i.fa-whatsapp::before,
i.fa-book::before,
i.fa-mosque::before,
i.fa-clock::before,
i.fa-calculator::before,
i.fa-arrow-right::before,
i.fa-arrow-up::before {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fa-bars::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f0c9";
}
.fa-times::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f00d";
}
.fa-search::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f002";
}
.fa-chevron-down::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f078";
}
.fa-chevron-right::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f054";
}
.fa-facebook::before {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
  content: "\f09a";
}
.fa-twitter::before {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
  content: "\f099";
}
.fa-instagram::before {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
  content: "\f16d";
}
.fa-whatsapp::before {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
  content: "\f232";
}
.fa-book::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f02d";
}
.fa-mosque::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f678";
}
.fa-clock::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
  content: "\f017";
}
.fa-calculator::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f1ec";
}
.fa-arrow-right::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f061";
}
.fa-arrow-up::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f062";
}

/* Bullet/check icons used in Kegiatan center column */
.fa-check-circle::before,
.fa-circle-check::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* solid */
  content: "\f058";
}

/* Header transition */
header.fixed {
  transition:
    background-color 0.3s ease,
    background-image 0.3s ease,
    padding 0.3s ease;
}

header.fixed.bg-neutral-800 {
  /* background-color: #262626 !important; */
  background-color: #2B3490 !important;
}

/* Mobile navigation improvements */
@media (max-width: 767px) {
  nav.fixed {
    /* Ensure mobile menu is above everything */
    z-index: 9999 !important;
    /* Prevent scrolling when menu is open */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    /* Improve backdrop */
    background-color: rgba(64, 64, 64, 0.98) !important;
    backdrop-filter: blur(8px) !important;
  }
  
  /* Prevent body scrolling when mobile menu is open */
  body.menu-open {
    overflow: hidden !important;
  }
}

/* Ensure desktop navigation is not affected */
@media (min-width: 768px) {
  nav.fixed {
    position: static !important;
    transform: none !important;
    background: transparent !important;
    backdrop-filter: none !important;
    z-index: auto !important;
  }
}

/* Base transitions for smooth animation in both directions */
header.fixed .relative > div:first-child {
  transition: padding 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

header.fixed nav ul li {
  transition: margin 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

header.fixed .relative > div:nth-child(2) img {
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

header.fixed .relative > div:nth-child(4) h3 {
  transition:
    font-size 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    line-height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

header.fixed .relative > div:nth-child(4) p {
  transition:
    font-size 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    line-height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

header.fixed .relative > div:nth-child(5) a {
  transition:
    font-size 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    padding 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Feature cards layout styles - removed problematic flexbox overrides */
/* The grid layout is already properly defined in the HTML with Tailwind classes */

/* Compact header when scrolled - main container padding reduction */
header.fixed.scrolled-compact .relative > div:first-child {
  padding-top: 15px !important;
  padding-bottom: 10px !important;
}

@media (min-width: 768px) {
  header.fixed.scrolled-compact .relative > div:first-child {
    padding-top: 18px !important;
    padding-bottom: 12px !important;
  }
}

/* Navigation items compact spacing when scrolled */
header.fixed.scrolled-compact nav ul li {
  margin-right: 25px !important;
}

@media (min-width: 768px) {
  header.fixed.scrolled-compact nav ul li {
    margin-right: 28px !important;
  }
}

/* Logo size adjustment when scrolled */
header.fixed.scrolled-compact .relative > div:nth-child(2) img {
  transform: scale(0.9);
}

/* Phone number section compact */
header.fixed.scrolled-compact .relative > div:nth-child(4) h3 {
  font-size: 11px !important;
  line-height: 18px !important;
}

header.fixed.scrolled-compact .relative > div:nth-child(4) p {
  font-size: 13px !important;
  line-height: 20px !important;
}

@media (min-width: 768px) {
  header.fixed.scrolled-compact .relative > div:nth-child(4) p {
    font-size: 15px !important;
    line-height: 22px !important;
  }
}

/* Donate button compact */
header.fixed.scrolled-compact .relative > div:nth-child(5) a {
  font-size: 15px !important;
  padding: 10px 35px !important;
}

@media (min-width: 768px) {
  header.fixed.scrolled-compact .relative > div:nth-child(5) a {
    font-size: 17px !important;
    padding: 12px 40px !important;
  }
}

/* Dropdown arrow styling */
.dropdown-arrow::after {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f078";
  position: absolute;
  right: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
}

@media (min-width: 768px) {
  .dropdown-arrow::after {
    font-size: 16px;
  }
}

/* Donation tab title animations */
@keyframes slideToLeft {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-8px);
  }
}

@keyframes slideToRight {
  from {
    transform: translateX(-8px);
  }
  to {
    transform: translateX(0);
  }
}

/* Base styling for donation tab titles */
.donation-tab-title {
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding-left 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  white-space: nowrap; /* Prevent text wrapping */
  color: #404040 !important; /* Slightly darker consistent color for both states */
  padding-left: 0.5rem !important; /* Small gap for unselected state */
}

/* Selected state - move to the right with more padding */
.donation-tab-title.selected {
  transform: translateX(0rem) !important;
  padding-left: 1rem !important; /* More padding for selected state */
  color: #303030 !important;
  font-weight: bold !important; /* Bold for selected state */
}

/* Unselected state - no transform, minimal padding */
.donation-tab-title.unselected {
  transform: translateX(0) !important;
  padding-left: 0rem !important; /* Minimal padding for unselected state */
  color: #303030 !important;
  font-weight: normal !important; /* Normal weight for unselected state */
}

/* Fix for donation arrow icons - ensure they stay at the left and are not animated */
.donation-arrow {
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  transition: none !important;
  animation: none !important;
  z-index: 1 !important; /* Ensure icon stays above text */
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Remove any transform animations from the icons */
.donation-tab-title .donation-arrow {
  transform: translateY(-50%) !important;
  transition: none !important;
  animation: none !important;
}

/* Ensure the parent container doesn't add left padding that affects icon position */
.donation-tab-title {
  position: relative !important;
}

/* Override any parent padding that might affect icon positioning */
ul.text-sm.box-border.leading-\[14px\].list-none.mb-7.pl-0 {
  padding-left: 0 !important;
}

li.relative.text-sm {
  padding-left: 0 !important;
}

/* Lighter text color for specific paragraph */
p.text-sm.box-border.leading-\[21px\].mb-7.md\:text-base.md\:leading-6.md\:mb-8 {
  color: #808080 !important;
}

/* Smaller text for donation tab subtitles */
span.text-neutral-500.text-base.box-border.tracking-\[-0\.32px\].leading-\[24\.8px\] {
  font-size: 0.875rem !important; /* Make it smaller - equivalent to text-sm */
  line-height: 1.25rem !important;
}

/* Hover effect for "Find out more" links */
a[href*="/education/"],
a[href*="/visit-us/"],
a[href*="/prayer-times/"],
a[href*="/zakat/"] {
  transition: text-decoration 0.3s ease;
}

a[href*="/education/"]:hover,
a[href*="/visit-us/"]:hover,
a[href*="/prayer-times/"]:hover,
a[href*="/zakat/"]:hover {
  text-decoration: underline !important;
  text-decoration-color: #a3a3a3 !important;
  text-decoration-thickness: 1px !important;
}

/* Video background styles */
video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.video-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}

.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Blue overlay with 50% opacity */
  /* background-color: rgba(46, 49, 146, 0.8);  */
  /* Black overlay with 50% opacity */
  background-color: rgba(0, 0, 0, 0.8);
}

/* Custom blue color classes */
.text-blue-custom { 
  color: black !important; 
  background-color: #f3f4f6 !important; 
  padding: 2px 4px !important;
  border-radius: 3px !important;
}

.bg-blue-custom { 
  background-color: #2B3490 !important; 
}

.border-blue-custom { 
  border-color: #2B3490 !important; 
}

.hover\:bg-blue-custom:hover { 
  background-color: #2B3490 !important; 
}

/* Force white text on blue buttons */
a.bg-blue-custom,
span.bg-blue-custom,
label.bg-blue-custom,
.bg-blue-custom.text-stone-800,
.bg-blue-custom.text-zinc-800,
.bg-blue-custom.text-neutral-700,
.bg-blue-custom.text-neutral-500 { 
  color: white !important; 
}

/* Target nested text elements */
.bg-blue-custom * { 
  color: white !important; 
}

/* Title text styling */
.title-text {
  color: white !important;
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-weight: bold;
  line-height: 1.2;
}

/* Profil section logo size adjustment for mobile devices - 50% width of screen */
@media (max-width: 767px) {
  img.profil-logo {
    width: 50vw !important;
    height: auto !important;
    max-width: 50vw !important;
    display: block !important;
    margin: 0 auto !important;
  }
}

/* Kegiatan Tabs Styles */
.kegiatan-tab-content {
  display: block;
}

.kegiatan-tab-content.hidden {
  display: none !important;
}

/* Kegiatan tab styling for better alignment */
.kegiatan-tab-link {
  text-decoration: none !important;
  position: relative;
  padding-left: 20px;
  display: block;
  width: 100%;
  transition: all 0.3s ease;
}

.kegiatan-tab-link span {
  display: block;
}

.kegiatan-tab-link.active {
  position: relative;
}

/* Ensure consistent background for Kegiatan left tabs (override .text-blue-custom on anchors) */
a.kegiatan-tab-link {
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  padding-left: 20px !important; /* keep intended left indent */
}

/* Kegiatan Center List Bullet Alignment */
.kegiatan-tab-content ul li {
  position: relative;
}

.kegiatan-tab-content ul li .fa-check-circle,
.kegiatan-tab-content ul li .fa-circle-check {
  position: absolute !important;
  left: 0 !important;
  top: 0.25rem !important; /* center 16px icon within 24px line-height */
  font-size: 16px !important;
  line-height: 1 !important;
  color: #2B3490 !important; /* unify icon color */
  background: transparent !important; /* remove bg from .text-blue-custom */
  padding: 0 !important; /* remove extra padding */
  border-radius: 0 !important;
}

/* Kegiatan tab active state styling */
.kegiatan-tab-active-border {
  border-bottom-color: #2B3490 !important;
}

.kegiatan-tab-link .fa-chevron-right {
  display: none !important;
  position: absolute;
  left: -20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.kegiatan-tab-link.active .fa-chevron-right {
  display: block !important;
}

/* Program Support Button Styles */
.program-support-container a {
  transition: all 0.3s ease;
  display: block;
  margin-bottom: 1rem;
  border-radius: 5px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #262626 !important;
  text-decoration: none !important;
}

.program-support-container a:first-child {
  background-color: #2B3490 !important;
  color: white !important;
}

.program-support-container a:last-child {
  background-color: #ffc107 !important;
}

.program-support-container a:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}

/* Generic bullet list styling separated from translation strings */
.list-item-bullet {
  position: relative;
  padding-left: 1.1em;
}
.list-item-bullet:before {
  content: '\2022';
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1.2;
  color: #facc15; /* Tailwind yellow-400 */
  font-weight: 600;
}
html[dir='rtl'] .list-item-bullet {
  padding-left: 0;
  padding-right: 1.1em;
}
html[dir='rtl'] .list-item-bullet:before {
  left: auto;
  right: 0;
}
