<!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/tyaG10745353.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="Children" />
<meta name="title" content="Children - Chabad of Puerto Vallarta" />
<meta property="og:type" content="website" />
<meta name="scope-aids" content="3431758-3431766-5501793-7338233" />
<meta name="article-keywords" content="8495-2170-2898-20962" />
<meta name="scope-aid" content="3431758" />
<meta name="scope-aid" content="3431766" />
<meta name="scope-aid" content="5501793" />
<meta name="scope-aid" content="7338233" />
<meta name="article-keyword" content="8495" />
<meta name="article-keyword" content="2170" />
<meta name="article-keyword" content="2898" />
<meta name="article-keyword" content="20962" />
<meta property="og:url" content="https://www.chabadvallarta.com/templates/articlecco_cdo/aid/7338233/jewish/Children.htm" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:site" content="@chabad" />
<meta property="og:title" content="Children - Chabad of Puerto Vallarta" /><link rel="canonical" href="https://www.chabadvallarta.com/templates/articlecco_cdo/aid/7338233/jewish/Children.htm" />
<link rel="icon" type="image/png" href="https://www.chabadvallarta.com/media/images/1074/tyaG10745353.png" />
<link rel="Stylesheet" href="/css/fonts/font-awesome/font-awesome-5.css" id="kfont-awesome" type="text/css"/>
<link rel="Stylesheet" href="/css/DefaultGrid.css" id="kgrid" type="text/css"/>
<link rel="Stylesheet" href="/css/Elements.css" id="k6" type="text/css"/>
<link rel="Stylesheet" href="/css/vendor/ds/tokens/sites.css" id="ksites-ds-css" type="text/css"/>
<link rel="Stylesheet" href="/css/new/main.css" id="k7" 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/old/global.css" id="k2898" type="text/css"/>
<link rel="Stylesheet" href="/css/bootstrap/grid.css" id="kbootstrap4-grid" type="text/css"/>
<link rel="Stylesheet" href="/css/Library/reader-comments.css" id="kCommentsStylesheet" type="text/css"/>
<link rel="Stylesheet" href="/css/inline/BookInfo.css" 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":"2026-04-27","primaryArticleId":7338233,"title":"","author":"","authorId":0,"contentLevel1":"My Site","contentLevel2":"Events and Programs 2026","contentLevel3":"Children","siteName":"Chabad of Puerto Vallarta"},"time":{"upcomingHoliday":"The Three Weeks","daysToUpcomingHoliday":-2,"hebrewDate":"5786-04-19"}});
		dataLayer.push({ 'articleHierarchy': '-3431758-3431766-5501793-7338233-', 'keywords': '-k20962-k2898-k2170-k8495-', 'k': '-3431758-3431766-5501793-7338233--k20962-k2898-k2170-k8495-' });
	
</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 = 11104187;var sc_partition = 62;var sc_invisible = 1;var sc_remove_link=1;var sc_security = "b78a377d";var sc_https = 1;
	</script>
	<script type="text/javascript" src="https://secure.statcounter.com/counter/counter_xhtml.js" defer async></script>
	<noscript><img src="//c63.statcounter.com/counter.php?sc_project=11104187&amp;java=0&amp;security=b78a377d&amp;invisible=1" border="0" /> </noscript>
	<!-- End of StatCounter Code -->


<!-- GetButton.io widget -->

<!-- /GetButton.io widget -->

<meta name="google-site-verification" content="2azzqEaKys0qwo3YGVMIHr7BjYXz23pc89yKen8SwDI" />
<link rel="icon" type="image/png" href="https://chabadvallarta.com/media/images/1160/AKcK11605551.png" />

<link href='https://webmk.co/sites/general/cdo-normalize.css' rel='stylesheet' type='text/css'>


<script type="text/javascript">
    (function () {
        var options = {
            whatsapp: "+523221417279", // WhatsApp number
            company_logo_url: "//static.getbutton.io/img/flag.png", // URL of company logo (png, jpg, gif)
            greeting_message: "", // Text of greeting message
            call_to_action: "", // Call to action
            button_color: "#FF6550", // Color of button
            position: "right", // Position may be 'right' or 'left'
            ga: true, // Google Analytics enabled
            branding: false, // Show branding string
            mobile: true, // Mobile version enabled
            desktop: true, // Desktop version enabled
            greeting: false, // Greeting message enabled
            shift_vertical: 0, // Vertical position, px
            shift_horizontal: 0, // Horizontal position, px
            domain: "chabadvallarta.com", // site domain
            key: "HMuJ7eutR9Wbhfr8Yn3Dcg", // pro-widget key
        };
        var proto = document.location.protocol, host = "getbutton.io", url = proto + "//static." + host;
        var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = url + '/widget-send-button/js/init.js';
        s.onload = function () { WhWidgetSendButton.init(host, proto, options); };
        var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);
    })();
</script><script src="https://webmk.co/sites/chabad-vallarta/vallarta-script.js"></script><title>
	Children - Chabad of Puerto Vallarta
