/* =====================================================================
   URGENT CAUSE SUPPORT PAGES  -  shared design
   ---------------------------------------------------------------------
   This one file styles BOTH urgent-cause donation pages:
     - Rebuild Home  : templates/website/homeless_home.html  ->  /homeless_home/
     - Educational Kit : templates/website/education_kit.html  ->  /support_educational_kit/

   Change something here  -> it changes on BOTH pages.
   Educational Kit only     -> put it in education_kit.css (loads after this file).

   HOW TO FIND THINGS: search this file for "PART" and the number.
     PART 1   Page basics: colours, font
     PART 2   Top of page (hero): title, Donate Now button, badges, photo
     PART 3   Heading above the video ("REBUILD A HOME" / "EDUCATIONAL KIT")
     PART 4   Video player
     PART 5   Quote card (the story text under the video)
     PART 6   Donation form card ("MAKE A DONATION", input boxes)
     PART 7   Form extras: PAN note, "Proceed To Pay" button
     PART 8   Tablet & phone: page layout
     PART 9   Progress bar ("raised of ... goal") - Rebuild Home only
     PART 10  Amount / kit choice buttons (Rs.500 ... or 1, 2, 5 kits)
     PART 11  Trust row ("Secure - SSL Encrypted - 100% Trusted")
     PART 12  Phone: donation form
     PART 13  Very small phones (380px wide and below)
     PART 14  Phone: amount / kit buttons
     PART 15  Phone: top title
     PART 16  Phone: "Proceed To Pay" button
     PART 17  Phone: video + quote card
     NOT USED Leftovers from an older design - nothing on these two pages
              uses them. They do no harm and can be deleted later.

   READING "@media (max-width: 768px) { ... }":
     the rules inside only apply on screens 768px wide or smaller (phones).
     Rules outside any @media apply on every screen size.
   ===================================================================== */


/* ==================================================================
   PART 1 - Page basics
   Colour names used everywhere below (var(--green), var(--blue) ...)
   and the page font. Change a colour here to change it everywhere.
   ================================================================== */
