
/* Custom Template Overrides
--------------------------------------------------------------------------------------- */

.title-white .titles, .title-white .titles a, .title-white .wysiwyg h1, .title-white .wysiwyg h2, .title-white .wysiwyg h3, .title-white .wysiwyg h4, .title-white .wysiwyg h5, .title-white .wysiwyg h6,
.small-title-white .small-titles, .small-title-white .small-titles a,
.headline-white .titles.headline { color: #fff !important;}
.title-black .titles, .title-black .titles a, .title-black .wysiwyg h1, .title-black .wysiwyg h2, .title-black .wysiwyg h3, .title-black .wysiwyg h4, .title-black .wysiwyg h5, .title-black .wysiwyg h6,
.small-title-black .small-titles, .small-title-black .small-titles a,
.headline-black .titles.headline { color: #000 !important;}
.title-grey .titles, .title-grey .titles a, .title-grey .wysiwyg h1, .title-grey .wysiwyg h2, .title-grey .wysiwyg h3, .title-grey .wysiwyg h4, .title-grey .wysiwyg h5, .title-grey .wysiwyg h6,
.small-title-grey .small-titles, .small-title-grey .small-titles a,
.headline-grey .titles.headline { color: #999 !important;}

.button-white a.button { background: #fff !important; color: #000 !important;}
.button-black a.button { background: #000 !important; color: #fff !important;}
.button-grey a.button { background: #999 !important; color: #fff !important;}

.quicklink-panels {  -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;}
.quicklink-panels .panel { position: relative; }
.quicklink-panels a { display: block; position: absolute; top: 0; left: 0; z-index: 10; width: 100%; height: 100%;
	background: rgb(0,0,0);
	background: -moz-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%);
	background: -webkit-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%);
	background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
}
.quicklink-panels a:hover { background-color: rgba(0,0,0,.65);}
.quicklink-panels h2 { position: absolute; width: 100%; padding-left: 40px; padding-right: 40px; bottom: 0; left: 0; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}

.buttons-center-active .buttons-center { text-align: center;  }
.buttons-center-active .buttons-center a.button { display: inline-block; float: none; text-align: center; margin-right: 10px !important; margin-left: 10px !important; }
.buttons-center-active .panel a.button,
.buttons-center-active a.button { float: none; margin-left: auto !important; margin-right: auto !important; display: inline-block;}

.hero-right .buttons-center { text-align: right;  }
.hero-right .buttons-center a.button { display: inline-block; float: none; text-align: right; margin-right: 0 !important; margin-left: 20px !important; }

.page-template-page-custom-template .gform_heading,
.page-template-page-simple .gform_heading { display: none !important;}
.page-template-page-custom-template .titles a:hover { text-decoration: none !important;}

.content-medium { width: 75%; margin: 0 auto;}
.content-short { width: 50%; margin: 0 auto;}

.page-id-XXX .marg-t-60.loop-item-1 { margin-top: 0 !important;}

.question-wrap .question { border-bottom: 1px solid #ccc; position: relative; padding-right: 40px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}
.question-wrap .question span { display: block; width: 12px; height: 12px; position: absolute; right: 0; top: 0;}

.full-panel .panel,
.full-panel .panel.last { width: 100% !important; margin-right: 0 !important;}

.ct-quote-bar { border: 0 !important; height: 2px; width: 40%; margin-left: auto; margin-right: auto;}
.quote-bar-white .ct-quote-bar { background: #fff; color: #fff;}
.quote-bar-black .ct-quote-bar { background: #000; color: #000;}
.quote-bar-grey .ct-quote-bar { background: #ddd; color: #ddd;}

.ct-quote-by { font-size: 2.4em}
.ct-quote-by span { font-size: .7em; font-weight: 400; font-style: italic;}

.image_normal { height: 75vh;}
.image_medium { height: 55vh;}
.image_short { height: 35vh;}

.titles-center .titles { text-align: center !important;}

.centered-image-style { height: 60vh; position: absolute; z-index: 4; }
.centered-image-left { width: 20%; left: 0;}
.centered-image-right { width: 20%; right: 0; }

.image-staggered-right .centered-image-right.center-v { top: 45% !important;}
.image-staggered-right .centered-image-left.center-v { top: 55% !important;}
.image-staggered-left .centered-image-right.center-v { top: 55% !important;}
.image-staggered-left .centered-image-left.center-v { top: 45% !important;}

.features-list .panel { position: relative; padding-left: 120px; text-align: left !important;}
.features-list img { max-width: 90px; position: absolute; top: 0; left: 0;}
.features-centered.features-list .panel { position: relative; padding-left: 0; text-align: center !important;}
.features-centered.features-list img { max-width: 90px; position: relative; top: auto; left: auto; margin-left: auto !important; margin-right: auto !important; margin-bottom: 40px;}
.features-centered a.button { margin: 0 auto; text-align: center; display: inline-block !important; float: none !important; text-align: center;}

.grid-two .panel, .grid-three .panel, .grid-four .panel, .grid-five .panel {
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    /* margin: 20px; */
}

.grid-two.owl-carousel-ct .panel,
.grid-three.owl-carousel-ct .panel,
.grid-four.owl-carousel-ct .panel { width: 100% !important; position: relative; float: none !important; margin: 0 !important; display: block !important;}
.grid-two.owl-carousel-ct .panel.marg-t-100,
.grid-three.owl-carousel-ct .panel.marg-t-100,
.grid-four.owl-carousel-ct .panel.marg-t-100 { margin-top: 0 !important;}
.show-overflow .owl-stage-outer { overflow: visible !important;}
.show-overflow.overflow { overflow: hidden !important;}

.owl-nav { position: absolute; bottom: 36px; width: 60px; right: 0; display: block; }
.owl-nav button.owl-prev { left: 0; }
.owl-nav button.owl-next { right: -7px; }
.owl-nav button { width: 30px; height: 30px; background: transparent; border: none; position: absolute; padding: 0; }
.owl-nav button span.custom-prev, .owl-nav button span.custom-next { position: absolute; top: 50%; left: 50%; width: 15px; height: 30px; transform: translate(-50%, -50%); display: inline-block; }
.owl-nav button span.custom-prev svg, .owl-nav button span.custom-next svg { width: 15px; height: 30px; display: block; }
.owl-theme .owl-nav [class*='owl-'] { margin: 0 !important;}
.owl-theme .owl-nav .disabled { opacity: 0.2 !important;}

.owl-theme .owl-dots { text-align: center; -webkit-tap-highlight-color: transparent; margin-top: 50px; height: 30px; }
.owl-theme .owl-dots .owl-dot { display: inline-block; zoom: 1; *display: inline; }
.owl-theme .owl-dots .owl-dot span { width: 10px; height: 30px; margin: 5px 7px; background: #D6D6D6; display: block; -webkit-backface-visibility: visible; transition: opacity 200ms ease; border-radius: 30px; }
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span { background: #869791; }
.owl-theme .owl-nav [class*='owl-'] { background: transparent !important; }
.owl-arrow-color:hover { opacity: 0.6; }
.disabled .owl-arrow-color:hover { opacity: 1; }

.gallery-images { display: flex; flex-wrap: wrap; gap: 0; margin-top: 10px; justify-content: center; }
.gallery-images a { margin-top: 20px; }
.gallery_grid .gallery-images a { flex: 0 0 calc(25% - 10px); margin-left: 5px; margin-right: 5px; margin-top: 10px; box-sizing: border-box; }
.section.simple .gallery_grid .gallery-images a, .section.image-split-wrap .gallery_grid .gallery-images a, .section.image-content .gallery_grid .gallery-images a { flex: 0 0 calc(33.33% - 10px); }
.section-full .gallery_grid .gallery-images a { flex: 0 0 calc(16.666% - 10px); }
.gallery-images img { width: 100%; height: auto; object-fit: cover; }

.post-alt-owl .owl-nav,
.full-split-owl .owl-nav { position: absolute; height: 30px; margin-top: 0 !important; top: 50%; transform: translateY(-50%); width: 100%; right: 0; display: block; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}
.post-alt-owl .owl-nav button.owl-next,
.full-split-owl .owl-nav button.owl-next { right: 0 !important;}
.post-alt-owl .owl-nav button span.custom-prev svg,
.post-alt-owl .owl-nav button span.custom-next svg,
.full-split-owl .owl-nav button span.custom-prev svg,
.full-split-owl .owl-nav button span.custom-next svg { width: 10px; height: 20px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.owl-theme.post-alt-owl .owl-nav [class*='owl-'] span,
.full-split-owl .owl-nav [class*='owl-'] span { background: rgba(0, 0, 0, 0.6) !important; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0;}
.owl-theme.post-alt-owl .owl-dots { width: 100%; margin-top: 0; position: absolute; bottom: -40px; left: 50%; transform: translateX(-50%); }
.owl-theme.full-split-owl .owl-dots { width: 100%; margin-top: 0; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }

.full-split-owl { width: 100%; height: 100%;}

.full-split-owl .owl-stage-outer,
.full-split-owl .owl-stage,
.full-split-owl .owl-item,
.full-split-owl .item,
.full-split-owl .bg-image {
height: 100%;
width: 100%;
}

.post-alt-owl .owl-stage-outer,
.full-split-owl .owl-stage-outer { overflow: hidden !important;}

.hero-second-image { width: 26%;height: 65vh;}
.hero-image-border { border: 20px solid #fff; }
.hero-image-border-black { border: 20px solid #000;}
.hero-text-shadow h2, .hero-text-shadow h3, .hero-text-shadow p { text-shadow: 0px 0px 30px rgba(0, 0, 0, 1);}
.hero-image-left { left: 10vw;}
.hero-image-right { right: 10vw;}
.hero-image-content-width {  width: 61% !important;}
.hero-reset-positioning.center-v { margin-top: -5%; height: 100% !important; position: static !important; top: auto !important; left: auto !important; -webkit-transform: none !important; -ms-transform: none !important; transform: none !important; }
.hero-content-float.hero-left { float:left; display:inline;}
.hero-content-float.hero-right { float:right; display:inline;}
.hero-reset-postioning.hero-image-right { float:right; display:inline; margin-right: 10%}
.hero-reset-postioning.hero-image-left { float:left; display:inline; margin-left: 10%;}
.hero-reset-postioning.hero-second-image {height: 53vh; margin-top: -4%;}

.message-status { padding: 10px !important; background-color: #fff4d1;  -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; margin: 30px 15px 10px 15px !important; transition: opacity 1s ease-in-out; opacity: 1;}
.message-status.success { background-color: #39b54a !important; color: #fff;}
.message-status p { margin: 0 !important; text-align: center; font-size: 1.6em !important;}
.message-status.show { opacity: 1; }
.page-template-page-login .message-status { margin-left: 0 !important; margin-right: 0 !important;}
.message-status.error-message { background-color: #ffe8e9 !important; color: #000;}
.message-status.error-message p { line-height: 1.3em !important; padding: 10px 20px;}

.section.section-custom-email-template { padding-bottom: 0 !important;}

.vertical-titles { position: relative; z-index: 4;}
.vertical-titles .panel.marg-t-100 { margin-top: 0 !important;}
.vertical-titles .quicklink-panels a { background: rgba(0,0,0,.5) !important;}
.vertical-titles .quicklink-panels a:hover { background: rgba(0,0,0,.1) !important;}
.vertical-titles .quicklink-panels h2 { position: absolute; width: auto; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-90deg); white-space: nowrap; }
.vertical-titles .quicklink-panels a:hover h2 { text-shadow: 0px 0px 40px rgba(0, 0, 0, 0.5);}


/* Image Sizes
--------------------------------------------------------------------------------------- */

.image-wrapper-portrait, .image-wrapper-rectangle, .image-wrapper-square, .image-wrapper-video { position: relative; width: 100%; overflow: hidden; }
.image-wrapper-portrait img, .image-wrapper-rectangle img, .image-wrapper-square img, .image-wrapper-video img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }


/* Testomonials
--------------------------------------------------------------------------------------- */

/* ── Page-specific overrides ──────────────────────────────────────────────── */

/* Birthday page (706): hide the contact-info blocks (address/phone/email) — that
   info already appears in the footer. sections_1 maps to #section-2. */
body.page-id-706 #section-2 { display: none !important; }

/* Employee Access page (738): sections_0 is an empty layout_content placeholder
   that creates a large blank gap — hide it. */
body.page-id-738 #section-1 { display: none !important; }

/* Registration page (653): the 4th grid panel (Parent Handbook) sits alone on
   the second row of the 3-col grid. Float it to the centre instead of the left. */
body.page-id-653 .grid-three .panel:nth-child(4) {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Testimonial card padding — matches .panel-content-wrap on other card types */
.ct-testimonial-item { padding: 20px; box-sizing: border-box; }

/* Font hierarchy: quote body is smaller than the attribution name */
.ct-testimonial-content p { font-size: 1.2em !important; }

h2.ct-testimonials-name { font-size: 2.4em; margin-top: 24px;}
h3.ct-testimonials-subtitle { font-size: 1.8em; margin-top: 6px; font-weight: 400 !important;}
.ct-testimonial-headshot { max-width: 100px; }
.image-top .ct-testimonial-headshot { margin-bottom: 40px;}
.image-bottom .ct-testimonial-headshot { margin-top: 40px; margin-bottom: 24px;}
.panel.ta-center .ct-testimonial-headshot { margin-left: auto !important; margin-right: auto;}
.panel.ta-right .ct-testimonial-headshot { margin-left: auto !important; margin-right: 0;}

.ct-testimonial-image-side-wrap { display: flex; align-items: center; position: relative; margin-top: 40px; padding-left: 100px; box-sizing: border-box; }
.ct-testimonial-image-side { position: absolute; top: 50%; left: 0; transform: translateY(-50%); max-width: 70px; }
.ct-testimonial-image-side-content { display: flex; flex-direction: column; justify-content: center; gap: 5px; }
.ct-testimonial-image-side-wrap h2.ct-testimonials-name { font-size: 2em; margin: 0 !important; line-height: 1em !important; }
.ct-testimonial-image-side-wrap h3.ct-testimonials-subtitle { font-size: 1.6em; margin: 0 !important; font-weight: 400 !important; line-height: 1em !important; }
.headshot-round img { -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%;}

.panel.white h2.ct-testimonials-name,
.panel.white h3.ct-testimonials-subtitle { color: #fff !important;}
.panel.black h2.ct-testimonials-name,
.panel.black h3.ct-testimonials-subtitle { color: #000 !important;}
.panel.grey h2.ct-testimonials-name,
.panel.grey h3.ct-testimonials-subtitle { color: #ddd !important;}


/* Tabs
--------------------------------------------------------------------------------------- */

.gallery-tabs { text-align: center; width: 100%; margin-top: 40px; margin-bottom: 30px; display: block !important; }
.gallery-tabs li { font-size: 1.6em; text-transform: uppercase; letter-spacing: 0; text-align: center; margin: 0 4px; display: inline; position: relative; }
.gallery-tabs li a { color: #333; font-weight: 500; height: 34px; line-height: 34px; background: #eee; padding: 6px 20px; text-decoration: none; display: inline-block; transition: background 0.3s ease; }
.gallery-tabs li a:hover, .gallery-tabs li a.active { background: #333; color: #fff; }

.gallery-content { display: none; }
.gallery-content.visible { display: block; }


/* Media Queries
--------------------------------------------------------------------------------------- */

@media only screen
and (max-width : 1800px) {

.page-template-page-custom-template .image-split-wrap .pad-200 { padding: 140px !important;}

}



@media only screen
and (max-width : 1770px) {


}

@media only screen
and (max-width : 1600px) {

	.page-template-page-custom-template .image-split-wrap .pad-200 { padding: 120px !important;}

	.section-double-images.section.simple { max-width: 640px !important;}

	.section-full .gallery_grid .gallery-images a {
		flex: 0 0 calc(20% - 10px); /* 5 columns for smaller screens */
	  }

	.hero-second-image { height: 58vh;}
	.hero-reset-postioning.hero-second-image{ height: 50vh;}
}


@media only screen
and (max-width : 1500px) {

	.hero-second-image { height: 50vh;}

}

@media only screen
and (max-width : 1350px) {

	.page-template-page-custom-template .image-split-wrap .pad-200 { padding: 100px !important;}

}


@media only screen
and (max-width : 1300px) {

	.section-double-images.section.simple { width: 35% !important; max-width: 100%;}
	.centered-image-style { height: 60vh; position: absolute; z-index: 4; }
	.centered-image-left { width: 25%; left: 0;}
	.centered-image-right { width: 25%; right: 0; }


}



@media only screen
and (max-width : 1350px) {

	.hero-content-float.center-v { position: relative !important; top: auto !important; -webkit-transform: none !important; -ms-transform: none !important; transform: none !important; }

}

@media only screen
and (max-width : 1200px) {

	.page-template-page-custom-template .image-split-wrap .pad-200 { padding: 80px !important;}

	.quicklink-panels h2 { padding-left: 30px; padding-right: 30px; }

	.gallery_grid .gallery-images a {
		flex: 0 0 calc(33.333% - 10px); /* Adjust to 3 columns */
	  }
	.section-full .gallery_grid .gallery-images a {
		flex: 0 0 calc(25% - 10px); /* 5 columns for smaller screens */
	}

	.section.image-split-wrap .gallery_grid .gallery-images a,
	.section.image-content .gallery_grid .gallery-images a {
		flex: 0 0 calc(50% - 10px); /* 5 columns for smaller screens */
	}

    .custom-div {
        padding-top: 160px !important;
        padding-bottom: 160px !important;
    }

}

@media only screen
and (max-width : 1150px) {


}

@media only screen
and (max-width : 1100px) {

	.section-double-images.section.simple { width: 50% !important; max-width: 100%;}
	.centered-image-style { height: 45vh; position: absolute; z-index: 4; }
	.centered-image-left { width: 16%; left: 0;}
	.centered-image-right { width: 16%; right: 0; }

}

@media only screen
and (max-width : 1000px) {

	.page-template-page-custom-template .image-split-wrap .pad-200 { padding: 60px !important;}

	.owl-theme .owl-nav.disabled + .owl-dots { margin-top: 30px !important; }
	.owl-carousel-ct.pad-b-80 { padding-bottom: 0 !important;}

	.section-full .gallery_grid .gallery-images a {
		flex: 0 0 calc(33.33% - 10px); /* 5 columns for smaller screens */
	}

}

@media only screen
and (max-width : 880px) {

	.quicklink-panels h2 { padding-left: 20px; padding-right: 20px; }

	.hero-image-content-width {  width: 58% !important;}

}


/* iPads (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px) {


}

@media screen and (min-width:320px) and (max-width:780px) and (orientation:landscape) {

}

@media only screen
and (max-width : 501px) and (orientation:portrait)  {

	.page-template-page-custom-template .image-split-wrap .pad-200 { width: 100%; padding-left: 8% !important; padding-right: 8% !important;}

	.section-double-images.section.simple { width: 82% !important; max-width: 100%;}
	.centered-image-style { height: 280px; position: relative; z-index: 4; }
	.centered-image-left.center-v { width: 100%; left: 0; position: relative !important; top: auto; -webkit-transform: none; -ms-transform: none; transform: none;}
	.centered-image-right.center-v { width: 100%; right: 0; position: relative !important; top: auto; -webkit-transform: none; -ms-transform: none; transform: none;}

	.ct-wrapper.show-overflow .owl-stage-outer { overflow: hidden !important;}

	.owl-theme .owl-dots { margin-top: 30px; }
	.owl-carousel-ct.pad-b-80 {padding-bottom: 66px !important;}
	.dots-off .owl-nav { left: 50%; right: auto; transform: translateX(-50%); }

	.gallery_grid .gallery-images a,
	.section-full .gallery_grid .gallery-images a {
		flex: 0 0 calc(50% - 10px); /* Adjust to 3 columns */
	  }

	.hero-image-content-width,
	.hero-image-content-width,
	.hero-content-float.hero-left,
	.hero-content-float.hero-right { width: 100% !important; float: none; display: block;}
	.hero-reset-postioning.hero-image-right,
	.hero-reset-postioning.hero-image-left { float:none; display:block; margin: 40px auto 0 auto !important; width: 84% !important;}


	.gallery-tabs { display: none !important; }
	.gallery-dropdown { display: block !important; width: 100%; margin: 20px auto; text-align: center; }
	.gallery-dropdown select { height: 48px; border: 1px solid #999; font-size: 1.8em !important; font-family: 'proxima-nova', Helvetica, Arial, sans-serif; color: #000; font-weight: 400 !important; margin-top: 0; line-height: 48px; padding: 0 20px !important; width: 100%; box-sizing: border-box; display: block !important; border-radius: 3px; -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #fff url(../images/arrow-select-black.png) no-repeat !important; background-position: calc(100% - 18px) 50% !important; background-size: 14px 10px !important; }

	.gallery-images { width: 100% ; display: block !important; gap: 0 !important; margin: 10px 0 0 0 !important;}
	.gallery-images a:first-child img { margin-top: 0 !important;}
	.gallery-images a img { margin-top: 10px !important;}

	.buttons-center-active .buttons-center a.button { margin-left: 0 !important; margin-right: 0 !important;}

	.headshot-round.panel.marg-t-60 { width: 100% !important; margin-right: 0 !important; margin-top: 20px !important;}

	.owl-theme.post-alt-owl .owl-dots {bottom: -34px;}

}

/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {


}


/* ── Sort dropdown hidden (removed via PHP hook) ─────────────────────────── */
.woocommerce-ordering {
    display: none !important;
}

.woocommerce-ordering select {
    display: none !important;
}

/* ── Birthday Party Featured Section ─────────────────────────────────────── */
.birthday-feature-section {
    width: 100%;
    background-color: #FFAF00;
    padding: 120px 0;
    box-sizing: border-box;
}

.birthday-feature-inner {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    gap: 60px;
    padding: 0 40px;
    box-sizing: border-box;
}

.birthday-feature-image {
    width: 420px;
    flex-shrink: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}

.birthday-feature-image img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
}

.birthday-feature-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.birthday-feature-badge {
    display: inline-block;
    background: #000;
    color: #fff;
    font-size: 0.85em;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 20px;
    margin-bottom: 20px;
    width: fit-content;
}

.birthday-feature-title {
    font-size: 2.8em;
    font-weight: 800;
    color: #000 !important;
    line-height: 1.1;
    margin: 0 0 16px 0;
}

.birthday-feature-tagline {
    font-size: 1.5em;
    font-weight: 700;
    color: #111;
    margin: 0 0 12px 0;
    line-height: 1.3;
}

.birthday-feature-desc {
    font-size: 1.35em;
    color: #333 !important;
    line-height: 1.6;
    margin: 0 0 24px 0;
}

.birthday-feature-price {
    font-size: 1.8em;
    font-weight: 700;
    color: #000;
    margin-bottom: 28px;
}

.birthday-feature-price .woocommerce-Price-amount {
    color: #000;
}

.birthday-feature-urgency {
    font-size: 1.15em;
    font-weight: 600;
    color: #5a3000;
    margin: 16px 0 0 0;
    letter-spacing: 0.01em;
}

.birthday-feature-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    color: #111;
    font-size: 2em;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 22px 56px;
    border-radius: 100px;
    border: none;
    text-decoration: none;
    width: fit-content;
    box-shadow: 0 6px 0px #b07d00, 0 8px 28px rgba(0,0,0,0.2);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    margin-top: 8px;
    position: relative;
    top: 0;
}

.birthday-feature-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 0px #b07d00, 0 10px 28px rgba(0,0,0,0.22);
    color: #111;
}

.birthday-feature-btn:active {
    transform: translateY(2px);
    box-shadow: 0 2px 0px #b07d00, 0 3px 10px rgba(0,0,0,0.15);
}

.birthday-feature-perks {
    list-style: none;
    margin: 0 0 20px 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.birthday-feature-perks li {
    font-size: 1.6em;
    color: #111;
    font-weight: 600;
    line-height: 1.5;
}

/* Tablet */
@media only screen and (max-width: 900px) {
    .birthday-feature-section {
        padding: 80px 0;
    }
    .birthday-feature-inner {
        flex-direction: column;
        gap: 40px;
        padding: 0 30px;
    }
    .birthday-feature-image {
        width: 100%;
    }
    .birthday-feature-image img {
        height: 260px;
    }
    .birthday-feature-title {
        font-size: 2em;
    }
}

/* Mobile */
@media only screen and (max-width: 600px) {
    .birthday-feature-section {
        padding: 60px 0;
    }
    .birthday-feature-inner {
        padding: 0 20px;
        gap: 30px;
    }
    .birthday-feature-image img {
        height: 200px;
    }
    .birthday-feature-title {
        font-size: 1.6em;
    }
}

/* ── Gift Card Featured Section ──────────────────────────────────────────────── */
.giftcard-feature-section.birthday-feature-section {
    background-color: #1A4731;
}

.giftcard-feature-section .birthday-feature-title,
.giftcard-feature-section .birthday-feature-tagline,
.giftcard-feature-section .birthday-feature-desc,
.giftcard-feature-section .birthday-feature-perks li,
.giftcard-feature-section .birthday-feature-price,
.giftcard-feature-section .birthday-feature-price .woocommerce-Price-amount {
    color: #fff !important;
}

.giftcard-feature-section .birthday-feature-urgency {
    color: #a8d5b5;
}

.giftcard-feature-section .birthday-feature-btn {
    box-shadow: 0 6px 0px #0d2a1e, 0 8px 28px rgba(0,0,0,0.2);
}

.giftcard-feature-section .birthday-feature-btn:hover {
    box-shadow: 0 6px 0px #0d2a1e, 0 10px 28px rgba(0,0,0,0.22);
}

.giftcard-feature-section .birthday-feature-btn:active {
    box-shadow: 0 2px 0px #0d2a1e, 0 3px 10px rgba(0,0,0,0.15);
}

/* ── Merch Featured Section ──────────────────────────────────────────────────── */
.merch-feature-section.birthday-feature-section {
    background-color: #1B4F72;
}

.merch-feature-section .birthday-feature-title,
.merch-feature-section .birthday-feature-tagline,
.merch-feature-section .birthday-feature-desc,
.merch-feature-section .birthday-feature-perks li,
.merch-feature-section .birthday-feature-price,
.merch-feature-section .birthday-feature-price .woocommerce-Price-amount {
    color: #fff !important;
}

.merch-feature-section .birthday-feature-urgency {
    color: #a8c8e8;
}

.merch-feature-section .birthday-feature-btn {
    box-shadow: 0 6px 0px #0d2338, 0 8px 28px rgba(0,0,0,0.2);
}

.merch-feature-section .birthday-feature-btn:hover {
    box-shadow: 0 6px 0px #0d2338, 0 10px 28px rgba(0,0,0,0.22);
}

.merch-feature-section .birthday-feature-btn:active {
    box-shadow: 0 2px 0px #0d2338, 0 3px 10px rgba(0,0,0,0.15);
}

/* ── YITH Gift Card — Override plugin's black "selected" state ───────────── */
.single-product .selected_button,
.single-product button.selected_button {
    background-color: #FFAF00 !important;
    color: #fff !important;
    border-color: #FFAF00 !important;
}

.single-product .selected_button .ywgc-manual-currency-symbol {
    background-color: #FFAF00 !important;
    color: #fff !important;
}

.single-product .selected_button #ywgc-manual-amount {
    background-color: #fff !important;
    color: #111 !important;
}

/* Preset amount buttons — unselected state */
.single-product .ywgc-amount-buttons button:not(.selected_button) {
    background-color: #f5f5f5 !important;
    color: #333 !important;
    border: 2px solid #ddd !important;
}

.single-product .ywgc-amount-buttons button:not(.selected_button):hover {
    border-color: #FFAF00 !important;
    color: #FFAF00 !important;
}

/* Datepicker confirm button */
#ui-datepicker-div.ywgc-date-picker .ui-datepicker-buttonpane button {
    background-color: #FFAF00 !important;
    color: #fff !important;
}

/* ── WooCommerce Single Product — Variations & Summary ────────────────────── */

/* Price */
.single-product .woocommerce-Price-amount {
    font-size: 1.6em;
    font-weight: 700;
    color: #111;
}

/* Variation table: turn into a clean vertical stack */
.single-product .variations {
    width: 100%;
    border: none !important;
    border-spacing: 0 !important;
    border-collapse: collapse !important;
    margin-bottom: 10px;
}

.single-product .variations tr {
    display: flex;
    flex-direction: column;
    margin-bottom: 14px;
}

/* Label */
.single-product .variations td.label,
.single-product .variations th.label {
    display: block;
    padding: 0 0 6px 0 !important;
    border: none !important;
    vertical-align: top;
}

.single-product .variations td.label label,
.single-product .variations th.label label {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #555;
    margin: 0;
}

/* Value cell */
.single-product .variations td.value {
    display: block;
    padding: 0 !important;
    border: none !important;
    position: relative;
}

/* Custom arrow for select */
.single-product .variations td.value::after {
    content: '';
    pointer-events: none;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #555;
}

/* The select itself */
.single-product .variations select {
    width: 100% !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background: #f9f9f9 !important;
    border: 1.5px solid #ddd !important;
    border-radius: 8px !important;
    padding: 12px 44px 12px 16px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #111 !important;
    font-family: 'proxima-nova', Helvetica, Arial, sans-serif !important;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
    height: auto !important;
    line-height: 1.4 !important;
}

.single-product .variations select:focus {
    outline: none !important;
    border-color: #FFAF00 !important;
    box-shadow: 0 0 0 3px rgba(255,175,0,0.18) !important;
    background: #fff !important;
}

.single-product .variations select:hover {
    border-color: #bbb !important;
}

/* Reset link */
.single-product .variations td.value .reset_variations {
    display: inline-block;
    margin-top: 6px;
    font-size: 12px;
    color: #999;
    text-decoration: underline;
    cursor: pointer;
}

/* Variation price update */
.single-product .woocommerce-variation-price {
    margin: 12px 0 6px;
}

/* Quantity + Add to cart row */
.single-product .woocommerce-variation-add-to-cart,
.single-product form.cart {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 16px;
}

/* Quantity input */
.single-product .quantity input.qty {
    width: 64px !important;
    height: 48px !important;
    padding: 0 10px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-align: center;
    border: 1.5px solid #ddd !important;
    border-radius: 8px !important;
    background: #f9f9f9 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
    color: #111 !important;
}

.single-product .quantity input.qty:focus {
    outline: none !important;
    border-color: #FFAF00 !important;
    box-shadow: 0 0 0 3px rgba(255,175,0,0.18) !important;
    background: #fff !important;
}

/* Add to Cart button */
.single-product button.single_add_to_cart_button,
.single-product .single_add_to_cart_button {
    flex: 1;
    padding: 13px 28px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    border: none !important;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease !important;
}

.single-product button.single_add_to_cart_button:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.single-product button.single_add_to_cart_button:active {
    transform: translateY(1px);
}

/* ── Employee Info page — hide the animated bee ──────────────────────────── */
.page-id-738 #hb-wrap,
.page-id-738 #hb-mob {
    display: none !important;
}

/* ── Careers page — progress bar brand color ─────────────────────────────── */
.page-id-654 .gform_wrapper,
.page-template-page-careers .gform_wrapper {
    --gf-color-primary: #FFAF00 !important;
    --gf-color-primary-rgb: 255, 175, 0 !important;
    --gf-color-primary-darker: #cc8c00 !important;
    --gf-color-primary-lighter: #ffc733 !important;
}

/* ── Careers page — center the Gravity Form ─────────────────────────────── */
.page-id-654 .gform_wrapper,
.page-template-page-careers .gform_wrapper {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ── How It Works page (ID 652) — layout fixes ───────────────────────────── */
/* Reduce the large white space in the CTA button-only section (#section-3). */
.page-id-652 #section-3 .section {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

/* Force white text in the dark-blue "Why Parents Choose Us" section (#section-4).
   The background is applied inline (style="background:#1e73be"), so we must
   override the theme's !important black heading rule here as well. */
.page-id-652 #section-4,
.page-id-652 #section-4 h1,
.page-id-652 #section-4 h2,
.page-id-652 #section-4 h3,
.page-id-652 #section-4 h4,
.page-id-652 #section-4 h5,
.page-id-652 #section-4 h6,
.page-id-652 #section-4 p,
.page-id-652 #section-4 li,
.page-id-652 #section-4 span,
.page-id-652 #section-4 a,
.page-id-652 #section-4 .titles,
.page-id-652 #section-4 .small-titles,
.page-id-652 #section-4 .wysiwyg,
.page-id-652 #section-4 .wysiwyg * {
    color: #fff !important;
}

/* ── Birthday page — hide duplicate contact blocks (address/phone/email) ──── */
.page-id-706 #section-1 {
    display: none !important;
}
