<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en" />

<meta property="og:image" content="https://w2.chabad.org/media/images/1074/oDew10749824.png" itemprop="image" width="150" height="150" />
<meta property="og:image:width" content="150" />
<meta property="og:image:height" content="150" />
<meta name="keywords" content="Glossary,of,Terms" />
<meta name="title" content="Glossary of Terms - Chabad of Palm Coast" />
<meta property="og:type" content="website" />
<meta name="scope-aids" content="3124761-3124769-5205616-4646764-4646791-4646796" />
<meta name="article-keywords" content="19478-19479-19958-20962-8495-8972-18927-19353-19480-2170-2898-2471-537-6939-31567-32228-63" />
<meta name="scope-aid" content="3124761" />
<meta name="scope-aid" content="3124769" />
<meta name="scope-aid" content="5205616" />
<meta name="scope-aid" content="4646764" />
<meta name="scope-aid" content="4646791" />
<meta name="scope-aid" content="4646796" />
<meta name="article-keyword" content="19478" />
<meta name="article-keyword" content="19479" />
<meta name="article-keyword" content="19958" />
<meta name="article-keyword" content="20962" />
<meta name="article-keyword" content="8495" />
<meta name="article-keyword" content="8972" />
<meta name="article-keyword" content="18927" />
<meta name="article-keyword" content="19353" />
<meta name="article-keyword" content="19480" />
<meta name="article-keyword" content="2170" />
<meta name="article-keyword" content="2898" />
<meta name="article-keyword" content="2471" />
<meta name="article-keyword" content="537" />
<meta name="article-keyword" content="6939" />
<meta name="article-keyword" content="31567" />
<meta name="article-keyword" content="32228" />
<meta name="article-keyword" content="63" />
<meta property="og:url" content="https://www.chabadpalmcoast.com/" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:site" content="@chabad" />
<meta property="og:title" content="Glossary of Terms - Chabad of Palm Coast" /><link rel="canonical" href="https://www.chabadpalmcoast.com/" />
<link rel="icon" type="image/png" href="https://www.chabadpalmcoast.com/media/images/1074/oDew10749824.png" />
<link rel="Stylesheet" href="/css/fonts/font-awesome/font-awesome-5.css?v=2D6ABDDB" id="kfont-awesome" type="text/css"/>
<link rel="Stylesheet" href="/css/DefaultGrid.css?v=A13D74E8" id="kgrid" type="text/css"/>
<link rel="Stylesheet" href="/css/Elements.css?v=7A8278DB" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/vendor/ds/tokens/sites.css?v=77EFEE59" id="ksites-ds-css" type="text/css"/>
<link rel="Stylesheet" href="/css/vendor/ds/tokens/sites-light.css?v=F05E3D94" id="ksites-light-ds-css" type="text/css"/>
<link rel="Stylesheet" href="/css/new/main.css?v=220E279D" id="k7" type="text/css"/>
<link rel="Stylesheet" href="/css/old/global.css?v=43DDBA77" id="k2898" type="text/css"/>
<link rel="Stylesheet" href="/css/cco/minisites/themes/plannedgiving/styles.css?v=6BD6A965" id="k19353" type="text/css"/>
<link rel="Stylesheet" href="https://w2.chabad.org/css/cco/minisites/global.css" id="k20962" type="text/css"/>
<link rel="Stylesheet" href="/css/bootstrap/grid.css?v=F4390F2B" id="kbootstrap4-grid" type="text/css"/>
<link rel="Stylesheet" href="/css/Library/reader-comments.css?v=8AB57D79" id="kCommentsStylesheet" type="text/css"/>
<link rel="Stylesheet" href="/css/inline/BookInfo.css?v=3D052243" id="kBookInfoCss" type="text/css"/>

<script>$q=[];$j=function(f){$q.push(f);}</script>
	
 
	
	<style type="text/css">
		body{margin:0;}
	</style>
	
	



<script>
	window.dataLayer = window.dataLayer || [];
	dataLayer.push({"event":"datalayer-initialized","page":{"numberOfComments":0,"publicationDate":"2020-02-13","primaryArticleId":2569766,"title":"","author":"","authorId":0,"contentLevel1":"My Site","contentLevel2":"Partnership","contentLevel3":"Planned Giving","contentLevel4":"Resources","contentLevel5":"Glossary of Terms","siteName":"Chabad of Palm Coast"},"time":{"upcomingHoliday":"Chanukah","daysToUpcomingHoliday":40,"hebrewDate":"5787-08-15"}});
		dataLayer.push({ 'articleHierarchy': '-3124761-3124769-5205616-4646764-4646791-4646796-', 'keywords': '-k63-k32228-k31567-k6939-k537-k2471-k2898-k2170-k19480-k19353-k18927-k8972-k8495-k20962-k19958-k19479-k19478-', 'k': '-3124761-3124769-5205616-4646764-4646791-4646796--k63-k32228-k31567-k6939-k537-k2471-k2898-k2170-k19480-k19353-k18927-k8972-k8495-k20962-k19958-k19479-k19478-' });
	
</script>
<script>

(function(c,h,a,b,a,d){c[a]=c[a]||[];c[a].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=h.getElementsByTagName(b)[0],
j=h.createElement(b);j.async=true;
j.src='https://w6.chabad.org/mitzvah-tank.js';f.parentNode.insertBefore(j,f);
})(window,document,0,'script','dataLayer');</script>

	<!-- Start of StatCounter Code -->
	<script type="text/javascript">
	var sc_project = 10759603;var sc_partition = 102;var sc_invisible = 1;var sc_remove_link=1;var sc_security = "25f88f65";var sc_https = 1;
	</script>
	<script type="text/javascript" src="https://secure.statcounter.com/counter/counter_xhtml.js" defer async></script>
	<noscript><img src="//c103.statcounter.com/counter.php?sc_project=10759603&amp;java=0&amp;security=25f88f65&amp;invisible=1" border="0" /> </noscript>
	<!-- End of StatCounter Code -->


<link rel="icon" href="https://chabadpalmcoast.com/media/images/1192/zmLg11929095.png" />
<link href="https://fonts.googleapis.com/css2?family=Commissioner:wght@100;300;400;500;600;700;800;900&family=Outfit:wght@300;400;600;800&family=Montserrat:wght@700&display=swap" rel="stylesheet" />