</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.ChabadVallarta.com" style="display:block!important;font-size:14px !important;">&laquo; Back to&nbsp;Chabad of Puerto Vallarta</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>
	@import url("https://fonts.googleapis.com/css?family=Abril+Fatface|Montserrat:300,400|Oswald|Anton|Yellowtail");
	/* Light Text for dark background - To change the color of the text, delete "white" and put a new color */
	.headerTitle,
	.headerSubTitle,
	.widget_content,
	.indexsection .title,
	.header-desc,
	.bannerCta button,
	.custom-mini-banner,
	.co_calendar_text {
		color: white;
	}

	/* Dark Text for medium background. To change the color of the text, delete "#000000" and put a new color */
	#navigation li.parent a.parent:hover,
	#navigation li.parent a.parent:hover + .sub_menu_toggle,
	#navigation li.parent .sub_menu .item a:hover,
	#navigation li.parent.selected a.parent,
	.sub_menu .item a:hover {
		color: #000000;
	}

	/* Dark Text for light background. To change the color of the text, delete "#66635B" and put a new color */
	.custom_message .title,
	.prepResource-title,
	.co_photo_gallery_head,
	.co_calendar_head,
	.footer {
		color: #66635b;
	}

	/* Light background for dark text. To change the color of the background, delete "#d5d0c4" and put a new color */
	.footer,
	#co_calendar div.co_calendar_body .item.item.first,
	#co_calendar div.co_calendar_body .item:nth-child(3),
	#co_calendar div.co_calendar_body .item:nth-child(6),
	#co_calendar div.co_calendar_body .item:nth-child(8),
	.custom-mini-banner .mini-banner-1,
	.custom-mini-banner .mini-banner-2 {
		background-color: #d5d0c4;
	}

	/* Medium background for light text - To change the color, delete "#a59e8c" and put a new color */
	#navigation li.parent a.parent,
	#navigation li.parent .sub_menu .item a,
	#navigation li.parent .sub_menu ul li,
	div#chabad_head .chabad_navigator_bar,
	.custom-mini-banner .mini-banner-1,
	.custom-mini-banner .mini-banner-2 {
		background-color: #a59e8c;
	}
	@media only screen and (max-width: 1024px) {
		div#chabad_head .chabad_navigator_bar ul li {
			background-color: #a59e8c;
		}
	}

	/* Dark background for light text. To change the color of the background, delete "#66635B" and put a new color */
	.bannerCta button,
	#co_calendar div.co_calendar_body .item:nth-child(2),
	#co_calendar div.co_calendar_body .item:nth-child(4),
	#co_calendar div.co_calendar_body .item:nth-child(5),
	#co_calendar div.co_calendar_body .item:nth-child(7) {
		background-color: #66635b;
	}

	@media only screen and (max-width: 650px) {
		#co_calendar div.co_calendar_body .item:nth-child(2),
		#co_calendar div.co_calendar_body .item:nth-child(4),
		#co_calendar div.co_calendar_body .item:nth-child(6),
		#co_calendar div.co_calendar_body .item:nth-child(8) {
			background-color: #66635b;
		}
	}

	@media only screen and (max-width: 650px) {
		#co_calendar div.co_calendar_body .item.item.first,
		#co_calendar div.co_calendar_body .item:nth-child(3),
		#co_calendar div.co_calendar_body .item:nth-child(5),
		#co_calendar div.co_calendar_body .item:nth-child(7) {
			background-color: #d5d0c4;
		}
	}

	/* Start of desktop CSS */
	.sPromo-wrap {
		overflow: hidden;
	}
	.section_root div#ContentBody .content-area-parent {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px;
	}
	.chabad_header .headerTitle,
	.headerSubTitle,
	.custom_message .title,
	.prepResource-title,
	.indexsection .title,
	.co_calendar_head,
	.co_photo_gallery_head {
		font-family: Oswald, Arimo, sans-serif !important;
	}
	.article-header,
	.article-header__title,
	.chabad_menu_content,
	.co_photo_gallery_head,
	.read-more_link,
	.titleIcon {
		text-align: center;
	}
	.bannerCta button,
	.read-more_link a {
		text-decoration: none;
		box-shadow: none;
		text-shadow: none;
		letter-spacing: 2px;
		text-transform: uppercase;
	}
	.bannerCta button,
	.co_photo_gallery_head,
	.custom_message .title,
	.read-more_link a,
	.sPromo-wrap .caption,
	[class="widget-"] {
		text-transform: uppercase;
	}
	#co_calendar div.co_calendar_body div div div:nth-child(5) {
		clear: both;
	}
	div.chabad_left_column {
		background-color: #fff;
		width: 100%;
		float: none;
		margin: 0;
		padding: 25px 5px 0;
		min-height: 329px;
	}
	div#chabad_body_content {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		float: none;
	}
	.cco_templateless_page div#chabad_body_content {
		width: 945px;
		margin-left: auto;
		margin-right: auto;
		float: none;
	}
	div#chabad_body_content .latest_features {
		margin-top: 50px;
		margin-bottom: 50px;
	}
	[class="widget-"] {
		color: #5a2d2d;
		font-family: Anton, sans-serif;
		font-size: 20pt;
		line-height: normal;
	}
	.cco_templateless_template a {
		color: #fff;
		font-family: Montserrat, sans-serif;
		background-color: #7d7070;
		font-size: 15pt;
		padding-left: 50px;
		text-decoration: none;
		line-height: 40px;
		height: 40px;
	}
	.widget-1 {
		background: 0 0;
		border: none;
	}
	.widget_content {
		padding: 0;
	}
	.cco_templatelates_content {
		margin-bottom: 0;
	}
	.no_margin .g960 {
		float: none;
	}
	.cco_templateless_page #BodyContainer {
		text-align: center;
		width: 100%;
	}
	a.parent.arrow:hover {
		background: url(https://w2.chabad.org/images/shluchim/minisites/down_triangle_black.gif) right 5px center no-repeat;
	}
	.section_root #co_body_container {
		width: 100%;
	}
	.read-more_link a {
		display: inline-block;
		padding: 10px 24px;
		font-size: 18px;
		font-weight: 700;
		transition: all 0.4s;
	}
	.read-more_link a:hover {
		text-decoration: none;
	}
	.co_photo_gallery_head {
		font-size: 20pt;
		margin-bottom: 10px;
	}
	.feature_caption,
	.feature_caption a,
	.features_title {
		font-family: Oswald, Arimo, sans-serif;
		color: #66635b;
	}
	.features_title {
		margin-bottom: 10px;
	}
	div#chabad_main_content .cco_templateless_template {
		background-image: none;
		background-color: inherit;
	}
	.chabad_header .headerTitle {
		font-size: 70pt;
		padding-top: 100px;
		line-height: 130px;
		position: relative;
		z-index: 2;
	}
	.chabad_header img {
		position: absolute;
		background-position: right bottom;
		background-repeat: no-repeat;
		background-color: rgba(255, 255, 255, 0.2);
		background-blend-mode: screen;
		left: 0px;
		z-index: 1;
		object-fit: cover;
		width: 100%;
		height: 450px;
	}
	.article-header__subtitle,
	.article-header__title {
		color: #66635b;
		font-family: Montserrat, sans-serif;
	}
	.headerSubTitle {
		font-size: 27pt;
		position: relative;
		z-index: 2;
	}
	.header-desc {
		font-size: 23pt;
		font-weight: lighter;
		font-family: Montserrat, sans-serif;
		position: relative;
		z-index: 2;
	}
	div#chabad_head .chabad_navigator_bar {
		width: 100%;
		border: none;
		margin: 0;
		height: 45px;
	}
	div#chabad_head .chabad_navigator_bar ul {
		display: inline-block;
		margin: auto;
	}
	div#chabad_head .chabad_navigator_bar ul li a {
		font-size: 17px;
		font-weight: 400;
		visibility: visible;
		line-height: 45px;
		margin-top: 0;
		color: #fff;
		font-family: Montserrat, sans-serif !important;
		border-right: 2px solid #fff;
	}
	div#chabad_head .chabad_navigator_bar ul li ul li a {
		line-height: 28px;
		min-width: 140px;
	}
	div#chabad_head .chabad_navigator_bar ul li .sub_menu {
		top: 45px !important;
		text-align: left;
	}
	#navigation li.parent:last-child a.parent {
		border-right: 0 solid;
	}
	#navigation li.parent a.parent {
		transition: all 0.5s;
	}
	.arrow {
		transition: none !important;
	}
	.sub_menu .item a {
		border-right: 0 !important;
		max-width: 100% !important;
	}
	.large_banner {
		border: 1px solid #c3c1b8;
		overflow: hidden;
		position: relative;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;
	}
	.bannerCta button,
	.donate_link a,
	.read-more_link a {
		border: 2px solid #2d2317;
		font-family: Montserrat, sans-serif;
	}
	.bannerContainer a {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		right: 0;
		z-index: 1;
	}
	.donate_link a,
	.read-more_link a {
		color: #2d2317;
		background: 0 0;
	}
	.donate_link a:hover,
	.read-more_link a:hover {
		background: #2d2317;
		color: #fff;
	}
	.textWrapper {
		background: rgba(255, 255, 255, 0.75);
		padding: 11px 100px;
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
		text-align: center;
		box-sizing: border-box;
	}
	.textWrapper span {
		text-align: center;
		font-size: 14px;
		line-height: 20px;
		color: #000;
		font-family: Montserrat, sans-serif;
	}
	.textWrapper .big {
		display: block;
		font-size: 22px;
		margin: 5px;
	}
	.bannerCta button {
		display: inline-block;
		padding: 10px 24px;
		font-size: 18px;
		font-weight: 700;
		transition: all 0.4s;
		color: #fff;
		background: #2d2317;
	}
	.small_promos {
		display: flex;
		margin-bottom: 50px;
		text-align: center;
	}
	.wrap-image .bannerContainer img,
	.wrap-image .statimg {
		opacity: 1;
		display: block;
		width: 100%;
		transition: 0.5s ease;
		backface-visibility: hidden;
	}
	.wrap-image:hover .bannerContainer img,
	.wrap-image:hover .statimg {
		opacity: 0.5;
	}
	#co_calendar,
	#co_photo_gallery {
		margin-bottom: 50px;
	}
	.custom_message .title {
		font-size: 34pt;
		text-align: center;
	}
	#co_calendar {
		display: inline-block;
		text-align: left;
	}
	#co_calendar .item {
		float: left;
		padding: 15px;
	}
	.co_calendar_head,
	.features_title,
	.photo_title {
		font-size: 20pt;
		text-transform: uppercase;
		text-align: center;
	}
	.co_content {
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
	.co_calendar_text {
		display: flex;
		flex-wrap: wrap;
		font-family: Montserrat, sans-serif;
		color: #fff;
		background-color: #e3cca4;
		background-clip: content-box;
	}
	.co_date,
	.co_title_calendar a {
		font-size: 17pt;
		text-decoration: none;
		line-height: 25px;
		font-family: Oswald, Arimo, sans-serif;
		color: #fff;
		text-transform: uppercase;
	}
	.co_date {
		font-weight: bold;
		margin-bottom: 15px;
	}
	.co_date::after {
		content: "";
	}
	.co_title_calendar a {
		font-size: 15pt;
	}
	.co_text_calendar {
		padding-top: 10px;
	}
	.co_photo_gallery {
		text-align: center;
	}
	.co_photo_gallery a:hover {
		text-decoration: none !important;
		transition: 0.5s ease;
		opacity: 0.5;
	}
	.co_features {
		display: inline-block;
		margin: 5px;
		width: 250px;
	}
	.co_features img,
	.g960 {
		width: 100%;
	}
	.section_branch .chabad_header {
		height: 300px;
	}
	.section_branch .chabad_header img {
		height: 300px;
	}
	.section_branch .chabad_header .headerTitle {
		padding-top: 30px;
	}
	.feature_caption,
	.feature_caption a {
		font-size: 14pt;
		text-transform: uppercase;
		text-decoration: none;
		text-align: center;
	}
	#footerContainer,
	#footerContainer a,
	.footer,
	.footer a {
		font-size: 15px;
	}
	.co_photo_gallery_footer {
		display: none;
	}
	#footerContainer,
	.footer {
		margin-top: 0;
		padding: 10px;
		text-align: center;
		width: 100%;
		font-family: Montserrat, sans-serif;
	}
	.large_bottom_margin {
		margin: 20px;
	}
	.g960 {
		margin: 0 auto;
	}
	body.mobile div#co_calendar {
		margin-bottom: 50px;
	}
	body.mobile div#co_photo_gallery {
		margin-top: 0px;
		margin-bottom: 50px;
	}
	.mobile .footer_inner_container .back_to_top {
		left: 10px;
		bottom: 25px;
		width: 30px;
		height: 30px;
	}
	.mobile .footer_inner_container .back_to_top .arrow {
		margin: -3px -6px;
	}
	.indexsection .title {
		text-align: left;
	}
	.section_root #co_body_container {
		text-align: center;
	}
	.sub_menu {
		visibility: visible;
	}
	div#chabad_head .chabad_navigator_bar ul li {
		color: #fff;
		background-color: #fff;
	}
