/* SCSFSC Front Page Layout — loaded only on homepage */
.scsfsc-homepage-wrap { width:100% !important; max-width:100% !important; padding:0 !important; }

/* HERO */
.scsfsc-hero { background:linear-gradient(135deg,#071830 0%,#0B2545 40%,#1A3A6B 100%); color:#fff; padding:4rem 2rem; position:relative; overflow:hidden; min-height:360px; }
.scsfsc-hero__inner { display:flex; align-items:center; gap:3rem; max-width:1100px; margin:0 auto; position:relative; z-index:2; }
.scsfsc-hero__stripe { position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,#C8102E 50%,#B89A6A 50%); z-index:3; }
.scsfsc-hero__lines { position:absolute; right:0; top:0; bottom:0; width:40%; opacity:0.04; background:repeating-linear-gradient(0deg,transparent,transparent 12px,#fff 12px,#fff 13px); }
.scsfsc-hero__logo img { width:200px; height:200px; object-fit:contain; border-radius:50%; box-shadow:0 0 0 6px rgba(184,154,106,0.4),0 0 0 12px rgba(184,154,106,0.15),0 12px 40px rgba(0,0,0,0.4); }
.scsfsc-hero__tag { display:inline-flex; background:rgba(200,16,46,0.2); color:#F08090; font-size:0.72rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; padding:0.3rem 0.8rem; border-radius:2px; margin-bottom:1.2rem; border:1px solid rgba(200,16,46,0.35); }
.scsfsc-hero__content h1 { font-size:clamp(2rem,4vw,2.8rem); color:#fff !important; margin-bottom:1rem; }
.scsfsc-hero__content h1 em { color:#7EB6E8; font-style:normal; }
.scsfsc-hero__content > p { font-size:1rem; color:rgba(255,255,255,0.72); max-width:420px; margin-bottom:1.8rem; font-weight:300; line-height:1.7; }
.scsfsc-hero__buttons { display:flex; gap:0.8rem; flex-wrap:wrap; }
.scsfsc-btn { display:inline-block; padding:0.7rem 1.6rem; border-radius:4px; font-weight:700; font-size:0.85rem; letter-spacing:0.06em; text-transform:uppercase; text-decoration:none !important; transition:background 0.2s; }
.scsfsc-btn--red { background:#C8102E; color:#fff !important; }
.scsfsc-btn--red:hover { background:#A00D24; }
.scsfsc-btn--outline { border:1px solid rgba(255,255,255,0.45); color:#fff !important; }
.scsfsc-btn--outline:hover { border-color:#fff; background:rgba(255,255,255,0.08); }

/* ANNOUNCE */
.scsfsc-announce { background:#F5F0E8; border-top:3px solid #B89A6A; border-bottom:1px solid #DDD0B8; padding:0.85rem 2rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.scsfsc-announce__badge { background:#C8102E; color:#fff; font-size:0.68rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:0.2rem 0.7rem; border-radius:2px; white-space:nowrap; }
.scsfsc-announce p { font-size:0.88rem; color:#0B2545; font-weight:500; margin:0; }
.scsfsc-announce a { color:#2A5298; font-weight:700; text-decoration:none; margin-left:auto; font-size:0.85rem; white-space:nowrap; }
.scsfsc-announce a:hover { text-decoration:underline; }

/* QUICK LINKS */
.scsfsc-quick-links { background:#fff; border-bottom:1px solid #D0DCE8; padding:2.5rem 2rem; }
.scsfsc-quick-links__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:0.9rem; }
.scsfsc-quick-link-card { background:#EAF3FA; border:1px solid #D0E8F5; border-radius:8px; padding:1.1rem 0.9rem; text-decoration:none !important; display:flex; flex-direction:column; align-items:center; gap:0.4rem; text-align:center; transition:border-color 0.2s,background 0.2s,transform 0.15s; }
.scsfsc-quick-link-card:hover { border-color:#C8102E; background:#FEF0F2; transform:translateY(-2px); }
.scsfsc-quick-link-card .card-icon { font-size:1.5rem; line-height:1; }
.scsfsc-quick-link-card .card-title { font-size:0.82rem; font-weight:700; color:#0B2545; }
.scsfsc-quick-link-card .card-sub { font-size:0.72rem; color:#6B7FA3; }

/* MAIN GRID */
.scsfsc-main-grid { display:grid; grid-template-columns:1fr 300px; gap:2rem; padding:2.5rem 2rem; max-width:1100px; margin:0 auto; }
.scsfsc-card { background:#fff; border:1px solid #D0DCE8; border-radius:10px; overflow:hidden; margin-bottom:1.5rem; box-shadow:0 1px 4px rgba(0,0,0,0.04); }
.scsfsc-card:last-child { margin-bottom:0; }
.scsfsc-card__header { background:#0B2545; padding:0.85rem 1.3rem; display:flex; align-items:center; gap:0.7rem; }
.scsfsc-card__header h2 { font-family:'Playfair Display',serif !important; font-size:1rem !important; font-weight:600; color:#fff !important; margin:0; }
.scsfsc-card__dot { width:8px; height:8px; border-radius:50%; background:#C8102E; flex-shrink:0; display:inline-block; }
.scsfsc-card__body { padding:1.3rem; }
.scsfsc-info-list { list-style:none; padding:0; margin:0; }
.scsfsc-info-item { display:flex; gap:0.6rem; align-items:flex-start; padding:0.6rem 0; border-bottom:1px solid #D0DCE8; }
.scsfsc-info-item:last-child { border-bottom:none; }
.scsfsc-info-item__icon { color:#C8102E; font-size:0.85rem; margin-top:3px; flex-shrink:0; font-weight:700; }
.scsfsc-info-item a { color:#2A5298; font-weight:600; text-decoration:none; font-size:0.9rem; display:block; }
.scsfsc-info-item a:hover { color:#C8102E; text-decoration:underline; }
.scsfsc-info-item p { font-size:0.82rem; color:#6B7FA3; margin:2px 0 0; }
.scsfsc-marisa { background:#0B2545; border-left:4px solid #C8102E; border-radius:10px; padding:1.4rem; margin-bottom:1.5rem; }
.scsfsc-marisa h2 { color:#F08090 !important; font-size:1.05rem; margin-bottom:0.6rem; }
.scsfsc-marisa p { font-size:0.85rem; color:rgba(255,255,255,0.75); line-height:1.6; margin-bottom:0.8rem; }
.scsfsc-marisa a { color:#7EB6E8; font-weight:600; text-decoration:none; }
.scsfsc-marisa a:hover { text-decoration:underline; color:#fff; }
.scsfsc-links-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:0.3rem; }
.scsfsc-links-list li a { display:flex; align-items:center; gap:0.5rem; padding:0.48rem 0.6rem; border-radius:5px; font-size:0.88rem; color:#2A5298; text-decoration:none; font-weight:600; transition:background 0.15s; }
.scsfsc-links-list li a::before { content:'→'; color:#C8102E; font-weight:700; }
.scsfsc-links-list li a:hover { background:#EAF3FA; text-decoration:none; }

/* SIDEBAR */
.scsfsc-sidebar { display:flex; flex-direction:column; gap:0; }
.scsfsc-location-row { font-size:0.88rem; color:#3A4D6B; margin-bottom:0.9rem; line-height:1.6; }
.scsfsc-location-row strong { color:#0B2545; display:block; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:3px; font-weight:700; }
.scsfsc-map-btn { display:block; background:#0B2545; color:#fff !important; text-align:center; padding:0.6rem; border-radius:6px; font-size:0.82rem; font-weight:700; text-decoration:none !important; letter-spacing:0.06em; text-transform:uppercase; margin-top:0.4rem; transition:background 0.2s; }
.scsfsc-map-btn:hover { background:#C8102E; }
.scsfsc-event-item { display:flex; gap:0.8rem; align-items:flex-start; padding:0.7rem 0; border-bottom:1px solid #D0DCE8; }
.scsfsc-event-item:last-child { border-bottom:none; }
.scsfsc-event-date { background:#0B2545; border-radius:6px; padding:0.3rem 0.5rem; text-align:center; min-width:44px; flex-shrink:0; }
.scsfsc-event-date .mo { display:block; font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:#F08090; font-weight:700; }
.scsfsc-event-date .dy { display:block; font-size:1.2rem; font-weight:700; color:#fff; line-height:1.2; }
.scsfsc-event-info a { font-size:0.88rem; font-weight:600; color:#2A5298; text-decoration:none; display:block; }
.scsfsc-event-info a:hover { color:#C8102E; }
.scsfsc-event-info p { font-size:0.78rem; color:#6B7FA3; margin:2px 0 0; }
.scsfsc-contact-group { margin-bottom:0.9rem; }
.scsfsc-contact-group:last-child { margin-bottom:0; }
.scsfsc-contact-label { color:#0B2545; display:block; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:2px; font-weight:700; }
.scsfsc-contact-group p { font-size:0.87rem; color:#3A4D6B; line-height:1.6; margin:0; }
.scsfsc-contact-group a { color:#2A5298; font-weight:600; font-size:0.87rem; }
.scsfsc-contact-group a:hover { color:#C8102E; }

/* GALLERY */
.scsfsc-gallery { background:#fff; border-top:1px solid #D0DCE8; border-bottom:1px solid #D0DCE8; padding:2.5rem 2rem; }
.scsfsc-gallery__header { display:flex; align-items:baseline; gap:1rem; margin-bottom:1.2rem; }
.scsfsc-gallery__header h2 { font-size:1.5rem; margin:0; }
.scsfsc-gallery__header p { font-size:0.85rem; color:#6B7FA3; margin:0; }
.scsfsc-gallery__foogallery { width:100%; }
.scsfsc-gallery__placeholder { color:#6B7FA3; font-size:0.9rem; }

/* GALLERY HEADER LINKS */
.scsfsc-gallery__header h2 a { color:inherit; text-decoration:none; }
.scsfsc-gallery__header h2 a:hover { color:#C8102E; text-decoration:none; }
.scsfsc-gallery__view-all { font-size:0.85rem; color:#2A5298; font-weight:600; text-decoration:none; white-space:nowrap; }
.scsfsc-gallery__view-all:hover { color:#C8102E; text-decoration:underline; }

/* SPONSOR */
.scsfsc-sponsor { background:#F5F0E8; border-top:3px solid #B89A6A; padding:2rem; display:flex; align-items:center; gap:2rem; flex-wrap:wrap; }
.scsfsc-sponsor__badge { background:#fff; border:1px solid #DDD0B8; border-radius:8px; padding:1rem 1.4rem; min-width:160px; }
.scsfsc-sponsor__badge p { font-size:0.7rem; color:#8B7355; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:0.3rem; font-weight:700; }
.scsfsc-sponsor__badge strong { font-size:1rem; color:#0B2545; font-weight:700; }
.scsfsc-sponsor__text { flex:1; max-width:520px; }
.scsfsc-sponsor__text p { font-size:0.88rem; color:#3A4D6B; line-height:1.65; margin-bottom:0.5rem; }
.scsfsc-sponsor__text a { color:#2A5298; font-weight:600; font-size:0.88rem; }
.scsfsc-sponsor__text a:hover { color:#C8102E; }

/* RESPONSIVE */
@media (max-width:900px) {
  .scsfsc-main-grid { grid-template-columns:1fr; }
  .scsfsc-hero__inner { flex-direction:column; text-align:center; gap:1.5rem; }
  .scsfsc-hero__content > p { margin-left:auto; margin-right:auto; }
  .scsfsc-hero__buttons { justify-content:center; }
  .scsfsc-hero__logo img { width:150px; height:150px; }
}
@media (max-width:600px) {
  .scsfsc-hero { padding:2.5rem 1rem; }
  .scsfsc-announce { flex-direction:column; align-items:flex-start; }
  .scsfsc-announce a { margin-left:0; }
  .scsfsc-quick-links,.scsfsc-gallery { padding:1.5rem 1rem; }
  .scsfsc-quick-links__grid { grid-template-columns:repeat(2,1fr); }
  .scsfsc-main-grid { padding:1.5rem 1rem; }
  .scsfsc-sponsor { flex-direction:column; }
}