<script src="https://webmk.co/sites/chabad-palm-coast/palm-coast-main-script.js"></script><script>
  function ready(fn) {
  if (document.readyState !== 'loading'){
    fn();
  } else {
    document.addEventListener('DOMContentLoaded', fn);
  }
}
function addClass() {
  var path = window.location.pathname;
  var matches = path && path.match(/eventid\/(\d+)/);
  if (path.includes('ArticleCcoResponse')) document.body.classList.add('form-auto-response');
  var aid = Co && Co.ArticleId;
  if (matches && matches.length > 1) {
    var eventClass = 'eventid-' + matches[1];
    document.body.classList.add(eventClass);
    document.body.classList.add('event-page');
  } else if (path.includes('/register_cdo/')) {
    document.body.classList.add('event-page');
  } else {
    document.body.classList.add('aid-' + aid);
  }
};
ready(addClass);
</script><script>
// --- HOMEPAGE UPCOMING EVENTS (Chabad of Palm Coast) ---
// Fetches events from the Palm Coast events page, filters to today/upcoming,
// and renders a carousel of event cards with Learn More / RSVP + calendar links.
if (window.location.pathname === '/' || window.location.pathname === '/default.aspx') {

  (function() {

    /**
     * Fetches and parses the events page HTML.
     */
    function getEventsPage() {
      // Cache-busting parameter to ensure fresh data is fetched.
      const url = 'https://www.chabadpalmcoast.com/templates/events.htm?t=' + new Date().getTime();
      return fetch(url)
        .then(response => {
          if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
          }
          return response.text();
        })
        .then(htmlText => {
          const parser = new DOMParser();
          return parser.parseFromString(htmlText, 'text/html');
        })
        .catch(error => {
          console.error("Error fetching events page:", error);
          return null;
        });
    }

    /**
     * Splits an event name on the [L] marker.
     *   "Rosh Hashana Community Dinner [L] RSVP"
     *     -> title: "Rosh Hashana Community Dinner", buttonText: "RSVP"
     * If there's no [L] marker, the whole string is the title and the button
     * falls back to "Learn More".
     */
    function parseTitleAndButton(rawTitle) {
      const normalized = (rawTitle || '').replace(/\s+/g, ' ').trim();
      const markerIndex = normalized.indexOf('[L]');

      if (markerIndex === -1) {
        return { title: normalized || 'Event', buttonText: 'Learn More' };
      }

      const title = normalized.slice(0, markerIndex).trim();
      const label = normalized.slice(markerIndex + 3).trim();

      return {
        title: title || 'Event',
        buttonText: label || 'Learn More'
      };
    }

    /**
     * ChabadOne reuses the Facebook link slot for two different kinds of ID:
     *   - a short EVENT id (e.g. 23532)  -> /tools/events/register_cdo/eventid/23532
     *   - a long ARTICLE id (e.g. 7492616) -> /templates/articlecco_cdo/aid/7492616
     * 5 digits or fewer is an event id; anything longer is an article id.
     */
    function buildEventUrl(id) {
      const base = 'https://www.chabadpalmcoast.com';
      if (id.length <= 5) {
        return `${base}/tools/events/register_cdo/eventid/${id}`;
      }
      return `${base}/templates/articlecco_cdo/aid/${id}`;
    }

    /**
     * Robustly parses date strings like "Month Day, Year".
     */
    function parseRobustDate(dateStr) {
      const months = {
        january: 0, february: 1, march: 2, april: 3, may: 4, june: 5,
        july: 6, august: 7, september: 8, october: 9, november: 10, december: 11
      };
      if (!dateStr) return null;

      const cleanedStr = dateStr.replace(/,/g, '').trim().replace(/\s+/g, ' ');
      const parts = cleanedStr.split(' ');
      if (parts.length < 3) return null;

      const monthName = parts[0].toLowerCase();
      const day = parseInt(parts[1], 10);
      const year = parseInt(parts[2], 10);

      if (months.hasOwnProperty(monthName) && !isNaN(day) && !isNaN(year)) {
        return new Date(year, months[monthName], day);
      }
      return null;
    }

    /**
     * Parses a time string (e.g., "7:30pm") and applies it to a given date.
     */
    function parseTime(timeString, baseDate) {
      if (!timeString) return null;
      const timeMatch = timeString.toLowerCase().match(/(\d{1,2}):(\d{2})?\s*(am|pm)/);
      if (!timeMatch) return null;

      let hours = parseInt(timeMatch[1], 10);
      const minutes = timeMatch[2] ? parseInt(timeMatch[2], 10) : 0;
      const ampm = timeMatch[3];

      if (ampm === 'pm' && hours < 12) hours += 12;
      if (ampm === 'am' && hours === 12) hours = 0;

      const newDate = new Date(baseDate);
      newDate.setHours(hours, minutes, 0, 0);
      return newDate;
    }

    /**
     * Formats a Date object for Google Calendar links.
     */
    function formatGoogleDate(date) {
      return date.toISOString().replace(/-|:|\.\d{3}/g, '');
    }

    /**
     * Formats "Tuesday, July 29, 2025" to "TUESDAY JULY 29".
     */
    function formatEventDate(dateStr) {
      if (!dateStr) return '';
      const parts = dateStr.split(',');
      if (parts.length < 2) return dateStr;
      return `${parts[0]}${parts[1]}`.trim().toUpperCase();
    }

    /**
     * Builds a Google Calendar link for an event.
     */
    function buildGoogleCalLink(title, time, eventDate, description, location) {
      let googleDates = '';

      if (time) {
        const startTime = parseTime(time, eventDate);
        if (startTime) {
          const endTime = new Date(startTime.getTime() + 90 * 60000); // assume 90 min
          googleDates = `${formatGoogleDate(startTime)}/${formatGoogleDate(endTime)}`;
        }
      }

      if (!googleDates) {
        // All-day fallback
        const startDate = eventDate.toISOString().split('T')[0].replace(/-/g, '');
        const endDateObj = new Date(eventDate);
        endDateObj.setDate(endDateObj.getDate() + 1);
        const endDate = endDateObj.toISOString().split('T')[0].replace(/-/g, '');
        googleDates = `${startDate}/${endDate}`;
      }

      const params = new URLSearchParams({
        action: 'TEMPLATE',
        text: title,
        dates: googleDates,
        details: description,
        location: location
      });
      return `https://www.google.com/calendar/render?${params.toString()}`;
    }

    /**
     * The main function to create and inject the featured events section.
     */
    const runTransformation = () => {
      getEventsPage().then(eventsDocument => {
        if (!eventsDocument) return;

        const today = new Date();
        today.setHours(0, 0, 0, 0);

        const upcomingEvents = [];
        const allDateGroups = Array.from(eventsDocument.querySelectorAll('#calendar .list_item'));

        for (const dateGroupEl of allDateGroups) {
          if (upcomingEvents.length >= 10) break;

          const dateEl = dateGroupEl.querySelector('.date');
          if (!dateEl) continue;

          const dateText = dateEl.textContent.trim();
          const parsableDateText = dateText.split(',').slice(1).join(',').trim();
          const eventDate = parseRobustDate(parsableDateText);

          if (eventDate && eventDate >= today) {
            const individualEventsInGroup = dateGroupEl.querySelectorAll('.category_item');
            individualEventsInGroup.forEach(eventEl => {
              if (upcomingEvents.length < 10) {
                // Keep the element together with its parsed date
                upcomingEvents.push({ el: eventEl, date: eventDate, rawDate: dateText });
              }
            });
          }
        }

        if (upcomingEvents.length === 0) {
          console.log("No upcoming events found to display.");
          return;
        }

        const eventsSection = document.createElement('div');
        eventsSection.className = 'injected-featured-events-section';
        eventsSection.id = 'injected-upcoming-events-section';

        eventsSection.innerHTML = `
          <div class="injected-featured-events-header">
            <h2>Upcoming Events</h2>
            <p>Discover what's happening at Chabad of Palm Coast.</p>
          </div>
        `;

        const carouselContainer = document.createElement('div');
        carouselContainer.className = 'injected-events-carousel-container';
        const carouselWrapper = document.createElement('div');
        carouselWrapper.className = 'injected-events-carousel-wrapper';

        upcomingEvents.forEach(({ el: eventEl, date: eventDate, rawDate }) => {
          const titleEl = eventEl.querySelector('.event_name');
          const rawTitle = titleEl ? titleEl.textContent : '';

          // --- [L] MARKER PARSING ---
          const { title, buttonText } = parseTitleAndButton(rawTitle);

          const formattedDate = formatEventDate(rawDate);

          const timeEl = eventEl.querySelector('.event_options > div');
          let timeText = timeEl ? timeEl.textContent.trim().toUpperCase() : '';
          if (timeText) {
            timeText = timeText.replace(/(\d)([AP]M)$/, '$1 $2');
          }

          const cardHeader = timeText ? `${formattedDate} - ${timeText}` : formattedDate;

          const descriptionEl = eventEl.querySelector('.event_wrapper > .event_info');
          const description = descriptionEl ? descriptionEl.textContent.trim() : 'Join us for a wonderful event.';

          const imageLinkEl = eventEl.querySelector('.more_info a');
          const imageUrl = imageLinkEl ? imageLinkEl.href : `https://placehold.co/1200x800/eee/ccc?text=Event+Image`;

          // Location (used for calendar entries)
          let location = 'Chabad of Palm Coast';
          const locationEl = eventEl.querySelector('a[href*="maps.google.com"]');
          if (locationEl) {
            const tempDiv = document.createElement('div');
            tempDiv.innerHTML = locationEl.innerHTML.replace(/<br\s*\/?>/gi, ' ');
            location = tempDiv.textContent.replace(/\s+/g, ' ').trim();
          }

          // Main event link
          let learnMoreUrl = '#';
          const facebookLinkEl = eventEl.querySelector('a[href*="//www.facebook.com/events/"]');
          if (facebookLinkEl) {
            const fbHref = facebookLinkEl.href;
            const match = fbHref.match(/events\/(\d+)/);
            if (match && match[1]) {
              learnMoreUrl = buildEventUrl(match[1]);
            }
          }

          // Calendar links
          const googleCalLink = buildGoogleCalLink(title, timeText, eventDate, description, location);
          const calendarLinkEl = eventEl.querySelector('a[href*="eventexport.asp"]');
          const icsLink = calendarLinkEl
            ? `https://www.chabadpalmcoast.com${calendarLinkEl.getAttribute('href')}`
            : null;

          const card = document.createElement('div');
          card.className = 'injected-event-card';
          card.innerHTML = `
            <div class="event-card-header">${cardHeader}</div>
            <div class="event-card-image">
              <img src="${imageUrl}" alt="${title}" onerror="this.onerror=null;this.src='https://placehold.co/1200x800/eee/ccc?text=Image+Not+Found';">
            </div>
            <div class="event-card-body">
              <h3>${title.toUpperCase()}</h3>
              <p>${description}</p>
              <a href="${learnMoreUrl}" class="event-card-button">${buttonText} →</a>
              <div class="event-card-calendar-links">
                <a href="${googleCalLink}" target="_blank" rel="noopener" class="event-card-calendar-button">Add to Google Calendar</a>
                ${icsLink ? `<a href="${icsLink}" class="event-card-calendar-button">Add to Apple/Outlook</a>` : ''}
              </div>
            </div>
          `;
          carouselWrapper.appendChild(card);
        });

        // "View All Events" card
        const viewAllCard = document.createElement('a');
        viewAllCard.className = 'injected-event-card view-all-card';
        viewAllCard.href = 'https://www.chabadpalmcoast.com/templates/articlecco_cdo/aid/7492616/jewish/Upcoming-Events.htm';
        viewAllCard.innerHTML = `
          <div class="view-all-content">
            <h3>View All</h3>
            <p>Upcoming Events</p>
            <span class="view-all-arrow">→</span>
          </div>
        `;
        carouselWrapper.appendChild(viewAllCard);

        carouselContainer.appendChild(carouselWrapper);
        eventsSection.appendChild(carouselContainer);

        const swipeHint = document.createElement('div');
        swipeHint.className = 'mobile-swipe-hint';
        swipeHint.innerHTML = '<span>Swipe for more events</span> <span class="arrow">→</span>';
        eventsSection.appendChild(swipeHint);

        if (upcomingEvents.length > 3) {
          const prevButton = document.createElement('button');
          prevButton.className = 'events-carousel-arrow prev';
          prevButton.innerHTML = '❮';

          const nextButton = document.createElement('button');
          nextButton.className = 'events-carousel-arrow next';
          nextButton.innerHTML = '❯';

          carouselContainer.appendChild(prevButton);
          carouselContainer.appendChild(nextButton);

          let currentIndex = 0;
          const itemsToShowDesktop = 3;
          const totalItems = carouselWrapper.children.length;

          const updateCarousel = () => {
            if (carouselWrapper.children.length === 0) return;
            const cardWidth = carouselWrapper.children[0].offsetWidth;
            const gap = 30;
            const totalMove = (cardWidth + gap) * currentIndex;
            carouselWrapper.style.transform = `translateX(-${totalMove}px)`;

            prevButton.disabled = currentIndex === 0;
            nextButton.disabled = currentIndex >= totalItems - itemsToShowDesktop;
          };

          prevButton.addEventListener('click', () => {
            if (currentIndex > 0) {
              currentIndex--;
              updateCarousel();
            }
          });

          nextButton.addEventListener('click', () => {
            if (currentIndex < totalItems - itemsToShowDesktop) {
              currentIndex++;
              updateCarousel();
            }
          });

          updateCarousel();
          window.addEventListener('resize', updateCarousel);
        }

        // The Upcoming Events section is inserted ABOVE (before) this target
        // element. To move it elsewhere on the homepage, change the
        // nth-child(2) number below to the position you want.
        const targetElement = document.querySelector('#BodyContainer > div > div.g960 > div > div.g960.no_margin > div > div:nth-child(2)');
        if (targetElement && targetElement.parentElement) {
          targetElement.parentElement.insertBefore(eventsSection, targetElement);
        } else {
          console.error("Target element not found. Appending Upcoming Events section to body as a fallback.");
          document.body.appendChild(eventsSection);
        }
      });
    };

    const injectCSS = () => {
      const style = document.createElement('style');
      style.textContent = `
        @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;700;900&display=swap');

        .injected-featured-events-section { padding: 60px 20px !important; background-color: #ffffff !important; font-family: 'Raleway', sans-serif !important; box-sizing: border-box !important; }
        .injected-featured-events-header { text-align: center !important; margin-bottom: 40px !important; max-width: 600px !important; margin-left: auto !important; margin-right: auto !important; }
        .injected-featured-events-header h2 { font-size: 36px !important; font-weight: 900 !important; color: #181c14 !important; text-transform: uppercase !important; letter-spacing: 2px !important; margin-bottom: 10px !important; font-family: 'Raleway' !important; }
        .injected-featured-events-header p { font-size: 16px !important; color: #666 !important; line-height: 1.6 !important; }
        .injected-events-carousel-container { position: relative !important; max-width: 1200px !important; margin: 0 auto !important; overflow: hidden !important; }
        .injected-events-carousel-wrapper { display: flex !important; gap: 30px !important; transition: transform 0.5s ease-in-out !important; align-items: stretch !important; }
        .injected-event-card { flex: 0 0 calc(33.333% - 20px) !important; background: white !important; border-radius: 10px !important; overflow: hidden !important; box-shadow: 0 8px 25px rgba(0,0,0,0.08) !important; box-sizing: border-box !important; display: flex !important; flex-direction: column !important; }
        .event-card-header { padding: 8px 15px !important; font-weight: 700 !important; font-size: 12px !important; color: #181c14 !important; background: #abd1c6 !important; border-bottom: 1px solid #93bdb0 !important; text-align: center !important; white-space: nowrap !important; }

        /* Image slot: fixed height + forced fill so every card matches,
           regardless of the uploaded flyer's shape. The !important flags and
           absolute positioning are needed to beat ChabadOne's own img rules. */
        .event-card-image { position: relative !important; width: 100% !important; height: 240px !important; overflow: hidden !important; background-color: #eee !important; flex: 0 0 auto !important; }
        .event-card-image img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; min-height: 0 !important; object-fit: cover !important; display: block !important; }

        .event-card-body { padding: 25px !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }
        .event-card-body h3 { font-size: 16px !important; font-weight: 700 !important; color: #181c14 !important; margin: 0 0 10px !important; height: 48px !important; overflow: hidden !important; }
        .event-card-body p { font-size: 15px !important; color: #666 !important; line-height: 1.6 !important; margin: 0 0 20px !important; flex-grow: 1 !important; overflow: hidden !important; }
        .event-card-button { display: inline-block !important; background-color: #1573be !important; color: white !important; padding: 12px 25px !important; border-radius: 8px !important; text-decoration: none !important; font-weight: 700 !important; transition: background-color 0.2s !important; margin-top: auto !important; align-self: flex-start !important; }
        .event-card-button:hover { background-color: #125e93 !important; }

        /* Calendar links */
        .event-card-calendar-links { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-top: 12px !important; }
        .event-card-calendar-button { display: inline-block !important; padding: 8px 14px !important; border: 1px solid #abd1c6 !important; border-radius: 6px !important; background-color: transparent !important; color: #181c14 !important; font-size: 12px !important; font-weight: 700 !important; text-decoration: none !important; transition: background-color 0.2s !important; }
        .event-card-calendar-button:hover { background-color: #eef6f4 !important; }

        .events-carousel-arrow { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; background-color: rgba(255, 255, 255, 0.9) !important; border: none !important; border-radius: 50% !important; width: 44px !important; height: 44px !important; box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 22px !important; color: #181c14 !important; z-index: 10 !important; transition: all 0.2s !important; }
        .events-carousel-arrow:hover { background-color: white !important; transform: translateY(-50%) scale(1.05) !important; }
        .events-carousel-arrow:disabled { opacity: 0.3 !important; cursor: not-allowed !important; }
        .events-carousel-arrow.prev { left: 0px !important; }
        .events-carousel-arrow.next { right: 0px !important; }

        .view-all-card { display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; text-decoration: none !important; background-color: #abd1c6 !important; transition: background-color 0.3s, box-shadow 0.3s !important; }
        .view-all-card:hover { background-color: #93bdb0 !important; box-shadow: 0 12px 30px rgba(0,0,0,0.12) !important; }
        .view-all-card .view-all-content { display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; }
        .view-all-card .view-all-content h3, .view-all-card .view-all-content p { height: auto !important; overflow: visible !important; margin: 0 !important; }
        .view-all-card .view-all-content h3 { font-size: 24px !important; font-weight: 900 !important; color: #181c14 !important; margin-bottom: 5px !important; text-transform: uppercase !important; }
        .view-all-card .view-all-content p { font-size: 16px !important; color: #333 !important; margin-bottom: 15px !important; }
        .view-all-card .view-all-arrow { font-size: 36px !important; font-weight: bold !important; color: #1573be !important; line-height: 1 !important; }
        .mobile-swipe-hint { display: none !important; text-align: center !important; margin-top: 20px !important; font-family: 'Raleway', sans-serif !important; color: #181c14 !important; font-size: 14px !important; align-items: center !important; justify-content: center !important; gap: 8px !important; }
        .mobile-swipe-hint .arrow { font-size: 18px !important; line-height: 1 !important; font-weight: bold !important; }

        @media (max-width: 1200px) {
          .events-carousel-arrow.prev { left: 15px !important; }
          .events-carousel-arrow.next { right: 15px !important; }
        }
        @media (max-width: 900px) {
          .injected-event-card { flex-basis: calc(50% - 15px) !important; }
        }
        @media (max-width: 600px) {
          .injected-featured-events-header h2 { font-size: 28px !important; }
          .injected-events-carousel-container { overflow-x: auto !important; scroll-snap-type: x mandatory !important; -webkit-overflow-scrolling: touch !important; scrollbar-width: none !important; -ms-overflow-style: none !important; padding: 0 20px !important; margin: 0 -20px !important; }
          .injected-events-carousel-container::-webkit-scrollbar { display: none !important; }
          .injected-events-carousel-wrapper { width: max-content !important; transform: none !important; padding-right: 20px !important; }
          .injected-event-card { flex-basis: 80vw !important; scroll-snap-align: start !important; }
          .events-carousel-arrow { display: none !important; }
          .mobile-swipe-hint { display: flex !important; }
          .event-card-calendar-links { flex-direction: column !important; }
          .event-card-calendar-button { text-align: center !important; }
          .event-card-image { height: 200px !important; }
        }
      `;
      document.head.appendChild(style);
    };

    if (document.readyState === 'complete' || document.readyState === 'interactive') {
      runTransformation();
    } else {
      window.addEventListener('DOMContentLoaded', runTransformation);
    }
    injectCSS();

  })();

}
</script><title>
	Glossary of Terms - Chabad of Palm Coast
</title></head>
<body class="lang_en dir_ltr cco_body cco_templateless_page section_branch">
	
	
		<div width="100%" class="cco_templateless_template" style="z-index:100 !important;display:block !important;left:0px !important;top:0px !important;height:30px!important;width:100% !important;line-height:30px !important; position:relative !important; margin-bottom:0 !important; padding:0;text-indent: 25px;" align="Left"><a href="//www.ChabadPalmCoast.com" style="display:block!important;font-size:14px !important;">&laquo; Back to&nbsp;Chabad of Palm Coast</a></div>
	
	<div class="cco_templatelates_content">
		
	<div class="co_content_container clearfix local_content" id="co_content_container">
		<div class="clearfix">
			<!-- BEGIN HEADER --><style type="text/css">
	.cco_templateless_template,
	.cco_templateless_template a {
		background: #6C0647;
	}
.sidebar-ads co\:item {
    padding: 3%;
    text-align: center;
    background: #690645;
    display: block;
    margin-bottom: 3%
}

.section_root .sidebar-ads co\:item {
    float: left;
    width: 315px;
    padding: 12px 0;
    text-align: center;
    background: #690645;
    display: block;
    margin-left: 15px
}

body.mobile.section_root .sidebar-ads co\:item {
    float: none;
    display: block;
    width: 100%;
    margin: 5px 0
}

.section_root .sidebar-ads co\:item:first-child {
    margin: 0
}

.sidebar-ads co\:item a {
    text-decoration: none;
    position: absolute;
    width: 283px;
    height: 167px
}

.sidebar-ads co\:item img {
    width: 90%
}

.sidebar-ads co\:item .caption {
    font: 12px/18px Merriweather, times, serif;
    color: #a7a6a2;
    margin-top: 15px
}
co\:item {display:unset!important}
</style>
<div id="chabad_body_page">
<div id="chabad_main_content" class="container">


<div id="chabad_head" class="header">



<div class="chabad_header header-logo" data-href="/4646764">
<a href="/4646764" class="header-title" title="Planned Giving">
<span>
Planned Giving to Chabad</span></a>
<div class="header-subtitle">
<a href="/4646764" class="header-subtitle" style="text-decoration:none">
Make Your Legacy a Jewish Future</a></div>
</div>


<div id="navigation" class="chabad_navigator_bar">
<div class="chabad_menu_content">
<ul id="menu" class="navi">
<li class="item parent arrow">
<a href="/article.asp?aid=4646765" class="parent arrow">Why Giving Matters</a>
<div class="sub_menu">
<ul>
<li class="item first">
<a href="/article.asp?aid=4646766">Changing Jewish Destiny</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646767">Chabad In The News</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646768">The Rebbe's Mandate</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646769">Giving In Jewish Tradition</a>
</li>
<li class="item last">
<a href="/article.asp?aid=4646770">Donor Stories</a>
</li>
</ul>
</div>
|
</li>
<li class="item parent arrow">
<a href="/article.asp?aid=4646778" class="parent arrow">Ways To Give</a>
<div class="sub_menu">
<ul>
<li class="item first">
<a href="/article.asp?aid=7385606">Living Legacy Commitment Form</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646779">Bequest</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646780">Charitable Gift Annuity</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646781">Real Estate</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646782">Life Insurance</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646783">Charitable Trusts</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646784">Retirement Plans</a>
</li>
<li class="item last">
<a href="/article.asp?aid=4646785">Planned Giving Videos</a>
</li>
</ul>
</div>
|
</li>
<li class="item parent arrow">
<a href="/article.asp?aid=4646787" class="parent arrow">Gratitude</a>
<div class="sub_menu">
<ul>
<li class="item first">
<a href="/article.asp?aid=4646788">Jewish Legacy Society</a>
</li>
<li class="item last">
<a href="/article.asp?aid=4646789">My Story</a>
</li>
</ul>
</div>
|
</li>
<li class="item parent arrow selected">
<a href="/article.asp?aid=4646791" class="parent arrow selected">Resources</a>
<div class="sub_menu">
<ul>
<li class="item first">
<a href="/article.asp?aid=4646792">Bequest Form</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646793">Frequently Asked Questions</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646794">Advisor Information</a>
</li>
<li class="item">
<a href="/article.asp?aid=4646795">Planned Giving Council</a>
</li>
<li class="item last selected">
<a href="/article.asp?aid=4646796">Glossary of Terms</a>
</li>
</ul>
</div>
|
</li>
<li class="item parent arrow">
<a href="/article.asp?aid=4646797" class="parent arrow">Contact</a>
<div class="sub_menu">
<ul>
<li class="item first">
<a href="/article.asp?aid=4646798">Contact Us</a>
</li>
<li class="item last">
<a href="/article.asp?aid=4646799">Share Your Story</a>
</li>
</ul>
</div>
</li>

