/* ====================================
   FLAP Custom CSS - SOFT LIGHT POP VERSION
====================================== */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=M+PLUS+Rounded+1c:wght@400;700;800;900&display=swap');

:root {
  --flap-pink:    #FF6B9E;
  --flap-purple:  #B57EDC;
  --flap-blue:    #7AD7F0;
  --flap-yellow:  #FDE74C;
  
  --flap-grad-hero:    linear-gradient(135deg, #FFF0F5 0%, #E6E6FA 50%, #E0FFFF 100%);
  --flap-grad-pink:    linear-gradient(135deg, #FF6B9E 0%, #FF99C2 100%);
  --flap-bg:           #FFFFFF;
  --flap-bg-alt:       #FFF7FA;
  --flap-text:         #4A4A4A;
  --flap-muted:        #7A7A7A;
}

body {
  font-family: 'Nunito', 'M PLUS Rounded 1c', sans-serif;
  background-color: var(--flap-bg) !important;
  color: var(--flap-text) !important;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 { color: var(--flap-text) !important; }
p { color: var(--flap-muted) !important; }

/* Buttons */
.main-btn {
  background: var(--flap-grad-pink) !important;
  border: none !important;
  padding: 14px 32px !important;
  border-radius: 50px !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  color: #fff !important;
  box-shadow: 0 6px 15px rgba(255, 107, 158, 0.3) !important;
  transition: all 0.3s !important;
}
.main-btn:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 10px 20px rgba(255, 107, 158, 0.45) !important;
  color: #fff !important;
}

/* Navbar */
.navbar-area { background: transparent; }
.sticky {
  background: rgba(255, 255, 255, 0.95) !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
}
.navbar-nav .nav-item a { color: var(--flap-text) !important; font-weight: 800; }
.navbar-nav .nav-item a:hover { color: var(--flap-pink) !important; }
.flap-logo-text {
  color: var(--flap-pink) !important; font-weight: 900; font-size: 32px;
  background: none !important; -webkit-text-fill-color: var(--flap-pink) !important;
  text-shadow: 2px 2px 0px #FFE4E1;
}

/* Hero Section */
.flap-hero { 
  background: var(--flap-grad-hero); 
  position: relative; 
  min-height: 80vh;
  display: flex;
  align-items: center;
}
.flap-hero-bg { display: none; }
.flap-hero-content h1 { font-size: 60px; color: var(--flap-text) !important; margin-bottom: 20px; font-weight: 900; }
.flap-hero-content p { color: var(--flap-muted) !important; font-size: 18px; margin-bottom: 30px; }

.section-title h2 { color: var(--flap-pink) !important; text-shadow: none !important; font-weight: 900; }

.flap-member-section, .flap-audition-section, .flap-goods-section {
  padding: 80px 0; background: var(--flap-bg) !important;
}
.flap-news-section, .flap-about-section, .flap-schedule-section, .flap-contact-section { 
  padding: 80px 0; background: var(--flap-bg-alt) !important; 
}

/* Category Title */
.flap-category-title { 
  color: var(--flap-purple) !important; 
  border-left: 6px solid var(--flap-purple) !important; 
  padding-left: 12px; 
  font-weight: 800; 
  background: none !important; 
  -webkit-text-fill-color: var(--flap-purple) !important; 
  font-size: 22px;
  margin-bottom: 20px;
}

/* Cards */
.flap-member-card, .flap-audition-card, .flap-goods-card, .flap-contact-card {
  background: #FFFFFF !important;
  border: 3px solid #FFE4E1 !important;
  border-radius: 24px !important;
  padding: 30px !important;
  box-shadow: 0 10px 25px rgba(255, 107, 158, 0.1) !important;
  transition: all 0.3s ease !important;
  backdrop-filter: none !important;
}
.flap-member-card:hover, .flap-audition-card:hover, .flap-goods-card:hover, .flap-contact-card:hover {
  transform: translateY(-8px) !important;
  border-color: var(--flap-pink) !important;
  box-shadow: 0 15px 35px rgba(255, 107, 158, 0.25) !important;
}

.flap-member-card h4 { color: var(--flap-pink) !important; font-weight: 800; font-size: 22px; }
.flap-member-desc { color: var(--flap-muted) !important; font-size: 14px; line-height: 1.6; }
.flap-tag-badge { 
  background: #FFE4E1 !important; 
  color: var(--flap-pink) !important; 
  font-weight: 800; padding: 6px 14px; border-radius: 20px; font-size: 12px; border: none; 
}
.flap-member-icon, .flap-hero-icon span { font-size: 44px; filter: drop-shadow(2px 2px 0px #FFE4E1); }

/* News Section */
.flap-news-list { background: #FFF !important; border: 2px solid #FFE4E1 !important; border-radius: 24px; box-shadow: 0 10px 25px rgba(0,0,0,0.03) !important; overflow: hidden; }
.flap-news-item { padding: 25px 30px; border-bottom: 2px solid #FFF0F5 !important; gap: 20px; align-items: center; }
.flap-news-item:last-child { border-bottom: none !important; }
.flap-news-item:hover { background: #FFF7FA !important; }
.flap-news-date { color: var(--flap-purple) !important; font-weight: 900; font-size: 16px; background: none !important; -webkit-text-fill-color: var(--flap-purple) !important;}
.flap-news-text { color: var(--flap-text) !important; font-size: 15px; font-weight: 600; }

/* Sub elements */
.flap-tag { 
  display: inline-block !important;
  padding: 8px 24px !important;
  border-radius: 50px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  background: #FFFFFF !important; 
  color: var(--flap-pink) !important; 
  border: 2px solid #FFE4E1 !important; 
  box-shadow: 0 5px 10px rgba(0,0,0,0.05) !important;
  margin-bottom: 20px !important;
}
.flap-stat-num { background: none !important; -webkit-text-fill-color: var(--flap-pink) !important; color: var(--flap-pink) !important;}
.flap-goods-price { background: none !important; -webkit-text-fill-color: var(--flap-purple) !important; color: var(--flap-purple) !important;}

/* Footer */
.flap-footer { background: #FFFFFF !important; border-top: 3px solid #FFE4E1 !important; color: var(--flap-text) !important; padding: 60px 0 20px; }
.flap-footer-logo { color: var(--flap-pink) !important; background: none !important; -webkit-text-fill-color: var(--flap-pink) !important; text-shadow: 2px 2px 0px #FFE4E1; }
.flap-footer .social-links li a { background: #FFF0F5 !important; color: var(--flap-pink) !important; border: none !important;}
.flap-footer .social-links li a:hover { background: var(--flap-pink) !important; color: #FFF !important; }

/* Remove previous dark artifacts */
.flap-member-card::before, .flap-member-card::after, .flap-goods-card::before, .flap-contact-card::before { display: none !important; }
.flap-hero-circle { border-color: rgba(255,107,158,0.3) !important; }
.flap-hero-circle.circle-1 { background: conic-gradient(from 0deg, rgba(255,107,158,0.1), rgba(181,126,220,0.1), rgba(122,215,240,0.1), rgba(255,107,158,0.1)) !important; }
.flap-hero-circle.circle-2 { background: conic-gradient(from 180deg, rgba(122,215,240,0.1), rgba(181,126,220,0.1), rgba(122,215,240,0.1)) !important; }

/* Custom Animations */
@keyframes dynamicLogo {
  0%   { transform: translateY(0) scale(1) rotate(0deg); }
  25%  { transform: translateY(-8px) scale(1.01) rotate(0.8deg); }
  50%  { transform: translateY(-3px) scale(1.02) rotate(-0.8deg); }
  75%  { transform: translateY(-10px) scale(1.01) rotate(0.3deg); }
  100% { transform: translateY(0) scale(1) rotate(0deg); }
}


/* Imported from original flap site */
.divider-custom {
  margin: 1.25rem 0 1.5rem;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.divider-custom .divider-custom-line {
  width: 100%;
  max-width: 7rem;
  height: 0.25rem;
  background-color: #2c3e50;
  border-radius: 1rem;
  border-color: #2c3e50 !important;
}
.divider-custom .divider-custom-line:first-child {
  margin-right: 1rem;
}
.divider-custom .divider-custom-line:last-child {
  margin-left: 1rem;
}
.divider-custom .divider-custom-icon {
  color: #2c3e50 !important;
  font-size: 2rem;
}
.divider-custom.divider-light .divider-custom-line {
  background-color: #fff;
}
.divider-custom.divider-light .divider-custom-icon {
  color: #fff !important;
}
.portfolio .portfolio-item {
  cursor: pointer;
  position: relative;
  display: block;
  max-width: 25rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
.portfolio .portfolio-item .portfolio-item-caption {
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.2s ease-in-out;
  opacity: 0;
  background-color: rgba(26, 188, 156, 0.9);
}
.portfolio .portfolio-item .portfolio-item-caption:hover {
  opacity: 1;
}
.portfolio .portfolio-item .portfolio-item-caption .portfolio-item-caption-content {
  font-size: 1.5rem;
}
.portfolio-modal .portfolio-modal-title {
  font-size: 2.25rem;
  line-height: 2rem;
}
.portfolio-modal .portfolio-modal-title {
    font-size: 3rem;
    line-height: 2.5rem;
  }
.portfolio-modal .close {
  position: absolute;
  z-index: 1;
  right: 1.5rem;
  top: 1rem;
  font-size: 3rem;
  line-height: 3rem;
  color: #1abc9c;
  opacity: 1;
}
.img_top_title_2{position:absolute;color:white;margin:0;top:50%;left:50%;transform:translate(-50%, -50%);font-size:1.2em;width:100%;}

/* Imported from original flap site */
.divider-custom {
  margin: 1.25rem 0 1.5rem;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.divider-custom .divider-custom-line {
  width: 100%;
  max-width: 7rem;
  height: 0.25rem;
  background-color: #2c3e50;
  border-radius: 1rem;
  border-color: #2c3e50 !important;
}
.divider-custom .divider-custom-line:first-child {
  margin-right: 1rem;
}
.divider-custom .divider-custom-line:last-child {
  margin-left: 1rem;
}
.divider-custom .divider-custom-icon {
  color: #2c3e50 !important;
  font-size: 2rem;
}
.divider-custom.divider-light .divider-custom-line {
  background-color: #fff;
}
.divider-custom.divider-light .divider-custom-icon {
  color: #fff !important;
}
.portfolio .portfolio-item {
  cursor: pointer;
  position: relative;
  display: block;
  max-width: 25rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
.portfolio .portfolio-item .portfolio-item-caption {
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.2s ease-in-out;
  opacity: 0;
  background-color: rgba(26, 188, 156, 0.9);
}
.portfolio .portfolio-item .portfolio-item-caption:hover {
  opacity: 1;
}
.portfolio .portfolio-item .portfolio-item-caption .portfolio-item-caption-content {
  font-size: 1.5rem;
}
.portfolio-modal .portfolio-modal-title {
  font-size: 2.25rem;
  line-height: 2rem;
}
.portfolio-modal .portfolio-modal-title {
    font-size: 3rem;
    line-height: 2.5rem;
  }
.portfolio-modal .close {
  position: absolute;
  z-index: 1;
  right: 1.5rem;
  top: 1rem;
  font-size: 3rem;
  line-height: 3rem;
  color: #1abc9c;
  opacity: 1;
}
.img_top_title_2{
  position: absolute;
  color: white;
  margin: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.2em;
  width:100%;
}