/*
	.cco_templateless_page #chabad_main_content {
		background-image: url(https://w2.chabad.org/images/Shluchim/minisites/themes/Generic_New/abstract2.jpg);
		background-blend-mode: screen;
		background-size: contain;
		background-color: rgba(255, 255, 255, 0.7);
	}*/
	.article-header__title,
	.read-more_link,
	.titleIcon {
		text-align: center;
	}
	.titleIcon img {
		display: none;
	}
	.bannerCta button,
	.custom_message .title,
	.read-more_link a,
	.sPromo-wrap .caption,
	[class="widget-"] {
		text-transform: uppercase;
	}
	.large_banner.wrap-image {
		width: 100%;
	}
	.sPromo-wrap {
		display: inline-block;
		margin-left: 4px;
		width: 100%;
		max-height: 250px;
		position: relative;
	}
	.sPromo-wrap:first-child {
		margin-left: 0;
	}
	.sPromo-wrap a {
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		right: 0;
		z-index: 1;
	}
	.sPromo-wrap img {
		height: 100%;
		object-fit: cover;
		opacity: 1;
		display: block;
		width: 100%;
		transition: 0.5s ease;
		backface-visibility: hidden;
	}
	.sPromo-wrap .caption {
		font-family: Oswald, Arimo, sans-serif;
		position: absolute;
		width: 100%;
		bottom: 0;
		height: 38px;
		line-height: 36px;
		font-weight: 400;
		font-size: 15pt;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		background: rgba(255, 255, 255, 0.75);
	}
	.sPromo-wrap:hover img {
		opacity: 0.5;
	}
	.sPromo-flex {
		max-height: 250px;
		flex: 1 1 250px;
		min-width: 200px;
		max-width: 500px;
		text-align: center;
		display: inline-block;
		position: relative;
		border: 1px solid #c3c1b8;
	}
	.sPromo-flex a {
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		right: 0;
		z-index: 1;
	}
	.sPromo-flex img {
		height: 100%;
		object-fit: cover;
		opacity: 1;
		display: block;
		width: 100%;
		transition: 0.5s ease;
		backface-visibility: hidden;
	}
	div#chabad_main_content {
		width: 100%;
	}
	.article-header__title {
		font-size: 30px;
		color: #66635b;
		font-family: Montserrat, sans-serif;
	}
	.wrap-image .bannerContainer img {
		opacity: 1;
		display: block;
		width: 100%;
		transition: 0.5s ease;
		backface-visibility: hidden;
	}
	.wrap-image:hover .bannerContainer img {
		opacity: 0.5;
	}
	.wrap-image:hover .wrap-image2 {
		opacity: 1;
	}
	.wrap-image2 {
		transition: 0.5s ease;
		opacity: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		-ms-transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.custom_message {
		margin-bottom: 50px;
	}
	.custom_message .message {
		font-family: Montserrat, sans-serif;
		font-size: 16pt;
		margin: 0 auto;
		text-align: center;
		padding: 25px;
	}
	.photo_title {
		font-size: 20pt;
		text-transform: uppercase;
		text-align: center;
	}
	.co_date {
		font-size: 17pt;
		text-decoration: none;
		line-height: 25px;
		font-family: Oswald, Arimo, sans-serif;
		color: #fff;
		text-transform: uppercase;
	}

	.chabad_header {
		height: 450px;
		text-align: center;
		background-position: right bottom;
		background-repeat: no-repeat;
		background-color: rgba(255, 255, 255, 0.2);
		background-blend-mode: screen;
	}
	.indexsection {
		padding: 0 100px;
	}
	.indexsection .title {
		text-transform: uppercase;
		font-size: 20pt;
		text-align: left;
	}
	.indexsection .read-more_link {
		margin: 25px 0;
		width: 15%;
	}
	.indexsection .custom_message {
		padding: 25px;
	}
	.indexsection .message {
		padding: 20px 0;
		text-align: left;
		font-family: Montserrat, sans-serif !important;
		color: #000;
	}
	.indexsectionImg img {
		width: 40%;
		float: right;
	}
	.custom-mini-banner .banner-box {
		display: inline-block;
	}
	.custom-mini-banner {
		margin: 0px 0px 50px 0px;
		font-family: Montserrat, sans-serif;
		text-transform: uppercase;
		padding-left: 100px;
		padding-right: 100px;
	}
	.custom-mini-banner .mini-banner-1,
	.custom-mini-banner .mini-banner-2 {
		margin: 10px 0 2px;
	}
	.custom-mini-banner .banner-box {
		padding: 20px 35px;
		vertical-align: middle;
		text-align: left;
		box-sizing: border-box;
	}
	.custom-mini-banner .banner-box .title {
		font-weight: 700;
		display: inline-block;
		font-size: 18px;
	}
	.custom-mini-banner .banner-box .desc {
		font-size: 11px;
		line-height: 16px;
		padding-top: 6px;
	}
	.prepResource-title {
		font-size: 20pt;
		text-align: center;
		text-transform: uppercase;
	}
	.mobile div#chabad_head .chabad_navigator_bar ul li {
		background-color: inherit;
	}

	/* End of desktop CSS */

	/* Start of Media Queries */

	@media only screen and (min-width: 651px) {
		#co_calendar .item {
			min-height: 175px;
		}
		.co_calendar_text {
			padding-left: 52px;
			padding-right: 52px;
		}
	}
	@media only screen and (min-width: 1025px) {
		#co_calendar .item.small-width {
			width: 160px;
		}
		#co_calendar .item.normal-width {
			width: 25%;
		}
		#co_calendar .item.medium-width {
			width: 267px;
		}
		#co_calendar .item.large-width {
			width: 400px;
		}
	}
	@media only screen and (min-width: 1024px) and (max-width: 1366px) and (orientation: landscape) {
		.co_calendar_text {
			padding-left: 52px;
			padding-right: 52px;
		}
	}
	@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
		.co_calendar_text {
			padding-left: 62px;
			padding-right: 62px;
		}
	}
	@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
		.co_calendar_text {
			padding-left: 53px;
			padding-right: 52px;
		}
	}
	@media only screen and (min-width: 1024px) and (max-width: 1366px) and (orientation: portrait) {
		.co_calendar_text {
			padding-left: 62px;
			padding-right: 62px;
		}
	}
	@media only screen and (max-width: 650px) and (max-width: 650px) {
		.small_promos {
			flex-wrap: wrap;
			justify-content: center;
		}
	}
	@media only screen and (max-width: 650px) {
		.bannerCta,
		.textWrapper .wrapper-message {
			display: none;
		}
		.co_photo_gallery_head,
		.textWrapper span {
			text-align: center;
		}
		.textWrapper {
			background: rgba(255, 255, 255, 0.75);
		}
		.textWrapper .big {
			color: #000;
			margin: 0;
		}
		.cco_templateless_template a {
			padding-left: 0;
		}
		div.chabad_left_column {
			padding-top: 10px;
		}
		.chabad_header {
			background-image: none;
			height: 250px;
			display: block !important;
		}
		.chabad_header img {
			background-size: cover;
			background-position: center 0;
			background-attachment: inherit;
			height: 250px;
		}
		.headerTitle {
			padding-top: 50px;
		}
		.headerSubTitle,
		.header-desc {
			font-size: 20pt;
		}
		.header-desc {
			padding-bottom: 60px;
		}
		div#chabad_head .chabad_navigator_bar ul li a {
			border-right: none;
			line-height: 45px;
		}
		body.mobile #navigation.chabad_navigator_bar #menu {
			width: 100%;
			height: 45px;
		}
		body.mobile .g960.footer {
			padding: 10px;
		}
		.textWrapper {
			padding: 5px;
			float: none;
			left: 0;
			height: auto !important;
		}
		.sPromo-wrap {
			margin: 8px 8px 8px auto;
		}
		.small_promos img {
			width: 75%;
			display: initial;
		}
		.custom_message .title {
			font-size: 25pt;
		}
		.custom_message .message {
			width: 100%;
			font-size: 13pt;
			padding: 10px;
		}
		#co_calendar {
			display: block;
			clear: both;
		}
		#co_calendar .item {
			float: none;
			width: 100% !important;
			height: auto;
		}
		.co_features,
		.photo {
			display: inline-block;
			margin: 0 auto;
			width: 45%;
			padding-bottom: 15px;
		}
		.feature_caption a {
			font-size: 10pt;
		}
		.chabad_header div.headerTitle {
			font-size: 43px;
			line-height: 70px;
			padding-top: initial;
		}
		.indexsection,
		.indexsection .custom_message {
			padding: 10px;
		}
		.indexsection .message,
		.indexsection .title {
			text-align: center;
		}
		.indexsection .read-more_link {
			width: 100%;
		}
		.indexsectionImg img {
			float: none;
			width: 75%;
		}
		.sPromo-wrap {
			margin: 8px auto;
		}
		.textWrapper {
			background: rgba(255, 255, 255, 0.75);
		}
		.textWrapper .big {
			color: #000;
		}
		.custom-mini-banner .banner-box .desc {
			width: 100%;
		}
		.custom-mini-banner .banner-box {
			display: block;
			width: 100%;
			padding: 10px;
		}
		.custom-mini-banner {
			padding-left: 0px;
			padding-right: 0px;
		}
	}
	@media only screen and (max-width: 1024px) {
		#co_calendar .item .calendar-width,
		.calendar-width {
			max-width: 936px;
		}
		#co_calendar .item .normal-width {
			width: 300px;
		}
		#co_calendar .item .normal-width.last {
			width: 600px;
		}
		#co_calendar .item.medium-width,
		#co_calendar .item.small-width {
			width: 203px;
		}
		#co_calendar .item.normal-width {
			width: 25%;
		}
		#co_calendar .item.large-width {
			width: 300px;
		}
		div#chabad_body_content {
			background-color: #fff;
		}
		body.mobile #navigation.chabad_navigator_bar #menu li:not(.heading) {
			padding: 0;
		}
		div#chabad_head .chabad_navigator_bar ul li a {
			border-right: 0 !important;
		}
		body.cco_templateless_page.mobile #navigation.chabad_navigator_bar #menu {
			margin-top: 10px;
			height: 45px;
		}
		body.mobile .chabad_navigator_bar #menu .item.heading a {
			background: url("https://w2.chabad.org/images/shluchim/minisites/down_triangle_white.gif") no-repeat right center;
		}
		body.mobile .chabad_navigator_bar .sub_menu_toggle {
			background: url(https://w2.chabad.org/images/shluchim/minisites/down_triangle_white.gif) no-repeat center;
		}
		body.mobile div.chabad_navigator_bar #menu .sub_menu ul {
			border-left: 3px solid #fff;
		}
		body.mobile #navigation.chabad_navigator_bar #menu li:not(.heading) {
			padding-left: 0;
		}
		div#chabad_head .chabad_navigator_bar ul li ul li {
			min-height: 0;
		}
		body.mobile #navigation.chabad_navigator_bar #menu {
			width: 100%;
		}
		/*.cco_templateless_page #chabad_main_content {
			background-image: url(https://w2.chabad.org/images/Shluchim/minisites/themes/Generic_New/abstract2.jpg);
			background-blend-mode: screen;
			background-size: contain;
			background-color: rgba(255, 255, 255, 0.7);
		}*/
		.bannerCta button {
			margin-top: 0;
		}
		.small_promos {
			margin-top: 10px;
		}
		.co_features {
			width: 25%;
		}
		.co_photo_gallery_head {
			text-align: center;
		}
		.g960.footer {
			padding: 20px;
			width: 100%;
		}
		.arrow:hover {
			background: 0 0;
		}
		.sPromo-wrap .caption {
			max-width: 100%;
		}
		.custom_message .message {
			width: 100%;
		}
		.co_content {
			width: 100%;
		}
		.chabad_header {
			background-position: bottom center;
			background-attachment: inherit;
		}
		.chabad_header .headerTitle {
			padding-top: 100px;
		}
		.header-desc {
			padding-bottom: 75px;
		}
		.cco_templateless_page .chabad_header,
		.chabad_header {
			background-blend-mode: screen;
			background-position: left bottom;
			background-color: rgba(255, 255, 255, 0.3);
		}
		.header-desc {
			padding-bottom: 50px;
		}
	}
	#RegisterSinglePage {
		text-align: left;
		.form-label {
			width: 250px !important;
		}
		.form-label-left {
			width: 250px !important;
		}
		.form-line {
			padding-top: 12px;
			padding-bottom: 12px;
		}
		.form-label-right {
			width: 250px !important;
		}
		.form-all {
			font-size: 14px;
		}
		.co_body .content .form-all p {
			font-size: 14px;
		}
	}
	.co_photo_gallery {
		display: flex;
		flex-wrap: wrap;
	}

	.co_photo_gallery a img {
		aspect-ratio: 1;
		object-fit: cover;
	}