</ul>
</div>
</div>



</div>
<div class="break_floats" ></div>
<div id="chabad_body_content">
<div detached="true" type="static" id="ContentArea" name="content_area" class="chabad_left_column"><div id="content_page" class="content_page"><!-- END HEADER -->
			
			
			<div class="clearfix bh mobile-only align_right">ב"ה</div>
			
				<div class="master-content-wrapper " >
					

<header class="article-header cf ">
	
	
			<h1 class="article-header__title js-article-title js-page-title">Glossary of Terms</h1>
		
			<div>
				
			</div>
		
</header>
				</div>
			
			<div class="body_wrapper clearfix co_body">
				<div class="" id="co_body_container">
					
					<div id="ContentBody">
						
						
							<div class="content-area-parent no_margin">
								
	<div id="cco_body">
		<div class="content  no_margin no_overflow" id="co_content_container">
			
			
	

	<article class="content js-content" itemscope itemtype="http://schema.org/Article">
	



<meta itemprop="mainEntityOfPage headline name" content="" />

<meta itemprop="image" content="" />


<meta itemprop="uploadDate" content="2020-02-13T13:07:41" />
<span itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
	<meta itemprop="name" content="Chabad of Palm Coast" />
	<meta itemprop="brand" content="Chabad of Palm Coast" />
	<span itemprop="logo" itemscope itemtype="http://schema.org/ImageObject">
		<meta itemprop="url" content="https://w2.chabad.org/media/images/1074/oDew10749824.png" />
		<meta itemprop="height" content="150" />
		<meta itemprop="width" content="150" />
	</span>
</span>
<meta itemprop="datePublished" content="2020-02-13T13:07:41" />
			<div itemprop="articleBody">
				<co:body xmlns:co="www1.chabadonline.com/alpha1" xmlns:ext="urn:xslt-extensions">
  <div class="co_body article-body cf">
    <dl>
      <dt>Annuity</dt>
<dd>A fixed sum payable at specified intervals.</dd>
<dt>Appreciated Property</dt>
<dd>A property that has increased in value.</dd>
<dt>Beneficiary</dt>
<dd>The person who receives the benefits of a trust, or the recipient of the proceeds of a life insurance policy.</dd>
<dt>Bequest</dt>
<dd>In wills and estates, the gift part of the estate to a beneficiary.</dd>
<dt>Charitable Gift Annuity</dt>
<dd>Transfers cash or property to a charity in exchange for a partial tax deduction and a lifetime stream of annual income from the charity.</dd>
<dt>Charitable Trust</dt>
<dd>An irrevocable trust established for charitable purposes.</dd>
<dt>Estate Tax</dt>
<dd>A tax imposed on a decedent's property, assessed on the gross estate prior to distribution to the heirs.</dd>
<dt>Executor (or Personal Representative)</dt>
<dd>A person named in a decedent's will to carry out the provisions of that will.</dd>
<dt>Guardian</dt>
<dd>A person entrusted by law with the care of person, property, or both.</dd>
<dt>Life Insurance Trust</dt>
<dd>A trust that has an individual's life insurance policy as its principal asset. It's usually set up for the purpose of life excluding the proceeds of life insurance from the insured's estate.</dd>
<dt>Power of Attorney</dt>
<dd>A written document given by one person or party to another, authorizing the latter to act for the former.</dd>
<dt>Retained Life Estate</dt>
<dd>A person can transfer the title to his or her property to someone else and reserve a life estate. That means they no longer own the property but have the right to use and occupy the property for the duration of their natural life. When they die, the life estate is extinguished and the property is owned free and clear by the title owners. The need for probate has thus been avoided.</dd>
<dt>Testamentary Trust</dt>
<dd>A trust created by a will, which is scheduled to occur after the maker's death.</dd>
<dt>Trust</dt>
<dd>A fiduciary relationship calling for a trustee to hold the title to assets for the benefit of the beneficiary. The person creating the trust, who may or may not also be the beneficiary, is called the grantor.</dd>
<dt>Trustee</dt>
<dd>Any individual or company who manages assets on behalf of another.</dd>
<dt>Will</dt>
<dd>A document stating how and to whom a person wants his/her property transferred after death.</dd>
    </dl>
  </div>
</co:body>
			</div>
			

			<div class="break_floats"></div>
			
	<div class="break_floats"></div>
	

<div class="content-footer">
	
	
	
	
	
	
</div>
	</article>

		</div>
	</div>
</div>
						
						<div class="break_floats"></div>
						
					</div>
				</div>
				
				
				
			</div>
			
			<!-- BEGIN FOOTER --></div></div><div class="co_section">
<div class="co_section_head">
<div>In this Section</div>
</div>
<div class="co_section_body">
<div class="co_section_gradient">
<div class="co_section_text">
<div class="item first">
<span>●</span>
<a href="/article.asp?aid=4646792">Bequest Form</a>
</div>
<div class="item">
<span>●</span>
<a href="/article.asp?aid=4646793">Frequently Asked Questions</a>
</div>
<div class="item">
<span>●</span>
<a href="/article.asp?aid=4646794">Advisor Information</a>
</div>
<div class="item">
<span>●</span>
<a href="/article.asp?aid=4646795">Planned Giving Council</a>
</div>
<div class="item last">
<span>●</span>
<a href="/article.asp?aid=4646796">Glossary of Terms</a>
</div>
</div>
</div>
</div>
<div class="co_section_footer" ></div>
</div>
<div class="chabad_right_column">
<div class="caption" id="contact-address">

<p>Rabbi Levi Ezagui<br/>                 Chabad of Palm Coast<br/>                 160 Cypress Point Parkway A208<br/>                 Palm Coast, FL, 32164<br/>                 386-225-4941<br/>
<a href="mailto:Levi@chabadpalmcoast.com">Rabbi@chabadpalmcoast.com</a></p>
</div>
<ul class="sidebar-ads">


<li>

<a href="/4646766" ></a>

<img src="https://w2.chabad.org/images/Shluchim/minisites/themes/plannedgiving/sidebar-thumbs-jewish-destiny.png" alt="Changing Jewish Destiny" border="0" />
<div class="caption">
Changing Jewish Destiny</div>

</li>



<li>

<a href="/4646789" ></a>

<img src="https://w2.chabad.org/images/Shluchim/minisites/themes/plannedgiving/sidebar-thumbs-testimony.png" border="0" />
<div class="caption">
My Story</div>
</li>



<li>

<a href="/4646785" ></a>

<img src="https://w2.chabad.org/images/Shluchim/minisites/themes/plannedgiving/sidebar-thumbs-planned-giving.png" border="0" />
<div class="caption">
Planned Giving Videos</div>

</li>


</ul>

</div></div>
</div>
<div id="border_bottom" ></div>
</div>
<!-- END FOOTER -->
		</div>
		
		<aside class="page-tools-sidebar js-page-tools-sidebar hide_for_print">
<div class="page-tools js-page-tools-menu">
<div class="page-tools__section page-tools__section--share">
<a class="page-tools__tool js-share-popup page-tools__tool--facebook" data-share-url="https://www.facebook.com/dialog/share?app_id=188669250943&amp;display=popup&amp;href=https%3a%2f%2fwww.chabadpalmcoast.com%2ftemplates%2farticlecco_cdo%2faid%2f4646796%2fjewish%2fGlossary-of-Terms.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dFB">
				<i class="fa fa-facebook"></i>
			</a>
<a class="page-tools__tool js-share-popup page-tools__tool--twitter" data-share-url="https://twitter.com/intent/tweet?text=Glossary+of+Terms+-+Chabad+of+Palm+Coast&amp;url=https%3a%2f%2fwww.chabadpalmcoast.com%2ftemplates%2farticlecco_cdo%2faid%2f4646796%2fjewish%2fGlossary-of-Terms.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dtwitter&amp;via=Chabad">
				<i class="fa fa-twitter"></i>
			</a>
<a class="page-tools__tool js-share-popup page-tools__tool--whatsapp d-lg-none js-share-whatsapp" data-share-url="whatsapp://send?text=Glossary+of+Terms+-+Chabad+of+Palm+Coast https%3a%2f%2fwww.chabadpalmcoast.com%2ftemplates%2farticlecco_cdo%2faid%2f4646796%2fjewish%2fGlossary-of-Terms.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dwhatsapp">
				<i class="fa fa-whatsapp">
					<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" fill="#128c7e" width="1em" height="1em"><path d="M25 2C12.318 2 2 12.318 2 25c0 3.96 1.023 7.854 2.963 11.29L2.037 46.73c-.096.343-.003.711.245.966.191.197.451.304.718.304.08 0 .161-.01.24-.029l10.896-2.699C17.463 47.058 21.21 48 25 48c12.682 0 23-10.318 23-23S37.682 2 25 2zm11.57 31.116c-.492 1.362-2.852 2.605-3.986 2.772-1.018.149-2.306.213-3.72-.231-.857-.27-1.957-.628-3.366-1.229-5.923-2.526-9.791-8.415-10.087-8.804-.295-.389-2.411-3.161-2.411-6.03s1.525-4.28 2.067-4.864c.542-.584 1.181-.73 1.575-.73s.787.005 1.132.021c.363.018.85-.137 1.329 1.001.492 1.168 1.673 4.037 1.819 4.33.148.292.246.633.05 1.022s-.294.632-.59.973-.62.76-.886 1.022c-.296.291-.603.606-.259 1.19s1.529 2.493 3.285 4.039c2.255 1.986 4.158 2.602 4.748 2.894.59.292.935.243 1.279-.146.344-.39 1.476-1.703 1.869-2.286s.787-.487 1.329-.292c.542.194 3.445 1.604 4.035 1.896.59.292.984.438 1.132.681.148.242.148 1.41-.344 2.771z"/></svg>
				</i>
			</a>
<a class="page-tools__tool js-share-popup page-tools__tool--pinterest d-none d-lg-block" data-share-url="http://pinterest.com/pin/create/button/?url=https%3a%2f%2fwww.chabadpalmcoast.com%2ftemplates%2farticlecco_cdo%2faid%2f4646796%2fjewish%2fGlossary-of-Terms.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dpinterest&amp;description=Glossary+of+Terms+-+Chabad+of+Palm+Coast">
				<i class="fa fa-pinterest"></i>
			</a>
<a class="page-tools__tool" onclick="showEmailLayer(this);">
<i class="fa fa-envelope"></i>
</a>
</div>
<div class="page-tools__section page-tools__section--other js-page-tool-other">
<div class="page-tools__tool popover-parent d-lg-block">
<div class="popover popover--right align_left nowrap">
<div class="popover__content">
<label class="bold bottom_margin block">
Print Options:
</label>
<form class="vcenter" name="print-form" onsubmit="coPrint(event, 4646791);return false;">
<div>
<label><input type="checkbox" name="print-green"><span title="Save paper and ink">Print without images <i class="fa fa-leaf text-green"></i></span></label>
</div>
<br/>
<div class="center">
<button class="co-button page-tools__print-button">Print</button>
</div>
</form>
</div>
</div>
<i class="fa fa-print"></i>
</div>
</div>
</div>
<div class="js-fab-wrapper fab-wrapper">
<div class="fab">
<i class="fab-icon"></i>
</div>
</div>
</aside>
<!-- END CACHE -->
	</div>

	</div>

	<div id="BodyContainer">
		<div class="g960 footer">
			<div class="poweredby large_bottom_margin">
				



	<div class="footer3">
		<span class="footer-title" >Chabad of Palm Coast</span>
		<div class="footer-address">
			<span class="footer-street">160 Cypress Point Parkway STE A208</span>
			<span class="footer-city-state">Palm Coast, FL 32164</span>
		</div>
			<span>386-225-4941</span>
	</div>
	<img src="https://w2.chabad.org/images/global/spacer.gif" width="1" height="6" border="0" /><br />



Powered by <a href="https://www.chabad.org/" target="_new" class="">Chabad.org</a> &copy; 1993-2026 <a href="/4026210" target="_blank" class="privacy-link">Privacy Policy</a>




			</div>
		</div>
	</div>
	
	

	
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/os/jquery-1.8.3.min.js?v=14C45307"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/os/jquery/jquery.tools.expose.min.js?v=AB0A58F7"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/os/jquery.tools.1.2.7.min.js?v=FBC14E36"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/co/dist/CoLib.js?v=6777A16C"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/WebComponents/bundles/magen-cdo-global.js?v=A13136FE"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/templates/plannedgiving/custom.js?v=8742C543"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/multimedia/infolayer.js?v=ED1B8531"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/article/comments/reply-form-controller.js?v=F39697ED"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/commentsloader.js?v=AD6AAB79"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/minisites.js?v=F38E4DA5"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/subscribeprompt.js?v=86D84DC2"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/modules/pagetools.js?v=930B07AB"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/deprecated.js?v=D506A83E"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/OverrideJSDocumentWrite.js?v=9A0227AA"></script><script>$j = $j.fn ? $j : jQuery;$j(()=>{$q.forEach(f=>{try{f.call(window);}catch(ex){console.error(ex);}});})</script>
	

