/*
Theme Name: A Leg Forever
Theme URI: https://example.com/
Author: Converted by ChatGPT
Description: WordPress theme converted from the A Leg Forever static HTML template.
Version: 1.1.0
License: GNU General Public License v2 or later
Text Domain: aleg-forever
*/

:root{--blue:#005aa7;--dark:#071427;--gold:#ffc928;--light:#f4f8ff;--text:#172033;--muted:#667085;--white:#fff;--shadow:0 24px 80px rgba(7,20,39,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--text);background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);line-height:1.6}.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px 6vw;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,90,167,.10)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--dark);font-weight:900;font-size:18px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--blue),#003866);color:var(--gold);box-shadow:0 12px 30px rgba(0,90,167,.25)}.nav{display:flex;align-items:center;gap:24px}.nav a{text-decoration:none;color:var(--dark);font-weight:800;font-size:14px}.nav a:hover{color:var(--blue)}.nav-toggle{display:none;border:0;background:var(--dark);color:#fff;border-radius:12px;padding:10px 13px;font-size:20px}.section{width:min(1160px,88vw);margin:0 auto;padding:88px 0}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:52px;align-items:center;min-height:calc(100vh - 80px)}.eyebrow{margin:0 0 12px;color:var(--blue);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900}.hero h1,.contact-hero h1{font-size:clamp(46px,7vw,82px);line-height:.95;letter-spacing:-.06em;margin:0 0 24px;color:var(--dark)}h2{font-size:clamp(30px,4vw,52px);line-height:1.02;letter-spacing:-.045em;margin:0 0 18px;color:var(--dark)}h3{font-size:22px;line-height:1.15;margin:0 0 10px;color:var(--dark)}.lead{font-size:20px;color:#43506a;max-width:690px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:999px;padding:15px 22px;font-weight:900;cursor:pointer;transition:.25s ease}.btn.primary{background:linear-gradient(135deg,var(--blue),#003e77);color:white;box-shadow:0 16px 35px rgba(0,90,167,.24)}.btn.secondary{background:white;color:var(--dark);box-shadow:0 12px 40px rgba(7,20,39,.08)}.btn.large{padding:20px 32px;font-size:18px}.btn:hover{transform:translateY(-3px)}.hero-media{position:relative}.hero-media img,.video-card img,.image-card img,.recipient-img img{width:100%;display:block;object-fit:cover}.hero-media img{border-radius:34px;box-shadow:var(--shadow);aspect-ratio:1.25/1}.stat-card{position:absolute;left:28px;bottom:-28px;background:white;border-radius:24px;padding:18px 22px;box-shadow:var(--shadow);max-width:230px}.stat-card strong{display:block;font-size:28px;color:var(--blue)}.stat-card span{font-size:14px;color:var(--muted);font-weight:700}.intro,.video-section,.cards-section,.recipient,.events,.donate,.contact-grid,.map-section{background:rgba(255,255,255,.65);border-radius:42px;padding:56px;margin-top:34px;box-shadow:0 18px 80px rgba(7,20,39,.07);border:1px solid rgba(0,90,167,.09)}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}.quote-card{position:relative;background:linear-gradient(135deg,var(--dark),#092b52);color:white;padding:40px;border-radius:32px;overflow:hidden}.quote-card p{font-size:22px;font-weight:800;line-height:1.25}.quote-card strong{color:var(--gold)}.ribbon{position:absolute;right:20px;top:20px;width:54px!important;opacity:.85}.video-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}.video-card img{border-radius:30px;background:#dbe8ff;box-shadow:0 20px 50px rgba(0,90,167,.12)}.section-head{text-align:center;max-width:780px;margin:0 auto 36px}.cards{display:grid;gap:22px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.card,.image-card,.contact-panel,.contact-form{background:#fff;border-radius:30px;padding:30px;box-shadow:0 14px 44px rgba(7,20,39,.08);border:1px solid #e9f0fb}.card span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#e7f2ff;color:var(--blue);font-weight:900;margin-bottom:22px}.image-card{display:flex;gap:24px;align-items:center}.image-card img{width:132px;height:132px;border-radius:26px;object-fit:contain;background:#f2f7ff;padding:12px}.recipient{display:grid;grid-template-columns:360px 1fr;gap:46px;align-items:center;background:linear-gradient(135deg,#fff 0%,#f4f9ff 100%)}.recipient-img img{border-radius:50%;box-shadow:var(--shadow)}.donate{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:linear-gradient(135deg,#061d3b,#005aa7);color:white}.donate h2,.donate p,.donate .eyebrow{color:white}.donate .btn{background:var(--gold);color:var(--dark)}.footer{text-align:center;padding:46px 20px;background:#061326;color:#d7e7ff;margin-top:70px}.footer p{margin:6px 0;color:#b9c9df}.contact-hero{text-align:center}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.info-row{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid #e9f0fb}.info-row a{color:var(--blue);font-weight:800}.contact-form label{display:block;font-weight:800;margin:15px 0;color:var(--dark)}input,textarea{width:100%;border:1px solid #dbe5f5;border-radius:18px;padding:15px 16px;margin-top:8px;font:inherit;background:#f8fbff}.map{width:100%;height:440px;border:0;border-radius:32px;box-shadow:var(--shadow)}.reveal{opacity:1}@media(max-width:850px){.site-header{padding:14px 5vw}.nav-toggle{display:block}.nav{position:absolute;top:72px;left:5vw;right:5vw;display:none;flex-direction:column;align-items:flex-start;padding:20px;background:#fff;border-radius:24px;box-shadow:var(--shadow)}.nav.open{display:flex}.section{width:min(92vw,680px);padding:52px 0}.hero,.split,.video-card,.recipient,.donate,.contact-grid{grid-template-columns:1fr;min-height:auto}.hero{gap:28px}.hero h1,.contact-hero h1{font-size:44px}.intro,.video-section,.cards-section,.recipient,.events,.donate,.contact-grid,.map-section{padding:26px;border-radius:28px;margin-top:22px}.cards.three,.cards.two{grid-template-columns:1fr}.image-card{align-items:flex-start}.image-card img{width:96px;height:96px}.stat-card{position:relative;left:0;bottom:0;margin-top:14px}.recipient-img{max-width:280px;margin:auto}.info-row{grid-template-columns:1fr}.map{height:340px}}@media(max-width:440px){.brand span:last-child{font-size:14px}.hero-actions{display:grid}.btn{width:100%}.image-card{display:block}.image-card img{margin-bottom:18px}.hero h1,.contact-hero h1{font-size:38px}h2{font-size:30px}.lead{font-size:17px}}


/* Donation page */
.donation-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;background:linear-gradient(135deg,#071734,#12346c);color:#fff;border-radius:38px;margin-top:120px;padding:70px 7%}.donation-hero .eyebrow,.donation-hero .lead{color:#dce8ff}.donation-hero img{width:100%;max-height:330px;object-fit:contain;filter:drop-shadow(0 20px 35px rgba(0,0,0,.28))}.donation-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:28px}.donation-form,.payment-box,.donation-side .contact-panel{background:#fff;border:1px solid rgba(10,23,50,.08);border-radius:30px;padding:30px;box-shadow:0 20px 60px rgba(8,20,45,.08)}.donation-form label{display:block;font-weight:800;margin:18px 0;color:#101828}.donation-form input{width:100%;border:1px solid #d7deea;border-radius:16px;padding:15px 16px;margin-top:8px;font:inherit}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.amount-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.amount-buttons button{border:1px solid #c8d5eb;background:#f7faff;border-radius:16px;padding:14px;font-weight:900;cursor:pointer}.amount-buttons button.active,.amount-buttons button:hover{background:#0a1a35;color:#fff}.money-field{display:flex;align-items:center;gap:8px;border:1px solid #d7deea;border-radius:16px;padding-left:16px;margin-top:8px}.money-field input{border:0;margin:0}.payment-box{margin-top:24px;background:#f8fbff}.btn.full{width:100%;justify-content:center;text-align:center;margin-top:12px}.btn.ghost{background:#fff;color:#0a1a35;border:1px solid #d7deea}.donation-side{display:flex;flex-direction:column;gap:22px}.donate-note{min-height:auto}.mini{box-shadow:none}.footer p a{color:inherit}
@media(max-width:800px){.donation-hero,.donation-grid,.form-two{grid-template-columns:1fr}.donation-hero{margin-top:94px;padding:42px 26px}.amount-buttons{grid-template-columns:repeat(2,1fr)}}


/* Added pages: partners, who-we-help, Caitlin story */
.page-hero{padding-top:130px;text-align:center}.page-hero h1{font-size:clamp(42px,7vw,76px);line-height:.95;letter-spacing:-.06em;margin:0 0 24px;color:var(--dark)}.page-hero a{color:var(--blue);font-weight:900}.partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.partner-card{background:white;border:1px solid #e9f0fb;border-radius:30px;padding:24px;display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:center;box-shadow:0 14px 44px rgba(7,20,39,.08)}.partner-card img{width:100%;height:130px;object-fit:contain;background:#f7faff;border-radius:22px;padding:14px}.text-link{color:var(--blue);font-weight:900;text-decoration:none}.recipient-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.recipient-card{background:#fff;border-radius:30px;padding:22px;text-align:center;border:1px solid #e9f0fb;box-shadow:0 14px 44px rgba(7,20,39,.08)}.recipient-card img{width:100%;max-width:230px;aspect-ratio:1/1;object-fit:contain;margin:auto;display:block}.recipient-card h3{font-size:18px;margin-top:14px}.apply-box,.story-block,.story-article{background:rgba(255,255,255,.72);border-radius:42px;padding:56px;box-shadow:0 18px 80px rgba(7,20,39,.07);border:1px solid rgba(0,90,167,.09)}.story-block h3{margin-top:28px}.story-images{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:34px}.story-images img{width:100%;height:240px;object-fit:cover;border-radius:26px;box-shadow:0 14px 44px rgba(7,20,39,.08);background:#f7faff}.story-images img:first-child{grid-column:span 2}.story-article p{font-size:19px;color:#43506a}
@media(max-width:950px){.partner-grid,.partner-card{grid-template-columns:1fr}.recipient-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.story-images{grid-template-columns:1fr}.story-images img:first-child{grid-column:auto}}@media(max-width:520px){.page-hero{padding-top:96px}.partner-card,.apply-box,.story-block,.story-article{padding:24px;border-radius:28px}.recipient-gallery{grid-template-columns:1fr}.story-images img{height:220px}}


/* Same-page payment popup */
.payment-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:22px}
.payment-modal.is-open{display:flex}
.payment-modal-backdrop{position:absolute;inset:0;background:rgba(7,20,39,.72);backdrop-filter:blur(8px)}
.payment-modal-card{position:relative;z-index:1;width:min(960px,96vw);height:min(820px,92vh);background:#fff;border-radius:30px;box-shadow:0 30px 100px rgba(0,0,0,.32);padding:24px;display:flex;flex-direction:column;overflow:hidden}
.payment-modal-close{position:absolute;right:18px;top:14px;width:42px;height:42px;border:0;border-radius:999px;background:#f1f5fb;color:#071427;font-size:30px;line-height:1;cursor:pointer}
.payment-modal-head{padding:10px 46px 16px 8px}
.payment-modal-head h2{font-size:clamp(24px,3vw,36px);margin-bottom:8px}
.payment-modal-head p:not(.eyebrow){margin:0;color:#667085}
#paymentFrame{width:100%;flex:1;border:1px solid #dbe5f5;border-radius:22px;background:#f8fbff}
#paymentFallback{margin-top:14px}
body.payment-modal-open{overflow:hidden}
@media(max-width:620px){.payment-modal{padding:10px}.payment-modal-card{height:94vh;border-radius:22px;padding:14px}.payment-modal-head{padding-right:44px}.payment-modal-close{right:12px;top:10px}}


/* A Leg Forever form success popup */
.alf-success-popup{position:fixed;inset:0;background:rgba(0,20,45,.55);display:none;align-items:center;justify-content:center;z-index:999999;padding:20px}
.alf-success-popup.is-open{display:flex}
.alf-success-box{position:relative;background:#fff;border-radius:24px;max-width:430px;width:100%;padding:34px 28px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.25);border:1px solid #dbe7f6;animation:alfPopIn .22s ease-out}
.alf-success-close{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#5d6d84}
.alf-success-icon{width:64px;height:64px;border-radius:50%;background:#0b73b7;color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900;margin:0 auto 16px}
.alf-success-box h3{margin:0 0 10px;font-size:26px;font-weight:900;color:#061832}
.alf-success-box p{margin:0 0 22px;color:#53657c;font-size:16px;line-height:1.55}
.alf-success-ok{border:0;border-radius:999px;background:#00599c;color:#fff;font-weight:900;padding:13px 34px;cursor:pointer}
.alf-ajax-form button[disabled]{opacity:.7;cursor:not-allowed}
@keyframes alfPopIn{from{transform:translateY(10px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}


/* A Leg Forever success popup and inline form confirmation */
.alf-success-popup{
  position:fixed;
  inset:0;
  background:rgba(5,20,43,.55);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:999999;
  padding:20px;
}
.alf-success-popup.is-open{
  display:flex;
}
.alf-success-box{
  width:min(440px, 92vw);
  background:#fff;
  color:#061a33;
  text-align:center;
  border-radius:24px;
  padding:34px 26px 28px;
  box-shadow:0 24px 70px rgba(0,0,0,.25);
  position:relative;
  animation:alfPopupIn .22s ease-out;
}
@keyframes alfPopupIn{
  from{transform:translateY(12px) scale(.96);opacity:0}
  to{transform:translateY(0) scale(1);opacity:1}
}
.alf-success-close{
  position:absolute;
  top:12px;
  right:14px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#eef5ff;
  color:#061a33;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.alf-success-icon{
  width:86px;
  height:86px;
  border-radius:50%;
  margin:0 auto 18px;
  background:#80d584;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:54px;
  font-weight:900;
}
.alf-success-box h3{
  margin:0 0 10px;
  font-size:25px;
}
.alf-success-box p{
  margin:0 0 22px;
  color:#53657b;
  line-height:1.5;
}
.alf-success-ok{
  border:0;
  border-radius:999px;
  background:#0069a8;
  color:#fff;
  padding:12px 28px;
  font-weight:800;
  cursor:pointer;
}
.alf-form-success-message{
  display:none;
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
  background:#e9f9ed;
  color:#14652a;
  font-weight:700;
  border:1px solid #bce7c5;
}
.alf-form-error-message{
  display:none;
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
  background:#fff1f1;
  color:#9b1c1c;
  font-weight:700;
  border:1px solid #f4bcbc;
}
