/*
Theme Name: Kloster's Rebuild
Theme URI: https://klostersbutchershop.ca/
Description: Clean Astra child theme for the Kloster's Butcher Shop rebuild.
Author: WillCJ
Template: astra
Version: 0.1.0
Text Domain: klosters-rebuild
*/

.kbs-recipe-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.kbs-recipe-card { margin: 0; text-align: center; }
.kbs-recipe-card__image { display: block; overflow: hidden; position: relative; }
.kbs-recipe-card__image img { aspect-ratio: 1.45; display: block; height: 100%; object-fit: cover; width: 100%; }
.kbs-recipe-card__overlay { align-items: center; background: rgba(200, 54, 51, .69); display: flex; flex-direction: column; inset: 0; justify-content: center; opacity: 0; position: absolute; transition: opacity .25s ease; }
.kbs-recipe-card__search-icon { align-items: center; background: #c83633; border-radius: 50%; display: flex; height: 51px; justify-content: center; width: 51px; }
.kbs-recipe-card__search-icon svg { fill: none; height: 25px; stroke: #fff; stroke-linecap: round; stroke-width: 1.8; width: 25px; }
.kbs-recipe-card__overlay-title { color: #fff; font-family: Lato, Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 400; line-height: 24px; margin-top: 24px; text-transform: uppercase; }
.kbs-recipe-card__image:hover .kbs-recipe-card__overlay,
.kbs-recipe-card__image:focus-visible .kbs-recipe-card__overlay { opacity: 1; }
.kbs-recipe-feature { background-position: center; background-repeat: no-repeat; background-size: cover; margin: 0 0 100px; padding: 90px 0; }
.kbs-recipe-feature__inner { background: rgba(35, 31, 32, .3); box-sizing: border-box; margin-left: max(calc((100% - 1140px) / 2), 30px); padding: 80px; width: min(570px, calc(50% - 30px)); }
.kbs-recipe-feature h2 { color: #fff; font-family: Arvo, serif; font-size: 52px; font-weight: 400; line-height: 1.23; margin: 0 0 40px; }
.kbs-recipe-feature__description { color: #fff; font-family: Lato, Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 400; line-height: 31px; margin-bottom: 40px; }
.kbs-recipe-feature__description p { margin: 0; }
.kbs-recipe-feature__button { background: #c83633; color: #fff !important; display: inline-block; font-family: Lato, Arial, Helvetica, sans-serif; font-size: 15px; line-height: 24px; padding: 11px 50px; text-transform: uppercase; }
.kbs-recipe-feature__button:hover, .kbs-recipe-feature__button:focus-visible { background: #231f20; }
.kbs-recipe-category-banner { background-position: center; background-repeat: no-repeat; background-size: cover; height: 300px; }
.kbs-recipe-category-banner__overlay { align-items: center; background: rgba(35, 31, 32, .34); box-sizing: border-box; display: flex; height: 100%; }
.kbs-recipe-category-banner__inner { margin: 0 auto; padding: 0 30px; width: min(1140px, 100%); }
.kbs-recipe-category-banner h1 { color: #fff; font-family: Arvo, serif; font-size: 54px; font-weight: 400; line-height: 1.2; margin: 0 0 20px; }
.kbs-recipe-category-banner p { color: #fff; font-family: Lato, Arial, Helvetica, sans-serif; font-size: 20px; line-height: 1.5; margin: 0; }
.kbs-recipe-card__title { font-family: Arvo, serif; font-size: 22px; margin: 18px 0 0; }
.kbs-recipe-card__title a { color: #231f20; }
@media (max-width: 767px) { .kbs-recipe-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }

.kbs-product-download-cards { display: grid; gap: 28px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home .kbs-product-download-cards { column-gap: 47px; margin-inline: auto; max-width: 1170px; row-gap: 20px; }
.kbs-product-download-card { display: block; position: relative; }
.kbs-product-download-card img { display: block; height: auto; width: 100%; }
.kbs-product-download-card__rollover { inset: 0; opacity: 0; position: absolute; transition: opacity .2s ease; }
.kbs-product-download-card:hover .kbs-product-download-card__rollover,
.kbs-product-download-card:focus-visible .kbs-product-download-card__rollover { opacity: 1; }
.elementor-element-kbsdelivery > .e-con-inner,
.elementor-element-kbsinnerdelivery > .e-con-inner { align-items: center; column-gap: 46px !important; display: grid !important; grid-template-columns: 197px 927px; justify-content: center; min-height: 294px; row-gap: 0; }
.elementor-element-kbsdeliverybadge,
.elementor-element-kbsdeliverycopy,
.elementor-element-kbsinnerdeliverybadge,
.elementor-element-kbsinnerdeliverycopy { align-self: center !important; height: auto !important; }
.elementor-element-kbsdeliverybadge img,
.elementor-element-kbsinnerdeliverybadge img { display: block; width: 197px !important; }
.elementor-element-kbsdeliverycopy p { margin: 0; }
/* Widget typography is native; zero paragraph margin keeps the measured flex rail. */
.elementor-element-kbsinnerdeliverycopy p { margin: 0; }
.elementor-element-kbsdeliverycopy,
.elementor-element-kbsinnerdeliverycopy { transform: translateY(-8px); }
/* November promotes its desktop header to a fixed layer immediately after the 940px Home boundary. */
@media (min-width: 922px) {
	.ast-desktop .main-header-menu > .menu-item-has-children > .menu-link > .dropdown-menu-toggle { display: none; }
	body.kbs-header-stuck #masthead { left: 0; position: fixed !important; right: 0; top: 0; width: 100%; z-index: 999; }
	/* Fusion retains the masthead's flow slot while its visible layer is fixed. */
	body.kbs-header-stuck:not(.home) #page { padding-top: 140px; }
}
/* November Home desktop product bands: one 1170px editorial rail over each 337px parallax stripe. */
.home .elementor-element-kbschicken,
.home .elementor-element-kbsbeef,
.home .elementor-element-kbssausage,
.home .elementor-element-kbsdeli {
	align-items: flex-start !important;
	height: 337px;
	justify-content: flex-start !important;
	min-height: 337px !important;
	padding: 140px 0 0 !important;
}
.home .elementor-element-kbschickenheading,
.home .elementor-element-kbsbeefheading,
.home .elementor-element-kbssausageheading,
.home .elementor-element-kbsdeliheading {
	height: 57px !important;
	margin-inline: auto !important;
	width: 1170px !important;
}
.home .elementor-element-kbschickenheading .elementor-heading-title,
.home .elementor-element-kbsbeefheading .elementor-heading-title,
.home .elementor-element-kbssausageheading .elementor-heading-title,
.home .elementor-element-kbsdeliheading .elementor-heading-title {
	color: #fff !important;
	font-family: Lato, sans-serif !important;
	font-size: 30px !important;
	font-weight: 900 !important;
	line-height: 57px !important;
	margin: 0 !important;
	text-align: left !important;
}
/* Source boundary: the Home product introduction is 323.719px tall and starts 6.625px before Elementor's adjacent card section ends. */
.home .elementor-element-kbsproductsintro {
	height: 323.71875px;
	margin-top: 20.375px;
	min-height: 323.71875px !important;
}
.kbs-story-tail-delivery > .e-con-inner { align-items: center; column-gap: 46px !important; display: grid !important; grid-template-columns: 197px 927px; justify-content: center; min-height: 294px; row-gap: 0; }
.kbs-story-tail-delivery > .e-con-inner > .elementor-element { align-self: center !important; height: auto !important; }
.kbs-story-tail-delivery > .e-con-inner > .elementor-element:first-child img { display: block; width: 197px; }
.kbs-story-tail-delivery > .e-con-inner > .elementor-element:last-child p { font-family: Arvo, serif; font-size: 28px; line-height: 1.4; margin: 0; }

/* Measured November Home hero widths; font controls remain in Elementor. */
.elementor-element-kbshero3 .elementor-heading-title { margin-inline: auto; max-width: 660px; }
.elementor-element-kbshero4 p { margin-inline: auto; max-width: 946px; }
.elementor-element-kbsservicefarm { margin-top: -10px; margin-bottom: 31px; transform: translateX(5px); width: 359px !important; }
.elementor-element-kbsservice3 { margin-top: 31px; transform: translateX(5px); width: 359px !important; }
.kbs-page-banner { position: relative; }
.kbs-page-banner::before { background: rgba(36, 37, 44, .22); content: ''; inset: 0; position: absolute; }
.kbs-page-banner > .e-con-inner { position: relative; }

/* November Home places the dark navigation bar beneath the opening hero. */
@media (min-width: 768px) {
	.elementor-element-kbscontactlocationcards > .e-con-inner { gap: 46px !important; grid-template-columns: 562px 562px !important; margin-left: -10px !important; width: 1170px !important; }
	.elementor-element-kbscontactnewmarket,
	.elementor-element-kbscontactaurora { padding: 0 !important; }
	/* November desktop header: 1170px rail, 702px evenly-spaced navigation. */
	.ast-desktop .site-branding { transform: translateX(15px); }
	/* November's six source links occupy one 702px rail: 477px of labels plus five 45px intervals. Astra permits wrapping by default, which can turn this into a multi-row masthead after a reflow. */
	.ast-desktop #masthead,
	.ast-desktop #masthead .site-primary-header-wrap,
	.ast-desktop #masthead .ast-builder-grid-row,
	.ast-desktop #masthead .site-header-primary-section-right,
	.ast-desktop #masthead .main-header-bar-navigation { height: 140px; min-height: 140px; }
	.ast-desktop .main-header-menu { box-sizing: border-box; display: flex; flex-wrap: nowrap !important; gap: 45px; justify-content: flex-start; margin-left: auto; transform: translateX(-15px); white-space: nowrap; width: 702px; }
	.ast-desktop .main-header-menu > .menu-item { flex: 0 0 auto; margin: 0 !important; }
	.ast-desktop .main-header-menu > .menu-item > a { font-size: 18px; letter-spacing: 1px; padding-inline: 0; }
	.ast-desktop .main-header-menu > .menu-item:nth-child(1) > a { min-width: 52px; }
	.ast-desktop .main-header-menu > .menu-item:nth-child(2) > a { min-width: 86px; }
	.ast-desktop .main-header-menu > .menu-item:nth-child(3) > a { min-width: 103px; }
	.ast-desktop .main-header-menu > .menu-item:nth-child(4) > a { min-width: 47px; }
	.ast-desktop .main-header-menu > .menu-item:nth-child(5) > a { min-width: 92px; }
	.ast-desktop .main-header-menu > .menu-item:nth-child(6) > a { min-width: 97px; }
	.ast-desktop .main-header-menu > .menu-item > a:hover,
	.ast-desktop .main-header-menu > .current-menu-item > a { color: #fff !important; }
	/* Recovered Fusion's full-link white bar for active and hovered main links. */
	.ast-desktop .main-header-menu > .menu-item > a { position: relative; z-index: 2; }
	.ast-desktop .main-header-menu > .menu-item > a::after { background: #fff; bottom: 0; content: ''; height: 1px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; width: 100%; z-index: 2; }
	.ast-desktop .main-header-menu > .menu-item > a:hover::after,
	.ast-desktop .main-header-menu > .current-menu-item > a::after,
	.ast-desktop .main-header-menu > .current-menu-ancestor > a::after { transform: scaleX(1); }
	/* November Products menu: 180px dark four-item dropdown. */
	.ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu { background: #24252c; margin-top: -1px; min-width: 180px; padding-bottom: 3px; width: 180px; }
	.ast-desktop .main-header-menu > .menu-item-has-children:focus-within > .sub-menu { left: auto; opacity: 1; visibility: visible; }
	.ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu .menu-link { color: #fff; font-family: Lato, sans-serif; font-size: 15px; line-height: 31px; padding: 12px 20px; }
	.ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu .menu-link:hover,
	.ast-desktop .main-header-menu > .menu-item-has-children > .sub-menu .current-menu-item > .menu-link { background: #24252c; color: #fff; }
	.kbs-page-banner .elementor-heading-title { font-family: Arvo, serif !important; font-size: 54px !important; font-weight: 400 !important; left: calc((100vw - 1190px) / 2); line-height: 64.8px !important; position: relative; top: 95px; }
	.elementor-element-kbsproductsbannertitle,
	.elementor-element-kbsproductsbannersubtitle { left: calc((100vw - 1170px) / 2); position: absolute !important; z-index: 1; }
	.elementor-element-kbsproductsbannertitle { top: 95px; }
	.elementor-element-kbsproductsbannersubtitle { top: 176px; width: 570px; }
	.elementor-element-kbsproductsbannertitle .elementor-heading-title { left: auto; position: static; top: auto; }
	.elementor-element-kbsproductsbannersubtitle .elementor-heading-title { color: #fff; font-family: Lato, sans-serif !important; font-size: 20px !important; font-weight: 400 !important; left: auto; line-height: 24px !important; margin: 0; position: static; top: auto; }
	.elementor-element-kbsstorybannersubtitle,
	.elementor-element-kbsfaqbannersubtitle { left: calc((100vw - 1170px) / 2); position: absolute !important; top: 176px; width: 660px; z-index: 1; }
	.elementor-element-kbsstorybannersubtitle .elementor-heading-title,
	.elementor-element-kbsfaqbannersubtitle .elementor-heading-title { color: #fff; font-family: Lato, sans-serif !important; font-size: 20px !important; font-weight: 400 !important; left: auto; line-height: 24px !important; margin: 0; position: static; top: auto; }
	.elementor-element-kbsproductheading { transform: translateX(-15px); width: 1170px !important; }
	.elementor-element-kbsproductheading .elementor-heading-title { margin-bottom: 60px !important; padding-bottom: 35px; position: relative; width: 1170px; }
	.elementor-element-kbsproductheading .elementor-heading-title::after { background: #e7e7e8; bottom: 0; content: ''; height: 2px; left: 0; position: absolute; width: 170px; }
	/* November sizes this opening composition from the live viewport, not a fixed desktop canvas. */
	.home .site-header { left: 0; position: absolute; right: 0; top: calc(100vh - 140px); z-index: 20; }
	.home .elementor-element-kbshero1 { min-height: calc(100vh - 140px); }
	.home .elementor-element-kbshero2 { transform: translateY(calc(50vh - 355px)); }
	.home .elementor-element-kbshero4 { margin-top: 20px; }
	.home .elementor-element-kbshero5 { margin-top: 29px; }
	.home .elementor-element-kbsdelivery { margin-top: 140px; }
	/* Source's link sits 3px right of Elementor's aligned widget rail. */
	.home .elementor-element-kbsservice9 { transform: translateX(3px); }
	[data-id="kbsfaq1"] { min-height: 340px !important; }
	/* Avada renders this source section as two exact viewport halves. */
	.kbs-faq-testimonial { padding-inline: 0 !important; }
	.kbs-faq-testimonial > .kbs-faq-panel,
	.kbs-faq-testimonial > .kbs-testimonial-panel { flex: 0 0 50% !important; width: 50% !important; }
	.kbs-faq-panel .elementor-heading-title,
	.kbs-faq-panel .kbs-home-faq-details { transform: translate(150px, 14px); }
	.kbs-home-faq-details { font-family: Lato, sans-serif; }
	.kbs-faq-panel .kbs-home-faq-details { width: 710px; }
}

body .elementor-widget-heading .elementor-heading-title { color: #231f20; font-family: Arvo, serif; font-weight: 400; }
.elementor-element-kbsproductintro > .e-con-inner { align-items: start; display: grid !important; gap: 30px 46px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: 1170px !important; }
.elementor-element-kbsproducttitle { grid-column: 1 / -1; }
/* November Products source: the title's 35px rule clearance plus a 20px row gap
 * puts the copy/image rail at y=980px on the 1920px reference viewport. */
.elementor-element-kbsproductheading .elementor-heading-title { margin-bottom: 20px !important; }
.elementor-element-kbsproductlede p { margin-bottom: 20px; }
.elementor-element-kbsproductlede h3 { color: #231f20; font-family: Lato, sans-serif; font-size: 24px; font-style: italic; font-weight: 400; line-height: 41.04px; margin: 0 0 30px; }
.elementor-element-kbsproductlede { transform: translateX(-10px); }
.elementor-element-kbsproductintro .elementor-element-kbsproductimage img { display: block; height: auto; width: 100%; }
.kbs-product-stripe .elementor-button { height: 44px; width: 180px; }
.kbs-faq-page h3 { font-family: Lato, sans-serif !important; font-size: 24px !important; font-weight: 400 !important; line-height: 41.04px !important; }
.elementor-element-kbsfaqtop { padding-top: 15px !important; }
.elementor-element-kbsfaqtitle { margin-bottom: 150px; }
.elementor-element-kbsfaqquestion { margin-top: 75px; }
.elementor-element-kbsfaqcards { padding-top: 66px !important; }
.elementor-element-kbscontactcols > .e-con-inner { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 46px; }
.elementor-element-kbsfaqcards > .e-con-inner { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.elementor-element-kbsfaqtop > .e-con-inner,
.elementor-element-kbsfaqmore > .e-con-inner { max-width: 1170px !important; }
.elementor-element-kbsfaqmorecols > .e-con-inner { column-gap: 46px !important; }
.elementor-element-kbsfaqmore { margin-top: -32px !important; padding: 0 !important; }
.elementor-element-kbsfaqmorecols { padding: 0 !important; }
.elementor-element-kbsfaqmorecols > .e-con-inner { align-items: flex-start !important; gap: 0 46px !important; grid-template-columns: 562px 562px !important; padding: 0 !important; }
.elementor-element-kbsfaqmoreimage,
.elementor-element-kbsfaqmoretext { transform: translate(-15px, -75px); }
.elementor-element-kbsfaqmoreimage { transform: translate(-20.5px, -75px); }
.elementor-element-kbsfaqmorecols > .e-con-inner > .e-con,
.elementor-element-kbsfaqmorecols > .e-con-inner > .e-con > .e-con-inner { padding: 0 !important; }
.kbs-faq-serving-card .elementor-heading-title { text-transform: uppercase; }
.kbs-faq-serving-card { text-align: center; }
.kbs-faq-serving-card .elementor-heading-title { color: #c63733; }
@media (min-width: 768px) {
	.kbs-faq-serving-card,
	.kbs-faq-serving-card > .e-con-inner { height: 347px !important; min-height: 347px !important; overflow: visible; }
	.kbs-faq-serving-card:nth-child(1) .elementor-heading-title { transform: translateX(-25px); width: 359px; }
	.kbs-faq-serving-card:nth-child(2) .elementor-heading-title { transform: translateX(-6px); width: 359px; }
	.kbs-faq-serving-card:nth-child(3) .elementor-heading-title { transform: translateX(13px); width: 359px; }
	.kbs-faq-serving-card:nth-child(1) .elementor-widget-text-editor p { transform: translate(-25px, -20px); width: 359px; }
	.kbs-faq-serving-card:nth-child(2) .elementor-widget-text-editor p { transform: translate(-6px, -20px); width: 359px; }
	.kbs-faq-serving-card:nth-child(3) .elementor-widget-text-editor p { transform: translate(13px, -20px); width: 359px; }
	.kbs-faq-serving-card:nth-child(1) img { transform: translate(-90px, -38px); }
	.kbs-faq-serving-card:nth-child(2) img { transform: translate(-29px, -38px); }
	.kbs-faq-serving-card:nth-child(3) img { transform: translate(-60px, -38px); }
	.elementor-element-kbsfaqcta { align-items: flex-start !important; background-image: url("/wp-content/uploads/2026/08/faq-bottom-banner-bg.jpg") !important; background-position: right center !important; background-size: cover !important; box-sizing: border-box !important; height: 682px !important; margin-top: -48px !important; min-height: 682px !important; padding: 0 !important; }
	.elementor-element-kbsfaqctapanel { box-sizing: border-box !important; height: 522px !important; margin-left: calc((100% - 1170px) / 2) !important; margin-top: 80px !important; padding: 0 !important; width: 683px !important; }
	.elementor-element-kbsfaqctapanel > .e-con-inner { padding: 80px !important; }
	.elementor-element-kbsfaqctatitle .elementor-heading-title { width: 523px !important; }
	/* The native CTA settings own presentation; source needs only this measured rail correction. */
	.elementor-element-kbsfaqctabutton .elementor-button { transform: translateY(-6.109375px); width: 150px !important; }
	.elementor-element-kbsfaqctacopy p { margin-top: 20px !important; width: 300px !important; }
	.elementor-element-kbsstorycopy p { font-family: Lato, sans-serif !important; font-size: 16px !important; line-height: 31px !important; margin-bottom: 20px !important; position: relative; }
	.elementor-element-kbsstorycopy p:nth-of-type(1) { top: -24px; }
	.elementor-element-kbsstorycopy p:nth-of-type(2) { top: -14px; }
	.elementor-element-kbsstorycopy p:nth-of-type(3) { top: -4px; }
	.elementor-element-kbsstorycopy p:nth-of-type(4),
	.elementor-element-kbsstorycopy p:nth-of-type(5) { top: 6px; }
}
.elementor-element-kbsfaqmorecopy h3 { color: #231f20 !important; font-family: Lato, sans-serif !important; font-size: 24px !important; font-style: italic !important; margin-bottom: 0 !important; }
.elementor-element-kbsfaqmorecopy p { color: #231f20 !important; font-family: Lato, sans-serif !important; font-size: 16px !important; line-height: 31px !important; margin-bottom: 18px !important; }

/* Documented visual exceptions: recovered product-band motion and paired entrance. */
.kbs-product-stripe,
.home .elementor-element-kbschicken,
.home .elementor-element-kbsbeef,
.home .elementor-element-kbssausage,
.home .elementor-element-kbsdeli { overflow: hidden !important; position: relative; }
.kbs-product-stripe > .kbs-parallax-layer,
.home .elementor-element-kbschicken > .kbs-parallax-layer,
.home .elementor-element-kbsbeef > .kbs-parallax-layer,
.home .elementor-element-kbssausage > .kbs-parallax-layer,
.home .elementor-element-kbsdeli > .kbs-parallax-layer { background-position: center; background-repeat: no-repeat; display: block !important; inset: 0 auto auto 0; max-width: none !important; pointer-events: none; position: absolute; }
.kbs-product-stripe > .e-con,
.home .elementor-element-kbschicken > .e-con,
.home .elementor-element-kbsbeef > .e-con,
.home .elementor-element-kbssausage > .e-con,
.home .elementor-element-kbsdeli > .e-con { position: relative; z-index: 1; }
.kbs-product-stripe .elementor-heading-title,
.kbs-product-stripe .elementor-widget-text-editor { color: #fff; }
.home .elementor-element-kbschickenheading a,
.home .elementor-element-kbsbeefheading a,
.home .elementor-element-kbssausageheading a,
.home .elementor-element-kbsdeliheading a { text-decoration: none !important; }
.kbs-product-stripe .elementor-widget-text-editor p { font-family: Lato, sans-serif !important; font-size: 15px !important; line-height: 31px !important; margin: 20px 0 !important; }
.kbs-product-stripe > .e-con > .e-con-inner { display: grid !important; gap: 46px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: 1170px !important; }
.kbs-product-stripe > .e-con > .e-con-inner > .e-con { grid-column: 1; width: auto !important; }
/* Content must remain visible without JavaScript; November does not withhold the paired panels behind an observer. */
.kbs-faq-testimonial > .kbs-faq-panel,
.kbs-faq-testimonial > .kbs-testimonial-panel { opacity: 1; transform: none; }
/* Keep the intentional Home entrance transforms from widening the document. */
.home #page { overflow-x: clip; }
.kbs-faq-panel .elementor-heading-title,
.kbs-home-faq-details summary { color: #fff !important; }
.kbs-home-faq-details summary { cursor: pointer; font-size: 18px; font-weight: 400; line-height: 30.96px; }
.kbs-home-faq-details summary::marker { color: #c63733; }
.kbs-home-faq-details p { color: #fff; margin: 16px 0 0; }
.kbs-contact-page,
.kbs-contact-page .elementor-heading-title,
.kbs-contact-page .elementor-widget-text-editor { color: #fff; }
.kbs-contact-form .wpcf7-form label { color: #fff; }
.kbs-contact-form .wpcf7-form-control-wrap { display: block; margin-top: 7px; }
.kbs-contact-form .wpcf7-form input:not([type='submit']),
.kbs-contact-form .wpcf7-form textarea { width: 100%; }
.kbs-contact-form .wpcf7-submit { background: #c63733; border-radius: 0; }
.elementor-element-kbscontactlocationcards > .e-con-inner { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.elementor-element-kbscontactnewmarket,
.elementor-element-kbscontactaurora { width: auto !important; }
.kbs-location-map { border: 0; display: block; height: 380px; width: 100%; }
.elementor-element-kbsfaqcta,
.elementor-element-kbsfaqcta .elementor-widget-text-editor { color: #fff; }
.elementor-element-kbsfaqmorecols > .e-con-inner { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.elementor-element-kbsfaqmoreimage,
.elementor-element-kbsfaqmoretext { width: auto !important; }
.elementor-element-kbsstoryownercols > .e-con-inner { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.elementor-element-kbsstorycols > .e-con-inner { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.elementor-element-kbsstorycols > .e-con-inner { column-gap: 46px !important; max-width: 1170px !important; }
.elementor-element-kbsstorycols { transform: translateY(-70px); }
.elementor-element-kbsstorymainphoto { transform: translateX(-6px); }
.home .elementor-element-kbsrecipes1 { height: 964px; margin-top: 0; min-height: 0; overflow: hidden; }
.home .elementor-element-kbsrecipes1 > .e-con-inner { column-gap: 47px !important; display: grid !important; grid-template-columns: 359px 764px; max-width: 1170px !important; min-height: 964px; padding: 75px 0 156px !important; row-gap: 60px !important; }
.home .elementor-element-kbsrecipes2,
.home .elementor-element-kbsrecipes4,
.home .elementor-element-kbsrecipes6 { width: auto !important; }
.home .elementor-element-kbsrecipes2,
.home .elementor-element-kbsrecipes4 { min-height: 123px; padding: 0 !important; }
.home .elementor-element-kbsrecipes6 { padding: 0 !important; }
.home .elementor-element-kbsrecipes6 > .e-con-inner { display: block !important; margin: 0 !important; max-width: none !important; padding: 0 !important; width: 100% !important; }
.home .elementor-element-kbsrecipes2 { grid-column: 1; }
.home .elementor-element-kbsrecipes4 { grid-column: 2; }
.home .elementor-element-kbsrecipes6 { grid-column: 1 / -1; }
.home .elementor-element-kbsrecipes2 > .e-con-inner { padding: 0 !important; }
.home .elementor-element-kbsrecipes3 { transform: translate(-3px, -3px); width: 359px !important; }
	.home .elementor-element-kbsrecipes3 .elementor-heading-title { margin: 0 !important; }
.home .elementor-element-kbsrecipes1 .kbs-recipe-grid { gap: 50px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home .elementor-element-kbsrecipes1 .kbs-recipe-card__image img { aspect-ratio: 1.428; }
.home .elementor-element-kbsrecipes1 .kbs-recipe-card__title { font-family: Lato, sans-serif; font-size: 15px; line-height: 24px; margin: 26px 45px 0; text-align: center; text-transform: uppercase; }
.home .elementor-element-kbsrecipes1 .kbs-recipe-card__title a { color: #fff !important; }
@media (min-width: 768px) {
	/* November Home's three-column service editorial uses black Lato 16/31 on 359px rails, not Elementor's inherited Roboto body style. */
	.home .elementor-element-kbsservice1 { height: 654px !important; min-height: 654px !important; }
	.home .elementor-element-kbsservice6 p,
	.home .elementor-element-kbsservice8 p { margin: 0 !important; width: 359px !important; }
	.home .elementor-element-kbsservice6 { transform: translate(4px, 22px); }
	.home .elementor-element-kbsservice8 p:first-child { transform: translate(3px, -10px); }
	.home .elementor-element-kbsservice8 p:last-child { transform: translate(3px, 20px); }
	/* November Home product introduction: 372px title rail, 48.8px divider gap, 748.8px editorial copy rail. */
	.home .elementor-element-kbsproductsintro > .e-con-inner { align-items: center !important; column-gap: 48.8px !important; display: grid !important; grid-template-columns: 372.4px 748.8px !important; max-width: 1170px !important; padding: 0 !important; }
	.home .elementor-element-kbsproductsintrotitle,
	.home .elementor-element-kbsproductsintrocopy { align-self: center !important; padding-inline: 0 !important; width: auto !important; }
	.home .elementor-element-kbsproductsintrotitle > .e-con-inner,
	.home .elementor-element-kbsproductsintrocopy > .e-con-inner { padding: 0 !important; }
.home .elementor-element-kbsproductsintroheading .elementor-heading-title { margin: 0 !important; }
.home .elementor-element-kbsproductsintrotext p { margin: 0 !important; }
/* The recovered November overlay is white; Elementor's saved defaults are dark. */
.home .elementor-element-kbsproductsintroheading .elementor-heading-title,
.home .elementor-element-kbsproductsintrotext,
.home .elementor-element-kbsproductsintrotext p { color: #fff !important; }
	.home .elementor-element-kbsrecipes2 { border-color: #e7e7e8 !important; border-style: solid !important; border-width: 0 2px 0 0 !important; height: 113.75px !important; min-height: 0 !important; }
	.home .elementor-element-kbsrecipes3 { transform: none !important; }
	.home .elementor-element-kbsrecipes5 p { margin: 0 !important; transform: translateY(7px); }
	/* November Home FAQ title is a 710px rail inside the left 960px panel. */
	.home .elementor-element-kbsfaq3 { margin-left: 52px !important; width: 710px !important; }
	.home .elementor-element-kbsservice5 { transform: translateY(-10.375px); }
	.home .elementor-element-kbsservice5 img { width: 358.796875px !important; }
	.elementor-element-kbsstorymainphoto { transform: translate(-6px, -22.4px); }
	/* The paired November quote is a narrower Lato editorial rail, not Elementor's default 20px text block. */
	.home .kbs-testimonial-panel p { margin: 22.59375px 0 0 -15px !important; width: 606px !important; }
}
.elementor-element-kbsrecipespage { height: 1803px; min-height: 0; overflow: hidden; }
.elementor-element-kbsrecipespage > .e-con-inner { column-gap: 47px !important; display: grid !important; grid-template-columns: 440px 683px; max-width: 1170px !important; min-height: 1803px; padding: 75px 0 75px !important; row-gap: 60px !important; }
.elementor-element-kbsrecipespagetitle,
.elementor-element-kbsrecipespageintro { min-height: 123px; padding: 0 !important; width: auto !important; }
.elementor-element-kbsrecipespagetitle { border-color: #e7e7e8 !important; border-style: solid !important; border-width: 0 2px 0 0 !important; grid-column: 1; height: 113.75px !important; min-height: 0 !important; }
.elementor-element-kbsrecipespageintro { grid-column: 2; }
.elementor-element-kbsrecipespageintro p { margin: 0 !important; transform: translateY(-10px); }
.elementor-element-kbsrecipespagegrid { grid-column: 1 / -1; padding: 0 !important; width: auto !important; }
.elementor-element-kbsrecipespagetitle > .e-con-inner { padding: 0 !important; }
.elementor-element-kbsrecipespagetitle h2 { font-family: Arvo, serif !important; font-size: 47px !important; font-weight: 400 !important; line-height: 56.87px !important; margin: 0 !important; transform: none; }
.elementor-element-kbsrecipespagegrid { transform: translateY(-20.453125px); }
.elementor-element-kbsrecipespagegrid > .e-con-inner { display: block !important; margin: 0 !important; max-width: none !important; padding: 0 !important; width: 100% !important; }
.elementor-element-kbsrecipespagegrid .kbs-recipe-grid { gap: 50px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.elementor-element-kbsrecipespagegrid .kbs-recipe-card__image img { aspect-ratio: 1.428; height: 250px !important; object-fit: cover; }
.elementor-element-kbsstory { padding-top: 75px !important; }
.elementor-element-kbsstory { height: 1472px !important; min-height: 0 !important; overflow: hidden; }
.elementor-element-kbsstorytext,
.elementor-element-kbsstorytext > .e-con-inner { padding: 0 !important; }
	/* The source editorial heading reserves 35px for its 170×2 red divider. */
	.elementor-element-kbsstorytitle { margin-bottom: 0; }
	.elementor-element-kbsstorytitle .elementor-heading-title { padding-bottom: 35px; position: relative; }
	.elementor-element-kbsstorytitle .elementor-heading-title::after { background: #e7e7e8; bottom: 0; content: ''; height: 2px; left: 0; position: absolute; width: 170px; }
.kbs-story-testimonial-slider { min-height: 230px; }
.kbs-story-testimonial-slide { margin: 0; }
.kbs-story-testimonial-slide[hidden] { display: none; }
.kbs-story-testimonial-slide blockquote { color: rgba(0, 0, 0, .64); font-family: Lato, sans-serif; font-size: 18px; font-style: italic; line-height: 30px; margin: 0; }
.kbs-story-testimonial-slide figcaption { color: rgba(0, 0, 0, .64); font-family: Lato, sans-serif; font-size: 16px; font-weight: 700; line-height: 30px; margin-top: 10px; }
.kbs-testimonial-slide { margin: 0; }
.kbs-testimonial-slide[hidden] { display: none; }
.kbs-home-testimonial-slider { min-height: 220px; }
.kbs-home-testimonial-slider p { color: #fff; font-family: Lato, sans-serif; font-size: 18px; font-style: italic; font-weight: 400; line-height: 30px; margin: 0; text-align: center; }
.kbs-home-faq-answer-grid { display: grid; gap: 25px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 66px; }
.kbs-home-faq-answer-card { color: #fff; font-family: Lato, sans-serif; }
.kbs-home-faq-answer-card img { display: block; height: 80px; margin: 0 0 20px; max-width: 100%; object-fit: contain; object-position: left center; width: auto; }
.kbs-home-faq-answer-card h3 { color: #c63733; font-family: Lato, sans-serif; font-size: 24px; font-style: italic; font-weight: 400; line-height: 31px; margin: 0 0 3px; }
.kbs-home-faq-answer-card p { color: #fff; font-family: Lato, sans-serif; font-size: 16px; font-weight: 400; line-height: 24px; margin: 0; }
@media (min-width: 921px) {
	/* The source FAQ grows only on the left when its serving guide is expanded. */
	.home .kbs-faq-testimonial:has(.kbs-home-faq-details[open]) { align-items: flex-start !important; }
	.home .kbs-faq-panel:has(.kbs-home-faq-details[open]) { min-height: 601px !important; }
	.home .kbs-faq-panel:has(.kbs-home-faq-details[open]) .kbs-home-faq-details { padding-bottom: 70px; }
}
.elementor-element-kbsstoryintro p { color: #231f20 !important; font-family: Lato, sans-serif; font-size: 24px; font-style: italic; line-height: 41.04px; }
.elementor-element-kbsstorycopy p { color: #231f20; }
.elementor-element-kbsstoryintro { margin-top: 35px; transform: translateY(5px); }
.elementor-element-kbsstoryownerphoto,
.elementor-element-kbsstoryownertestimonial,
.elementor-element-kbsstorytext,
.elementor-element-kbsstorymainphoto { width: auto !important; }

/* Native product records: title, featured image and Pods introduction remain dashboard-editable. */
.kbs-product-detail { flex: 0 0 100vw !important; margin: 0 !important; margin-left: calc(50% - 50vw) !important; max-width: none !important; width: 100vw !important; }
body.single-products { background-color: #fff; }
.kbs-product-detail__hero { background: #fff; color: #231f20; padding: 90px 20px 100px; }
.kbs-product-detail__inner { margin: 0 auto; max-width: 1170px; }
.kbs-product-detail__page-banner { background-position: center; background-size: cover; height: 300px; position: relative; }
.kbs-product-detail__page-banner::before { background: rgba(36,37,44,.22); content: ''; inset: 0; position: absolute; }
.kbs-product-detail__page-banner .kbs-product-detail__inner { height: 100%; position: relative; }
.kbs-product-detail__page-banner h1 { color: #fff; font-family: Arvo, serif; font-size: 54px; font-weight: 400; left: 0; line-height: 64.8px; margin: 0; position: absolute; top: 95px; }
.kbs-product-detail__page-banner p { color: #fff; font-family: Lato, sans-serif; font-size: 20px; left: 0; line-height: 24px; margin: 0; position: absolute; top: 177px; }
.kbs-product-detail__delivery { background: url('/wp-content/uploads/2026/08/story-banner-bg.jpg') center/cover; min-height: 294px; padding: 0 20px; }
.kbs-product-detail__delivery-inner { align-items: center; display: grid; gap: 46px; grid-template-columns: 197px 927px; margin: 0 auto; max-width: 1170px; min-height: 294px; }
.kbs-product-detail__delivery img { display: block; width: 197px; }
.kbs-product-detail__delivery p { color: #fff; font-family: Arvo, serif; font-size: 28px; line-height: 1.4; margin: 0; transform: translateY(-8px); }
.kbs-recipe-detail { background: #fff; flex: 0 0 100vw; margin-left: calc(50% - 50vw); width: 100vw; }
.kbs-recipe-detail__source-gap { height: 300px; }
.kbs-recipe-detail__article { margin-left: auto !important; margin-right: auto !important; max-width: 1200px; padding: 90px 30px 100px !important; width: 100%; }
.kbs-recipe-detail__article > h1 { color: #231f20; font-family: Arvo, serif; font-size: 47px; font-weight: 400; line-height: 57px; margin: 0 0 60px; padding-bottom: 35px; position: relative; }
.kbs-recipe-detail__article > h1::after { background: #e7e7e8; bottom: 0; content: ''; height: 2px; left: 0; position: absolute; width: 170px; }
.kbs-recipe-detail__grid { align-items: start; display: grid; gap: 40px; grid-template-columns: 550px 550px; }
.kbs-recipe-detail__copy { color: #231f20; font-family: Lato, sans-serif; font-size: 16px; line-height: 31px; }
.kbs-recipe-detail__copy h2 { color: #231f20; font-family: Lato, sans-serif; font-size: 30px; font-style: normal; font-weight: 900; line-height: 57px; margin: 0; }
.kbs-recipe-detail__copy p { margin: 0 0 20px; }
.kbs-recipe-detail__meta { font-family: Lato, sans-serif; font-size: 22px; font-style: italic; line-height: 41px; margin: 0 0 30px; }
.kbs-recipe-detail__meta p { margin: 0; }
.kbs-recipe-detail__copy section + section { margin-top: 20px; }
.kbs-recipe-detail__copy ul { display: grid; gap: 0 25px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.kbs-recipe-detail__copy li { margin: 0; padding: 0; }
.kbs-recipe-detail__copy li > :first-child { font-family: Lato, sans-serif; font-size: 22px; font-style: italic; line-height: 41px; margin: 0; }
.kbs-recipe-detail__copy li p { margin: 0 0 15px; }
.kbs-recipe-detail__image img { display: block; height: auto; width: 550px; }
.kbs-product-detail__title { margin: 0 auto 96px; max-width: 1140px; }
.kbs-product-detail__hero-grid { align-items: start; display: grid; gap: 56px; grid-template-columns: 562px 552px; }
.kbs-product-detail h1,
.kbs-product-detail h2 { font-family: Arvo, serif; }
.kbs-product-detail__hero h1 { color: #231f20; font-size: 47px; line-height: 57px; }
.kbs-product-detail__image img { display: block; height: auto; width: 100%; }
.kbs-product-detail__media .kbs-product-download-cards { display: grid; gap: 20px 22px; grid-template-columns: repeat(2, 270px); margin-top: 39px; transform: translateX(-10px); }
.kbs-product-detail__media .kbs-product-download-card { width: 270px; }
.kbs-product-detail__feature { background-position: center; background-size: cover; box-sizing: border-box; color: #fff; height: 758px; margin: 48px auto 0; max-width: 1170px; padding: 160px 80px 80px; position: relative; }
.kbs-product-detail__feature::before { background: rgba(35, 31, 32, .3); content: ''; height: calc(100% - 160px); left: 0; position: absolute; top: 80px; width: 562px; }
.kbs-product-detail__feature > .kbs-product-detail__inner { position: relative; z-index: 1; }
.kbs-product-detail__feature .kbs-product-detail__featured { margin: 0; max-width: 402px; }
.kbs-product-detail__feature h2 { color: #fff; font-family: Arvo, serif; font-size: 47px; line-height: 56.87px; }
.kbs-product-detail__feature p { color: #fff; font-family: Lato, sans-serif; font-size: 15px; font-style: italic; line-height: 31px; margin: 0 0 30px; }
.kbs-product-detail__feature h2 + p { margin-top: 40px; }
.kbs-product-detail__editorial { font-family: Lato, sans-serif; font-size: 22px; font-style: italic; line-height: 41px; }
.kbs-product-detail__editorial h2 { font-family: Lato, sans-serif; font-size: 30px; font-style: italic; font-weight: 900; line-height: 57px; margin: 15px 0 0; }
.kbs-product-detail__editorial p { margin: 0 0 15px; }
.kbs-product-detail__editorial ul { list-style: none; margin: 0 0 20px; padding: 0; }
.kbs-product-detail__editorial li { font-family: Lato, sans-serif; font-size: 18px; font-style: italic; line-height: 31px; list-style: none; margin: 0 0 8px; padding: 0 0 0 33px; }
.kbs-product-detail__featured p { font-size: 15px; line-height: 31px; }
.kbs-product-detail__back { background: #c63733; color: #fff; display: inline-block; padding: 12px 22px; }
.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature { height: 771px; margin-top: 28.5px; }
.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature::before { width: 927px; }
.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature .kbs-product-detail__featured { max-width: 766px; }
.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature p { margin-left: 153px; width: 613px; }
.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature p { position: relative; }
.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature p::before { background: center / contain no-repeat; content: ''; height: 69px; left: -153px; position: absolute; top: 0; width: 98px; }
.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature p:nth-of-type(1)::before { background-image: url('/wp-content/uploads/2026/08/chuck-icon-white1.png'); }
.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature p:nth-of-type(2)::before { background-image: url('/wp-content/uploads/2026/08/hip-rost-icon-white1.png'); }
.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature p:nth-of-type(3)::before { background-image: url('/wp-content/uploads/2026/08/preheat-icon-white1.png'); }
.kbs-product-detail--european-style .kbs-product-detail__feature { height: 588px; margin-top: 29px; }
.kbs-product-detail--made-in-house .kbs-product-detail__feature { height: 733px; }
.kbs-product-detail__recipes { padding: 162px 20px 0; }
.kbs-product-detail__recipes > .kbs-product-detail__inner { display: grid; grid-template-columns: 488px 682px; }
.kbs-product-detail__recipes h2 { align-self: start; font-family: Arvo, serif; font-size: 47px; grid-column: 1; line-height: 57px; margin: 0 0 0 15px; width: 456px; }
.kbs-product-detail__intro { align-self: start; grid-column: 2; margin-left: 65px; width: 603px; }
.kbs-product-detail__intro p { font-family: Lato, sans-serif; font-size: 22px; font-style: italic; line-height: 40.92px; margin: 0; }
.kbs-product-detail__recipes .kbs-recipe-grid { display: grid; gap: 0; grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); margin-top: 60px; transform: translateX(-10px); width: 1190px; }
.kbs-product-detail__recipes .kbs-recipe-card { padding: 0 !important; }
.kbs-product-detail__recipes .kbs-recipe-card__image { margin-inline: 25px; }
.kbs-product-detail__recipes .kbs-recipe-card__image img { aspect-ratio: 1.388; object-fit: cover; width: 100%; }
.kbs-product-detail__recipes .kbs-recipe-card__title { font-family: Lato, sans-serif; font-size: 15px; line-height: 24px; margin: 26px 45px 0; text-align: center; text-transform: uppercase; }
.kbs-product-detail__recipes .kbs-recipe-card__title a { color: #fff !important; display: block; }
.kbs-product-detail__sheets { padding: 75px 20px 35px; }
.kbs-product-detail__cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Shared Astra footer treatment recovered from the November reference. */
.site-footer { background: #24272d url('/wp-content/uploads/2026/08/Footer-banner1.jpg') center/cover no-repeat; }
.site-primary-footer-wrap { background: transparent !important; color: #fff; }
.site-primary-footer-wrap { padding-block: 25px !important; }
.site-below-footer-wrap { box-sizing: border-box; height: 73px; min-height: 0 !important; padding-block: 0 !important; }
.site-primary-footer-wrap a,
.site-primary-footer-wrap p { color: #fff; }
.site-primary-footer-wrap .site-footer-primary-section-1 { align-items: center; display: flex; }
.site-primary-footer-wrap .site-footer-primary-section-1 .ast-builder-html-element { margin: 0; transform: translateX(-36px); }
.site-primary-footer-wrap .site-footer-primary-section-2 { align-items: center; display: flex; justify-content: flex-end; }
.site-primary-footer-wrap .site-footer-primary-section-2 .ast-builder-html-element { display: flex; gap: 34px; align-items: center; }
.site-primary-footer-wrap .site-footer-primary-section-2 p { margin: 0; }
.site-primary-footer-wrap .kbs-footer-hours { list-style: none; margin: 0; padding: 0; text-align: left !important; }
.site-primary-footer-wrap .kbs-footer-hours li { color: #fff; font-family: Lato, sans-serif; font-size: 16px; font-weight: 400; line-height: 24px; margin: 0; padding: 0; text-align: left !important; }
.site-primary-footer-wrap .site-footer-primary-section-2 a { background: #c83633; border: 1px solid #c83633; box-sizing: border-box; display: inline-block; font-family: Lato, sans-serif; font-size: 15px; font-weight: 400; height: 44px; line-height: 31px; padding: 5.5px 20px; width: 157px; }
@media (min-width: 768px) {
	.site-primary-footer-wrap .site-footer-primary-section-2 .ast-builder-html-element { align-items: flex-start; }
	.site-primary-footer-wrap .site-footer-primary-section-2 .kbs-footer-hours { transform: translateX(-65px); width: 238px; }
	.site-primary-footer-wrap .site-footer-primary-section-2 p:last-child { transform: translate(-15px, -1.765625px); }
}
.site-below-footer-wrap { background: rgba(0, 0, 0, .45) !important; color: #fff; }
.site-below-footer-wrap a,
.site-below-footer-wrap p { color: #fff; }
.site-below-footer-wrap .ast-footer-copyright p { align-items: center; display: flex; height: 73px; line-height: 31px; margin: 0; }
.site-below-footer-wrap .kbs-footer-copyright { font-family: Lato, sans-serif; font-size: 15px; letter-spacing: 1px; line-height: 30px; margin-right: auto; }
.site-below-footer-wrap .kbs-footer-contact { font-family: Lato, sans-serif; font-size: 15px; letter-spacing: 1px; line-height: 31px; text-transform: uppercase; }
.site-below-footer-wrap .kbs-footer-contact--newmarket { margin-left: auto; }
.site-below-footer-wrap .kbs-footer-contact--aurora { margin-left: 27px; }
.site-below-footer-wrap .kbs-footer-phone-icon { color: #c83633; display: inline-block; font-size: 18px; letter-spacing: 0; line-height: 31px; margin-right: 5px; transform: rotate(-15deg); }
@media (min-width: 768px) {
	.site-below-footer-wrap .ast-footer-copyright p { margin-inline: auto; max-width: 1170px; width: 1170px; }
}

/* November Contact begins with the delivery strip, not an additional page banner. */
.page-id-158 .kbs-page-banner { display: none; }
.page-id-158 .kbs-contact-page { background-color: #9c8977 !important; }
.page-id-158 .kbs-contact-page,
.page-id-158 .kbs-contact-page h2,
.page-id-158 .kbs-contact-page h3,
.page-id-158 .kbs-contact-page h4,
.page-id-158 .kbs-contact-page p,
.page-id-158 .kbs-contact-page a { color: #fff; }
/* November Contact uses an editorial type scale not exposed in the seeded Elementor widgets. */
.elementor-element-kbscontacttitle .elementor-heading-title,
.elementor-element-kbscontactintro p,
.elementor-element-kbscontactnewmarketaddress h3,
.elementor-element-kbscontactauroraaddress h3 { font-family: Lato, sans-serif !important; font-size: 24px !important; font-style: italic !important; font-weight: 400 !important; line-height: 41.04px !important; }
.elementor-element-kbscontacthourstitle .elementor-heading-title,
.elementor-element-kbscontactnewmarkettitle .elementor-heading-title,
.elementor-element-kbscontactauroratitle .elementor-heading-title { font-family: Lato, sans-serif !important; font-size: 30px !important; font-style: normal !important; font-weight: 900 !important; line-height: 57px !important; }
@media (max-width: 767px) {
	.ast-mobile-menu-trigger-minimal,
	.ast-mobile-menu-trigger-minimal svg { color: #fff !important; fill: #fff !important; }
	/* Astra mobile shell measured from November: 330px row, 171×56 logo, 106px header. */
	.ast-primary-header-bar { min-height: 106px !important; }
	.ast-mobile-header-wrap .ast-builder-grid-row { margin-inline: auto; width: 330px; }
	.site-branding { padding-block: 20px !important; transform: translateY(-5px); }
	.site-logo-img .custom-logo { max-width: 171px !important; width: 171px !important; }
	.ast-mobile-header-wrap .menu-toggle { font-size: 33px !important; height: 56px !important; line-height: 56px !important; padding: 0 !important; transform: translateY(-2px); width: 26px !important; }
	.kbs-page-banner { min-height: 200px !important; }
	.kbs-page-banner .elementor-heading-title { font-family: Arvo, serif !important; font-size: 26.0455px !important; font-weight: 400 !important; left: 20px; line-height: 31.2545px !important; position: relative; top: 39px; }
	.elementor-element-kbsproductsbannertitle,
	.elementor-element-kbsproductsbannersubtitle { left: 30px; position: absolute !important; }
	.elementor-element-kbsproductsbannertitle { top: 39px; }
	.elementor-element-kbsproductsbannersubtitle { top: 104px; width: 330px; }
	.elementor-element-kbsproductsbannertitle .elementor-heading-title { left: auto; position: static; top: auto; }
	.elementor-element-kbsproductsbannersubtitle .elementor-heading-title { color: #fff; font-family: Lato, sans-serif !important; font-size: 16px !important; font-weight: 400 !important; left: auto; line-height: 19.2px !important; margin: 0; position: static; top: auto; }
	.elementor-element-kbsstorybannersubtitle,
	.elementor-element-kbsfaqbannersubtitle { left: 30px; position: absolute !important; top: 104px; width: 330px; }
	.elementor-element-kbsstorybannersubtitle .elementor-heading-title,
	.elementor-element-kbsfaqbannersubtitle .elementor-heading-title { color: #fff; font-family: Lato, sans-serif !important; font-size: 16px !important; font-weight: 400 !important; left: auto; line-height: 19.2px !important; margin: 0; position: static; top: auto; }
	/* November mobile source: the Home masthead follows its 738px opening hero. */
	.home .site-header { left: 0; position: absolute; top: 738px; width: 100%; z-index: 20; }
	.home .elementor-element-kbshero1,
	.home .elementor-element-kbshero2 { min-height: 738px; }
	.home .elementor-element-kbshero2 { padding-top: 235px !important; }
	.home .elementor-element-kbshero3 .elementor-heading-title { font-size: 23.25px !important; line-height: 1.2 !important; max-width: 330px; }
	/* Fusion positions the title independently above its subtitle/badge stack. */
	.home .elementor-element-kbshero3 { transform: translateY(-117.45px); }
	.home .elementor-element-kbshero4 { margin-top: 19px !important; transform: translateY(-116.45px); }
	.home .elementor-element-kbshero5 { margin-top: -11px !important; transform: translateY(-117.45px); }
	.home .elementor-element-kbshero5 img { width: 186px !important; }
	.kbs-recipe-detail__source-gap { height: 0; }
	.kbs-recipe-category-banner { height: 220px; }
	.kbs-recipe-category-banner h1 { font-size: 37px; margin-bottom: 10px; }
	.kbs-recipe-category-banner p { font-size: 16px; }
	.kbs-recipe-detail__article { padding: 50px 30px 70px !important; }
	.kbs-recipe-detail__article > h1 { font-size: 24.011px; line-height: 32.64px; margin-bottom: 40px; }
	.kbs-recipe-detail__grid { display: flex; flex-direction: column; gap: 30px; }
	.kbs-recipe-detail__copy { order: 2; width: 100%; }
	.kbs-recipe-detail__image { order: 1; width: 100%; }
	.kbs-recipe-detail__image img { width: 100%; }
	.kbs-recipe-detail__meta { font-size: 21px; line-height: 31px; }
	.kbs-recipe-detail__copy h2 { font-size: 22px; line-height: 39.6px; }
	.kbs-recipe-detail__copy ul { display: block; }
	.kbs-recipe-detail__copy li { padding-bottom: 15px; }
	/* Source Home FAQ/testimonial ends at y=9232; Elementor leaves 87px after the quote. */
	.home .elementor-element-kbsfaq1 { height: 663px !important; min-height: 0 !important; overflow: hidden; }
	.page-id-158 .elementor-element-kbscontactlocationstitle { margin-top: -82px !important; }
	.page-id-158 .elementor-element-kbscontacttitle .elementor-heading-title,
	.page-id-158 .elementor-element-kbscontactlocationstitle { margin-inline: 10px; width: 330px !important; }
	.page-id-158 .elementor-element-kbscontactintro { margin-inline: 10px; width: 330px !important; }
	.page-id-158 .elementor-element-kbscontacthourstitle .elementor-heading-title,
	.page-id-158 .elementor-element-kbscontactnewmarkettitle .elementor-heading-title,
	.page-id-158 .elementor-element-kbscontactauroratitle .elementor-heading-title { font-size: 26.9809px !important; line-height: 51.2637px !important; }
	.page-id-158 .elementor-element-kbscontactnewmarket,
	.page-id-158 .elementor-element-kbscontactaurora { margin-inline: -10px; width: 330px !important; }
	.kbs-product-download-cards { grid-template-columns: 1fr; max-width: 260px; margin: 0 auto; }
	.kbs-product-detail__media .kbs-product-download-cards { grid-template-columns: 1fr; margin: 30px auto 0; max-width: 260px; transform: none; }
	.kbs-product-detail__media .kbs-product-download-card { width: 260px; }
	.kbs-product-detail__feature,
	.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature,
	.kbs-product-detail--european-style .kbs-product-detail__feature,
	.kbs-product-detail--made-in-house .kbs-product-detail__feature { height: auto; margin-top: 30px; min-height: 0; padding: 45px 30px; }
	.kbs-product-detail__feature::before,
	.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature::before { height: calc(100% - 40px); left: 0; top: 20px; width: 100%; }
	.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature p::before { display: none; }
	.kbs-product-detail__feature .kbs-product-detail__featured,
	.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature .kbs-product-detail__featured { max-width: 330px; }
	.kbs-product-detail--highest-quality-meat .kbs-product-detail__feature p { margin-left: 0; width: auto; }
	/* November's readable mobile type scale, kept without its overlapping card layout. */
	.kbs-product-detail__editorial { font-size: 21px; line-height: 31px; }
	.kbs-product-detail__editorial h2 { font-size: 24.011px; line-height: 32.64px; }
	.kbs-product-detail__recipes { padding: 60px 30px 0; }
	.kbs-product-detail__recipes > .kbs-product-detail__inner { display: block; width: 330px; }
	.kbs-product-detail__recipes h2 { font-size: 24.011px; line-height: 32.64px; margin: 0 0 25px; width: auto; }
	.kbs-product-detail__intro { margin: 0 0 35px; width: auto; }
	.kbs-product-detail__intro p { font-size: 18px; line-height: 31px; }
	.kbs-product-detail__recipes .kbs-recipe-grid { display: grid; gap: 30px; grid-template-columns: 1fr; margin-top: 0; transform: none; width: 330px; }
	.kbs-product-detail__recipes .kbs-recipe-card__image { margin: 0; }
	.kbs-product-detail__recipes .kbs-recipe-card__image img { aspect-ratio: 1.65; }
	.kbs-product-detail__recipes .kbs-recipe-card__title { margin: 16px 0 0; }
	.kbs-recipe-feature { margin-bottom: 70px; padding: 30px 0; }
	.kbs-recipe-feature__inner { margin-inline: 30px; padding: 30px; width: auto; }
	.kbs-recipe-feature h2 { font-size: 35.4268px; line-height: 42.8665px; margin-bottom: 20px; }
	.kbs-recipe-feature__description { margin-bottom: 20px; }
	.kbs-product-detail { flex: 0 0 100vw !important; margin: 0 !important; margin-left: calc(50% - 50vw) !important; padding-block: 0 !important; width: 100vw !important; }
	.kbs-product-detail__page-banner { height: 200px; }
	.kbs-product-detail__page-banner h1 { font-size: 26.0455px; left: 30px; line-height: 31.2545px; top: 39px; }
	.kbs-product-detail__page-banner p { font-size: 16px; left: 30px; line-height: 20px; top: 107px; width: 330px; }
	.kbs-product-detail__delivery { min-height: 0; }
	.kbs-product-detail__delivery { height: 443px; }
	.kbs-product-detail__delivery-inner { align-items: flex-start; display: flex; flex-direction: column; gap: 50px; min-height: 443px; padding-top: 50px; text-align: left; width: 330px; }
	.kbs-product-detail__delivery img { width: 180px; }
	.kbs-product-detail__delivery p { font-size: 18px; line-height: 25.2px; transform: none; width: 330px; }
	/* November Home delivery stack: its header occupies normal flow above this 443px panel. */
	.home .elementor-element-kbsdelivery { margin-top: 106px; min-height: 443px !important; }
	.home .elementor-element-kbsdelivery > .e-con-inner { align-content: flex-start; align-items: flex-start; display: flex !important; flex-direction: column; gap: 1px; justify-content: flex-start; margin-inline: auto; min-height: 443px; padding-top: 50px; text-align: left; width: 330px; }
	.home .elementor-element-kbsdelivery > .e-con-inner > .elementor-element { align-self: flex-start !important; }
	.home .elementor-element-kbsdeliverybadge img { width: 180px !important; }
	.home .elementor-element-kbsdeliverycopy { transform: translateY(-8px); width: 330px; }
	.home .elementor-element-kbsrecipes1 { height: 1859px; margin-top: 0; padding-inline: 0 !important; }
	.home .elementor-element-kbsrecipes1 > .e-con-inner { align-items: stretch !important; column-gap: 0 !important; display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; max-width: none !important; min-height: 1859px; padding: 75px 30px 70px !important; row-gap: 0 !important; width: 100% !important; }
	.home .elementor-element-kbsrecipes2,
	.home .elementor-element-kbsrecipes4 { min-height: 0; width: 100% !important; }
	.home .elementor-element-kbsrecipes2 { margin: 0 0 15px !important; }
	.home .elementor-element-kbsrecipes2 h2 { font-size: 35.4268px; line-height: 42.8665px; }
	.home .elementor-element-kbsrecipes3 br { display: none; }
	.home .elementor-element-kbsrecipes4 { margin: 0 0 60px !important; min-height: 246px; }
	/* Source uses an H3 line box; Elementor's editable paragraph needs this visual-only rail correction. */
	.home .elementor-element-kbsrecipes5 p { transform: translateY(-8.109375px); }
	.home .elementor-element-kbsrecipes6 { margin: 0 !important; width: 100% !important; }
	.home .elementor-element-kbsrecipes1 .kbs-recipe-grid { gap: 30px; grid-template-columns: 1fr; }
	.home .elementor-element-kbsrecipes1 .kbs-recipe-card__image img { aspect-ratio: 1.65; }
	.elementor-element-kbsrecipespage { height: 3469px; overflow: hidden; padding-inline: 0 !important; }
	.elementor-element-kbsrecipespage > .e-con-inner { align-items: stretch !important; display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; max-width: none !important; min-height: 3469px; padding: 75px 30px 70px !important; width: 100% !important; }
	.elementor-element-kbsrecipespagetitle,
	.elementor-element-kbsrecipespageintro,
	.elementor-element-kbsrecipespagegrid { grid-column: auto; min-height: 0; padding: 0 !important; width: 100% !important; }
	.elementor-element-kbsrecipespagetitle { height: 43px !important; margin: 0 0 15px !important; overflow: hidden; }
	.elementor-element-kbsrecipespagetitle h2 { font-size: 35.4268px !important; line-height: 42.8665px !important; transform: none; white-space: nowrap; }
	.elementor-element-kbsrecipespagetitle h2 br { display: none !important; }
	.elementor-element-kbsrecipespageintro { height: 246px !important; margin: -60px 0 60px !important; min-height: 246px !important; }
	.elementor-element-kbsrecipespagegrid { margin: -60px 0 0 !important; transform: none; }
	.elementor-element-kbsrecipespagegrid .kbs-recipe-grid { gap: 30px; grid-template-columns: 1fr; }
	.elementor-element-kbsrecipespagegrid .kbs-recipe-card__image img { aspect-ratio: 1.65; height: auto !important; }
	.elementor-element-kbsinnerdelivery { min-height: 443px !important; }
	.elementor-element-kbsinnerdelivery > .e-con-inner { align-content: flex-start !important; align-items: flex-start !important; display: flex !important; flex-direction: column !important; gap: 58px !important; justify-content: flex-start !important; margin-inline: auto !important; min-height: 443px !important; padding-top: 50px !important; text-align: left !important; width: 330px !important; }
	.elementor-element-kbsinnerdelivery > .e-con-inner > .elementor-element { align-self: flex-start !important; }
	.elementor-element-kbsinnerdeliverybadge img { width: 180px !important; }
	.elementor-element-kbsinnerdeliverycopy { transform: translateY(-8px); width: 330px; }
	.kbs-story-tail-delivery > .e-con-inner { display: flex !important; flex-direction: column; text-align: center; }
	.elementor-element-kbsservice1 > .e-con-inner,
	.elementor-element-kbsproductsintro > .e-con-inner,
	.elementor-element-kbsrecipes1 > .e-con-inner { display: grid !important; grid-template-columns: 1fr; }
	.elementor-element-kbsproductintro { padding: 70px 30px !important; }
	.elementor-element-kbsproductintro > .e-con-inner { gap: 0 !important; padding: 0 !important; }
	.elementor-element-kbsproductintro > .e-con-inner > .e-con,
	.elementor-element-kbsproductintro > .e-con-inner > .e-con > .e-con-inner { padding: 0 !important; }
	.elementor-element-kbsproductlede { transform: none; }
	.elementor-element-kbsproductheading .elementor-heading-title { margin-bottom: 30px !important; padding-bottom: 15px !important; }
	.elementor-element-kbsproductimage { margin-top: 10px !important; }
	.kbs-faq-testimonial { display: block !important; height: 662.7px !important; padding-inline: 0 !important; }
	.kbs-faq-testimonial > .kbs-faq-panel,
	.kbs-faq-testimonial > .kbs-testimonial-panel { box-sizing: border-box; padding-inline: 0 !important; width: 100% !important; }
	.kbs-faq-testimonial > .kbs-faq-panel { height: 282.7px !important; }
	.kbs-faq-testimonial > .kbs-testimonial-panel { height: 380px !important; }
	.kbs-faq-panel > .e-con-inner { gap: 15px !important; margin-inline: auto !important; padding: 50px 30px 0 !important; width: 390px !important; }
	.kbs-faq-panel .kbs-home-faq-details { font-family: Lato, sans-serif !important; font-size: 16px !important; line-height: 31px !important; min-height: 82px; }
	.kbs-faq-panel .kbs-home-faq-details summary { color: #fff !important; font-size: 18px !important; line-height: 30.96px !important; }
	.kbs-testimonial-panel > .e-con-inner { margin-inline: auto !important; padding: 102.5px 57px 0 !important; width: 390px !important; }
	.kbs-testimonial-panel p { margin: 0 !important; min-height: 150px; width: 276px !important; }
	.elementor-element-kbsservice2,
	.elementor-element-kbsservice4,
	.elementor-element-kbsservice7,
	.elementor-element-kbsproductsintrotitle,
	.elementor-element-kbsproductsintrocopy,
	.elementor-element-kbsrecipes2,
	.elementor-element-kbsrecipes4,
	.elementor-element-kbsrecipes6,
	.elementor-element-kbsfaq2,
	.elementor-element-kbsfaq5 { width: 100% !important; }
	/* Measured November Home mobile cadence: service, eight cards, product lede, four compact bands, recipes. */
	.home .elementor-element-kbsservice1 { height: 1497.2px !important; min-height: 1497.2px !important; }
	.home .elementor-element-kbsproductcards { height: 2757.9px !important; min-height: 2757.9px !important; }
	.home .kbs-product-download-cards { gap: 20px !important; max-width: 330px !important; }
	.home .elementor-element-kbsproductsintro { height: 403px !important; margin-top: 0 !important; min-height: 403px !important; padding: 70px 30px 0 !important; }
	.home .elementor-element-kbsproductsintro > .e-con-inner { align-content: start !important; gap: 15px !important; padding: 0 !important; }
	.home .elementor-element-kbsproductsintrotitle,
	.home .elementor-element-kbsproductsintrocopy { padding-inline: 0 !important; }
	.home .elementor-element-kbsproductsintrotitle { height: 43px !important; }
	.home .elementor-element-kbsproductsintroheading { height: 43px !important; }
	.home .elementor-element-kbsproductsintroheading br { display: none !important; }
	.home .elementor-element-kbsproductsintrotext p { font-family: Lato, sans-serif !important; font-size: 24px !important; font-style: italic !important; line-height: 41.04px !important; margin: 0 !important; }
	.home .elementor-element-kbsproductsintroheading,
	.home .elementor-element-kbsproductsintrotext { transform: translateY(-10px); }
	/* November phone editorial opening uses a smaller 35px Arvo headline on the 330px rail. */
	.home .elementor-element-kbsservicefarm { margin-bottom: 16px !important; margin-top: -35px !important; transform: none !important; width: 330px !important; }
	.home .elementor-element-kbsservice3 { margin-top: 15px !important; transform: none !important; width: 330px !important; }
	.home .elementor-element-kbsservice4 { margin-top: -55.5px !important; }
	.elementor-element-kbsproductintro > .e-con-inner,
	.elementor-element-kbscontactcols > .e-con-inner,
	.elementor-element-kbsfaqcards > .e-con-inner,
	.elementor-element-kbsfaqmorecols > .e-con-inner,
	.elementor-element-kbscontactlocationcards > .e-con-inner,
	.elementor-element-kbsstoryownercols > .e-con-inner,
	.elementor-element-kbsstorycols > .e-con-inner { grid-template-columns: 1fr; }
	.elementor-element-kbsfaqmorecols > .e-con-inner { grid-template-columns: 1fr !important; margin-left: 0 !important; }
	.elementor-element-kbsfaqcards > .e-con-inner { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; width: 330px !important; }
	.elementor-element-kbsstory { height: auto !important; overflow: visible; }
	.elementor-element-kbsstorymainphoto { transform: none; }
	.elementor-element-kbsstorymainphoto { margin-top: -147px !important; padding-top: 0 !important; }
	.kbs-story-tail-delivery { height: 413px !important; margin-top: -91px !important; min-height: 0 !important; overflow: hidden; }
	.elementor-element-kbsstorytaildeliverycopy { transform: translate(20px, -207px); width: 330px !important; }
	.elementor-element-kbsstorytaildeliverycopy p { font-family: Arvo, serif !important; font-size: 18px !important; line-height: 25.2px !important; margin: 0 !important; overflow-wrap: normal !important; }
	.elementor-element-kbsstoryintro { margin-top: 10px !important; transform: none; }
	.elementor-element-kbsstorytitle { height: 80px !important; }
	.elementor-element-kbsstorytitle br { display: none !important; }
	.elementor-element-kbsstoryintro { margin-bottom: -28px !important; }
	.elementor-element-kbsstorycopy p { font-family: Lato, sans-serif !important; font-size: 16px !important; line-height: 31px !important; margin-bottom: 20px !important; }
	.elementor-element-kbsstorycopy p:last-child { font-size: 24px !important; font-style: italic !important; line-height: 41.04px !important; }
	.elementor-element-kbsfaqcards { align-self: flex-start !important; left: -370px !important; margin-left: 10px !important; margin-right: 0 !important; width: 330px !important; }
	.elementor-element-kbsfaqtop > .e-con-inner { align-items: stretch !important; display: flex !important; flex-direction: column !important; }
	.elementor-element-kbsfaqmoreimage,
	.elementor-element-kbsfaqmoretext { transform: none; }
	.elementor-element-kbsfaqmoreimage { visibility: hidden !important; }
	.elementor-element-kbsfaqcards { padding-top: 0 !important; }
	.elementor-element-kbsfaqcards { top: 200px; }
	.elementor-element-kbsfaqcards .elementor-heading-title { transform: translateX(-10px); }
	.elementor-element-kbsfaqtop { height: 1130px !important; min-height: 0 !important; overflow: hidden; }
	.elementor-element-kbsfaqtop { margin-bottom: 0 !important; }
	.elementor-element-kbsfaqmore { margin-top: 0 !important; }
	.elementor-element-kbsfaqmore { height: 1523px !important; min-height: 0 !important; overflow: hidden; }
	.elementor-element-kbsfaqmoretext { margin-left: 30px !important; transform: translateY(-112px); width: 330px !important; }
	.elementor-element-kbsfaqcta { height: 414px !important; min-height: 0 !important; overflow: hidden; padding: 0 !important; }
	.elementor-element-kbsfaqctapanel { box-sizing: border-box !important; height: 354px !important; margin: 30px 0 0 30px !important; padding: 30px !important; width: 330px !important; }
	.elementor-element-kbsfaqctapanel > .e-con-inner { padding: 0 !important; width: 270px !important; }
	.elementor-element-kbsfaqctacopy { left: auto !important; width: 270px !important; }
	.elementor-element-kbsfaqctacopy p { margin-top: 0 !important; width: 270px !important; }
	.elementor-element-kbsfaqctabutton { left: 30px !important; position: absolute !important; top: 280.078125px !important; width: 150px !important; }
	.elementor-element-kbsfaqctabutton .elementor-button { width: 150px !important; }
	.elementor-element-kbsfaqtitle,
	.elementor-element-kbsfaqquestion { margin-inline: 10px !important; width: 330px !important; }
	.elementor-element-kbsfaqtitle { height: 80px !important; margin-bottom: 0 !important; overflow: hidden; }
	.elementor-element-kbsfaqquestion { margin-top: 4px !important; }
	.elementor-element-kbsfaqcards > .e-con-inner { gap: 0 !important; padding: 0 !important; }
	.kbs-faq-serving-card,
	.kbs-faq-serving-card > .e-con-inner { gap: 0 !important; min-height: 0 !important; padding: 0 !important; }
	.kbs-faq-serving-card img { height: 141px; object-fit: contain; }
	.kbs-faq-serving-card .elementor-heading-title { margin: 8px 0 4px !important; }
	.kbs-faq-serving-card .elementor-heading-title { width: 330px !important; }
	.kbs-faq-serving-card .elementor-widget-text-editor p { transform: translate(-10px, -4px); width: 330px !important; }
	.kbs-faq-serving-card:nth-child(2) .elementor-heading-title { transform: translate(-10px, -10px); }
	.kbs-faq-serving-card:nth-child(2) .elementor-widget-text-editor p { transform: translate(-10px, -14px); }
	.kbs-faq-serving-card:nth-child(3) .elementor-heading-title { transform: translate(-10px, -20px); }
	.kbs-faq-serving-card:nth-child(3) .elementor-widget-text-editor p { transform: translate(-10px, -24px); }
	.kbs-product-stripe > .e-con > .e-con-inner { gap: 0; grid-template-columns: 1fr; }
	.kbs-product-stripe { padding: 45px 0 !important; }
	.kbs-product-stripe > .e-con { padding: 0 !important; }
	.kbs-product-stripe > .e-con > .e-con-inner { padding: 0 !important; }
	.kbs-product-stripe > .e-con > .e-con-inner { margin-inline: auto; max-width: 300px !important; width: 300px !important; }
	.kbs-product-stripe > .e-con > .e-con-inner > .e-con { grid-column: auto; min-height: unset !important; padding: 0 !important; width: 300px !important; }
	.kbs-product-stripe > .e-con > .e-con-inner > .e-con > .e-con-inner { gap: 0 !important; padding: 0 !important; }
	.kbs-product-stripe .elementor-heading-title { font-family: Arvo, serif !important; font-size: 35.4268px !important; line-height: 42.8665px !important; margin: 0 0 20px !important; }
	.kbs-product-stripe .elementor-widget-text-editor p { font-family: Lato, sans-serif !important; font-size: 15px !important; line-height: 31px !important; margin: 0 0 20px !important; }
	.kbs-product-stripe .elementor-button { align-items: center; display: inline-flex; font-family: Lato, sans-serif; font-size: 16px; height: 44px; justify-content: center; line-height: 31px; padding: 0; width: 180px; }
	/* November Home turns these four links into compact 191px image-label bands. */
	.home .elementor-element-kbschicken,
	.home .elementor-element-kbsbeef,
	.home .elementor-element-kbssausage,
	.home .elementor-element-kbsdeli { align-items: flex-start !important; height: 191.3px !important; min-height: 191.3px !important; padding: 70px 30px 0 !important; }
	.home .elementor-element-kbschickenheading,
	.home .elementor-element-kbsbeefheading,
	.home .elementor-element-kbssausageheading,
	.home .elementor-element-kbsdeliheading { height: auto !important; width: 330px !important; }
	.home .elementor-element-kbschickenheading .elementor-heading-title,
	.home .elementor-element-kbsbeefheading .elementor-heading-title,
	.home .elementor-element-kbssausageheading .elementor-heading-title,
	.home .elementor-element-kbsdeliheading .elementor-heading-title { font-family: Lato, sans-serif !important; font-size: 26.9809px !important; font-weight: 900 !important; line-height: 51.2637px !important; margin: 0 !important; }
	.kbs-product-detail__hero-grid { grid-template-columns: 1fr; }
	/* The November footer is one centred mobile stack: logo, contact CTA, then hours. */
	.site-primary-footer-wrap { padding-block: 29px !important; }
	.site-primary-footer-wrap .site-footer-primary-section-1 { justify-content: center; }
	.site-primary-footer-wrap .site-footer-primary-section-2 { justify-content: center; }
	.site-primary-footer-wrap .site-footer-primary-section-1 .ast-builder-html-element { transform: translateY(-5px); }
	.site-primary-footer-wrap .site-footer-primary-section-1 img { max-width: 330px; width: 330px; }
	.site-primary-footer-wrap .site-footer-primary-section-2 .ast-builder-html-element { align-items: center; flex-direction: column; gap: 16px; text-align: center; transform: translateY(15px); }
	.site-primary-footer-wrap .site-footer-primary-section-2 .kbs-footer-hours { order: 2; }
	.site-primary-footer-wrap .site-footer-primary-section-2 p:last-child { order: 1; }
	.site-below-footer-wrap { height: 169px; }
	.site-below-footer-wrap .ast-footer-copyright p { align-items: center; display: flex; flex-direction: column; gap: 0; height: 169px; justify-content: flex-start; line-height: 31px; margin: 0; padding-top: 30px; }
	.site-below-footer-wrap .ast-footer-copyright p > span { height: 31px; line-height: 31px; }
	.site-below-footer-wrap .ast-footer-copyright .kbs-footer-copyright { height: 60px; line-height: 31px; }
	.site-below-footer-wrap .ast-footer-copyright span { display: block; }
	.site-below-footer-wrap .ast-footer-copyright .kbs-footer-phone-icon { display: inline-block !important; height: auto !important; line-height: 31px !important; }
	.site-below-footer-wrap .kbs-footer-contact--newmarket { margin-left: 0; order: 1; }
	.site-below-footer-wrap .kbs-footer-contact--aurora { margin-left: 0; order: 2; }
	.site-below-footer-wrap .kbs-footer-copyright { margin-right: 0; order: 3; text-align: center; width: 330px; }
	/* Measured November mobile menu: header overlap, 18px panel inset, six 48px rows. */
	.ast-mobile-header-content { margin-top: -27px !important; }
	.ast-mobile-header-content .site-navigation.toggled { box-sizing: border-box; height: 306px !important; padding-top: 18px; }
	.ast-mobile-header-content .site-navigation.toggled .main-header-menu { height: 288px !important; }
	.ast-mobile-header-content .site-navigation.toggled .main-header-menu > .menu-item,
	.ast-mobile-header-content .site-navigation.toggled .main-header-menu > .menu-item > .menu-link { height: 48px !important; }
	.ast-mobile-header-content .site-navigation.toggled .main-header-menu > .menu-item > .menu-link { line-height: 48px !important; }
	/* A Products child menu is now part of the real WP menu; its expanded row must grow. */
	.ast-mobile-header-content .site-navigation.toggled .main-header-menu > .menu-item-has-children.ast-submenu-expanded { height: auto !important; }
	.ast-mobile-header-content .site-navigation.toggled .main-header-menu > .menu-item-has-children.ast-submenu-expanded > .sub-menu { height: auto !important; }
	.ast-mobile-header-content .site-navigation.toggled:has(.menu-item-has-children.ast-submenu-expanded),
	.ast-mobile-header-content .site-navigation.toggled:has(.menu-item-has-children.ast-submenu-expanded) .main-header-menu { height: auto !important; }
}
@media (prefers-reduced-motion: reduce) {
	.kbs-faq-testimonial > .kbs-faq-panel,
	.kbs-faq-testimonial > .kbs-testimonial-panel { opacity: 1; transform: none; transition: none; }
}