<script  language="javascript" type="text/javascript"> Co.Settings      = {CacheClassName:'js-cache-default',MosadName:'Chabad of Palm Coast'}; Co.ArticleId     = '4646796';Co.SectionId     = 5205616;Co.PartnerSiteId = 0;Co.SiteId        = 9897;Co.IsMobilePage  = false;Co.IsResponsive  = false;Co.DbDomain      = 'ChabadPalmCoast.com';Co.LanguageCode  = '';Co.LoginStatus   = 'None';</script>
	
	
<script>
(function () {
  // 1. GATE ON URL
  if (!window.location.href.includes('7414705')) return;

  // ==========================================
  // CONFIG — one single URL does everything: submissions AND reads back
  // out (progress + donor wall + dedication reservations). No Google
  // Sheets "Publish to web" needed; that path was hitting a login-gate
  // on this account regardless of sharing settings, so the Web App now
  // serves the data itself via ?action=donors / ?action=settings.
  // ==========================================
  var WEB_APP_URL = "https://script.google.com/macros/s/AKfycbz-oNL5kfwysBmis5twm4Sjg2hwHhpacz7ZVIHYvh_d-TdtC_SRpk_cDF9OGG8HT34a/exec";

  // Donor-wall tier thresholds (highest first). A donor's tier = first
  // threshold their amount meets or exceeds.
  var PC_TIERS = [
    { name: 'Visionary',         min: 500000, range: '$500,000+' },
    { name: 'Legacy Circle',     min: 250000, range: '$250,000+' },
    { name: 'Leadership Circle', min: 100000, range: '$100,000+' },
    { name: 'Founder',           min: 54000,  range: '$54,000+'  },
    { name: 'Pillar',            min: 36000,  range: '$36,000+'  },
    { name: 'Benefactor',        min: 25000,  range: '$25,000+'  },
    { name: 'Patron',            min: 18000,  range: '$18,000+'  },
    { name: 'Builder',           min: 10000,  range: '$10,000+'  },
    { name: 'Sponsor',           min: 5400,   range: '$5,400+'   },
    { name: 'Partner',           min: 1801,   range: '$1,801+'   },
    { name: 'Friend',            min: 0,      range: 'Up to $1,800'}
  ];

  // ==========================================
  // 2.0 EARLY DATA FETCH
  //   ONE request (?action=all) instead of two, fired before CSS injection
  //   so the round-trip overlaps with page parsing.
  //   Plus stale-while-revalidate: the last good response is kept in
  //   localStorage, so a returning visitor sees the total and the reserved
  //   cards INSTANTLY, and the fresh numbers replace them when the network
  //   answers (usually well under a second now that the server caches).
  // ==========================================
  var PC_CACHE_KEY = 'pc_data_7414705_v1';
  var PC_CACHE_MAX_AGE = 24 * 60 * 60 * 1000;   // ignore a cached copy older than a day

  // Warm up the two hosts Apps Script bounces through (exec -> googleusercontent)
  ['https://script.google.com', 'https://script.googleusercontent.com'].forEach(function (h) {
    var l = document.createElement('link'); l.rel = 'preconnect'; l.href = h; l.crossOrigin = 'anonymous';
    (document.head || document.documentElement).appendChild(l);
  });

  function pcReadCache() {
    try {
      var raw = localStorage.getItem(PC_CACHE_KEY);
      if (!raw) return null;
      var o = JSON.parse(raw);
      if (!o || !o.data || !o.data.settings || !o.data.donors) return null;
      if (Date.now() - (o.savedAt || 0) > PC_CACHE_MAX_AGE) return null;
      return o.data;
    } catch (e) { return null; }
  }
  function pcWriteCache(data) {
    try { localStorage.setItem(PC_CACHE_KEY, JSON.stringify({ savedAt: Date.now(), data: data })); } catch (e) {}
  }

  var pcHasUrl   = !!(WEB_APP_URL && WEB_APP_URL.indexOf('http') === 0);
  var pcCached   = pcHasUrl ? pcReadCache() : null;

  var pcNetworkPromise = pcHasUrl
    ? fetch(WEB_APP_URL + '?action=all', { cache: 'no-store' })
        .then(function (r) { return r.json(); })
        .then(function (d) {
          if (!d || !d.settings || !Array.isArray(d.donors)) throw new Error('bad payload');
          pcWriteCache(d);
          return d;
        })
        .catch(function (err) { console.error('PC: data fetch failed', err); return null; })
    : Promise.resolve(null);

  // What the FIRST paint uses: the cached copy if we have one, else the network.
  var pcFirstDataPromise = pcCached ? Promise.resolve(pcCached) : pcNetworkPromise;

  // Same two promises the rest of the script already expects.
  var pcProgressPromise = pcFirstDataPromise.then(function (d) { return d ? d.settings : null; });
  var pcDonorsPromise   = pcFirstDataPromise.then(function (d) { return d ? d.donors   : null; });

  // ==========================================
  // 2. INJECT CSS
  // ==========================================
  var css = `
    :root {
      --pc-dark:#181c14; --pc-mint:#abd1c6; --pc-light-blue:#e1edfa;
      --pc-gold:#c38203; --pc-blue:#1374be; --pc-gray:#dadada;
      --pc-text:#303030; --pc-form-gray:#4c4c4c; --pc-white:#ffffff;
      --pc-bg-light:#f6f6f6; --pc-border-light:#d8d8d8;
    }

.pc-video {
    width: 100% !important;
    max-width: 760px !important;
    margin: 32px auto 32px auto !important;
}

.pc-video-frame {
    position: relative !important;
    width: 100% !important;
    padding-bottom: 56.25% !important;
    height: 0 !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18) !important;
    background: #000000 !important;
}

.pc-video-embed {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}

@media (max-width: 767px) {
    .pc-video {
        margin: 24px auto 24px auto !important;
        max-width: 100% !important;
    }

    .pc-video-frame {
        border-radius: 12px !important;
    }
}
/* ======================================================= */
    /* FLIPBOOK SECTION                                        */
    /* ======================================================= */
    .pc-flipbook { background:#f0f0f0 !important; padding:60px 20px !important; display:flex !important; justify-content:center !important; align-items:center !important; }
    .pc-flipbook-inner { width:100% !important; max-width:1172px !important; }
    .pc-flipbook-frame { display:block !important; width:100% !important; height:680px !important; border:none !important; border-radius:6px !important; box-shadow:0 4px 20px rgba(0,0,0,0.1) !important; }
    @media (max-width:768px) { .pc-flipbook-frame { height:420px !important; } }

    /* Hide CMS chrome */
    .cco_templateless_template { display:none !important; height:0 !important; }

    /* ---- Global page background + font ---- */
    html, body, .supernova { background:var(--pc-white) !important; }
    body, .form-all { font-family:'Commissioner', sans-serif !important; color:var(--pc-dark) !important; }
    .form-all p, .form-all span, .form-all div, .form-all label { font-family:'Commissioner', sans-serif !important; }
li#cid_1 {
    display: none !Important;
}
    /* ---- FULL-WIDTH BREAKOUT ----
       The CMS wraps our injected HTML in a narrow, centered content column.
       .pc-fullbleed pulls each top section out to the true viewport width. */
    .pc-fullbleed { position:relative !important; left:50% !important; right:50% !important; margin-left:-50vw !important; margin-right:-50vw !important; width:100vw !important; max-width:100vw !important; box-sizing:border-box !important; }

    /* ---- Explicit section backgrounds (do NOT rely on inheritance) ----
       Hero uses a sky-blue fallback so the dark hero text stays readable
       even if the CMS fails to render the background image. */
    .pc-hero { background:#7fb4e0 !important; }
    .pc-about { background:var(--pc-white) !important; }
    .pc-gallery { background:var(--pc-white) !important; }
    .pc-amenities { background:var(--pc-white) !important; }
    

    /* ---- Force text color on every top-block text node (beats CMS inherited color) ---- */
    .pc-hero-title, .pc-hero-sub, .pc-about-heading, .pc-about-desc, .pc-strong,
    .pc-amenity-label, .pc-nav-link { color:var(--pc-dark) !important; }
    .pc-section-title { color:var(--pc-dark) !important; }
    .pc-section-title.pc-light, .pc-form-intro-sub, .pc-form-intro .pc-section-title { color:var(--pc-white) !important; }
    /* Font enforcement on top-block elements */
    .pc-hero-title, .pc-hero-sub, .pc-about-heading, .pc-about-desc, .pc-amenity-label,
    .pc-nav-link, .pc-btn, .pc-section-title, .pc-form-intro-sub { font-family:'Commissioner', sans-serif !important; }

    /* ======================================================= */
    /* SCROLL PROGRESS BAR                                      */
    /* ======================================================= */
    .pc-scroll-progress-container { position:fixed !important; top:0 !important; left:0 !important; width:100% !important; height:10px !important; background:transparent !important; z-index:1002 !important; }
    .pc-scroll-progress-bar { height:100% !important; width:0%; background:var(--pc-mint) !important; transition:width .1s ease-out !important; font-size:0 !important; line-height:0 !important; color:transparent !important; overflow:hidden !important; }

    /* ======================================================= */
    /* REVEAL ANIMATIONS                                        */
    /* ======================================================= */
    .pc-reveal { opacity:0 !important; transform:translateY(40px) !important; transition:opacity .8s ease-out, transform .8s cubic-bezier(.25,.8,.25,1) !important; }
    .pc-reveal.pc-active { opacity:1 !important; transform:translateY(0) !important; }

    /* ======================================================= */
    /* STICKY NAV                                              */
    /* ======================================================= */
    .pc-top-bar { position:fixed !important; top:0 !important; left:0 !important; width:100% !important; z-index:1000 !important; padding:35px 20px !important; transition:all .3s ease !important; }
    .pc-top-bar.pc-scrolled { background:rgba(255,255,255,.98) !important; padding:15px 20px !important; box-shadow:0 2px 15px rgba(0,0,0,.08) !important; }
    .pc-top-bar-inner { max-width:1440px !important; margin:0 auto !important; display:flex !important; justify-content:center !important; align-items:center !important; }
    .pc-nav-links { display:flex !important; align-items:center !important; justify-content:center !important; gap:63px !important; }
    .pc-nav-link { font-family:'Commissioner', sans-serif !important; font-weight:600 !important; font-size:22px !important; text-transform:uppercase !important; color:var(--pc-dark) !important; letter-spacing:.5px !important; text-decoration:none !important; transition:opacity .3s !important; }
    .pc-nav-link:hover { opacity:.6 !important; }
    .pc-hamburger { display:none !important; flex-direction:column !important; gap:6px !important; cursor:pointer !important; background:transparent !important; border:none !important; padding:10px !important; z-index:1001 !important; }
    .pc-hamburger span { width:30px !important; height:3px !important; background:var(--pc-dark) !important; transition:all .3s ease !important; border-radius:3px !important; display:block !important; font-size:0 !important; line-height:0 !important; color:transparent !important; overflow:hidden !important; }

    /* ======================================================= */
    /* HERO                                                    */
    /* ======================================================= */
    @keyframes pcSlowZoom { 0%{transform:scale(1);} 100%{transform:scale(1.15);} }
    .pc-hero { display:grid !important; width:100% !important; min-height:100vh !important; overflow:hidden !important; }
    .pc-hero-bg { grid-area:1/1 !important; width:100% !important; height:auto !important; min-height:100% !important; object-fit:cover !important; object-position:center bottom !important; z-index:0 !important; animation:pcSlowZoom 25s linear infinite alternate !important; }
    .pc-hero-content { grid-area:1/1 !important; position:relative !important; z-index:1 !important; width:100% !important; display:flex !important; flex-direction:column !important; align-items:center !important; padding-top:140px !important; }
    .pc-logo { width:112px !important; height:112px !important; margin-bottom:30px !important; }
    .pc-logo img { width:100% !important; height:100% !important; object-fit:contain !important; }
    .pc-hero-text { text-align:center !important; max-width:950px !important; padding:0 20px !important; }
    .pc-hero-title { font-family:'Commissioner', sans-serif !important; font-weight:900 !important; font-size:clamp(40px,7.6vw,120px) !important; line-height:.95 !important; text-transform:uppercase !important; color:var(--pc-dark) !important; }
    .pc-hero-sub { font-family:'Commissioner', sans-serif !important; font-weight:500 !important; font-size:clamp(14px,1.5vw,20px) !important; line-height:1.5 !important; margin-top:15px !important; text-transform:uppercase !important; color:var(--pc-dark) !important; letter-spacing:.5px !important; }

    /* ---- CTA buttons (sliding fill) ---- */
    .pc-cta-group { display:flex !important; gap:24px !important; margin-top:45px !important; flex-wrap:wrap !important; justify-content:center !important; padding:0 20px !important; width:100% !important; }
    .pc-cta-left { justify-content:flex-start !important; padding:0 !important; margin-top:27px !important; }
    .pc-btn { display:inline-flex !important; align-items:center !important; justify-content:center !important; padding:17px 43px !important; border-radius:10px !important; font-family:'Commissioner', sans-serif !important; font-weight:700 !important; font-size:clamp(14px,1.33vw,19px) !important; text-transform:uppercase !important; color:var(--pc-dark) !important; cursor:pointer !important; white-space:nowrap !important; text-decoration:none !important; position:relative !important; overflow:hidden !important; z-index:1 !important; transition:color .3s ease !important; }
    .pc-btn::before { content:'' !important; position:absolute !important; top:0 !important; left:0 !important; bottom:0 !important; right:100% !important; z-index:-1 !important; transition:right .3s ease-out !important; }
    .pc-btn:hover::before { right:0 !important; }
    .pc-btn-mint { border:2px solid var(--pc-gold) !important; background:var(--pc-mint) !important; box-shadow:0 0 5px 1px rgba(0,0,0,.13) !important; }
    .pc-btn-mint::before { background:rgba(0,0,0,.1) !important; }
    .pc-btn-white { border:2px solid var(--pc-gold) !important; color: var(--pc-black) !important; background:var(--pc-white) !important; box-shadow:0 0 5px 1px rgba(0,0,0,.13) !important; }
   .pc-btn-white::before { background:var(--pc-mint) !important; }
    .pc-btn-white:hover { color:var(--pc-dark) !important; }

    /* ======================================================= */
    /* ABOUT                                                   */
    /* ======================================================= */
    .pc-about { padding:90px 120px !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:100px !important; min-height:559px !important; background-image: url(https://chabadpalmcoast.com/media/images/1376/NsMn13769376.png) !important;
    background-size: cover !important;
    background-repeat: no-repeat !important; }
    .pc-about-text { flex:1 !important; max-width:661px !important; }
    .pc-about-heading { font-family:'Commissioner', sans-serif !important; font-weight:900 !important; font-size:clamp(30px,3.5vw,50px) !important; text-transform:uppercase !important; color:var(--pc-dark) !important; line-height:1.1 !important; }
    .pc-about-desc { margin-top:29px !important; font-family:'Commissioner', sans-serif !important; font-weight:300 !important; font-size:18px !important; line-height:1.875 !important; color:var(--pc-dark) !important; }
    .pc-strong { font-weight:700 !important; }
    .pc-about-image { flex-shrink:0 !important; width:396px !important; height:408px !important; border-radius:4px !important; overflow:hidden !important; }
    .pc-about-image img { width:100% !important; height:100% !important; object-fit:cover !important; transition:transform .5s cubic-bezier(.25,.8,.25,1) !important; }
    .pc-about-image:hover img { transform:scale(1.05) !important; }

    /* ======================================================= */
    /* GALLERY                                                 */
    /* ======================================================= */
    .pc-gallery { display:grid !important; grid-template-columns:repeat(3,1fr) !important; width:100% !important; overflow:hidden !important; }
    .pc-gallery-item { height:322px !important; overflow:hidden !important; cursor:pointer !important; }
    .pc-gallery-item img { width:100% !important; height:100% !important; object-fit:cover !important; transition:transform .5s cubic-bezier(.25,.8,.25,1) !important; }
    .pc-gallery-item:hover img { transform:scale(1.06) !important; }

    /* ======================================================= */
    /* AMENITIES                                               */
    /* ======================================================= */
    .pc-section-title { font-family:'Commissioner', sans-serif !important; font-weight:900 !important; font-size:clamp(30px,4vw,50px) !important; text-transform:uppercase !important; text-align:center !important; line-height:1.1 !important; }
    .pc-section-title.pc-light { color:var(--pc-mint) !important; }
    .pc-amenities { padding:60px 120px !important; min-height:545px !important; display:flex !important; align-items:center !important; justify-content:center !important; }
    .pc-amenities-card { background:var(--pc-light-blue) !important; border-radius:8px !important; width:100% !important; max-width:1200px !important; padding:60px 20px !important; display:flex !important; flex-direction:column !important; align-items:center !important; gap:38px !important; }
    .pc-amenities-grid { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:56px 22px !important; max-width:1160px !important; width:100% !important; }
    .pc-amenity { display:flex !important; align-items:center !important; gap:12px !important; transition:transform .3s cubic-bezier(.25,.8,.25,1) !important; cursor:pointer !important; }
    .pc-amenity:hover { transform:translateY(-5px) scale(1.03) !important; }
    .pc-amenity-icon { flex-shrink:0 !important; width:120px !important; height:120px !important; border-radius:50% !important; background:var(--pc-light-blue) !important; display:flex !important; align-items:center !important; justify-content:center !important; overflow:hidden !important; }
    .pc-amenity-icon img { width:85% !important; height:85% !important; object-fit:contain !important; }
    .pc-amenity-label { font-family:'Commissioner', sans-serif !important; font-weight:500 !important; font-size:18px !important; line-height:1.11 !important; text-transform:capitalize !important; color:var(--pc-dark) !important; max-width:147px !important; }
.form-html {padding: 0 !important;}
    /* ======================================================= */
    /* FORM INTRO BANNER (dark)                                */
    /* ======================================================= */
    .pc-form-intro { padding:90px 20px 60px !important; text-align:center !important; }
    .pc-form-intro-inner { max-width:820px !important; margin:0 auto !important; }
    .pc-form-intro-sub { font-family:'Commissioner', sans-serif !important; font-weight:400 !important; font-size:18px !important; text-transform:uppercase !important; color:var(--pc-white) !important; margin-top:25px !important; line-height:1.55 !important; }

    /* ======================================================= */
    /* PROGRESS BAR SECTION                                     */
    /* ======================================================= */
    .pc-progress-section { background:var(--pc-white) !important; padding:70px 20px !important; display:flex !important; justify-content:center !important; }
    .pc-progress-inner { width:100% !important; max-width:900px !important; text-align:center !important; }
    .pc-progress-heading { font-family:'Commissioner', sans-serif !important; font-weight:900 !important; font-size:clamp(28px,4vw,46px) !important; text-transform:uppercase !important; color:var(--pc-dark) !important; margin-bottom:28px !important; line-height:1.1 !important; }
    .pc-progress-stats { display:flex !important; flex-direction:column !important; align-items:center !important; gap:4px !important; margin-bottom:22px !important; }
    .pc-progress-raised { font-family:'Commissioner', sans-serif !important; font-weight:900 !important; font-size:clamp(38px,6vw,64px) !important; color:var(--pc-blue) !important; line-height:1 !important; letter-spacing:.5px !important; }
    .pc-progress-goal { font-family:'Commissioner', sans-serif !important; font-weight:500 !important; font-size:clamp(15px,1.8vw,20px) !important; color:var(--pc-form-gray) !important; text-transform:uppercase !important; letter-spacing:.5px !important; }
    .pc-progress-goal span { font-weight:800 !important; color:var(--pc-dark) !important; }
    .pc-progress-track { width:100% !important; height:34px !important; background:#eef1f0 !important; border-radius:100px !important; overflow:hidden !important; box-shadow:inset 0 2px 5px rgba(0,0,0,.08) !important; position:relative !important; }
    .pc-progress-fill { height:100% !important; width:0% ; background:linear-gradient(90deg, var(--pc-mint), var(--pc-blue)) !important; border-radius:100px !important; transition:width 1.4s cubic-bezier(.25,.8,.25,1) !important; box-shadow:0 0 12px rgba(19,116,190,.35) !important; font-size:0 !important; line-height:0 !important; color:transparent !important; overflow:hidden !important; }
    .pc-progress-percent { font-family:'Commissioner', sans-serif !important; font-weight:700 !important; font-size:clamp(14px,1.6vw,18px) !important; color:var(--pc-gold) !important; text-transform:uppercase !important; letter-spacing:.5px !important; margin-top:16px !important; }

    /* ======================================================= */
    /* DONORS SECTION                                           */
    /* ======================================================= */
    .pc-donors-section { background:var(--pc-bg-light) !important; padding:80px 20px !important; display:flex !important; justify-content:center !important; }
    .pc-donors-inner { width:100% !important; max-width:1100px !important; }
    .pc-donors-title { color:var(--pc-dark) !important; margin-bottom:10px !important; }
    .pc-donors-sub { font-family:'Commissioner', sans-serif !important; font-weight:400 !important; font-size:clamp(15px,1.8vw,19px) !important; color:var(--pc-form-gray) !important; text-align:center !important; text-transform:uppercase !important; letter-spacing:.5px !important; margin-bottom:40px !important; }
    .pc-donors-loading { text-align:center !important; font-family:'Commissioner', sans-serif !important; color:var(--pc-form-gray) !important; padding:40px 0 !important; font-size:18px !important; }

    .pc-tier-nav { display:flex !important; flex-wrap:wrap !important; justify-content:center !important; gap:10px !important; margin-bottom:34px !important; font-size:0 !important; color:transparent !important; }
    .pc-tier-pill { font-family:'Commissioner', sans-serif !important; font-weight:600 !important; font-size:14px !important; text-transform:uppercase !important; letter-spacing:.4px !important; color:var(--pc-form-gray) !important; background:var(--pc-white) !important; border:2px solid var(--pc-border-light) !important; border-radius:100px !important; padding:10px 20px !important; cursor:pointer !important; transition:all .2s ease !important; white-space:nowrap !important; display:inline-flex !important; align-items:center !important; gap:8px !important; }
    .pc-tier-pill:hover { border-color:var(--pc-gold) !important; color:var(--pc-dark) !important; }
    .pc-tier-pill.pc-tier-active { background:var(--pc-dark) !important; border-color:var(--pc-dark) !important; color:var(--pc-white) !important; }
    .pc-tier-pill-count { font-weight:800 !important; background:rgba(0,0,0,.08) !important; border-radius:100px !important; padding:1px 8px !important; font-size:12px !important; }
    .pc-tier-pill.pc-tier-active .pc-tier-pill-count { background:rgba(255,255,255,.2) !important; }

    .pc-tier-panels { position:relative !important; }
    .pc-tier-panel { display:none !important; }
    .pc-tier-panel.pc-tier-panel-active { display:block !important; animation:pcFadeIn .35s ease !important; }
    @keyframes pcFadeIn { from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }
    .pc-tier-panel-header { display:flex !important; align-items:baseline !important; justify-content:space-between !important; flex-wrap:wrap !important; gap:8px !important; margin-bottom:20px !important; padding-bottom:14px !important; border-bottom:2px solid var(--pc-border-light) !important; }
    .pc-tier-panel-name { font-family:'Commissioner', sans-serif !important; font-weight:900 !important; font-size:clamp(22px,2.6vw,32px) !important; text-transform:uppercase !important; color:var(--pc-dark) !important; }
    .pc-tier-panel-range { font-family:'Commissioner', sans-serif !important; font-weight:600 !important; font-size:15px !important; color:var(--pc-gold) !important; text-transform:uppercase !important; letter-spacing:.5px !important; }

    .pc-donor-scroll { max-height:318px !important; overflow-y:auto !important; padding-right:10px !important; display:flex !important; flex-direction:column !important; gap:12px !important; scrollbar-width:thin !important; scrollbar-color:var(--pc-mint) #eef1f0 !important; }
    .pc-donor-scroll::-webkit-scrollbar { width:8px !important; }
    .pc-donor-scroll::-webkit-scrollbar-track { background:#eef1f0 !important; border-radius:100px !important; }
    .pc-donor-scroll::-webkit-scrollbar-thumb { background:var(--pc-mint) !important; border-radius:100px !important; }
    .pc-donor-scroll::-webkit-scrollbar-thumb:hover { background:var(--pc-blue) !important; }

    .pc-donor-card { background:var(--pc-white) !important; border:1px solid var(--pc-border-light) !important; border-radius:10px !important; padding:18px 24px !important; display:flex !important; align-items:center !important; justify-content:space-between !important; gap:16px !important; transition:border-color .2s, transform .2s !important; }
    .pc-donor-card:hover { border-color:var(--pc-gold) !important; transform:translateX(4px) !important; }
    .pc-donor-card-left { display:flex !important; flex-direction:column !important; gap:3px !important; min-width:0 !important; }
    .pc-donor-name { font-family:'Commissioner', sans-serif !important; font-weight:700 !important; font-size:19px !important; color:var(--pc-dark) !important; line-height:1.2 !important; }
    .pc-donor-dedication { font-family:'Commissioner', sans-serif !important; font-weight:400 !important; font-style:italic !important; font-size:14px !important; color:var(--pc-form-gray) !important; line-height:1.3 !important; }
    .pc-donor-tier-label { font-family:'Commissioner', sans-serif !important; font-weight:600 !important; font-size:12px !important; text-transform:uppercase !important; letter-spacing:.5px !important; color:var(--pc-gold) !important; margin-top:2px !important; }
    .pc-donor-amount { font-family:'Commissioner', sans-serif !important; font-weight:900 !important; font-size:clamp(18px,2vw,24px) !important; color:var(--pc-blue) !important; white-space:nowrap !important; flex-shrink:0 !important; }
    .pc-tier-empty { font-family:'Commissioner', sans-serif !important; color:var(--pc-form-gray) !important; padding:30px 0 !important; text-align:center !important; font-size:16px !important; }

    .pc-tier-arrows { display:flex !important; justify-content:space-between !important; margin-top:24px !important; gap:12px !important; }
    .pc-tier-arrow { font-family:'Commissioner', sans-serif !important; font-weight:700 !important; font-size:14px !important; text-transform:uppercase !important; letter-spacing:.4px !important; color:var(--pc-dark) !important; background:var(--pc-white) !important; border:2px solid var(--pc-border-light) !important; border-radius:100px !important; padding:12px 24px !important; cursor:pointer !important; transition:all .2s ease !important; display:inline-flex !important; align-items:center !important; gap:8px !important; }
    .pc-tier-arrow:hover:not(:disabled) { border-color:var(--pc-gold) !important; background:var(--pc-mint) !important; }
    .pc-tier-arrow:disabled { opacity:.35 !important; cursor:not-allowed !important; }
  `;

  // (form-transform CSS appended below in part 2)

  // ==========================================
  // 2b. FORM-TRANSFORM CSS (appended)
  // ==========================================
  css += `
    /* ======================================================= */
    /* FORM SHELL - dark background, full width                 */
    /* ======================================================= */
    .form-all { width:100% !important; max-width:100% !important; box-shadow:none !important; margin:0 !important; padding:0 !important;}
    .form-section { padding:0 !important; margin:0 !important; }
    #GenFormStyles { display:none !important; }

    /* The dedication + wall + amounts groups live directly on dark bg */
    #cid_1, #id_3, #cid_4, #id_5, #cid_6, #id_7 { width:100% !important; max-width:100% !important; }

    /* Constrain everything else to a centered column */
    .form-line { width:100% !important; margin:0 !important; padding:0 !important; box-sizing:border-box !important; float:none !important; }

    /* Hide JotForm junk inside the card grids */
    #cid_3 .clearfix, #cid_5 .clearfix, #cid_7 .clearfix { display:none !important; }
    #cid_3 br, #cid_5 br, #cid_7 br { display:none !important; }
    .label-message { display:none !important; }
    /* Hide the left labels for the three grid groups (Figma has no side label) */
    #label_3, #label_5, #label_7 { display:none !important; }

    /* ---- Section header groups (h2 intros for each block) ---- */
    .form-header-group { background:transparent !important; border:none !important; text-align:center !important; padding:40px 20px 10px !important; }
    #cid_1 .form-header, #cid_4 .form-header, #cid_6 .form-header { font-family:'Commissioner', sans-serif !important; font-weight:900 !important; font-size:clamp(30px,4vw,50px) !important; text-transform:uppercase !important; }
    #cid_4 .form-header { color:var(--pc-mint) !important; }
    #cid_1 .form-header, #cid_6 .form-header { color:var(--pc-white) !important; }
    .form-subHeader { font-family:'Commissioner', sans-serif !important; font-weight:400 !important; font-size:16px !important; text-transform:uppercase !important; color:var(--pc-white) !important; margin-top:14px !important; opacity:.85 !important; }
    /* Donor & Payment header (#cid_8) is inside the white box - restyle there */

    /* ======================================================= */
    /* CARD GRIDS (Dedications, Wall, Amounts)                  */
    /* ======================================================= */
    #cid_3, #cid_5, #cid_7 { display:flex !important; justify-content:center !important; width:100% !important; padding:0 20px 30px !important; box-sizing:border-box !important; }
    #cid_3 .form-multiple-column, #cid_5 .form-multiple-column, #cid_7 .form-multiple-column {
      display:grid !important; gap:32px !important; width:100% !important; max-width:1082px !important; margin:0 auto !important; float:none !important;
    }
    #cid_3 .form-multiple-column { grid-template-columns:repeat(2,1fr) !important; }
    #cid_5 .form-multiple-column { grid-template-columns:repeat(2,1fr) !important; }
    #cid_7 .form-multiple-column { grid-template-columns:repeat(3,1fr) !important; gap:24px !important; }

    .form-checkbox-item { position:relative !important; margin:0 !important; clear:none !important; width:100% !important; float:none !important; }
    .form-checkbox-item input[type="checkbox"] { display:none !important; }

    /* Card = the label */
    #cid_3 .form-checkbox-item label:not(.pc-processed-x),
    #cid_5 .form-checkbox-item label,
    #cid_7 .form-checkbox-item label {
      display:flex !important; align-items:center !important; gap:30px !important;
      background:var(--pc-white) !important; border:2px solid var(--pc-gold) !important; border-radius:5px !important;
      padding:30px 33px !important; min-height:111px !important; cursor:pointer !important;
      box-sizing:border-box !important; transition:all .05s ease-out !important; margin:0 !important;
      font-family:'Commissioner', sans-serif !important; text-transform:uppercase !important; color:var(--pc-dark) !important;
      overflow:hidden !important; position:relative !important; width:100% !important;
    }
    /* Alternating grey backgrounds (nth-child on the item wrapper) */
    #cid_3 .form-checkbox-item:nth-child(even) label,
    #cid_5 .form-checkbox-item:nth-child(even) label,
    #cid_7 .form-checkbox-item:nth-child(even) label { background:#f2f2f2 !important; }

    /* If the dedications grid has an odd last item, center it across both cols. */
    #cid_3 .form-checkbox-item.pc-center-last { grid-column:1 / -1 !important; justify-self:center !important; max-width:501px !important; width:100% !important; }

    /* Radio dot rendered via ::before on the label */
    #cid_3 .form-checkbox-item label::before,
    #cid_5 .form-checkbox-item label::before,
    #cid_7 .form-checkbox-item label::before {
      content:'' !important; width:26px !important; height:26px !important; border-radius:50% !important;
      background:var(--pc-white) !important; border:2px solid #ccc !important; flex-shrink:0 !important;
      transition:all .05s ease-out !important; position:relative !important; box-sizing:border-box !important;
    }
    /* Hover */
    #cid_3 .form-checkbox-item label:hover, #cid_5 .form-checkbox-item label:hover, #cid_7 .form-checkbox-item label:hover { box-shadow:inset 0 0 0 4px var(--pc-gold) !important; }
    #cid_3 .form-checkbox-item label:hover::before, #cid_5 .form-checkbox-item label:hover::before, #cid_7 .form-checkbox-item label:hover::before { border-color:var(--pc-gold) !important; }

    /* Selected (checkbox checked) -> mint fill */
    #cid_3 .form-checkbox-item input:checked + label,
    #cid_5 .form-checkbox-item input:checked + label,
    #cid_7 .form-checkbox-item input:checked + label {
      background:var(--pc-mint) !important; border-color:var(--pc-mint) !important; box-shadow:inset 0 0 0 2px var(--pc-mint) !important;
    }
    #cid_3 .form-checkbox-item input:checked + label::before,
    #cid_5 .form-checkbox-item input:checked + label::before,
    #cid_7 .form-checkbox-item input:checked + label::before {
      background:var(--pc-mint) !important; border-color:var(--pc-dark) !important;
    }
    /* Check tick */
    #cid_3 .form-checkbox-item input:checked + label::after,
    #cid_5 .form-checkbox-item input:checked + label::after,
    #cid_7 .form-checkbox-item input:checked + label::after {
      content:'' !important; position:absolute !important; left:44px !important; top:50% !important;
      width:6px !important; height:12px !important; border:solid var(--pc-dark) !important; border-width:0 2px 2px 0 !important;
      transform:translateY(-70%) rotate(45deg) !important; box-sizing:border-box !important;
    }

    /* Label text - split into name + price via JS spans */
    #cid_3 .form-checkbox-item label span:not(.pc-name):not(.pc-price),
    #cid_5 .form-checkbox-item label span:not(.pc-name):not(.pc-price),
    #cid_7 .form-checkbox-item label span:not(.pc-name):not(.pc-price) { display:flex !important; flex-direction:column !important; gap:5px !important; }
    .pc-name { font-family:'Commissioner', sans-serif !important; font-weight:500 !important; font-size:18px !important; color:var(--pc-dark) !important; display:block !important; }
    .pc-price { font-family:'Commissioner', sans-serif !important; font-weight:800 !important; font-size:clamp(22px,2.1vw,30px) !important; letter-spacing:.9px !important; color:var(--pc-dark) !important; display:block !important; }
    /* Amounts group ($3,600 etc) - single line, no name */
    #cid_7 .pc-price { font-weight:800 !important; }

    /* ---- TAKEN / RESERVED state ---- */
    #cid_3 .form-checkbox-item.pc-taken label,
    #cid_5 .form-checkbox-item.pc-taken label,
    #cid_7 .form-checkbox-item.pc-taken label { cursor:not-allowed !important; pointer-events:none !important; opacity:1 !important; background:var(--pc-gold) !important; border-color:var(--pc-gold) !important; }
    #cid_3 .form-checkbox-item.pc-taken label::before,
    #cid_5 .form-checkbox-item.pc-taken label::before,
    #cid_7 .form-checkbox-item.pc-taken label::before { background:transparent !important; border-color:var(--pc-dark) !important; opacity:.6 !important; }
    .form-checkbox-item.pc-taken .pc-name { opacity:.55 !important; color:var(--pc-dark) !important; }
    .form-checkbox-item.pc-taken .pc-price { opacity:.55 !important; color:var(--pc-dark) !important; }
    .pc-reserved-note { display:block !important; margin-top:10px !important; }
    .pc-reserved-word { display:block !important; font-family:'Commissioner', sans-serif !important; font-weight:900 !important; font-size:24px !important; text-transform:uppercase !important; letter-spacing:.6px !important; color:var(--pc-dark) !important; line-height:1.1 !important; opacity:1 !important; }
    .pc-reserved-by { display:block !important; font-family:'Commissioner', sans-serif !important; font-style:italic !important; font-weight:800 !important; font-size:25px !important; text-transform:none !important; color:var(--pc-dark) !important; opacity:.7 !important; margin-top:3px !important; }

    /* ======================================================= */
    /* OTHER / CUSTOM AMOUNT (other_7 / input_7)               */
    /* ======================================================= */
    /* Custom card spans the full width of the 3-column amounts grid. */
    #cid_7 .form-checkbox-item.pc-custom-card { grid-column:1 / -1 !important; }
    .pc-custom-card {
      display:flex !important; align-items:center !important; gap:20px !important; padding:15px 33px !important;
      background:var(--pc-white) !important; border:2px solid var(--pc-gold) !important; border-radius:5px !important;
      min-height:111px !important; cursor:pointer !important; box-sizing:border-box !important; width:100% !important; position:relative !important;
    }
    .pc-custom-card.pc-active { box-shadow:inset 0 0 0 2px var(--pc-mint) !important; background:var(--pc-mint) !important; border-color:var(--pc-mint) !important; }
    .pc-custom-card::before {
      content:'' !important; width:26px !important; height:26px !important; border-radius:50% !important;
      background:var(--pc-white) !important; border:2px solid #ccc !important; flex-shrink:0 !important; box-sizing:border-box !important; position:relative !important;
    }
    .pc-custom-card.pc-active::before { background:var(--pc-mint) !important; border-color:var(--pc-dark) !important; }
    /* Tick mark inside the dot when active (mirrors the other cards) */
    .pc-custom-card.pc-active::after {
      content:'' !important; position:absolute !important; left:44px !important; top:50% !important;
      width:6px !important; height:12px !important; border:solid var(--pc-dark) !important; border-width:0 2px 2px 0 !important;
      transform:translateY(-70%) rotate(45deg) !important; box-sizing:border-box !important; pointer-events:none !important; z-index:2 !important;
    }
    .pc-custom-label { font-family:'Commissioner', sans-serif !important; font-weight:800 !important; font-size:18px !important; letter-spacing:.54px !important; color:var(--pc-dark) !important; text-transform:uppercase !important; white-space:nowrap !important; pointer-events:none !important; }
    .pc-custom-wrap { background:#eaeaea !important; height:60px !important; flex:1 1 auto !important; min-width:120px !important; display:flex !important; align-items:center !important; padding-left:18px !important; border-radius:4px !important; box-sizing:border-box !important; }
    .pc-custom-wrap > span { font-family:'Commissioner', sans-serif !important; font-weight:100 !important; font-size:23px !important; color:var(--pc-dark) !important; flex-shrink:0 !important; }
    #cid_7 input[type="number"], .pc-custom-input {
      background:transparent !important; border:none !important; outline:none !important;
      font-family:'Commissioner', sans-serif !important; font-weight:100 !important; font-size:23px !important; color:var(--pc-dark) !important;
      width:100% !important; min-width:0 !important; padding-left:5px !important; box-sizing:border-box !important;
    }
    /* Hide the stray empty span JotForm leaves in the custom card */
    .pc-custom-card > span:empty { display:none !important; }
    .pc-custom-card > br { display:none !important; }

    /* ======================================================= */
    /* DONOR WHITE BOX (fields 8,10,11,12,13,14,15,16)          */
    /* ======================================================= */
    .pc-white-box {
      background:var(--pc-white) !important; border-radius:8px !important; width:100% !important;
     margin:0 !important; padding:68px 20vw !important; box-sizing:border-box !important;
      list-style:none !important; display:block !important; margin-top: 50px !important;
    }
    .pc-white-box .form-header-group { text-align:center !important; padding:0 0 40px !important; }
    .pc-white-box .form-header { font-family:'Commissioner', sans-serif !important; font-weight:800 !important; font-size:31px !important; text-align:center !important; text-transform:uppercase !important; letter-spacing:1.88px !important; color:var(--pc-dark) !important; }

.form-address-table {
    max-width: 100% !important;
}
    .pc-white-box .form-line { padding:18px 0 !important; margin:0 !important; max-width:100% !important; }
    .pc-white-box .form-label-left { float:none !important; text-align:left !important; margin-bottom:8px !important; }
    #label_input_19_0, .pc-white-box .form-label-left label { font-family:'Outfit', sans-serif !important; font-weight:600 !important; font-size:21px !important; text-transform:capitalize !important; color:var(--pc-dark) !important; }
    .pc-white-box .form-input { width:100% !important; }
    .form-required { color:var(--pc-blue) !important; margin-left:3px !important; }

    /* Inputs */
    .form-textbox, .form-dropdown, .form-address-table input, .form-address-table select {
      height:60px !important; border:2px solid var(--pc-light-blue) !important; border-radius:10px !important;
      background:var(--pc-white) !important; padding:0 15px !important; font-family:'Outfit', sans-serif !important; font-size:16px !important;
      color:var(--pc-dark) !important; width:100% !important; box-sizing:border-box !important; max-width:100% !important;
    }
    .form-textbox:focus, .form-dropdown:focus, .form-address-table input:focus, .form-address-table select:focus { border-color:var(--pc-blue) !important; outline:none !important; }
    .form-sub-label { font-family:'Outfit', sans-serif !important; font-weight:300 !important; font-size:15px !important; color:var(--pc-form-gray) !important; text-transform:capitalize !important; margin-top:5px !important; display:block !important; }

    /* Name row (first/last side by side) */
    #cid_11 { display:flex !important; gap:24px !important; flex-wrap:wrap !important; }
    #cid_11 .form-sub-label-container { flex:1 !important; min-width:45% !important; }

    /* Email + Phone side-by-side row (grouped by JS) */
    .pc-field-row { display:grid !important; grid-template-columns:1fr 1fr !important; gap:24px !important; padding:18px 0 !important; margin:0 !important; max-width:100% !important; list-style:none !important; }
    .pc-field-row > .form-line { padding:0 !important; margin:0 !important; }
.form-payment-methods.form-multiple-column {
      display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:15px !important; width:100% !important;
    }
    @media (max-width:768px){ .pc-field-row { grid-template-columns:1fr !important; }
.pc-custom-card.pc-active::after{ left: 30px !important;
    top: 24% !important;}
#cid_5 .form-checkbox-item input:checked + label::after, #cid_7 .form-checkbox-item input:checked + label::after{
left: 30px !important;} 
#cid_3 .form-multiple-column, #cid_5 .form-multiple-column, #cid_7 .form-multiple-column{ gap: 16px !important;}
.pc-white-box .form-input { width: 90vw !important; }
.form-payment-methods.form-multiple-column { grid-template-columns: repeat(2, 1fr) !important;}
}

    /* Address table -> grid rows (SCOPED to the address field only, NOT payment) */
    #cid_14 .form-address-table { width:100% !important; border-collapse:separate !important; border-spacing:12px 8px !important; }
    #cid_14 .form-address-table tr { display:flex !important; flex-wrap:wrap !important; width:100% !important; gap:12px !important; }
    #cid_14 .form-address-table td { display:block !important; padding:0 !important; margin:0 !important; flex-grow:1 !important; }
    #cid_14 .form-address-table td[colspan="2"] { width:100% !important; flex:1 1 100% !important; }
    #cid_14 .form-address-table td[width="50%"] { flex:1 1 calc(50% - 12px) !important; }
    .form-sub-label-container { display:block !important; }

    /* ======================================================= */
    /* PAYMENT METHOD                                          */
    /* ======================================================= */
    /* Keep the "Payment Method" label visible (Figma has the title). */
    #label_15 { display:block !important; width:100% !important; float:none !important; text-align:left !important; margin-bottom:14px !important; }
    #label_15 label { font-family:'Outfit', sans-serif !important; font-weight:600 !important; font-size:21px !important; text-transform:capitalize !important; color:var(--pc-dark) !important; }

    /* CRITICAL: the payment table holds the radios AND all cc/echeck/billing rows.
       JotForm hides those rows with class .hide and reveals them by removing .hide
       when a method is picked. Our layout CSS must NEVER apply to a .hide row,
       otherwise it force-shows fields for methods the user did not pick. */
    #cid_15 .form-address-table { width:100% !important; border-collapse:collapse !important; display:block !important; }
    #cid_15 .form-address-table > tbody { display:block !important; width:100% !important; }
    /* Hidden rows stay hidden, period. */
    #cid_15 tr.hide { display:none !important; }
    /* Visible rows lay out as blocks */
    #cid_15 tr:not(.hide) { display:block !important; width:100% !important; }
    #cid_15 tr:not(.hide) > td { display:grid !important; width:100% !important; padding:6px 0 !important; }

    /* The payment-method radio row: force the 4 options into one row */
    #cid_15 td.form-payment-methods .form-radio-item { display:inline-block !important; }
    
    .form-payment-methods .form-radio-item { margin:0 !important; width:100% !important; float:none !important; }
    .form-payment-methods .form-radio-item input[type="radio"] { display:none !important; }
    .form-payment-methods .form-radio-item label {
      border:1px solid var(--pc-border-light) !important; border-radius:10px !important; background:var(--pc-bg-light) !important;
      height:75px !important; display:flex !important; align-items:center !important; gap:14px !important; padding:0 20px !important;
      cursor:pointer !important; transition:border-color .2s, background .2s !important; margin:0 !important;
      font-family:'Outfit', sans-serif !important; font-weight:400 !important; font-size:17px !important; color:var(--pc-form-gray) !important;
      box-sizing:border-box !important; white-space:nowrap !important;
    }
    .form-payment-methods .form-radio-item label::before {
      content:'' !important; width:27px !important; height:27px !important; border-radius:50% !important; border:2px solid var(--pc-border-light) !important;
      flex-shrink:0 !important; position:relative !important; box-sizing:border-box !important; transition:all .2s !important;
    }
    .form-payment-methods .form-radio-item label:hover { border-color:rgba(19,116,190,.7) !important; background:rgba(45,164,255,.06) !important; }
    .form-payment-methods .form-radio-item input:checked + label { border-color:rgba(19,116,190,.7) !important; background:rgba(45,164,255,.06) !important; }
    .form-payment-methods .form-radio-item input:checked + label::before { border-color:var(--pc-blue) !important; box-shadow:inset 0 0 0 5px var(--pc-blue) !important; background:var(--pc-white) !important; }

    /* Payment sub-fields (cc, echeck, billing) - style ONLY when revealed (not .hide) */
    #cid_15 tr:not(.hide) th { font-family:'Outfit', sans-serif !important; text-align:left !important; padding:15px 0 5px !important; color:var(--pc-dark) !important; font-size:18px !important; }
    #cid_15 tr:not(.hide) .cc-icons { display:flex !important; gap:8px !important; margin:8px 0 !important; }
    /* Inner cc/echeck sub-table can use normal table flow */
    #cid_15 tr:not(.hide) table { width:100% !important; }
    #cid_15 tr:not(.hide) table td { display:table-cell !important; width:auto !important; padding:6px 8px 6px 0 !important; }

    /* ======================================================= */
    /* TOTAL BAR                                               */
    /* ======================================================= */
    /* One rounded rectangle: label on the left, dollar amount on the right. */
    #id_16 {
      background:var(--pc-bg-light) !important; border:1px solid var(--pc-border-light) !important; border-radius:12px !important;
      padding:0 27px !important; min-height:100px !important; display:flex !important; align-items:center !important;
      justify-content:space-between !important; width:100% !important; max-width:100% !important; margin:0 !important; box-sizing:border-box !important;
    }
    #label_16 { display:flex !important; align-items:center !important; width:auto !important; float:none !important; margin:0 !important; }
    #label_16 label { font-family:'Outfit', sans-serif !important; font-weight:800 !important; font-size:24px !important; color:var(--pc-form-gray) !important; text-transform:capitalize !important; }
    #cid_16 { width:auto !important; margin:0 !important; padding:0 !important; display:flex !important; align-items:center !important; }
    #total_amount { font-family:'Outfit', sans-serif !important; font-weight:800 !important; font-size:31px !important; color:var(--pc-blue) !important; }

    /* ======================================================= */
    /* SUBMIT                                                  */
    /* ======================================================= */
    #id_2 { background: white; padding-bottom:80px !important; }
    .form-buttons-wrapper { text-align:center !important; text-indent:0 !important; }
    .form-submit-button {
      background:var(--pc-dark) !important; color:var(--pc-white) !important; font-family:'Montserrat', sans-serif !important;
      font-weight:700 !important; font-size:21px !important; text-transform:uppercase !important; padding:25px 50px !important;
      border-radius:4px !important; cursor:pointer !important; display:inline-flex !important; align-items:center !important; gap:7px !important;
      width:460px !important; max-width:100% !important; justify-content:center !important; position:relative !important; overflow:hidden !important; z-index:1 !important; border:none !important;
      transition:color .3s ease !important;
    }
    .form-submit-button::before { content:'' !important; position:absolute !important; top:0 !important; left:0 !important; bottom:0 !important; right:100% !important; background:var(--pc-mint) !important; z-index:-1 !important; transition:right .3s ease-out !important; }
    .form-submit-button:hover { color:var(--pc-dark) !important; }
    .form-submit-button:hover::before { right:0 !important; }

    /* ======================================================= */
    /* RESPONSIVE                                              */
    /* ======================================================= */
    @media (max-width:1200px) {
      .pc-about { gap:50px !important; padding:60px 60px !important; }
      .pc-about-image { width:300px !important; height:320px !important; }
      .pc-amenities { padding:60px 60px !important; }
      .pc-amenities-grid { grid-template-columns:repeat(3,1fr) !important; gap:40px 20px !important; }
      .form-payment-methods.form-multiple-column { grid-template-columns:repeat(2,1fr) !important; }
    }
    @media (max-width:1024px) {
      .pc-top-bar { padding:15px 20px !important; background:transparent !important; box-shadow:none !important; }
      .pc-top-bar.pc-scrolled, .pc-top-bar.pc-menu-open { background:rgba(255,255,255,.98) !important; box-shadow:0 2px 15px rgba(0,0,0,.08) !important; }
      .pc-top-bar-inner { justify-content:flex-end !important; }
      .pc-hamburger { display:flex !important; }
      .pc-nav-links { position:fixed !important; top:0 !important; left:100% !important; width:100% !important; height:100vh !important; background:rgba(255,255,255,.98) !important; flex-direction:column !important; justify-content:center !important; align-items:center !important; transition:left .3s ease !important; gap:40px !important; }
      .pc-nav-links.pc-open { left:0 !important; }
      .pc-nav-link { font-size:22px !important; }
      .pc-hamburger span { background:var(--pc-white) !important; }
      .pc-top-bar.pc-scrolled .pc-hamburger span, .pc-top-bar.pc-menu-open .pc-hamburger span { background:var(--pc-dark) !important; }
      .pc-hamburger.pc-active span:nth-child(1) { transform:rotate(45deg) translate(6px,6px) !important; }
      .pc-hamburger.pc-active span:nth-child(2) { opacity:0 !important; }
      .pc-hamburger.pc-active span:nth-child(3) { transform:rotate(-45deg) translate(6px,-6px) !important; }
      .pc-hero-content { padding-top:100px !important; }
      .pc-about { flex-direction:column-reverse !important; text-align:center !important; gap:40px !important; padding:60px 40px !important; }
  .form-payment-methods.form-multiple-column{ grid-template-columns: repeat(2, 1fr) !important;}
      .pc-about-text { max-width:100% !important; }
      .pc-cta-left { justify-content:center !important; }
      .pc-about-image { width:100% !important; max-width:500px !important; height:350px !important; }
      .pc-gallery { grid-template-columns:1fr !important; }
      .pc-amenities-grid { grid-template-columns:repeat(2,1fr) !important; }
      #cid_3 .form-multiple-column, #cid_5 .form-multiple-column { grid-template-columns:1fr !important; }
      #cid_7 .form-multiple-column { grid-template-columns:1fr 1fr !important; }
      .pc-white-box { padding:50px 30px !important; }
      #cid_11 .form-sub-label-container { min-width:100% !important; }
    }
    @media (max-width:768px) {
      .pc-logo { width:65px !important; height:65px !important; margin-bottom:5px !important; }
      .pc-hero-content { padding-top:40px !important; }
      .pc-hero-title { font-size:50px !important; line-height:1 !important; }
      .pc-hero-sub { font-size:clamp(12px,3vw,15px) !important; margin-top:8px !important; }
      .pc-cta-group { flex-direction:column !important; align-items:center !important; padding:0 16px !important; margin-top:15px !important; }
      .pc-btn { width:100% !important; padding:24px 16px !important; }
      .pc-about { padding:40px 20px !important; }
      .pc-amenities { padding:40px 20px !important; }
      .pc-amenities-grid { grid-template-columns:repeat(2,1fr) !important; gap:30px 15px !important; justify-items:center !important; }
      .pc-amenity { flex-direction:column !important; text-align:center !important; gap:10px !important; }
      .pc-amenity-icon { width:100px !important; height:100px !important; }
      .pc-amenity-label { font-size:15px !important; }
      #cid_7 .form-multiple-column { grid-template-columns:1fr 1fr !important; gap:16px !important; }
      .pc-white-box { padding:30px 15px !important; }
      .form-payment-methods.form-multiple-column { grid-template-columns:1fr 1fr !important; }
      .form-submit-button { width:100% !important; }
      #id_16 { flex-direction:column !important; min-height:auto !important; padding:20px 24px !important; gap:8px !important; align-items:flex-start !important; }
      #cid_3 .form-checkbox-item label, #cid_5 .form-checkbox-item label, #cid_7 .form-checkbox-item label { padding:20px !important; gap:20px !important; }
      /* Custom amount: stack label above input so the field has full width to type in */
      #cid_7 .form-checkbox-item.pc-custom-card { flex-wrap:wrap !important; padding:20px !important; gap:14px !important; }
      .pc-custom-card .pc-custom-label { flex:1 1 auto !important; }
      .pc-custom-card .pc-custom-wrap { flex:1 1 100% !important; width:100% !important; min-width:0 !important; height:56px !important; }
      .pc-progress-section { padding:50px 16px !important; }
      .pc-donors-section { padding:50px 16px !important; }
      .pc-donor-card { padding:14px 18px !important; }
      .pc-donor-name { font-size:17px !important; }
      .pc-donor-scroll { max-height:300px !important; }
      .pc-tier-pill { font-size:13px !important; padding:8px 16px !important; }
    }

.form-all { background-image: url(https://chabadpalmcoast.com/media/images/1376/RBPe13764576.png) !important;
    background-size: cover; background-repeat: no-repeat;}
.pc-flipbook-inner { text-align:center !important; }
    .pc-brochure-btn { display:inline-flex !important; }
#cid_6 .form-header{ color: var(--pc-mint) !important;}
#input_19_0{ display: block !important;}

    /* ======================================================= */
    /* CUSTOM AMOUNT Q (fields 21 + 22)                        */
    /* ======================================================= */
    #id_21, #id_22 { max-width:1082px !important; margin:0 auto !important; padding:0 20px 30px !important; box-sizing:border-box !important; }
    #label_21 { display:block !important; width:100% !important; float:none !important; text-align:center !important; margin-bottom:18px !important; }
    #label_21 label { font-family:'Commissioner', sans-serif !important; font-weight:700 !important; font-size:20px !important; text-transform:uppercase !important; color:var(--pc-white) !important; letter-spacing:.5px !important; }
    #cid_21 { width:100vw !important; }
    #cid_21 .form-single-column { display:grid !important; grid-template-columns:1fr 1fr !important; gap:24px !important; width:100% !important; }
    #cid_21 .clearfix, #cid_21 br { display:none !important; }
    #cid_21 .form-radio-item { margin:0 !important; width:100% !important; float:none !important; clear:none !important; }
    #cid_21 input[type="radio"] { display:none !important; }
    #cid_21 .form-radio-item label {
      display:flex !important; align-items:center !important; justify-content:center !important; gap:16px !important;
      background:var(--pc-white) !important; border:2px solid var(--pc-gold) !important; border-radius:5px !important;
      min-height:80px !important; cursor:pointer !important; box-sizing:border-box !important; width:100% !important;
      font-family:'Commissioner', sans-serif !important; font-weight:700 !important; font-size:18px !important;
      text-transform:uppercase !important; color:var(--pc-dark) !important; margin:0 !important; transition:all .05s ease-out !important;
    }
    #cid_21 .form-radio-item label::before {
      content:'' !important; width:22px !important; height:22px !important; border-radius:50% !important;
      background:var(--pc-white) !important; border:2px solid #ccc !important; flex-shrink:0 !important; box-sizing:border-box !important;
    }
    #cid_21 .form-radio-item label:hover { box-shadow:inset 0 0 0 4px var(--pc-gold) !important; }
    #cid_21 .form-radio-item input:checked + label { background:var(--pc-mint) !important; border-color:var(--pc-mint) !important; }
    #cid_21 .form-radio-item input:checked + label::before { background:var(--pc-mint) !important; border-color:var(--pc-dark) !important; box-shadow:inset 0 0 0 4px var(--pc-white) !important; }

    /* Amount field - style children only, NO display on #id_22 itself */
    #label_22 { display:block !important; width:100% !important; float:none !important; text-align:center !important; margin-bottom:12px !important; }
    #label_22 label { font-family:'Commissioner', sans-serif !important; font-weight:700 !important; font-size:18px !important; text-transform:uppercase !important; color:var(--pc-white) !important; }
    #cid_22 { width:100% !important; display:flex !important; justify-content:center !important; }
    .pc-amt-wrap {
      background:var(--pc-white) !important; border:2px solid var(--pc-gold) !important; border-radius:5px !important;
      height:80px !important; width:100% !important; max-width:501px !important; display:flex !important;
      align-items:center !important; padding-left:22px !important; box-sizing:border-box !important;
    }
    .pc-amt-dollar { font-family:'Commissioner', sans-serif !important; font-weight:300 !important; font-size:26px !important; color:var(--pc-dark) !important; flex-shrink:0 !important; }
    #input_22 {
      background:transparent !important; border:none !important; outline:none !important; height:100% !important;
      font-family:'Commissioner', sans-serif !important; font-weight:300 !important; font-size:26px !important;
      color:var(--pc-dark) !important; width:100% !important; min-width:0 !important; padding-left:8px !important; box-sizing:border-box !important;
    }
    @media (max-width:768px) {
      #cid_21 .form-single-column { grid-template-columns:1fr !important; gap:14px !important; }
    }

  `;

  var styleEl = document.createElement('style');
  styleEl.id = 'pc-injected-styles';
  styleEl.innerHTML = css;
  document.head.appendChild(styleEl);

  // ==========================================
  // 2c. SHARED HELPERS (CSV parsing, money formatting)
  // ==========================================
  function pcParseCSV(text) {
    var rows = [], row = [], cur = '', inQ = false;
    for (var i = 0; i < text.length; i++) {
      var c = text[i], n = text[i + 1];
      if (inQ) {
        if (c === '"' && n === '"') { cur += '"'; i++; }
        else if (c === '"') { inQ = false; }
        else { cur += c; }
      } else {
        if (c === '"') { inQ = true; }
        else if (c === ',') { row.push(cur); cur = ''; }
        else if (c === '\n') { row.push(cur); rows.push(row); row = []; cur = ''; }
        else if (c === '\r') { /* skip */ }
        else { cur += c; }
      }
    }
    if (cur !== '' || row.length) { row.push(cur); rows.push(row); }
    return rows;
  }
  function pcMoney(n) {
    n = Math.round(n || 0);
    return '$' + n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
  }
  function pcNum(s) { return parseFloat((s || '').toString().replace(/[^0-9.]/g, '')) || 0; }
  function pcEscape(s) {
    return (s || '').toString()
      .replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')
      .replace(/"/g, '"');
  }

  // ==========================================
  // 2d. PROGRESS BAR
  // Fetch was already kicked off at the top (pcProgressPromise). Here we
  // just set an immediate "Loading Total..." placeholder (in case the raw
  // HTML shipped a static "$0"), then swap in the real numbers as soon as
  // the promise resolves — which, since it started before DOMContentLoaded,
  // is often already resolved or very close to it by the time this runs.
  // ==========================================
  function pcRenderProgress(data) {
    if (!data) return;
    var raisedEl  = document.getElementById('pc-progress-raised');
    var goalEl    = document.getElementById('pc-progress-goal');
    var fillEl    = document.getElementById('pc-progress-fill');
    var percentEl = document.getElementById('pc-progress-percent');

    var raised = pcNum(data.raised);
    var goal   = pcNum(data.goal);
    if (!goal || goal <= 0) goal = 3000000;

    var pct = Math.max(0, Math.min(100, (raised / goal) * 100));
    if (raisedEl)  raisedEl.textContent  = pcMoney(raised);
    if (goalEl)    goalEl.textContent    = pcMoney(goal);
    if (percentEl) percentEl.textContent = Math.round(pct) + '% funded';
    if (fillEl) setTimeout(function () { fillEl.style.width = pct + '%'; }, 200);
  }

  function pcLoadProgress() {
    if (!pcHasUrl) return;
    pcProgressPromise.then(pcRenderProgress);
  }

  // ==========================================
  // 2e. DONORS WALL
  //   Columns: A Name, B Amount, C Tier, D Dedication, E Show Name, F Timestamp
  //   Wall tier = auto-computed from Amount (column C is used for dedications only).
  //   Fetch already kicked off at the top (pcDonorsPromise); this just renders.
  // ==========================================
  function pcTierForAmount(amt) {
    for (var i = 0; i < PC_TIERS.length; i++) {
      if (amt >= PC_TIERS[i].min) return PC_TIERS[i];
    }
    return PC_TIERS[PC_TIERS.length - 1];
  }

  function pcRenderDonorList(list) {
    if (!list) {
      var loading = document.getElementById('pc-donors-loading');
      if (loading) loading.textContent = 'Unable to load supporters right now.';
      return;
    }
    if (!list.length) { pcRenderDonors({}); return; }

    var buckets = {};
    PC_TIERS.forEach(function (t) { buckets[t.name] = []; });

    list.forEach(function (row) {
      var name       = (row.name || '').toString().trim();
      var amountRaw  = (row.amount || '').toString().trim();
      var dedication = (row.dedication || '').toString().trim();
      if (!name && !amountRaw) return;
      var amt = pcNum(amountRaw);
      var tier = pcTierForAmount(amt);
      buckets[tier.name].push({
        name: name || 'Anonymous',
        amount: amt,
        amountLabel: amt > 0 ? pcMoney(amt) : (amountRaw || ''),
        dedication: dedication
      });
    });

    Object.keys(buckets).forEach(function (k) {
      buckets[k].sort(function (a, b) { return b.amount - a.amount; });
    });

    pcRenderDonors(buckets);
  }

  function pcLoadDonors() {
    if (!pcHasUrl) return;
    pcDonorsPromise.then(pcRenderDonorList);
  }

  function pcRenderDonors(buckets) {
    var navEl    = document.getElementById('pc-tier-nav');
    var panelsEl = document.getElementById('pc-tier-panels');
    if (!navEl || !panelsEl) return;

    var activeTiers = PC_TIERS.filter(function (t) {
      return buckets[t.name] && buckets[t.name].length > 0;
    });

    if (activeTiers.length === 0) {
      panelsEl.innerHTML = '<div class="pc-tier-empty">Be the first to support our campaign!</div>';
      navEl.innerHTML = '';
      return;
    }

    navEl.innerHTML = '';
    panelsEl.innerHTML = '';
    activeTiers.forEach(function (t, idx) {
      var count = buckets[t.name].length;

      var pill = document.createElement('button');
      pill.type = 'button';
      pill.className = 'pc-tier-pill' + (idx === 0 ? ' pc-tier-active' : '');
      pill.setAttribute('data-tier-idx', idx);
      pill.innerHTML = t.name + ' <span class="pc-tier-pill-count">' + count + '</span>';
      navEl.appendChild(pill);

      var panel = document.createElement('div');
      panel.className = 'pc-tier-panel' + (idx === 0 ? ' pc-tier-panel-active' : '');
      panel.setAttribute('data-tier-idx', idx);

      var cardsHTML = buckets[t.name].map(function (d) {
        var ded = d.dedication ? '<div class="pc-donor-dedication">' + pcEscape(d.dedication) + '</div>' : '';
        var amt = d.amountLabel ? '<div class="pc-donor-amount">' + pcEscape(d.amountLabel) + '</div>' : '';
        return '<div class="pc-donor-card">' +
                 '<div class="pc-donor-card-left">' +
                   '<div class="pc-donor-name">' + pcEscape(d.name) + '</div>' +
                   ded +
                   '<div class="pc-donor-tier-label">' + t.name + '</div>' +
                 '</div>' + amt +
               '</div>';
      }).join('');

      panel.innerHTML =
        '<div class="pc-tier-panel-header">' +
          '<div class="pc-tier-panel-name">' + t.name + '</div>' +
          '<div class="pc-tier-panel-range">' + t.range + '</div>' +
        '</div>' +
        '<div class="pc-donor-scroll">' + cardsHTML + '</div>';

      panelsEl.appendChild(panel);
    });

    var arrows = document.createElement('div');
    arrows.className = 'pc-tier-arrows';
    arrows.innerHTML =
      '<button type="button" class="pc-tier-arrow" id="pc-tier-prev">\u2190 Previous</button>' +
      '<button type="button" class="pc-tier-arrow" id="pc-tier-next">Next \u2192</button>';
    panelsEl.appendChild(arrows);

    var current = 0;
    var total = activeTiers.length;

    function show(idx) {
      if (idx < 0 || idx >= total) return;
      current = idx;
      navEl.querySelectorAll('.pc-tier-pill').forEach(function (p, i) {
        p.classList.toggle('pc-tier-active', i === idx);
      });
      panelsEl.querySelectorAll('.pc-tier-panel').forEach(function (p, i) {
        p.classList.toggle('pc-tier-panel-active', i === idx);
      });
      var prev = document.getElementById('pc-tier-prev');
      var next = document.getElementById('pc-tier-next');
      if (prev) prev.disabled = (idx === 0);
      if (next) next.disabled = (idx === total - 1);
    }

    navEl.querySelectorAll('.pc-tier-pill').forEach(function (p) {
      p.addEventListener('click', function () { show(parseInt(p.getAttribute('data-tier-idx'), 10)); });
    });
    var prevBtn = document.getElementById('pc-tier-prev');
    var nextBtn = document.getElementById('pc-tier-next');
    if (prevBtn) prevBtn.addEventListener('click', function () { show(current - 1); });
    if (nextBtn) nextBtn.addEventListener('click', function () { show(current + 1); });
    show(0);
  }

  // ==========================================
  // 3. DOM READY LOGIC
  // ==========================================
  function ready(fn){ if(document.readyState!=='loading'){fn();} else {document.addEventListener('DOMContentLoaded',fn);} }

  ready(function () {

    // --- Remove "." placeholder dots (the CMS strips truly empty tags,
    //     so a "." is left in the raw HTML for elements JS never touches
    //     via innerHTML - e.g. hamburger bars, the scroll progress bar.
    //     Once the page has loaded, clear that dot out safely; the CMS's
    //     stripping only happens when the raw HTML is saved/rendered, not
    //     to elements already parsed into the live DOM.) ---
    document.querySelectorAll('#pc-hamburger span, #pc-scroll-bar, #pc-progress-fill, #pc-tier-nav').forEach(function (el) {
      if (el.textContent.trim() === '.') el.textContent = '';
    });

    // --- Remove CMS banner (failsafe) ---
    var killBanner = function(){ document.querySelectorAll('.cco_templateless_template').forEach(function(b){ b.remove(); }); };
    killBanner(); setTimeout(killBanner,500); setInterval(killBanner,3000);

    // ---------------------------------------
    // 3a. HAMBURGER / MOBILE NAV
    // ---------------------------------------
    var topBar = document.getElementById('pc-top-bar');
    var hamb = document.getElementById('pc-hamburger');
    var navLinks = document.getElementById('pc-nav-links');
    if (hamb && navLinks) {
      hamb.addEventListener('click', function(){
        hamb.classList.toggle('pc-active');
        navLinks.classList.toggle('pc-open');
        if (navLinks.classList.contains('pc-open')) topBar.classList.add('pc-menu-open');
        else topBar.classList.remove('pc-menu-open');
      });
      navLinks.querySelectorAll('a').forEach(function(a){
        a.addEventListener('click', function(){
          hamb.classList.remove('pc-active'); navLinks.classList.remove('pc-open'); topBar.classList.remove('pc-menu-open');
        });
      });
    }

    // ---------------------------------------
    // 3b. SCROLL: progress bar + sticky header
    // ---------------------------------------
    var scrollBar = document.getElementById('pc-scroll-bar');
    window.addEventListener('scroll', function(){
      var winScroll = document.body.scrollTop || document.documentElement.scrollTop;
      var height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
      if (scrollBar) scrollBar.style.width = (winScroll/height)*100 + '%';
      if (topBar) { if (window.scrollY>50) topBar.classList.add('pc-scrolled'); else topBar.classList.remove('pc-scrolled'); }
    });

    // ---------------------------------------
    // 3c. REVEAL OBSERVER
    // ---------------------------------------
    var revObs = new IntersectionObserver(function(entries, obs){
      entries.forEach(function(e){ if(e.isIntersecting){ e.target.classList.add('pc-active'); obs.unobserve(e.target); } });
    }, { threshold:0.1, rootMargin:'0px 0px -50px 0px' });
    document.querySelectorAll('.pc-reveal').forEach(function(el){ revObs.observe(el); });

    // ---------------------------------------
    // 3d. SMOOTH-SCROLL for ALL in-page anchors.
    //     preventDefault on every click so it re-fires even when the
    //     URL hash is already set (the "can't click twice" bug).
    // ---------------------------------------
    function scrollToId(id) {
      var target = document.getElementById(id);
      // Donate/dedications map onto the form when the section id isn't on the page
      if (!target) {
        if (id === 'pc-donate') target = document.getElementById('cid_1') || document.querySelector('.form-all');
        if (id === 'pc-dedications') target = document.getElementById('cid_1') || document.getElementById('pc-dedications');
      }
      if (target) target.scrollIntoView({ behavior:'smooth', block:'start' });
    }
    document.querySelectorAll('.pc-nav-link, a[href^="#pc-"]').forEach(function(a){
      a.addEventListener('click', function(ev){
        var href = a.getAttribute('href') || '';
        if (href.charAt(0) !== '#') return;
        ev.preventDefault();
        // Clear the hash so the same link can be clicked repeatedly
        if (history && history.replaceState) history.replaceState(null, '', window.location.pathname + window.location.search);
        scrollToId(href.slice(1));
      });
    });

    // ---------------------------------------
    // 3e. SPLIT CHECKBOX LABELS -> name + price spans
    //     Amounts group (#cid_7) has no name, just price.
    // ---------------------------------------
    function splitLabels(groupSel, hasName) {
      document.querySelectorAll(groupSel + ' .form-checkbox-item').forEach(function(item){
        var lbl = item.querySelector('label span');
        // Skip the "Other" custom-amount item (handled separately)
        if (!lbl || item.querySelector('input[type="number"]')) return;
        if (item.getAttribute('data-pc-done')) return;
        var raw = lbl.textContent.trim();
        // Match "Name $1,234,567" or just "$1,234"
        var m = raw.match(/^(.*?)\s*(\$[\d,]+)\s*$/);
        lbl.textContent = '';
        var inner = document.createElement('span'); // flex column wrapper
        if (m && hasName && m[1].trim()) {
          var nameEl = document.createElement('span'); nameEl.className='pc-name'; nameEl.textContent = m[1].trim();
          var priceEl = document.createElement('span'); priceEl.className='pc-price'; priceEl.textContent = m[2];
          inner.appendChild(nameEl); inner.appendChild(priceEl);
        } else if (m) {
          var priceOnly = document.createElement('span'); priceOnly.className='pc-price'; priceOnly.textContent = m[2];
          inner.appendChild(priceOnly);
        } else {
          var fallback = document.createElement('span'); fallback.className='pc-price'; fallback.textContent = raw;
          inner.appendChild(fallback);
        }
        lbl.appendChild(inner);
        item.setAttribute('data-pc-done','1');
      });
    }
    splitLabels('#cid_3', true);
    splitLabels('#cid_5', true);
    splitLabels('#cid_7', false);

    // If the dedications (2-col) grid has an odd number of items, center the last.
    (function centerLastDedication(){
      var items = document.querySelectorAll('#cid_3 .form-checkbox-item');
      if (items.length % 2 === 1) items[items.length - 1].classList.add('pc-center-last');
    })();

    // ---------------------------------------
    // 3f. SINGLE-SELECT ACROSS ALL THREE GROUPS + CUSTOM Q
    //     JotForm renders checkboxes; we force radio behavior.
    //     Custom amount is now native fields: 21 (Yes/No) + 22 (number).
    //     JotForm's own condition shows/hides 22 - we never touch display.
    // ---------------------------------------
    var allBoxes = [].slice.call(document.querySelectorAll(
      '#cid_3 input[type="checkbox"], #cid_5 input[type="checkbox"], #cid_7 input[type="checkbox"]'
    ));

    var customYes = document.getElementById('input_21_0');
    var customNo  = document.getElementById('input_21_1');
    var customAmt = document.getElementById('input_22');

    function fireChange(el){ if(el) el.dispatchEvent(new Event('change', {bubbles:true})); }

    function clearAllExcept(keep) {
      allBoxes.forEach(function(cb){
        if (cb !== keep && cb.checked) { cb.checked = false; fireChange(cb); }
      });
    }

    // Picking a preset -> flip the custom question to "No" (JotForm's
    // condition then hides field 22) and empty the amount.
    function deselectCustom() {
      if (customYes && customYes.checked) {
        if (customAmt && customAmt.value !== '') { customAmt.value = ''; fireChange(customAmt); }
        if (customNo && !customNo.checked) { customNo.click(); }
      }
    }

    allBoxes.forEach(function(cb){
      cb.addEventListener('change', function(){
        if (cb.checked) { clearAllExcept(cb); deselectCustom(); }
        recalcHint();
      });
    });

    // Choosing "Yes" or typing an amount -> clear every preset card.
    if (customYes) {
      customYes.addEventListener('change', function(){
        if (customYes.checked) clearAllExcept(null);
      });
    }
    if (customAmt) {
      customAmt.addEventListener('input', function(){
        clearAllExcept(null);
        recalcHint();
      });
    }

    // ---------------------------------------
    // 3g. CUSTOM AMOUNT Q (fields 21 + 22) - styling hooks only.
    //     IMPORTANT: never set display on #id_22 or its children;
    //     JotForm's condition owns show/hide.
    // ---------------------------------------
    (function styleCustomQ(){
      var q = document.getElementById('id_21');
      var a = document.getElementById('id_22');
      if (q) q.classList.add('pc-customq');
      if (a) a.classList.add('pc-customa');
      // Wrap the amount input with a $ prefix, mirroring the old card look
      if (customAmt && !document.querySelector('.pc-amt-wrap')) {
        var wrap = document.createElement('span'); wrap.className = 'pc-amt-wrap';
        var dollar = document.createElement('span'); dollar.className = 'pc-amt-dollar'; dollar.textContent = '$';
        customAmt.parentNode.insertBefore(wrap, customAmt);
        wrap.appendChild(dollar);
        wrap.appendChild(customAmt);
      }
    })();

    // ---------------------------------------
    // 3h. WRAP DONOR FIELDS IN WHITE BOX
    //     #cid_8 (header) + id_10,11,12,13,14,15,16
    // ---------------------------------------
    var wrapIds = ['cid_8','id_10','id_11','id_20','id_19','id_12','id_13','id_14','id_15','id_16'];
    var firstEl = document.getElementById(wrapIds[0]);
    if (firstEl && firstEl.parentNode && !document.querySelector('.pc-white-box')) {
      var wrapLi = document.createElement('li'); wrapLi.className='pc-white-box';
      var innerUl = document.createElement('ul'); innerUl.className='form-section';
      innerUl.style.cssText='padding:0;margin:0;list-style:none;';
      wrapLi.appendChild(innerUl);
      firstEl.parentNode.insertBefore(wrapLi, firstEl);
      wrapIds.forEach(function(id){ var el=document.getElementById(id); if(el) innerUl.appendChild(el); });

      // Group Email (#id_12) + Phone (#id_13) side by side like the Figma.
      var emailLine = document.getElementById('id_12');
      var phoneLine = document.getElementById('id_13');
      if (emailLine && phoneLine && !document.querySelector('.pc-field-row')) {
        var row = document.createElement('li'); row.className='pc-field-row';
        emailLine.parentNode.insertBefore(row, emailLine);
        row.appendChild(emailLine); row.appendChild(phoneLine);
      }
    }

    // ---------------------------------------
    // 3i. STYLE SUBMIT ARROW (inject SVG)
    // ---------------------------------------
    var submitBtn = document.getElementById('input_2');
    if (submitBtn && !submitBtn.querySelector('svg')) {
      var svgNS='http://www.w3.org/2000/svg';
      var svg=document.createElementNS(svgNS,'svg');
      svg.setAttribute('viewBox','0 0 24 24'); svg.setAttribute('fill','none');
      svg.style.width='17px'; svg.style.height='17px';
      var p=document.createElementNS(svgNS,'path');
      p.setAttribute('d','M4 12H20M20 12L14 6M20 12L14 18');
      p.setAttribute('stroke','currentColor'); p.setAttribute('stroke-width','2.5');
      p.setAttribute('stroke-linecap','round'); p.setAttribute('stroke-linejoin','round');
      svg.appendChild(p); submitBtn.appendChild(svg);
    }

    // ---------------------------------------
    // 3j. DEDICATION "TAKEN" STATE (#cid_3 only)
    //     Reuses pcDonorsPromise from the top of the file instead of firing
    //     its own separate fetch — this used to be a second network call
    //     to the exact same ?action=donors endpoint that pcLoadDonors()
    //     already hits. For each row whose Tier matches a dedication NAME,
    //     that dedication is marked reserved. "Show Name" (case-insensitive
    //     "show"/"yes"/"true"/"x"/"1") -> display the donor name on the
    //     card. Otherwise shows "Anonymous". Wall of Honor (#cid_5) is
    //     never reserved.
    // ---------------------------------------
    function markTaken(reservations) {
      // reservations: array of { dedication:<name>, label:<'Anonymous'|donorName> }
      document.querySelectorAll('#cid_3 .form-checkbox-item').forEach(function (item) {
        var nameEl = item.querySelector('.pc-name');
        if (!nameEl) return;
        var nm = nameEl.textContent.toLowerCase().trim();

        var match = null;
        for (var i = 0; i < reservations.length; i++) {
          var t = reservations[i].dedication.toLowerCase().trim();
          if (t && (nm === t || nm.indexOf(t) === 0 || t.indexOf(nm) === 0)) { match = reservations[i]; break; }
        }
        if (!match) return;

        item.classList.add('pc-taken');
        var priceEl = item.querySelector('.pc-price');
        if (priceEl && !item.querySelector('.pc-reserved-note')) {
          var note = document.createElement('span');
          note.className = 'pc-reserved-note';
          note.innerHTML = '<span class="pc-reserved-word">Reserved</span><span class="pc-reserved-by">Dedicated by ' + pcEscape(match.label) + '</span>';
          priceEl.insertAdjacentElement('afterend', note);
        }
        var cb = item.querySelector('input[type="checkbox"]');
        if (cb) { cb.checked = false; cb.disabled = true; }
      });
    }

    // Idempotent: safe to call again with fresh data (markTaken skips cards
    // that already carry a reserved note).
    function pcApplyReservations(list) {
      if (!list || !list.length) return;
      var reservations = [];
      list.forEach(function (row) {
        // Tier column doubles as the dedication name for dedication rows.
        var donorName = (row.name || '').toString().trim();
        var tier      = (row.tier || '').toString().trim();
        var showFlag  = (row.showName || '').toString().trim().toLowerCase();
        if (!tier) return;
        var showIt = (showFlag === 'show' || showFlag === 'yes' || showFlag === 'true' || showFlag === 'x' || showFlag === '1');
        reservations.push({
          dedication: tier,
          label: (showIt && donorName) ? donorName : 'Anonymous'
        });
      });
      if (reservations.length) markTaken(reservations);
    }

    if (pcHasUrl) pcDonorsPromise.then(pcApplyReservations);

    // ---------------------------------------
    // 3k. OPTIONAL total hint (JotForm computes the real total in #total_amount)
    // ---------------------------------------
    function recalcHint(){ /* native JotForm handles #total_amount; hook left for future use */ }

    // ---------------------------------------
    // 3l. SUBMIT: 8s debounce against double submits. Custom-amount
    //     validation is now 100% native (field 22 is Required in the
    //     builder and only visible when field 21 = Yes).
    // ---------------------------------------
    var form = document.getElementById('7414705') || document.forms[0];
    if (form) {
      var pcLastSubmit = 0;
      form.addEventListener('submit', function (ev) {
        var now = Date.now();
        if (now - pcLastSubmit < 8000) {
          ev.preventDefault();
          ev.stopImmediatePropagation();
          return false;
        }
        pcLastSubmit = now;
      }, true);
    }

    // ---------------------------------------
    // 3m. RENDER PROGRESS BAR + DONOR WALL
    //     (data was already fetched at the top of the file; this just paints)
    // ---------------------------------------
    pcLoadProgress();
    pcLoadDonors();

    // If the first paint came from localStorage, swap in the live numbers
    // once the network answers (only if something actually changed).
    if (pcCached) {
      pcNetworkPromise.then(function (fresh) {
        if (!fresh) return;
        if (JSON.stringify(fresh.settings) !== JSON.stringify(pcCached.settings)) pcRenderProgress(fresh.settings);
        if (JSON.stringify(fresh.donors)   !== JSON.stringify(pcCached.donors)) {
          pcRenderDonorList(fresh.donors);
          pcApplyReservations(fresh.donors);
        }
      });
    }

  });
})();
</script>
</body>
</html>