.co_photo_gallery a {
  flex: 1 1 220px;
gap: 5px;
}
</style>


<div id="chabad_body_page">
<div id="chabad_main_content">
<div id="chabad_head">


<div class="chabad_header">

<img src="https://w2.chabad.org/media/images/1189/BLcU11895328.png" alt="Welcome!" />
<div class="headerTitle">
<a href="/5501793" style="text-decoration: none;">
&#160;</a></div>
<div class="headerSubTitle">
&#160;</div>
<div class="header-desc">
&#160;</div>
</div>


<div id="navigation" class="chabad_navigator_bar">
<div class="chabad_menu_content">
<ul id="menu" class="navi">
<li class="item parent">
<a href="/article.asp?aid=5501793" class="parent">Home</a>
|
</li>
<li class="item parent">
<a href="/article.asp?aid=7337888" class="parent">Women</a>
|
</li>
<li class="item parent">
<a href="/article.asp?aid=7338141" class="parent">Men</a>
|
</li>
<li class="item parent">
<a href="/article.asp?aid=7338167" class="parent">YJP</a>
|
</li>
<li class="item parent selected">
<a href="/article.asp?aid=7338233" class="parent selected">Children</a>
|
</li>
<li class="item parent">
<a href="/article.asp?aid=7339444" class="parent">Teens</a>
|
</li>
<li class="item parent">
<a href="/article.asp?aid=7339518" class="parent">Inspiration</a>
|
</li>
<li class="item parent">
<a href="/article.asp?aid=7339541" class="parent">Deli</a>
|
</li>
<li class="item parent">
<a href="/article.asp?aid=7339583" class="parent">Health</a>
</li>

</ul>
</div>
</div>


</div>
<div id="chabad_body_content">
<div class="chabad_left_column">
<div detached="true" type="static" id="ContentArea" name="content_area" actions="edit,delete" 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">Children</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="2026-04-27T16:13:37" />
<span itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
	<meta itemprop="name" content="Chabad of Puerto Vallarta" />
	<meta itemprop="brand" content="Chabad of Puerto Vallarta" />
	<span itemprop="logo" itemscope itemtype="http://schema.org/ImageObject">
		<meta itemprop="url" content="https://w2.chabad.org/media/images/1074/tyaG10745353.png" />
		<meta itemprop="height" content="150" />
		<meta itemprop="width" content="150" />
	</span>
</span>
<meta itemprop="datePublished" content="2026-04-27T16:13:37" />
			<div itemprop="articleBody">
				<co:body xmlns:co="www1.chabadonline.com/alpha1" xmlns:ext="urn:xslt-extensions">
  <div class="co_body article-body cf">
<p style="text-align: center;"><strong>CKids</strong><br>
CKids at Chabad of Puerto Vallarta is a weekly highlight filled with energy, joy, and discovery. Jewish children come together to start with davening and then dive into learning about Judaism through hands-on crafts, interactive games, and creative exploration. It’s a warm, lively space where kids have tons of fun, build friendships, and connect proudly with their heritage.</p>

<p style="text-align: center;">
<img alt="" height="700" src="https://w2.chabad.org/media/images/1367/eRHv13674937.jpg" width="700"><img alt="" height="700" src="https://w2.chabad.org/media/images/1367/FxAj13674939.jpg" width="700"><img alt="" height="700" src="https://w2.chabad.org/media/images/1367/XAch13674941.jpg" width="700"></p>

</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 id="border_bottom"></div>
</div>
</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.chabadvallarta.com%2ftemplates%2farticlecco_cdo%2faid%2f7338233%2fjewish%2fChildren.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=Children+-+Chabad+of+Puerto+Vallarta&amp;url=https%3a%2f%2fwww.chabadvallarta.com%2ftemplates%2farticlecco_cdo%2faid%2f7338233%2fjewish%2fChildren.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=Children+-+Chabad+of+Puerto+Vallarta https%3a%2f%2fwww.chabadvallarta.com%2ftemplates%2farticlecco_cdo%2faid%2f7338233%2fjewish%2fChildren.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.chabadvallarta.com%2ftemplates%2farticlecco_cdo%2faid%2f7338233%2fjewish%2fChildren.htm%23utm_medium%3dpage_tools%26utm_content%3ddesktop%26utm_source%3dpinterest&amp;description=Children+-+Chabad+of+Puerto+Vallarta">
				<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, 5501793);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 Puerto Vallarta</span>
		<div class="footer-address">
			<span class="footer-street">Francisco Medina Asencio 1951 Local 1a</span>
			<span class="footer-city-state">Puerto Vallarta, JAL 48333</span>
		</div>
			<span class="footer-country">Mexico</span><span>52-322-141-7279</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-latest.min.js"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/co/dist/CoLib.js"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/WebComponents/bundles/magen-cdo-global.js"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/modules/pagetools.js"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/multimedia/infolayer.js"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/commentsloader.js"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/minisites.js"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/subscribeprompt.js"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/custom/deprecated.js?v=4.1.3"></script>