.u-page{
  --green:#0f5c33;
  --green-dark:#0a4425;
  --blue:#1e90ff;
  --blue-dark:#0d7bef;
  --orange:#f5a623;
  --ink:#1b1b1b;
  --muted:#6b7280;
  --line:#e5e7eb;
  --paper-2:#f7f5ef;
  font-family:"Kumbh Sans", sans-serif;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
.u-page *{box-sizing:border-box;}
.u-page img{max-width:100%;display:block;}
.u-page a{text-decoration:none;color:inherit;}
.u-page button{font-family:inherit;}
.u-container{max-width:1200px;margin:0 auto;padding:0 24px;}


/* ==================================================================
   PART 2 - Top of page (hero)
   Small badge, big blue title, Donate Now button, the 3 trust badges
   and the photo on the right. Photo size: see .u-hero-img-wrap img.
   NOT USED here: .u-container, .u-hero-lead, .link-underline,
   .accent-0/.accent-1 (only in commented-out HTML).
   ================================================================== */
/* ===== HERO ===== */
.u-hero{
  background: linear-gradient(180deg, #fdf3e4 0%, #fdf6ea 60%, #fff 100%);
  padding:44px 0 30px;
  border-radius:0 0 28px 28px;
  position:relative;
  overflow:hidden;
}
.u-hero-inner{
  max-width:1271px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1.05fr 1fr;gap:15px;align-items:center;
  padding-top: 10px;
  padding-bottom: 25px;border-radius: 20px;

}
.u-eyebrow{
  display:inline-block;background:#fff;border:1px solid #f0d9b5;color:#b5791a;
  font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:20px;margin-bottom:16px;
}
.u-hero-title{
  font-size:35px;line-height:1.14;margin:0 0 14px;font-weight:800;letter-spacing:-.5px;
}
.accent-1{color :#020202 ;display:block; serif;font-weight:700;font-size: larger;
}

.accent-0{color :#020202 ;display:block; serif;font-weight:700;font-size: larger;
}
.u-hero-title .accent{color : #020202;display:block; serif;font-weight:700;font-size: larger;}
.u-hero-lead{font-size:15.5px;color:#4b5563;max-width:440px;margin:0 0 20px;line-height:1.6;}
.u-hero-badges{display:flex;gap:10px;flex-wrap:wrap;padding-top:10px;}
.u-hero-badge{
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:8px 14px;
  font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:6px;color:#374151;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
}
.u-hero-cta{display:flex;align-items:center;gap:45px;flex-wrap:wrap;padding-left:22%;}
.u-btn-primary{
     background: #0d7bee;
    color: #fff;
    padding: 15px 26px;
    border-radius: 26px;
    font-weight: 700;
    font-size: 21px;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: .2s;
}
.u-btn-primary:hover{background:var(--green);transform:translateY(-1px);}
.link-underline{font-weight:700;font-size:16.5px;border-bottom:2px solid var(--ink);padding-bottom:2px;display:inline-flex;gap:6px;align-items:center;}


.u-hero-img-wrap{
 height: 100%;
  position:relative;
}
/* Fixed 3:2 box on every screen, so a 1500x1000 hero image fits exactly
   with nothing cropped (about 589x393 on a laptop). */
.u-hero-img-wrap img{
  border-radius:24px;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;
  box-shadow:0 20px 50px rgba(0,0,0,.15);
}
/* NOT USED: floating price card on the hero photo (.u-hero-float-card) */
.u-hero-float-card{
    position: absolute;
      top: -5px;
    right: -5px;
    background: #fff;
    border-radius: 7px 31px;
    padding: 7px 26px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .25);
    text-align: left;
    min-width: 140px;
    border-right: inset;
}
.u-hero-float-card .lbl-top{font-size:11px; padding-left: 15px; color:var(--muted);font-weight:600;}
.u-hero-float-card .amt{font-size:24px;font-weight:900;color:var(--green);margin:2px 0;}
.u-hero-float-card .lbl-bottom{font-size:12px;color:#374151;font-weight:600;}


/* ==================================================================
   NOT USED - service strip, description box, meal strip
   Old design pieces; no element on these pages has these classes.
   ================================================================== */
/* ===== SERVICE STAT STRIP (circles) ===== */
.u-service-strip{max-width:1200px;margin:18px auto 0;padding:0 24px;}
.u-service-strip-inner{
  background:linear-gradient(120deg,var(--green-dark),var(--green));
  border-radius:22px;color:#fff;padding:28px 32px;
  display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;
  box-shadow:0 16px 40px rgba(15,92,51,.25);
}
.u-service-strip-inner h3{margin:0 0 8px;font-size:19px;font-weight:900;letter-spacing:.5px;}
.u-service-strip-inner p{margin:0;font-size:13.5px;line-height:1.6;opacity:.92;font-style:italic;font-family:"Playfair Display",serif;}
.u-service-circles{display:flex;gap:14px;justify-content:flex-end;flex-wrap:wrap;}
.u-service-circle{
  width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.14);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:10.5px;font-weight:700;text-align:center;line-height:1.25;
}
.u-service-circle i{font-size:15px;margin-bottom:2px;}

/* description */
.u-about-wrap{position:relative;max-width:1200px;margin:22px auto 0;padding:0 24px;}
.u-about__pull{
  font-size:16.5px;line-height:1.85;font-style:normal;color:#374151;
  background:var(--paper-2);border-left:4px solid var(--green);
  border-radius:0 10px 10px 0;padding:14px 18px;margin:0;
}
.u-about__pull .quote{font-weight:700;color:var(--green-dark);}
.u-desc-toggle{
  display:none;width:34px;height:34px;border-radius:50%;border:none;background:#fff;
  box-shadow:0 4px 12px rgba(0,0,0,.18);align-items:center;justify-content:center;
  color:var(--blue);font-size:16px;position:absolute;right:34px;bottom:8px;z-index:5;
}
.u-meal-strip{max-width:1200px;margin:16px auto 0;padding:0 24px;display:flex;gap:10px;flex-wrap:wrap;}
.u-meal-item{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:10px 14px;display:flex;flex-direction:column;align-items:center;gap:4px;
  min-width:78px;box-shadow:0 4px 10px rgba(0,0,0,.04);
}
.u-meal-item__icon{font-size:18px;}
.u-meal-item__lbl{font-size:10.5px;font-weight:700;color:#374151;text-align:center;}


/* ==================================================================
   PART 3 - Heading above the video
   "REBUILD A HOME" / "EDUCATIONAL KIT", and the 2-column grid that puts
   the video (left) next to the donation form (right).
   ================================================================== */
/* ===== DONATION SECTION (reel + quote + form) ===== */
.u-donate-sec{padding:15px 0 70px;background:#fff;}
.u-donate-grid{
  max-width:1200px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:0.85fr 1.4fr;gap:40px;align-items:start;
}
.u-donate-heading .u-kicker{width:44px;height:4px;background:var(--orange);border-radius:2px;margin-bottom:10px;}
.u-donate-heading h2{
   font-size: 35px;
    font-weight: 900;
    margin: 0 0 6px;}



.u-donate-heading h2 .g{color: #1e90ff;}
.u-donate-heading p{color:var(--muted);font-size:14.5px;margin:0 0 22px;}


/* ==================================================================
   PART 4 - Video player
   The video: 270px wide x 480px tall = the exact 9:16 shape of a phone
   video, so the whole video shows with nothing cropped.
   Change the height in .u-donate-photo, the width in .u-reel__video.
   ================================================================== */
/* Reel panel */
.u-donate-photo{
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    display:flex;
    justify-content:center;
    background:#fafafa;
    border:1px solid var(--line);
    height:480px;
}
/* ===== Reel player =====
   Vertical 9:16 inside the 480px-tall panel, so the reel fills the
   frame instead of sitting letterboxed in a landscape box. */
.u-reel{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  background:transparent;
  border:0;
}
.u-reel__video{
  /* The panel is a fixed 480px tall, so the reel width is pinned to
     480 x 9/16 = 270px -- the videos are 1080x1920, a true 9:16, so
     nothing is cropped. A wider box would cut off the top and bottom. */
  height:100%;
  width:270px;
  max-width:100%;
  object-fit:cover;
  border-radius:20px;
  display:block;
  background:#000;
  cursor:pointer;
}
.u-reel__play{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:74px;
  height:74px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:opacity .2s ease, transform .2s ease, background .2s ease;
  z-index:2;
}
.u-reel__play:hover{background:rgba(0,0,0,.72);transform:translate(-50%,-50%) scale(1.06);}
.u-reel__play:focus-visible{outline:3px solid #0d7bee;outline-offset:3px;}
/* Hidden while playing; the video itself stays clickable to pause. */
.u-reel__play.is-hidden{opacity:0;pointer-events:none;}
.u-reel__icon{
  width:0;
  height:0;
  margin-left:6px;
  border-top:15px solid transparent;
  border-bottom:15px solid transparent;
  border-left:24px solid #fff;
}
/* ==================================================================
   PART 5 - Quote card
   The white card with the story text under the video.
   Max 422px wide (Educational Kit makes it 415px in education_kit.css).
   ================================================================== */

.u-quote-card{
  background: #fff;
    border-radius: 16px;
    box-shadow: 0 14px 34px rgb(0 0 0 / 40%);
    padding: 17px 19px;
    margin-top: 4%;
    margin-left: 0px;
    max-width: 422px;
    position: relative;
    z-index: 2;
}
.u-quote-card .quote-mark{font-size:32px;color:var(--orange);font-family:Georgia,serif;line-height:.5;display:block;margin-bottom:6px;}
.u-quote-card p{
    font-family: 'inherit';
    
    font-size: 15px;
    margin: 0 0 10px;
    color: #1f2937;
    line-height: 1.5;
  }
.u-quote-toggle{display:none;}
.u-quote-card cite{font-size:12px;color:var(--muted);font-style:normal;font-weight:700;}


/* ==================================================================
   PART 6 - Donation form card
   "MAKE A DONATION" title, the blue strip with the total, and the
   input boxes (name, address, phone, email, PAN).
   ================================================================== */
/* Form card (exact model) */
.u-form-card{
  background:#fff;border:1px solid #e6e9ee;border-radius:22px;overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,.06), 0 20px 40px rgba(0,0,0,.08);
  transition:.3s ease;
}
.u-form-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.10), 0 20px 40px rgba(0,0,0,.16);}
.u-form-card__head{padding:26px 30px 6px;}
.u-form-card__head-title{
  font-size:2rem;font-weight:400;line-height:1.1;letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px;
}
.u-form-card__head-title .title-black{font-weight:900;color:#1b1b1b;font-family:"Kumbh Sans", sans-serif;}
.u-form-card__head-title .title-blue{font-weight:900;color:#129fff;margin-left:6px;font-family:"Kumbh Sans", sans-serif;}
.u-form-card__head-sub{font-size:13.5px;color:var(--muted);}
.u-form-card__price-strip{
  margin-top:16px;background:linear-gradient(90deg,var(--blue),var(--blue-dark));
  padding:14px 30px;display:flex;align-items:center;justify-content:space-between;color:#fff;
}
.u-form-card__price-lbl{font-size:16px;font-weight:900;letter-spacing:1px;text-transform:uppercase;}
.u-form-card__price-right{display:flex;flex-direction:column;align-items:flex-end;}
.u-form-card__price-caption{font-size:11px;font-weight:700;opacity:.9;}
.u-form-card__price-val{font-size:24px;font-weight:800;}
.u-form-body{padding:10px 30px 30px;}
.u-sum-qty-hidden{display:none;}

/* fields */
.u-field-label{
  display:block;font-size:15px;letter-spacing:.4px;color:#000;margin-bottom:6px;
  font-family:"Kumbh Sans", sans-serif;font-weight:600;
}
.u-input-wrap{position:relative;}
.u-input-wrap .u-icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:#9ca3af;font-size:14px;display:flex;align-items:center;gap:4px;pointer-events:none;
}
.u-input-wrap input{
  width:100%;border:1.6px solid #8a8a8a;border-left:4px solid #dc3545;
  border-radius:12px;padding:11px 14px 11px 40px;font-size:15px;color:#111;background:#fff;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.u-input-wrap input:hover{box-shadow:0 4px 12px rgba(0,0,0,.08); border-left-color:#dc3545;}
.u-input-wrap input:focus{
  outline:none;border-color:#e2e5ea;border-left:4px solid #dc3545;box-shadow:0 6px 16px rgba(0,0,0,.10);
}
.u-input-wrap input:required:valid{border-left:4px solid #dc3545;}
.u-input-wrap input:required:invalid{border-left:4px solid #ff0000;}
.u-input-wrap.u-phone-wrap input{padding-left:78px;}
.u-phone-code{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  font-size:13.5px;font-weight:700;color:#374151;display:flex;align-items:center;gap:4px;pointer-events:none;
}
#u-pan{border-left:1.5px solid #e2e5ea !important;}
#u-pan:hover, #u-pan:focus, #u-pan:invalid{border-left:1.5px solid #e2e5ea !important;}
#u-pan:valid{border-left:1.7px solid #7e8692 !important;}

.u-custom-row{display:flex;gap:10px;align-items:center;margin-top:10px;margin-right:24px;}


/* ==================================================================
   NOT USED - .u-pills amount buttons
   Copied from service_details.html. These pages use the
   .atf-home-amount-pill buttons instead (PART 10).
   ================================================================== */
/* Amount selection pills - copied from service_details.html */
.u-pills-row {
    width: 100%;
    margin-top: 12px;
    overflow: hidden;
}

.u-pills {
    display: flex;
    width: 100%;
    gap: 8px;
    flex-wrap: nowrap;
    padding-top:4px;
    margin-bottom: 11px;
}

.u-pill {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 8px;

    background: #fff;
    border: 1.5px solid #d9dee5;
    border-radius: 10px;

    color: #333;
    font-family: "Kumbh Sans", sans-serif;
    font-size: 14px;
    font-weight: 700;

    cursor: pointer;
    white-space: nowrap;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.u-pill:hover {
    border-color: #1e90ff;
    color: #1e90ff;
    transform: translateY(-1px);
}

.u-pill.is-on {
    background: #1e90ff;
    border-color: #1e90ff;
    color: #fff;
    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.20);
}

.u-pill:focus {
    outline: none;
}

/* Phone: .u-pill rules below are NOT USED; .u-donate-heading p is. */
/* ===== MOBILE ===== */

@media (max-width: 768px) {

    .u-pills {
        gap: 5px;
    }

    .u-pill {
        height: 42px;
        padding: 0 4px;
        font-size: 11px;
        border-radius: 8px;
    }
    .u-donate-heading p{color:var(--muted);font-size:16.5px;margin:0 0 0px;}

}

/* ==================================================================
   PART 7 - Form extras
   PAN / receipt info notes, the "Proceed To Pay" button (.u-donate-btn)
   and the trust row base style.
   NOT USED here: .u-custom-input, .u-custom-lbl, #u-custom-error,
   .u-min-note, .u-form-note.
   ================================================================== */
.u-custom-input{flex:1;border:1.5px solid #e2e5ea;border-radius:10px;padding:10px 12px;font-size:14px;}
.u-custom-lbl{font-size:13px;color:var(--muted);}
#u-custom-error{display:none !important;}
.u-min-note{font-size:13px;color:var(--muted);margin:10px 0 20px;}

.u-pan-info{
  margin-top:12px;border-radius:10px;padding:8px 12px !important;
  background:var(--paper-2);border:1px solid var(--line);color:#4b5563;
  font-family:"Playfair Display", serif;font-size:11.5px;
}
.u-pan-info span{display:flex;align-items:flex-start;gap:8px;line-height:1.5;}
.u-pan-info i{flex-shrink:0;margin-top:2px;font-size:14px;color:var(--blue);}

.u-donate-btn,
.u-donate-btn:hover,.u-donate-btn:focus,.u-donate-btn:active,.u-donate-btn:visited,.u-donate-btn:focus-visible{
  color:#fff !important;text-decoration:none !important;
}
.u-donate-btn{
  width:100%;background:#1e90ff;border:none;border-radius:16px;padding:15px;
  font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;
  cursor:pointer;transition:.2s;margin-top:22px;
}
.u-donate-btn:hover{background:#0d7bef;}
.u-donate-btn:disabled{opacity:.6;cursor:not-allowed;color:#fff !important;}
.u-form-note{text-align:center;font-size:12.5px;color:var(--muted);margin:16px 0 14px;}
.u-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;}
.u-trust-item{font-size:12.5px;color:#4b5563;font-weight:600;}


/* ==================================================================
   NOT USED - gallery, impact stats, testimonials, newsletter
   These sections are not on either page (gallery is commented out).
   ================================================================== */
/* ===== GALLERY ===== */
#u-gallery .heading{font-size:28px;font-weight:900;margin:0 0 6px;text-align:center;}
#u-gallery .subheading{font-size:14.5px;color:var(--muted);text-align:center;}
.gallery-item .img-style{width:100%;height:260px;overflow:hidden;border-radius:12px;}
.gallery-item .img-style img{width:100%;height:100%;object-fit:cover;display:block;}

/* ===== IMPACT STATS (decorative, matches model) ===== */
.u-impact-strip{background:var(--paper-2);padding:20px 0;margin-top:20px;}
.u-impact-grid{
  max-width:1200px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;
}
.u-impact-item i{font-size:24px;color:var(--green);margin-bottom:8px;}
.u-impact-num{font-size:22px;font-weight:900;color:#111827;}
.u-impact-lbl{font-size:12.5px;color:var(--muted);margin-top:2px;}

/* ===== TESTIMONIALS (decorative, matches model) ===== */
.u-testi-sec{padding:10px 0;}
.u-testi-grid{
  max-width:1200px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
}
.u-testi-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;
  box-shadow:0 6px 18px rgba(0,0,0,.05);
}
.u-testi-card .q{font-size:24px;color:var(--orange);font-family:Georgia,serif;line-height:.6;margin-bottom:10px;display:block;}
.u-testi-card p{font-size:14px;color:#374151;line-height:1.6;margin:0 0 14px;}
.u-testi-card .who{font-size:13px;font-weight:800;color:#111827;}

/* ===== NEWSLETTER (decorative, matches model) ===== */
.u-news-sec{padding:0 0 50px;}
.u-news-inner{
  max-width:1200px;margin:0 auto;padding:0 24px;
}
.u-news-card{
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 30px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center;
}
.u-news-left{display:flex;gap:16px;align-items:flex-start;}
.u-news-left .icon{font-size:24px;}
.u-news-left h4{margin:0 0 4px;font-size:16.5px;font-weight:800;}
.u-news-left p{margin:0 0 14px;font-size:13.5px;color:var(--muted);}
.u-news-form{display:flex;gap:10px;max-width:360px;}
.u-news-form input{flex:1;border:1.5px solid var(--line);border-radius:10px;padding:11px 14px;font-size:14px;}
.u-news-form button{
  background:var(--green-dark);color:#fff;border:none;padding:11px 20px;border-radius:10px;font-weight:700;cursor:pointer;
}


/* ==================================================================
   PART 8 - Tablet & phone: page layout
   1024px and below: everything stacks into one column, photo on top.
   768px and below: smaller title, phone spacing.
   (.u-impact / .u-testi / .u-news / .u-service rules here are NOT USED.)
   ================================================================== */
/* ===== MOBILE ===== */
@media (max-width:1024px){
  .u-hero-inner{grid-template-columns:1fr;}
  .u-hero-img-wrap{order:-1;}
  .u-hero-img-wrap img{max-width:640px;margin:0 auto;}
  .u-donate-grid{grid-template-columns:1fr;}
  .u-impact-grid{grid-template-columns:repeat(2,1fr);}
  .u-testi-grid{grid-template-columns:1fr;}
  .u-news-card{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .u-hero{padding:24px 0;border-radius:0;}
  .u-hero-title{font-size:28px;}
  .u-hero-img-wrap img{border-radius:16px;} /* no max-height: it would break the 3:2 */
  .u-hero-float-card{        right: -9px;
        top: -8px;
        padding: 12px 14px;
        min-width: 110px;
      }
  .u-hero-float-card .amt{font-size:18px;}
  .u-service-strip-inner{grid-template-columns:1fr;text-align:left;}
  .u-service-circles{justify-content:flex-start;}
  .u-meal-strip{display:none !important;}

  .u-about-wrap{margin-top:16px;padding:0 16px;}
  .u-about__pull{
    font-size:15.5px;line-height:1.6;padding:14px 16px;
    border-left-width:4px;border-radius:0 6px 6px 0;font-family:"Playfair Display", serif;
    position:relative;overflow:hidden;max-height:115px;transition:max-height .35s ease;
  }
  .u-about__pull.is-expanded{max-height:1000px;}
  .u-desc-toggle{display:flex;right:24px;}

  .u-donate-sec{padding:26px 0 10px;}
  .u-donate-grid{padding:0 16px;}
 
  
  .u-form-card{border-radius:16px;}
  .u-form-card__head{padding:20px;}
  .u-form-card__head-title{font-size:1.4rem;font-weight:900;}
  .u-form-card__price-strip{padding:14px 20px;}
  .u-form-card__price-val{font-size:20px;}
  .u-form-body{padding:20px 16px;}
  .u-input-wrap input{height:48px;font-size:15px;}
  .u-phone-wrap input{padding-left:76px;}
  .u-donate-btn{height:52px;font-size:16px;}

  .u-pan-info{width:100%;padding:5px !important;}
  .u-pan-info span{font-size:11px;}

  .gallery-item .img-style{height:180px;}

  .u-impact-grid{grid-template-columns:1fr 1fr;padding:0 16px;}
  .u-testi-grid{grid-template-columns:1fr;padding:0 16px;}
  .u-news-inner{padding:0 16px;}
  .u-news-card{padding:20px;}
}
/* Top section background colour (PART 2) */
.hero-home{
 background: linear-gradient(180deg, #fdf3e4 0%, #fdf6ea 60%, #fff 100%);   
}
.button-container{

}


/* ==================================================================
   PART 9 - Progress bar
   "Rs.1,500 raised of Rs.1,50,000 goal" box. Rebuild Home shows it;
   Educational Kit only shows it once a target amount is set.
   ================================================================== */
/* ===== CAMPAIGN PROGRESS ===== */
.u-goal{
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:16px 18px;margin:0 0 10px;max-width:470px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.u-goal__title{font-size:13px;font-weight:800;color:var(--green-dark);margin:0 0 10px;letter-spacing:.2px;}
.u-goal__row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px;}
.u-goal__raised{font-size:23px;font-weight:900;color:var(--green);line-height:1;}
.u-goal__raised small{font-size:12.5px;font-weight:700;color:var(--muted);margin-left:5px;}
.u-goal__pct{font-size:13px;font-weight:800;color:var(--blue-dark);}
.u-goal__track{height:11px;border-radius:9px;background:#eef1f4;overflow:hidden;}
.u-goal__fill{
  height:100%;border-radius:9px;width:0;
  background:linear-gradient(90deg,var(--green),#25a35d);
  transition:width .6s ease;
}
.u-goal__meta{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-size:12.5px;color:#374151;font-weight:600;}
.u-goal__meta b{color:var(--ink);}
.u-goal--done .u-goal__fill{background:linear-gradient(90deg,#1e90ff,#0d7bef);}

/* Progress box width on tablet / phone (900px and below) */
@media (max-width:900px){
  .u-goal{max-width:100%; width: 315px;}
  
}
/* Heading centred + the "You will receive your receipt on WhatsApp
   and Email" info box (#numn_email) */
.u-donate-heading h2{text-align: center; padding-bottom:15px;}
#numn_email {
    background: #f4f8ff;
    border: 1px solid #d6e4ff;
    color: #3f4f66;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.5;
    padding: 10px 30px !important;
    margin: 14px !important;
    width: 633px;
}



/* ==================================================================
   PART 10 - Amount / kit choice buttons
   The row of buttons: Rs.500 ... on Rebuild Home, 1, 2, 5 ... kits on
   Educational Kit, plus the Custom box. Named atf-home-* so the
   site-wide custom_v2.js script never touches them.
   ================================================================== */
/* =========================================
   ATF HOME DONATION AMOUNT SELECTOR
   Unique classes to avoid custom_v2.js conflict
========================================= */

.atf-home-amount-row {
    width: 100%;
    margin-top: 12px;
    overflow: hidden;
}

.atf-home-amount-pills {
    display: flex;
    width: 100%;
    gap: 8px;
    flex-wrap: nowrap;
    padding-top: 4px;
    margin-bottom: 11px;
}

.atf-home-amount-pill {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 8px;

    background: #fff;
    border: 1.5px solid #d9dee5;
    border-radius: 10px;

    color: #333;

    font-family: "Kumbh Sans", sans-serif;
    font-size: 14px;
    font-weight: 700;

    cursor: pointer;
    white-space: nowrap;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.atf-home-amount-pill:hover {
    border-color: #1e90ff;
    color: #1e90ff;
    transform: translateY(-1px);
}

.atf-home-amount-pill.is-on {
    background: #1e90ff;
    border-color: #1e90ff;
    color: #fff;

    box-shadow: 0 4px 12px rgba(30, 144, 255, 0.20);
}

.atf-home-amount-pill:focus {
    outline: none;
}

.atf-home-custom-row {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
    margin-right: 24px;
}

.atf-home-custom-input {
    flex: 1;
    border: 1.5px solid #e2e5ea;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 14px;
}

.atf-home-custom-label {
    font-size: 13px;
    color: var(--muted);
}

@media (max-width: 768px) {

    .atf-home-amount-pills {
        gap: 5px;
    }

    .atf-home-amount-pill {
        height: 45px;
        padding: 0 4px;
        font-size: 11px;
        border-radius: 8px;
    }

}



/* ==================================================================
   PART 11 - Trust row
   "Secure - SSL Encrypted - 100% Trusted - Instant Receipt" under the
   Pay button, kept on one line.
   ================================================================== */
/* Trust items - always keep in a single row */
.u-trust {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between;
    align-items: center;
    gap: 4px;
    width: 100%;
}

.u-trust-item {
    flex: 1 1 2;
    min-width: 0;
    white-space: nowrap;
    text-align: center;
    font-size: 12px;
}

@media (max-width: 768px) {
    .u-trust {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 2px;
        padding: 0;
    }

    .u-trust-item {
        font-size: 9px;
        white-space: nowrap;
    }
}


.u-trust {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}



/* ==================================================================
   PART 12 - Phone: donation form
   Everything about the form on screens 768px and below.
   ================================================================== */
/* =====================================================
   ATF HOME DONATION FORM - MOBILE RESPONSIVE ONLY
   Desktop styles remain unchanged
===================================================== */

@media (max-width: 768px) {

    /* Form section spacing */
    .u-donate-sec {
        padding: 0px 0 10px;
    }

    .u-donate-grid {
        display: block;
        padding: 0 12px;
    }

    /* Hide left content on mobile */


    /* Main form card */
    .u-form-card {
        width: 100%;
        max-width: 100%;
        border-radius: 14px;
        margin: 0 auto;
        overflow: hidden;
    }

    /* Form heading */
    .u-form-card__head {
        padding: 18px 16px 8px;
    }

    .u-form-card__head-title {
        font-size: 1.35rem;
        line-height: 1.2;
        letter-spacing: .3px;
    }

    .u-form-card__head-sub {
        font-size: 12px;
        line-height: 1.5;
        margin-top: 4px;
    }

    /* Amount blue strip */
    .u-form-card__price-strip {
        padding: 12px 16px;
        min-height: 58px;
    }

    .u-form-card__price-lbl {
        font-size: 12px;
        letter-spacing: .5px;
    }

    .u-form-card__price-right {
        align-items: flex-end;
    }

    .u-form-card__price-caption {
        font-size: 10px;
    }

    .u-form-card__price-val {
        font-size: 19px;
        line-height: 1.2;
    }

    /* Form body */
    .u-form-body {
        padding: 16px 14px 20px;
    }

    /* Bootstrap row spacing */
    .u-form-body .row {
        --bs-gutter-x: 0;
        --bs-gutter-y: 12px;
        margin-left: 0;
        margin-right: 0;
    }

    .u-form-body .row > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

    /* Labels */
    .u-field-label {
        font-size: 13px;
        margin-bottom: 5px;
    }

    /* Inputs */
    .u-input-wrap input {
        width: 100%;
        height: 46px;
        padding: 10px 12px 10px 38px;
        font-size: 14px;
        border-radius: 10px;
    }

    /* Phone input */
    .u-input-wrap.u-phone-wrap input,
    .u-phone-wrap input {
        padding-left: 72px;
    }

    .u-phone-code {
        left: 11px;
        font-size: 12px;
    }

    .u-input-wrap .u-icon {
        left: 12px;
        font-size: 13px;
    }

    /* PAN */
    #u-pan {
        padding-left: 38px;
    }

    /* WhatsApp / Email info alert */
    #numn_email {
        width: 100% !important;
        max-width: 100%;
        margin: 4px 0 4px !important;
        padding: 8px 10px !important;
        font-size: 11px;
        line-height: 1.45;
        border-radius: 8px;
    }

    #numn_email span {
        display: flex;
        align-items: flex-start;
        gap: 7px;
    }

    #numn_email i {
        flex-shrink: 0;
        margin-top: 2px;
        font-size: 12px;
    }

    /* Amount label */
    .atf-home-amount-row {
        margin-top: 5px;
        overflow: visible;
    }

    /* Amount buttons */
    .atf-home-amount-pills {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 6px;
        width: 100%;
        padding-top: 2px;
        margin-bottom: 8px;
    }

    .atf-home-amount-pill {
        width: 100%;
        min-width: 0;
        height: 40px;
        padding: 0 3px;
        font-size: 10.5px;
        border-radius: 8px;
        white-space: nowrap;
    }

    .atf-home-amount-pill:hover {
        transform: none;
    }

    .atf-home-amount-pill.is-on {
        box-shadow: 0 3px 8px rgba(30, 144, 255, .18);
    }

    /* Custom amount */
    .atf-home-custom-row {
        width: 100%;
        margin: 7px 0 0;
        gap: 7px;
    }

    .atf-home-custom-input {
        width: 100%;
        min-width: 0;
        height: 42px;
        padding: 9px 10px;
        font-size: 13px;
        border-radius: 8px;
    }

    .atf-home-custom-label {
        font-size: 12px;
    }

    /* Custom amount error */
    #atf-home-custom-amount-error {
        font-size: 11px;
        line-height: 1.4;
        margin-top: 4px;
    }

    /* PAN info */
    .u-pan-info {
        width: 100%;
        margin-top: 6px !important;
        padding: 7px 9px !important;
        font-size: 10.5px;
        line-height: 1.4;
        border-radius: 8px;
    }

    .u-pan-info span {
        display: flex;
        align-items: flex-start;
        gap: 6px;
    }

    .u-pan-info i {
        font-size: 11px;
        margin-top: 2px;
    }

    /* Error message */
    #u-message {
        font-size: 12px !important;
        line-height: 1.4;
        margin-top: 2px;
    }

    /* Proceed to Pay button */
    .button-container {
        width: 100%;
        margin-top: 4px !important;
    }

    .u-donate-btn {
        width: 100%;
        height: 48px;
        min-height: 48px;
        padding: 10px 14px;
        margin-top: 8px;
        border-radius: 11px;
        font-size: 14px;
    }

    /* Trust items */
    .u-trust {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 7px 10px;
        margin-top: 14px;
        padding: 0 4px;
    }

    .u-trust-item {
        font-size: 10.5px;
        text-align: center;
    }
}



/* ==================================================================
   PART 13 - Very small phones (380px wide and below)
   ================================================================== */
/* Very small mobile screens */
@media (max-width: 380px) {

    .u-donate-grid {
        padding: 0 8px;
    }

    .u-form-card__head {
        padding: 16px 13px 7px;
    }

    .u-form-card__head-title {
        font-size: 1.2rem;
    }

    .u-form-card__head-sub {
        font-size: 11px;
    }

    .u-form-card__price-strip {
        padding: 11px 13px;
    }

    .u-form-card__price-lbl {
        font-size: 11px;
    }

    .u-form-card__price-val {
        font-size: 18px;
    }

    .u-form-body {
        padding: 14px 11px 18px;
    }

    .atf-home-amount-pills {
        grid-template-columns: repeat(4, 1fr);
        gap: 5px;
    }

    .atf-home-amount-pill {
        height: 38px;
        font-size: 9.5px;
        padding: 0 2px;
    }

    .u-input-wrap input {
        height: 44px;
        font-size: 13px;
    }

    .u-donate-btn {
        height: 46px;
        font-size: 13px;
    }
}


/* ==================================================================
   PART 14 - Phone: amount / kit buttons
   Bigger, left-aligned choice buttons on phones.
   ================================================================== */
/* =====================================================
   MOBILE - AMOUNT SELECTOR ALIGNMENT
===================================================== */

@media (max-width: 768px) {

    /* Select Amount label - left align */
    .u-form-body .u-field-label {
        text-align: left;
    }

    /* Amount section remove unwanted left spacing */
    .atf-home-amount-row {
        width: 100%;
        margin-left: 5px;
        margin-right: 0;
        padding-left: 0;
    }

    .atf-home-amount-pills {
        width: 100%;
        margin-left: 0;
        margin-right: 0;

        /* Bigger buttons */
        gap: 7px;
        grid-template-columns: repeat(4, 1fr);
    }

    .atf-home-amount-pill {
        height: 45px;
        min-height: 45px;

        /* Increase button text */
        font-size: 14px;
        font-weight: 600;

        padding: 0 5px;
        border-radius: 9px;
    }
}





/* ==================================================================
   PART 15 - Phone: top title
   Smaller title on phones; the 3 trust badges are hidden on phones.
   ================================================================== */
@media (max-width: 768px) {
    .u-hero-title .accent-0,
    .u-hero-title .accent-1 {
        display: none !important;
    }

    .u-hero-title .accent{
      font-size: 29px;
    }
    .u-hero-title {
        font-size: 28px;
    }
    .link-underline,
    .u-hero-badges,
    .u-hero-lead{
      display: none !important;
    }

    .u-hero-cta {
        display: flex;
        align-items: center;
        gap: 45px;
        flex-wrap: wrap;
        padding-left:20%;
        padding-top:7px;
    }

}


/* ==================================================================
   PART 16 - Phone: "Proceed To Pay" button
   Centred, at least 230px wide.
   ================================================================== */
@media (max-width: 768px) {

    .button-container {
        display: flex !important;
        justify-content: center !important;
        width: 100%;
    }

    .u-donate-btn {
        width: auto !important;
        min-width: 230px;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* ==================================================================
   PART 17 - Phone: video + quote card
   Video panel full width, video itself 270x480 centred; quote card full width with
   "View More" to open the full story.
   ================================================================== */
@media (max-width: 768px) {

    /* Show donation heading section on mobile */
    .u-donate-heading {
        display: block !important;
        width: 100%;
        margin-bottom: 65px;
    }

    /* Show the reel */
    .u-donate-photo {
        display: flex !important;
        width: 100%;
        height: 480px;
        margin: 15px auto;
        border-radius: 16px;
        overflow: hidden;
    }

    /* Optional: Show quote card */
    .u-quote-card {
        display: block !important;
        width: 100%;
        max-width: 100%;
        margin: 15px 0 0;
    }
      .u-quote-card p{
        display:-webkit-box;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:3;
        overflow:hidden;
      }
      .u-quote-card p.is-expanded{
        display:block;
        overflow:visible;
      }
      .u-quote-toggle{
        display:inline-flex;
        margin:0 0 10px;
        padding:0;
        border:0;
        background:transparent;
        color:var(--blue-dark);
        font-size:13px;
        font-weight:700;
        cursor:pointer;
      }

    .hero-home{
      padding-top:0px !important;
    }
}
