/* ===== CARD COMPONENTS ===== */
.card{
  background:var(--white);border-radius:20px;overflow:hidden;
  transition:transform .3s,box-shadow .3s;
}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.card-body{padding:28px}
.card-img{width:100%;height:220px;object-fit:cover;background:var(--gray-light)}

/* Service Cards (from template) */
.sc{
  position:relative;border-radius:20px;overflow:hidden;
  aspect-ratio:1/1.15;display:flex;flex-direction:column;
  justify-content:flex-end;padding:28px;transition:transform .3s;
  cursor:pointer;text-decoration:none;color:var(--dark);
  background:linear-gradient(180deg,#ddd8ce,#c8c0b2);
}
.sc:nth-child(2){background:linear-gradient(180deg,#e0dbd3,#cec6ba)}
.sc:nth-child(3){background:linear-gradient(180deg,#d8d3c9,#c5bead)}
.sc:nth-child(4){background:linear-gradient(180deg,#e5e0d8,#d0c8bc)}
.sc:nth-child(5){background:linear-gradient(180deg,#ddd8ce,#c8c0b2)}
.sc:nth-child(6){background:linear-gradient(180deg,#e0dbd3,#cec6ba)}
.sc:hover{transform:translateY(-4px);color:var(--dark)}
.sc-b{display:flex;align-items:flex-end;justify-content:space-between}
.sc h4{font-size:20px;font-weight:600;line-height:1.3;max-width:180px}
.sc p{font-size:14px;line-height:1.6;color:var(--text-muted);margin-bottom:16px;opacity:.8}
.sc-i{
  width:44px;height:44px;border-radius:50%;background:var(--dark);color:var(--white);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s;
}
.sc:hover .sc-i{background:var(--gold)}
.sc-i .lucide{width:18px;height:18px}
.sg{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}

/* Feature Cards */
.feature-card{
  background:var(--gray-light);border-radius:20px;padding:32px;
  transition:transform .3s,box-shadow .3s;
}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}
.feature-card .icon-wrap{
  width:56px;height:56px;border-radius:50%;
  background:var(--gold);color:var(--white);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.feature-card .icon-wrap .lucide{width:24px;height:24px}
.feature-card h4{margin-bottom:12px}
.feature-card p{font-size:14px;line-height:1.7;color:var(--text-muted)}

/* Value Cards (from template) */
.vc-icon{margin-bottom:20px}
.vc-icon .lucide{width:48px;height:48px;color:var(--gold)}
.vc-c{background:var(--gray-light);border-radius:16px;padding:28px}
.vc-c h4{font-size:20px;font-weight:600;margin-bottom:12px}
.vc-c p{font-size:14px;line-height:1.7;color:var(--text-muted)}
.vg{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}

/* Initiative/Program Cards */
.init-card{
  background:var(--white);border:1px solid rgba(0,0,0,.06);border-radius:20px;
  padding:32px;transition:all .3s;position:relative;overflow:hidden;
}
.init-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}
.init-card .card-label{
  display:inline-block;font-size:13px;font-weight:600;text-transform:uppercase;
  letter-spacing:1px;color:var(--gold);margin-bottom:12px;
}
.init-card h3{font-size:22px;font-weight:600;margin-bottom:8px}
.init-card .card-tagline{font-size:15px;font-style:italic;color:var(--text-muted);margin-bottom:16px}
.init-card p{font-size:14px;line-height:1.7;color:var(--text-muted);margin-bottom:20px}
.init-card .btn{margin-top:auto}

/* Program Cards */
.program-card{
  background:var(--gray-light);border-radius:20px;padding:28px;
  display:flex;flex-direction:column;transition:all .3s;height:100%;
}
.program-card:hover{background:var(--gold);color:var(--dark)}
.program-card:hover p{color:var(--dark)}
.program-card:hover .btn-p{background:var(--white);color:var(--dark)}
.program-card h4{font-size:20px;font-weight:600;margin-bottom:4px}
.program-card .tagline{font-size:14px;font-style:italic;color:var(--gold);margin-bottom:12px}
.program-card:hover .tagline{color:var(--dark)}
.program-card p{font-size:14px;line-height:1.7;color:var(--text-muted);margin-bottom:20px;flex:1}
.program-card .btn{align-self:flex-start}

/* Stats Card */
.stat-card{text-align:center;padding:32px}
.stat-card .stat-number{font-size:48px;font-weight:700;color:var(--gold);line-height:1}
.stat-card .stat-label{font-size:14px;color:var(--text-muted);margin-top:8px}

/* ===== ICON BOX ===== */
.icon-box{
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.icon-box .lucide{width:24px;height:24px}
.icon-box-gold{background:var(--gold);color:var(--white)}
.icon-box-dark{background:var(--dark);color:var(--white)}
.icon-box-light{background:var(--gray-light);color:var(--dark)}

/* ===== FORMS ===== */
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--dark)}
.form-group .required{color:var(--gold)}
.form-input,.form-select,.form-textarea{
  width:100%;padding:14px 18px;border:1px solid rgba(0,0,0,.1);
  border-radius:12px;font-size:14px;font-family:var(--font);
  outline:none;background:var(--white);transition:border-color .3s;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold)}
.form-textarea{resize:vertical;min-height:120px}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.form-error{display:block;font-size:12px;color:#e74c3c;margin-top:4px}
.form-input.error,.form-select.error,.form-textarea.error{border-color:#e74c3c}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-hint{font-size:12px;color:var(--text-muted);margin-top:4px}

.form-section{margin-bottom:40px}
.form-section h3{font-size:18px;font-weight:600;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.08)}

/* Radio and checkbox */
.form-radio-group,.form-check-group{display:flex;flex-wrap:wrap;gap:12px}
.form-radio,.form-check{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}
.form-radio input,.form-check input{accent-color:var(--gold)}

/* ===== PRICING TABLE ===== */
.pricing-table{width:100%;border-collapse:collapse;border-radius:16px;overflow:hidden}
.pricing-table th{
  background:var(--dark);color:var(--white);padding:16px 20px;
  text-align:left;font-size:14px;font-weight:500;
}
.pricing-table td{
  padding:14px 20px;border-bottom:1px solid rgba(0,0,0,.06);
  font-size:14px;color:var(--text-muted);
}
.pricing-table tr:last-child td{border-bottom:none}
.pricing-table .highlight{background:var(--color-accent-10);font-weight:500;color:var(--dark)}
.pricing-table tbody tr:hover{background:var(--gray-light)}

/* ===== TIMELINE ===== */
.timeline{position:relative;padding-left:40px}
.timeline::before{
  content:'';position:absolute;left:15px;top:0;bottom:0;
  width:2px;background:rgba(0,0,0,.1);
}
.timeline-item{position:relative;margin-bottom:32px}
.timeline-item::before{
  content:'';position:absolute;left:-33px;top:4px;
  width:14px;height:14px;border-radius:50%;
  background:var(--gold);border:3px solid var(--white);
  box-shadow:0 0 0 2px var(--gold);
}
.timeline-item h4{font-size:16px;font-weight:600;margin-bottom:4px}
.timeline-item p{font-size:14px;color:var(--text-muted)}
.timeline-item .timeline-date{font-size:13px;color:var(--gold);font-weight:500;margin-bottom:4px}

/* ===== BENEFITS LIST ===== */
.benefit-list{list-style:none;padding:0}
.benefit-list li{
  display:flex;align-items:flex-start;gap:12px;padding:12px 0;
  font-size:15px;color:var(--text-muted);
}
.benefit-list li .lucide{width:20px;height:20px;color:var(--gold);flex-shrink:0;margin-top:2px}

/* ===== CHECKLIST ===== */
.checklist{list-style:none;padding:0}
.checklist li{
  display:flex;align-items:flex-start;gap:12px;
  padding:10px 0;font-size:15px;border-bottom:1px solid rgba(0,0,0,.04);
}
.checklist li:last-child{border-bottom:none}
.check-icon{
  width:24px;height:24px;border-radius:50%;
  background:var(--color-accent-10);color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:1px;
}
.check-icon .lucide{width:14px;height:14px}

/* ===== TABS ===== */
.tabs{display:flex;gap:0;border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:30px}
.tab-btn{
  padding:14px 28px;font-size:16px;font-weight:600;
  background:none;border:none;color:rgba(0,0,0,.3);
  cursor:pointer;border-bottom:2px solid transparent;
  transition:all .3s;font-family:var(--font);margin-bottom:-1px;
}
.tab-btn.active{color:var(--dark);border-bottom-color:var(--gold)}
.tab-btn:hover{color:var(--dark)}
.tab-content{display:none}
.tab-content.active{display:block}

/* ===== FAQ / ACCORDION ===== */
.faq-i{border-bottom:1px solid rgba(0,0,0,.08)}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:20px 0;background:none;border:none;font-size:16px;font-weight:500;
  text-align:left;cursor:pointer;font-family:var(--font);gap:16px;
}
.faq-q .lucide{width:20px;height:20px;flex-shrink:0;transition:transform .3s}
.faq-q.active .lucide{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-a-in{padding:0 0 20px;font-size:14px;line-height:1.8;color:var(--text-muted)}

/* ===== NEWSLETTER / SUBSCRIBE FORM ===== */
.sf{display:flex;gap:0}
.sf input{
  flex:1;padding:14px 20px;border:1px solid rgba(0,0,0,.1);
  border-radius:var(--btn-radius) 0 0 var(--btn-radius);
  font-size:14px;font-family:var(--font);outline:none;background:var(--white);
}
.sf button{
  padding:14px 28px;border-radius:0 var(--btn-radius) var(--btn-radius) 0;
  background:var(--dark);color:var(--white);border:none;
  font-size:14px;font-weight:500;cursor:pointer;font-family:var(--font);transition:background .3s;
}
.sf button:hover{background:var(--gold)}

/* ===== EVENT CARDS ===== */
.event-card{
  background:var(--white);border:1px solid rgba(0,0,0,.06);border-radius:20px;
  overflow:hidden;transition:all .3s;display:flex;flex-direction:column;
}
.event-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}
.event-card-img{height:200px;background:linear-gradient(135deg,#ddd8ce,#c8c0b2);position:relative}
.event-card-date{
  position:absolute;top:16px;left:16px;background:var(--white);
  border-radius:12px;padding:8px 14px;text-align:center;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.event-card-date .month{font-size:11px;text-transform:uppercase;font-weight:600;color:var(--gold)}
.event-card-date .day{font-size:20px;font-weight:700;color:var(--dark)}
.event-card-body{padding:24px;flex:1;display:flex;flex-direction:column}
.event-card-body h4{font-size:18px;font-weight:600;margin-bottom:8px;line-height:1.3}
.event-card-body .event-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:13px;color:var(--text-muted)}
.event-card-body .event-meta span{display:flex;align-items:center;gap:4px}
.event-card-body .event-meta .lucide{width:14px;height:14px}
.event-card-body p{font-size:14px;line-height:1.6;color:var(--text-muted);margin-bottom:16px;flex:1}
.event-card-body .event-fee{font-size:20px;font-weight:700;color:var(--gold);margin-bottom:16px}

/* ===== CATEGORY TAGS ===== */
.category-tag{
  display:inline-block;padding:6px 16px;border-radius:var(--btn-radius);
  font-size:12px;font-weight:500;background:var(--color-accent-10);
  color:var(--gold);transition:all .3s;
}
.category-tag:hover{background:var(--gold);color:var(--white)}
.category-tag.active{background:var(--gold);color:var(--white)}

/* ===== CALENDAR GRID ===== */
.calendar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.calendar-month{
  background:var(--white);border:1px solid rgba(0,0,0,.06);
  border-radius:16px;padding:24px;transition:all .3s;
}
.calendar-month:hover{border-color:var(--gold)}
.calendar-month h4{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--dark)}
.calendar-month .event-item{
  padding:10px 0;border-bottom:1px solid rgba(0,0,0,.04);
  font-size:13px;color:var(--text-muted);
}
.calendar-month .event-item:last-child{border-bottom:none}
.calendar-month .event-item .fee{font-weight:600;color:var(--gold)}

/* ===== TWO COLUMN LAYOUT ===== */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.two-col-reverse{direction:rtl}
.two-col-reverse > *{direction:ltr}

/* ===== IMAGE PLACEHOLDER ===== */
.img-placeholder{
  border-radius:20px;overflow:hidden;
  background:linear-gradient(135deg,#ddd8ce,#c8c0b2);
  display:flex;align-items:center;justify-content:center;
  color:rgba(0,0,0,.2);font-size:14px;
}
.img-placeholder-tall{height:400px}
.img-placeholder-wide{height:300px;width:100%}
.img-placeholder-square{aspect-ratio:1;width:100%}

/* ===== FEATURED BOX ===== */
.featured-box{
  background:linear-gradient(135deg,var(--dark),#1a1a1a);
  border-radius:24px;padding:40px;color:var(--white);position:relative;overflow:hidden;
}
.featured-box::before{
  content:'';position:absolute;top:-50px;right:-50px;
  width:200px;height:200px;background:rgba(186,144,58,.1);border-radius:50%;
}
.featured-box h3{color:var(--white);margin-bottom:16px}
.featured-box p{color:rgba(255,255,255,.75)}
.featured-box .btn-w:hover{background:var(--gold)}

/* ===== QUOTE BOX ===== */
.quote-box{
  border-left:4px solid var(--gold);padding:24px 32px;
  background:var(--color-accent-10);border-radius:0 16px 16px 0;
  margin:24px 0;
}
.quote-box p{font-size:18px;font-style:italic;line-height:1.6;color:var(--dark)}
.quote-box .attribution{font-size:14px;font-style:normal;color:var(--text-muted);margin-top:8px}

/* ===== INFO CARDS (Schedule, Location etc.) ===== */
.info-card{
  background:var(--gray-light);border-radius:16px;padding:24px;
  display:flex;gap:16px;align-items:flex-start;
}
.info-card .icon-wrap{
  width:48px;height:48px;border-radius:50%;
  background:var(--gold);color:var(--white);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.info-card .icon-wrap .lucide{width:20px;height:20px}
.info-card h4{font-size:16px;font-weight:600;margin-bottom:4px}
.info-card p{font-size:14px;color:var(--text-muted)}

/* ===== BADGE ===== */
.badge-pill{
  display:inline-block;padding:6px 16px;border-radius:var(--btn-radius);
  font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;
}
.badge-gold{background:var(--color-accent-10);color:var(--gold)}
.badge-dark{background:var(--dark);color:var(--white)}

/* ===== RESPONSIVE COMPONENTS ===== */
@media(max-width:1024px){
  .two-col{grid-template-columns:1fr;gap:40px}
  .form-row{grid-template-columns:1fr}
  .calendar-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  .sg{grid-template-columns:1fr 1fr}
  .calendar-grid{grid-template-columns:1fr}
  .sf{flex-direction:column}
  .sf input,.sf button{border-radius:var(--btn-radius)}
}