<script type="text/javascript" src="https://w2.chabad.org/scripts/js/OverrideJSDocumentWrite.js"></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 Puerto Vallarta'}; Co.ArticleId     = '7338233';Co.SectionId     = 5501793;Co.PartnerSiteId = 0;Co.SiteId        = 10089;Co.IsMobilePage  = false;Co.IsResponsive  = false;Co.DbDomain      = 'ChabadVallarta.com';Co.LanguageCode  = '';Co.LoginStatus   = 'None';</script>
	
	
 


<script>var _msdaf_id= 'f0736218b3749'</script><script src='https://app.dafwidget.com/api/js/source.js'></script><script>
(function () {

  // ============================================================
  // GATE ON URL
  // ============================================================
  if (!window.location.href.includes('7418518')) return;

  // ============================================================
  // CONFIG — Google Sheet published as CSV.
  // Columns: Item Name, Image URL  (match on the item name WITHOUT the price)
  // File > Share > Publish to web > (this sheet) > CSV
  // ============================================================
  var SHEET_CSV = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vT8uOBS4hwLW0OCJMFARCg503mTDQX9O9JN0F6H2ZPXVjSWOjj_hJMParRB7pPo70EevF0-VcogA9te/pub?gid=0&single=true&output=csv';

  // ============================================================
  // FONTS
  // ============================================================
  var fontLink = document.createElement('link');
  fontLink.rel  = 'stylesheet';
  fontLink.href = 'https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap';
  document.head.appendChild(fontLink);

  // ============================================================
  // STYLES
  // ============================================================
  var style = document.createElement('style');
  style.textContent = `
    :root {
      --pv-primary:        #b48a80;   /* warm terracotta/rose from old form */
      --pv-primary-dark:   #9a6f65;
      --pv-primary-light:  rgba(180,138,128,0.45);
      --pv-primary-faint:  rgba(180,138,128,0.06);
      --pv-primary-border: rgba(180,138,128,0.35);
      --pv-primary-bg:     rgba(180,138,128,0.13);
      --pv-text-dark:  #3b3b3b;
      --pv-text-med:   #535353;
      --pv-text-light: #8b8b8b;
      --pv-border:       #e0d6d3;
      --pv-border-light: #efe9e7;
      --pv-bg-input: #efe9e7;
      --pv-bg-light: #faf7f6;
      --pv-shadow:   0px 2px 10px rgba(0,0,0,0.05);
      --pv-radius: 12px;
    }

    /* ── SHELL ─────────────────────────────────── */
    #formContainer .form-all {
      font-family: 'Poppins', sans-serif !important;
      width: 100% !important;
      max-width: 1040px !important;
      margin: 0 auto !important;
      padding: 30px 20px 100px !important;
      background: #fff !important;
      box-shadow: none !important;
    }
    .co_body .content .form-all li.form-input-wide,
    .co_body .content .form-all .form-line { padding: 0 !important; }
    .co_body .content .form-all .form-line { grid-template-columns: unset !important; }
    .form-section { list-style: none !important; padding: 0 !important; margin: 0 !important; }
    .form-all .form-label, .form-all .form-label-left, .form-all .form-label-right { width: auto !important; float: none !important; }
    .form-all .label-message { display: none !important; }
    #GenFormStyles { display: none !important; }

    /* ── SECTION HEADERS ───────────────────────── */
    .form-all .form-input-wide .form-header-group {
      margin: 50px 0 20px !important; background: transparent !important; border: none !important; padding: 0 !important; text-align: center !important;
    }
    #cid_1 .form-header-group { margin-top: 10px !important; }
    .form-all h2.form-header {
      font-family: 'Playfair Display', serif !important; font-weight: 700 !important;
      font-size: 34px !important; color: var(--pv-primary) !important;
      text-transform: capitalize !important; margin: 0 !important; padding: 0 !important;
      border: none !important; background: transparent !important; line-height: 1.15 !important;
    }
    .form-all .form-subHeader {
      font-family: 'Poppins', sans-serif !important; font-weight: 400 !important;
      font-size: 15px !important; color: var(--pv-text-light) !important;
      margin-top: 8px !important; text-transform: none !important;
    }

    /* ── ITEM GRID: 2 PER ROW ──────────────────── */
    .pv-item-grid {
      display: grid !important; grid-template-columns: repeat(2, 1fr) !important;
      gap: 16px !important; width: 100% !important; margin-bottom: 6px !important;
    }
    li.form-line.pv-menu-item {
      border: 1px solid var(--pv-border) !important; border-radius: var(--pv-radius) !important;
      box-shadow: var(--pv-shadow) !important; overflow: hidden !important;
      display: flex !important; align-items: center !important; padding: 0 !important;
      min-height: 120px !important; position: relative !important;
      transition: border-color 0.25s, box-shadow 0.25s !important; background: #fff !important; margin: 0 !important;
    }
    li.form-line.pv-menu-item.pv-selected {
      border: 2px solid var(--pv-primary) !important; box-shadow: 0 0 0 1px var(--pv-primary) !important;
    }
    .pv-item-card { padding: 10px !important; display: flex !important; align-items: center !important; width: 100% !important; height: 100% !important; min-width: 0 !important; gap: 12px !important; }
    .pv-item__img { width: 92px !important; height: 92px !important; border-radius: 8px !important; object-fit: cover !important; flex-shrink: 0 !important; background: var(--pv-bg-light) !important; display: block !important; }
    .pv-item__info { display: flex !important; flex-direction: column !important; gap: 2px !important; flex: 1 !important; min-width: 0 !important; }
    .pv-item__name { font-family: 'Poppins', sans-serif !important; font-weight: 700 !important; font-size: 16px !important; color: var(--pv-text-dark) !important; text-transform: capitalize !important; line-height: 1.2 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: none !important; }
    .pv-item__desc { font-family: 'Poppins', sans-serif !important; font-weight: 400 !important; font-size: 12px !important; color: var(--pv-text-light) !important; margin: 2px 0 0 !important; padding: 0 !important; line-height: 1.35 !important; }
    .pv-item__price { font-family: 'Poppins', sans-serif !important; font-weight: 700 !important; font-size: 17px !important; color: var(--pv-primary) !important; margin-top: 6px !important; }
    .pv-item__ctrl { display: flex !important; flex-direction: column !important; align-items: flex-end !important; flex-shrink: 0 !important; }
    .pv-qty-control { display: flex !important; align-items: center !important; gap: 2px !important; background: var(--pv-bg-input) !important; border: 1px solid var(--pv-primary-border) !important; border-radius: 8px !important; padding: 3px 4px !important; height: 44px !important; width: 118px !important; box-sizing: border-box !important; transition: all 0.25s !important; }
    .pv-qty-btn { width: 34px !important; height: 36px !important; background: #fff !important; border: none !important; border-radius: 6px !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 20px !important; font-family: 'Poppins', sans-serif !important; color: var(--pv-text-dark) !important; line-height: 1 !important; flex-shrink: 0 !important; transition: background 0.15s, transform 0.1s !important; padding: 0 !important; }
    .pv-qty-btn:hover { background: #f0ebe9 !important; }
    .pv-qty-btn:active { transform: scale(0.9) !important; }
    .pv-qty-display { flex: 1 !important; display: flex !important; align-items: center !important; justify-content: center !important; font-family: 'Poppins', sans-serif !important; font-weight: 700 !important; font-size: 17px !important; color: var(--pv-text-dark) !important; background: rgba(255,255,255,0.5) !important; border-radius: 6px !important; height: 36px !important; user-select: none !important; }
    li.form-line.pv-menu-item.pv-selected .pv-qty-control { background: var(--pv-primary) !important; border-color: var(--pv-primary) !important; }
    li.form-line.pv-menu-item.pv-selected .pv-qty-btn { background: rgba(255,255,255,0.18) !important; color: #fff !important; }
    li.form-line.pv-menu-item.pv-selected .pv-qty-btn:hover { background: rgba(255,255,255,0.3) !important; }
    li.form-line.pv-menu-item.pv-selected .pv-qty-display { background: transparent !important; color: #fff !important; }

    /* ── SECTION BOX (Shabbat / grouped sections) ─ */
    .pv-section-box {
      border: 1px solid var(--pv-primary-border) !important; border-radius: 16px !important;
      background: var(--pv-primary-faint) !important; padding: 10px 26px 30px !important;
      margin: 40px 0 10px !important;
    }
    .pv-section-box .form-header-group { margin-top: 30px !important; }

    /* ── TOP NOTES BLOCK (#id_36) ──────────────── */
    #id_36 { margin-bottom: 20px !important; }
    #text_36 {
      border: 1px solid var(--pv-primary-border) !important; border-radius: var(--pv-radius) !important;
      background: var(--pv-primary-faint) !important; padding: 22px 28px !important;
      font-family: 'Poppins', sans-serif !important; color: var(--pv-text-dark) !important;
    }
    #text_36 p { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; color: var(--pv-text-med) !important; margin: 0 0 8px !important; line-height: 1.5 !important; }
    #text_36 p b, #text_36 p strong { color: var(--pv-primary-dark) !important; }
    #text_36 ul { margin: 8px 0 0 !important; padding-left: 20px !important; }
    #text_36 li { font-family: 'Poppins', sans-serif !important; font-size: 13px !important; color: var(--pv-text-med) !important; line-height: 1.6 !important; margin-bottom: 4px !important; }

    /* ── DONATION (#id_57 control_amount) ──────── */
    #id_57 { margin-top: 15px !important; }
    #id_57 #label_57, #id_57 .form-label-left {
      display: block !important; float: none !important; width: 100% !important; text-align: center !important; margin-bottom: 14px !important;
    }
    #id_57 #label_57 label {
      font-family: 'Playfair Display', serif !important; font-weight: 700 !important;
      font-size: 22px !important; color: var(--pv-primary) !important;
    }
    #id_57 .form-input { width: 100% !important; max-width: 100% !important; float: none !important; }
    #id_57 .form-multiple-column {
      display: flex !important; flex-wrap: wrap !important; gap: 12px !important; justify-content: center !important; width: 100% !important;
    }
    #id_57 .clearfix { display: none !important; }
    #id_57 .form-radio-item {
      flex: 1 1 130px !important; max-width: 200px !important; clear: none !important; float: none !important;
      display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important;
      background: var(--pv-bg-light) !important; border: 1px solid var(--pv-border) !important;
      border-radius: var(--pv-radius) !important; padding: 16px 18px !important; cursor: pointer !important;
      box-sizing: border-box !important; margin: 0 !important; transition: border-color 0.15s, background 0.15s !important;
    }
    #id_57 .form-radio-item:hover { border-color: var(--pv-primary) !important; }
    #id_57 .form-radio-item.pv-checked { border-color: var(--pv-primary) !important; background: var(--pv-primary-bg) !important; }
    #id_57 .form-radio, #id_57 input[type="radio"] {
      appearance: none !important; -webkit-appearance: none !important; width: 20px !important; height: 20px !important; min-width: 20px !important;
      border: 2px solid var(--pv-border) !important; border-radius: 50% !important; margin: 0 !important; cursor: pointer !important;
      position: relative !important; flex-shrink: 0 !important; background: #fff !important; transition: border-color 0.15s !important;
    }
    #id_57 input[type="radio"]:checked { border-color: var(--pv-primary) !important; }
    #id_57 input[type="radio"]:checked::after {
      content: '' !important; position: absolute !important; top: 50% !important; left: 50% !important;
      transform: translate(-50%, -50%) !important; width: 10px !important; height: 10px !important;
      border-radius: 50% !important; background: var(--pv-primary) !important;
    }
    #id_57 .form-radio-item label { font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; font-size: 17px !important; color: var(--pv-text-dark) !important; cursor: pointer !important; margin: 0 !important; float: none !important; width: auto !important; }
    #id_57 .form-radio-other-input {
      appearance: auto !important; -webkit-appearance: auto !important; width: 90px !important; height: auto !important;
      border: 2px solid var(--pv-border-light) !important; border-radius: 8px !important; padding: 8px 10px !important;
      font-family: 'Poppins', sans-serif !important; font-size: 15px !important; background: #fff !important;
    }

    /* ── ORDER SUMMARY BOX ─────────────────────── */
    #pv-order-box-el {
      border: 1px solid var(--pv-primary-light) !important; border-radius: 14px !important;
      padding: 30px !important; margin-top: 55px !important; background: #fff !important; display: none;
    }
    .pv-order-box-title { font-family: 'Playfair Display', serif !important; font-weight: 700 !important; font-size: 28px !important; color: var(--pv-text-dark) !important; margin: 0 0 16px !important; }
    .pv-order-divider { width: 100% !important; height: 1px !important; background: var(--pv-border) !important; margin-bottom: 22px !important; }
    #id_67 { padding: 0 !important; margin: 0 !important; }
    .pv-order-items { display: flex !important; flex-direction: column !important; gap: 12px !important; margin-bottom: 18px !important; }
    .pv-order-line { display: flex !important; align-items: center !important; justify-content: space-between !important; padding-bottom: 8px !important; border-bottom: 1px dashed var(--pv-border-light) !important; animation: pvFadeUp 0.3s ease forwards !important; }
    @keyframes pvFadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
    .pv-order-line__left { display: flex !important; align-items: center !important; gap: 16px !important; }
    .pv-order-qty  { font-family:'Poppins',sans-serif !important; font-weight:700 !important; font-size:16px !important; color:var(--pv-primary) !important; }
    .pv-order-name { font-family:'Poppins',sans-serif !important; font-weight:400 !important; font-size:18px !important; color:var(--pv-text-dark) !important; }
    .pv-order-price{ font-family:'Poppins',sans-serif !important; font-weight:600 !important; font-size:18px !important; color:var(--pv-text-dark) !important; }
    #id_67 {
      display: flex !important; align-items: center !important; justify-content: space-between !important;
      background: var(--pv-primary-bg) !important; border-radius: 8px !important; padding: 20px 22px !important; margin-top: 0 !important;
    }
    #id_67 #label_67 { width: auto !important; float: none !important; }
    #id_67 #label_67 label { font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; font-size: 22px !important; color: var(--pv-text-dark) !important; }
    #id_67 #cid_67 { float: none !important; max-width: none !important; }
    #total_amount { font-family: 'Poppins', sans-serif !important; font-weight: 800 !important; font-size: 24px !important; color: var(--pv-primary) !important; }

    /* ── DELIVERY + CHECKOUT BOX ───────────────── */
    #pv-checkout-box-el {
      border: 1px solid var(--pv-primary-light) !important; border-radius: 14px !important;
      padding: 34px !important; margin-top: 40px !important; background: #fff !important;
    }
    #pv-checkout-box-el .form-header-group { margin-top: 0 !important; text-align: left !important; margin-bottom: 20px !important; }
    #pv-checkout-box-el h2.form-header { font-size: 26px !important; }
    #pv-checkout-box-el .form-line { display: flex !important; flex-direction: column !important; padding: 0 0 20px !important; width: 100% !important; }
    #pv-checkout-box-el .form-input, #pv-checkout-box-el .form-input-wide { width: 100% !important; float: none !important; max-width: 100% !important; display: block !important; }
    #pv-checkout-box-el .form-label-left { width: 100% !important; float: none !important; display: block !important; margin-bottom: 8px !important; }
    #pv-checkout-box-el .form-label-left label { font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; font-size: 16px !important; color: var(--pv-text-med) !important; }
    #pv-checkout-box-el .form-textbox, #pv-checkout-box-el .form-dropdown {
      width: 100% !important; height: 52px !important; border: 2px solid var(--pv-border-light) !important;
      border-radius: var(--pv-radius) !important; padding: 0 16px !important; font-family: 'Poppins', sans-serif !important;
      font-size: 16px !important; color: var(--pv-text-dark) !important; outline: none !important;
      transition: border-color 0.15s !important; box-sizing: border-box !important; background: #fff !important; box-shadow: none !important;
    }
    #pv-checkout-box-el .form-textbox:focus, #pv-checkout-box-el .form-dropdown:focus { border-color: var(--pv-primary) !important; }
    #pv-checkout-box-el .form-textarea {
      width: 100% !important; min-height: 120px !important; border: 2px solid var(--pv-border-light) !important;
      border-radius: var(--pv-radius) !important; padding: 14px 16px !important; font-family: 'Poppins', sans-serif !important;
      font-size: 16px !important; color: var(--pv-text-dark) !important; outline: none !important; resize: vertical !important;
      transition: border-color 0.15s !important; box-sizing: border-box !important;
    }
    #pv-checkout-box-el .form-textarea:focus { border-color: var(--pv-primary) !important; }
    #pv-checkout-box-el .form-sub-label { font-family: 'Poppins', sans-serif !important; font-size: 12px !important; color: var(--pv-text-light) !important; margin-top: 4px !important; display: block !important; }
    /* date fields */
    #pv-checkout-box-el .date-fields { display: inline-flex !important; align-items: center !important; gap: 4px !important; background: #fff !important; border: 2px solid var(--pv-border-light) !important; border-radius: var(--pv-radius) !important; padding: 0 14px !important; height: 52px !important; }
    #pv-checkout-box-el .date-fields:focus-within { border-color: var(--pv-primary) !important; }
    #pv-checkout-box-el .date-fields input.form-textbox { border: none !important; height: auto !important; width: 40px !important; padding: 0 !important; text-align: center !important; background: transparent !important; }
    #pv-checkout-box-el #year_63 { width: 60px !important; }
    #pv-checkout-box-el .date-fields .form-sub-label { display: none !important; }
    #pv-checkout-box-el .date-fields img { width: 22px !important; cursor: pointer !important; flex-shrink: 0 !important; }
    /* whatsapp checkbox #id_65 */
    #id_65 .form-single-column { display: flex !important; gap: 12px !important; }
    #id_65 .clearfix { display: none !important; }
    #id_65 .form-checkbox-item { display: flex !important; align-items: center !important; gap: 10px !important; background: var(--pv-bg-light) !important; border: 1px solid var(--pv-border) !important; border-radius: 8px !important; padding: 12px 18px !important; cursor: pointer !important; clear: none !important; float: none !important; }
    #id_65 .form-checkbox { appearance: none !important; -webkit-appearance: none !important; width: 22px !important; height: 22px !important; min-width: 22px !important; border: 2px solid #bbb !important; border-radius: 4px !important; cursor: pointer !important; position: relative !important; background: #fff !important; margin: 0 !important; transition: all 0.2s !important; }
    #id_65 .form-checkbox:checked { background: var(--pv-primary) !important; border-color: var(--pv-primary) !important; }
    #id_65 .form-checkbox:checked::after { content: '' !important; position: absolute !important; left: 6px !important; top: 2px !important; width: 6px !important; height: 11px !important; border: solid #fff !important; border-width: 0 2px 2px 0 !important; transform: rotate(45deg) !important; }
    #id_65 .form-checkbox-item label { font-family: 'Poppins', sans-serif !important; font-weight: 500 !important; font-size: 15px !important; color: var(--pv-text-dark) !important; cursor: pointer !important; margin: 0 !important; float: none !important; width: auto !important; }
    /* whatsapp note #id_66 */
    #id_66 #text_66 p { font-family: 'Poppins', sans-serif !important; font-style: italic !important; font-size: 13px !important; color: var(--pv-text-med) !important; text-align: center !important; margin: 6px 0 0 !important; }

    /* opt-in checkbox #id_71 */
    #id_71 { padding: 0 0 20px !important; }
    #id_71 .form-label-hidden, #id_71 #label_71 { display: none !important; }
    #id_71 .form-input { width: 100% !important; float: none !important; max-width: 100% !important; }
    #id_71 .form-checkbox-item { display: flex !important; align-items: center !important; gap: 12px !important; background: var(--pv-bg-light) !important; border: 1px solid var(--pv-border) !important; border-radius: var(--pv-radius) !important; padding: 14px 18px !important; cursor: pointer !important; clear: none !important; float: none !important; }
    #id_71 .form-checkbox { appearance: none !important; -webkit-appearance: none !important; width: 22px !important; height: 22px !important; min-width: 22px !important; border: 2px solid #bbb !important; border-radius: 4px !important; cursor: pointer !important; position: relative !important; background: #fff !important; margin: 0 !important; flex-shrink: 0 !important; transition: all 0.2s !important; }
    #id_71 .form-checkbox:checked { background: var(--pv-primary) !important; border-color: var(--pv-primary) !important; }
    #id_71 .form-checkbox:checked::after { content: '' !important; position: absolute !important; left: 6px !important; top: 2px !important; width: 6px !important; height: 11px !important; border: solid #fff !important; border-width: 0 2px 2px 0 !important; transform: rotate(45deg) !important; }
    #id_71 label { font-family: 'Poppins', sans-serif !important; font-weight: 500 !important; font-size: 15px !important; color: var(--pv-text-dark) !important; cursor: pointer !important; margin: 0 !important; float: none !important; width: auto !important; }

    /* payment #id_68 */
    #id_68 .form-payment-methods { display: none !important; }
    #id_68 .form-address-table { width: 100% !important; }
    #id_68 th { font-family: 'Poppins', sans-serif !important; text-align: left !important; padding: 16px 0 8px !important; color: var(--pv-text-dark) !important; font-size: 17px !important; font-weight: 600 !important; }
    #id_68 .cc-icons { display: flex !important; gap: 8px !important; margin: 6px 0 !important; }
    #id_68 .form-sub-label-container { display: block !important; margin-bottom: 10px !important; }
    #id_68 .form-textbox, #id_68 .form-dropdown {
      width: 100% !important; height: 50px !important; border: 2px solid var(--pv-border-light) !important;
      border-radius: var(--pv-radius) !important; padding: 0 14px !important; font-family: 'Poppins', sans-serif !important;
      font-size: 15px !important; box-sizing: border-box !important; background: #fff !important;
    }
    #id_68 .form-textbox:focus, #id_68 .form-dropdown:focus { border-color: var(--pv-primary) !important; outline: none !important; }
    #id_68 .form-sub-label { font-family: 'Poppins', sans-serif !important; font-size: 12px !important; color: var(--pv-text-light) !important; margin-top: 4px !important; display: block !important; }

    /* confirmation note #id_69 */
    #id_69 #text_69 p { font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; font-size: 14px !important; color: var(--pv-text-dark) !important; text-align: center !important; margin: 10px 0 !important; }

    /* submit */
    .form-buttons-wrapper { text-indent: 0 !important; text-align: center !important; }
    .form-submit-button {
      width: 100% !important; background: var(--pv-primary) !important; border: none !important; border-radius: 14px !important;
      padding: 22px !important; font-family: 'Poppins', sans-serif !important; font-weight: 600 !important; font-size: 22px !important;
      color: #fff !important; cursor: pointer !important; display: block !important; transition: background 0.2s, transform 0.1s !important; margin: 10px auto 0 !important;
    }
    .form-submit-button:hover { background: var(--pv-primary-dark) !important; }
    .form-submit-button:active { transform: scale(0.99) !important; }

    @media (max-width: 768px) {
      .pv-item-grid { grid-template-columns: 1fr !important; }
      #formContainer .form-all { padding: 20px 12px 80px !important; }
      .pv-section-box { padding: 6px 14px 20px !important; }
      .form-all h2.form-header { font-size: 26px !important; }
      .pv-item__img { width: 76px !important; height: 76px !important; }
      .pv-item__name { font-size: 14px !important; }
      .pv-qty-control { width: 108px !important; }
      #pv-order-box-el, #pv-checkout-box-el { padding: 20px !important; }
    }
  `;
  document.head.appendChild(style);

  // ============================================================
  // INIT
  // ============================================================
  function ready(fn){ if(document.readyState!=='loading'){fn();} else {document.addEventListener('DOMContentLoaded',fn);} }

  ready(function () {

    // 1. Transform every number input into a card
    document.querySelectorAll('input[data-type="input-number"]').forEach(function (input) {
      var li = input.closest('li.form-line');
      if (li) transformToCard(li, input);
    });

    // 2. Group consecutive item cards into 2-col grids (per section)
    groupItemsIntoGrids();

    // 3. Box up the Shabbat section (headers 24 + 25 through the last Shabbos item #id_35)
    boxSection('cid_24', ['cid_24','cid_25','id_26','id_27','id_28','id_29','id_30','id_31','id_32','id_33','id_34','id_35']);

    // 4. Donation radio styling
    setupDonation();

    // 5. Order summary
    setupOrderSummary();
    wrapOrderSection();

    // 6. Delivery + checkout box
    wrapCheckoutSection();

    updateOrderSummary();

    // 7. Images
    if (SHEET_CSV && SHEET_CSV.indexOf('http') === 0) fetchImages();
  });

  // ============================================================
  // CARD TRANSFORM
  // ============================================================
  function transformToCard(li, input) {
    var labelEl = li.querySelector('.form-label-left label:not(.label-message)');
    if (!labelEl) return;
    var raw        = labelEl.textContent.trim();
    var priceMatch = raw.match(/\$(\d+(?:\.\d+)?)/);
    var price      = priceMatch ? parseFloat(priceMatch[1]) : 0;
    var name       = raw.replace(/\s*\$\d+(?:\.\d+)?\s*$/, '').trim();
    var subEl      = li.querySelector('.form-sub-label');
    var desc       = subEl ? subEl.textContent.trim() : '';

    li.classList.add('pv-menu-item');
    li.setAttribute('data-pv-name', name);

    var labelLeft = li.querySelector('.form-label-left');
    var formInput = li.querySelector('.form-input');
    if (labelLeft) labelLeft.style.cssText = 'position:absolute;opacity:0;pointer-events:none;width:0;height:0;overflow:hidden;';
    if (formInput) formInput.style.cssText = 'position:absolute;opacity:0;pointer-events:none;width:0;height:0;overflow:hidden;';

    var descHTML = desc ? '<p class="pv-item__desc">' + desc + '</p>' : '';
    var card = document.createElement('div');
    card.className = 'pv-item-card';
    card.innerHTML =
      '<img class="pv-item__img" src="" alt="' + name + '">' +
      '<div class="pv-item__info">' +
        '<h3 class="pv-item__name">' + name + '</h3>' +
        descHTML +
        '<span class="pv-item__price">$' + price.toFixed(2) + '</span>' +
      '</div>' +
      '<div class="pv-item__ctrl">' +
        '<div class="pv-qty-control">' +
          '<button type="button" class="pv-qty-btn pv-qty-minus">\u2212</button>' +
          '<span class="pv-qty-display">0</span>' +
          '<button type="button" class="pv-qty-btn pv-qty-plus">+</button>' +
        '</div>' +
      '</div>';
    li.appendChild(card);

    var minusBtn = card.querySelector('.pv-qty-minus');
    var plusBtn  = card.querySelector('.pv-qty-plus');
    var display  = card.querySelector('.pv-qty-display');

    function setQty(n) {
      input.value = n > 0 ? n : '';
      display.textContent = n;
      li.classList.toggle('pv-selected', n > 0);
      if (window.$j) window.$j(input).trigger('change').trigger('keyup');
      ['input','change','keyup'].forEach(function(evt){ input.dispatchEvent(new Event(evt, { bubbles: true })); });
      updateOrderSummary();
    }
    plusBtn.addEventListener('click', function(){ setQty(parseInt(input.value || '0') + 1); });
    minusBtn.addEventListener('click', function(){
      var cur = parseInt(input.value || '0');
      if (cur > 0) setQty(cur - 1);
    });
  }

  // ============================================================
  // GROUP ITEMS INTO 2-COL GRIDS
  //   Walk the form-section; consecutive .pv-menu-item <li>s get
  //   wrapped in a .pv-item-grid div. A non-item breaks the run.
  // ============================================================
  function groupItemsIntoGrids() {
    var section = document.querySelector('.form-all .form-section');
    if (!section) return;
    var children = [].slice.call(section.children);
    var run = [];
    function flush() {
      if (run.length === 0) return;
      var grid = document.createElement('div');
      grid.className = 'pv-item-grid';
      run[0].parentNode.insertBefore(grid, run[0]);
      run.forEach(function(li){ grid.appendChild(li); });
      run = [];
    }
    children.forEach(function(li){
      if (li.classList && li.classList.contains('pv-menu-item')) {
        run.push(li);
      } else {
        flush();
      }
    });
    flush();
  }

  // ============================================================
  // BOX A SECTION (wraps a set of <li> ids in a styled container)
  //   Also re-grids items inside the box.
  // ============================================================
  function boxSection(anchorId, ids) {
    var anchor = document.getElementById(anchorId);
    if (!anchor) return;
    var box = document.createElement('div');
    box.className = 'pv-section-box';
    anchor.parentNode.insertBefore(box, anchor);
    ids.forEach(function(id){
      var el = document.getElementById(id);
      if (el) box.appendChild(el);
    });
    // re-grid items now inside the box
    var run = [];
    function flush() {
      if (run.length === 0) return;
      var grid = document.createElement('div');
      grid.className = 'pv-item-grid';
      run[0].parentNode.insertBefore(grid, run[0]);
      run.forEach(function(li){ grid.appendChild(li); });
      run = [];
    }
    [].slice.call(box.children).forEach(function(li){
      if (li.classList && li.classList.contains('pv-menu-item')) run.push(li);
      else flush();
    });
    flush();
  }

  // ============================================================
  // DONATION (#id_57 control_amount)
  // ============================================================
  function setupDonation() {
    document.querySelectorAll('#cid_57 .form-radio-item').forEach(function(item){
      item.addEventListener('click', function(e){
        if (e.target.closest('label') || e.target.type === 'radio' || e.target.tagName === 'INPUT') return;
        var r = item.querySelector('input[type="radio"]');
        if (r) r.click();
      });
    });
    document.querySelectorAll('#cid_57 input[type="radio"]').forEach(function(radio){
      radio.addEventListener('change', function(){
        document.querySelectorAll('#cid_57 .form-radio-item').forEach(function(item){
          var inp = item.querySelector('input[type="radio"]');
          item.classList.toggle('pv-checked', !!(inp && inp.checked));
        });
        updateOrderSummary();
      });
    });
    // "Other" custom donation input recalcs total
    var otherInput = document.getElementById('input_57');
    var otherRadio = document.getElementById('other_57');
    if (otherInput) {
      otherInput.addEventListener('input', updateOrderSummary);
      otherInput.addEventListener('focus', function(){ if (otherRadio) { otherRadio.checked = true; otherRadio.dispatchEvent(new Event('change', {bubbles:true})); } });
    }
    // JotForm keeps #input_57 disabled until Other is picked; keep it usable
    setInterval(function(){
      if (otherRadio && otherRadio.checked && otherInput && otherInput.hasAttribute('disabled')) otherInput.removeAttribute('disabled');
    }, 400);
  }

  // ============================================================
  // ORDER SUMMARY
  // ============================================================
  function setupOrderSummary() {
    // create the container that lives inside the order box
    var holder = document.createElement('div');
    holder.id = 'pv-order-items-holder';
    holder.innerHTML = '<div id="pv-order-items" class="pv-order-items"></div>';
    // will be moved into the order box by wrapOrderSection
    window.__pvOrderHolder = holder;
  }

  function wrapOrderSection() {
    // total is #id_67. Put an order box before it.
    var totalLi = document.getElementById('id_67');
    if (!totalLi) return;
    var box = document.createElement('div');
    box.id = 'pv-order-box-el';
    box.innerHTML = '<div class="pv-order-box-title">Your Order</div><div class="pv-order-divider"></div>';
    totalLi.parentNode.insertBefore(box, totalLi);
    if (window.__pvOrderHolder) box.appendChild(window.__pvOrderHolder.firstChild);
    box.appendChild(totalLi);
  }

  function updateOrderSummary() {
    var container = document.getElementById('pv-order-items');
    var orderBox  = document.getElementById('pv-order-box-el');
    var html = '', hasItems = false;

    document.querySelectorAll('input[data-type="input-number"]').forEach(function (input) {
      var qty = parseInt(input.value || '0');
      if (qty <= 0) return;
      hasItems = true;
      var li      = input.closest('li.form-line');
      var name    = li ? (li.getAttribute('data-pv-name') || 'Item') : 'Item';
      var priceEl = li ? li.querySelector('.pv-item__price') : null;
      var pNum    = priceEl ? parseFloat(priceEl.textContent.replace('$','')) : 0;
      html +=
        '<div class="pv-order-line">' +
          '<div class="pv-order-line__left">' +
            '<span class="pv-order-qty">' + qty + '\u00d7</span>' +
            '<span class="pv-order-name">' + name + '</span>' +
          '</div>' +
          '<span class="pv-order-price">$' + (qty * pNum).toFixed(2) + '</span>' +
        '</div>';
    });

    // donation
    var donChecked = document.querySelector('#cid_57 input[type="radio"]:checked');
    var donVal = 0, donIsOther = false;
    if (donChecked) {
      if (donChecked.id === 'other_57') { donIsOther = true; }
      else donVal = parseFloat(donChecked.value || '0');
    }
    var otherInput = document.getElementById('input_57');
    if (donIsOther && otherInput) donVal = parseFloat(otherInput.value || '0');
    if (donVal > 0) {
      hasItems = true;
      html +=
        '<div class="pv-order-line">' +
          '<div class="pv-order-line__left">' +
            '<span class="pv-order-qty">\u2764</span>' +
            '<span class="pv-order-name">Community Support Donation</span>' +
          '</div>' +
          '<span class="pv-order-price">$' + donVal.toFixed(2) + '</span>' +
        '</div>';
    }

    if (container) container.innerHTML = html;
    if (orderBox)  orderBox.style.display = hasItems ? 'block' : 'none';
  }

  // ============================================================
  // CHECKOUT BOX (Delivery header #id_59 through payment #id_68)
  // ============================================================
  function wrapCheckoutSection() {
    var anchor = document.getElementById('cid_59'); // Delivery header
    if (!anchor) return;
    var box = document.createElement('div');
    box.id = 'pv-checkout-box-el';
    anchor.parentNode.insertBefore(box, anchor);
    ['cid_59','id_60','id_61','id_62','id_63','id_70','id_64','id_65','id_66','id_68','id_69','id_71','id_2'].forEach(function(id){
      var el = document.getElementById(id);
      if (el) box.appendChild(el);
    });
  }

  // ============================================================
  // FETCH IMAGES FROM GOOGLE SHEET
  //   CSV columns: Item Name, Image URL  (name WITHOUT price)
  // ============================================================
  function fetchImages() {
    var allImgs = document.querySelectorAll('.pv-item__img');
    fetch(SHEET_CSV)
      .then(function (r) { return r.text(); })
      .then(function (csv) {
        var map = {};
        csv.split('\n').slice(1).forEach(function (row) {
          var clean = row.replace(/^\uFEFF/, '').replace(/\r/g, '').trim();
          if (!clean) return;
          var commaIdx = clean.indexOf(',');
          if (commaIdx === -1) return;
          var rawName = clean.substring(0, commaIdx).replace(/^"|"$/g, '').trim();
          var rawUrl  = clean.substring(commaIdx + 1).replace(/^"|"$/g, '').trim();
          if (rawName && rawUrl) map[rawName.toLowerCase().normalize('NFC')] = rawUrl;
        });
        var matched = 0, missed = [];
        allImgs.forEach(function (img) {
          var card = img.closest('.pv-item-card');
          var nameEl = card ? card.querySelector('.pv-item__name') : null;
          if (!nameEl) return;
          var nm = nameEl.textContent.trim().toLowerCase().normalize('NFC');
          if (map[nm]) { img.src = map[nm]; matched++; }
          else missed.push(nameEl.textContent.trim());
        });
        console.log('[PV] Matched ' + matched + ' images, missed:', missed);
      })
      .catch(function (e) { console.error('[PV] Sheet fetch failed:', e); });
  }

})();
</script>
</body>
</html>