/*
* Description: Custom CSS Additions Go Here
* Template: twentyseventeen
* Version: 1.0
* Author: VDS
*/

/* vars vars vars vars vars vars vars vars vars vars vars vars vars vars  */

:root {

/* These vars do not require values as they get set automatically in options-page-stylesheet.php
 * They are mainly here so they show up as autocomplete suggestions in code editors if desired.
*/

@property --accent1 { syntax: '*'; inherits: true; }
@property --accent2 { syntax: '*'; inherits: true; }
@property --accent3 { syntax: '*'; inherits: true; }
@property --dark1   { syntax: '*'; inherits: true; }
@property --dark2   { syntax: '*'; inherits: true; }
@property --dark3   { syntax: '*'; inherits: true; }
@property --light1  { syntax: '*'; inherits: true; }
@property --light2  { syntax: '*'; inherits: true; }
@property --light3  { syntax: '*'; inherits: true; }
@property --uihover { syntax: '*'; inherits: true; }
@property --white   { syntax: '*'; inherits: true; }
@property --black   { syntax: '*'; inherits: true; }
	
--accent1_40: #ff5e5e66;       /* accent1 - 40% */
--accent2_40: #E6272766;       /* accent2 - 40% */
--light1_75: #FFFFFFBF;        /* light1 - 75% */
--light1_50: #FFFFFF80;        /* light1 - 50% */
--uihover: #ff5e5e66;          /* red (accent1) UI opacity */

/* font family vars */
--BrandGrotReg: 'BrandonGrotesque-Regular', sans-serif;
--BrandGrotBold: 'BrandonGrotesque-Bold', sans-serif;

}

/* /vars /vars /vars /vars /vars /vars /vars /vars /vars /vars /vars  */

/* quick vars quick vars quick vars quick vars quick vars quick vars qui */
div#wpadminbar {
    z-index: 9999999999999;
}
body .home-revslider h1,
body .home-revslider h2,
body .home-revslider h3 {
    font-family: var(--BrandGrotBold) !important;
}
body .default-header h1 {
    color: var(--light1);
}
body h2, body h3, body h4, body h5, body h6 {
    color: var(--dark2);
}
nav#site-navigation ul.sub-menu {
    background: var(--dark2);
}
nav#site-navigation ul.sub-menu li a {
    color: var(--light1);
}
p.big-text {
    font-size: 25px;
    font-weight: 800;
}
/* /quick vars /quick vars /quick vars /quick vars /quick vars /quick va */

/* General */
.bakery .wpb_row.bg-pos-top-left,
.bakery section.bg-pos-top-left {
    background-position: top left !important;
}
.bakery .wpb_row.bg-pos-top-left.white-overlay,
.bakery section.bg-pos-top-left.white-overlay {
    background-color: var(--light1_50);
    background-blend-mode: overlay;
}

@media (min-width: 980px) {
    .vertical-align {
        align-items: center;
        display: flex;
    }
}

/* Header Overlap */
header .top-header {
    background: var(--light1);
}

@media (max-width: 979px) {
    header#header {
        margin-bottom: 0;
    }
}

/* Top Widgetized Area */
header .top-widget {
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.50);
    background: var(--light2);
}
header#header .top-widget ul.social {
    justify-content: start;
}
.top-widget .widget a:link {
    color: var(--dark1);
}
body p.twa-phone {
    font-size: 15px;
}
p.twa-phone a {
    justify-content: center;
    letter-spacing: 2.5px;
    display: inline-flex;
    align-items: center;
}
p.twa-phone a span {
    font-family: var(--BrandGrotBold);
}
p.twa-phone a i {
    transition: all 0.3s ease-in-out;
    border: 2px solid var(--dark1);
    background: var(--dark1);
    justify-content: center;
    color: var(--light1);
    border-radius: 50px;
    align-items: center;
    margin-right: 18px;
    display: flex;
    height: 28px;
    width: 28px;
}

@media (max-width: 480px) {
    p.twa-phone a i {
        margin-right: 0;
    }
}

p.twa-phone a:hover i {
    transition: all 0.3s ease-in-out;
    background: var(--light1);
    color: var(--accent2);
}
p.twa-phone a i:before {
    position: relative;
    font-size: 15px;
    left: 1.5px;
}

@media (min-width: 980px) {
	body header#header {
        position: fixed;
        width: 100%;
		z-index: 99999999;
	}
	.site-content {
        padding-top: 140px;
    }
}

/* Footer */
footer#footer {
    background: var(--dark1);
}
footer .widget p {
    color: var(--light1);
    font-weight: normal;
}
footer .widget ul {
    list-style: none;
}
footer .widget a:link,
footer .widget a:visited {
    color: var(--light1) !important;
    text-decoration: none;
}
span.fake-widget-title {
    margin-bottom: 5px;
    font-weight: normal;
    margin-top: 10px;
    font-size: 14px;
}
body footer .widget a:hover:link:not(.btn-bt),
body footer .widget a:hover:visited:not(.btn-bt) {
    color: var(--accent3) !important;
}
ul#menu-footer {
    text-align: center;
    line-height: 24px;
    font-size: 16px;
}
ul#menu-footer li,
ul#menu-footer li a {
    font-family: var(--BrandGrotBold);
    letter-spacing: 0.5px;
    font-weight: normal;
    line-height: 24px;
    font-size: 14px;
}
p.footer-menu {
    margin-bottom: 0 !important;
}
body ul#menu-footer li a:hover {
    color: var(--accent3) !important;
}
body .footer-address a:hover {
    color: var(--accent3) !important;
}

@media (min-width: 980px) {
    .footer-col-1 {
        justify-content: center;
        align-items: center;
        padding-top: 0;
        display: flex;
    }
}

@media (max-width: 979px) {
    p.footer-menu {
        margin-bottom: -15px !important;
    }
}

/* Copyright Row */
.row.copyright {
    background: var(--dark2);
}

@media (min-width: 980px) {
    .row.copyright .copyright-text.span6.left-three-column,
    .row.copyright .copyright-content.span6.right-three-column {
        width: 30%;
    }
    .row.copyright .copyright-content.span6.middle-three-column {
        width: 40%;
    }
}

.row.copyright .menu-copyright-menu-container ul#menu-copyright-menu li a {
    font-weight: normal;
    font-size: 12px;
}
body p#copyright-p,
body p.copyright-links {
    font-weight: normal;
    font-size: 12px;
}
.row.copyright .menu-copyright-menu-container ul#menu-copyright-menu {
    justify-content: center;
}
ul#menu-copyright-menu li {
    padding: 0 12px;
}
ul#menu-copyright-menu li:first-child {
    padding-left: 0;
}
ul#menu-copyright-menu li:last-child {
    padding-right: 0;
}
.row.copyright a {
    text-decoration: none;
}
.row.copyright .menu-copyright-menu-container ul#menu-copyright-menu li a:hover,
.copyright .copyright-text p a:hover,
.copyright .copyright-content p a:hover,
.row.copyright a:hover {
    color: var(--accent3);
}

/* Social Icons */
ul.social li a i:before {
    font-size: 15px;
}
ul.social li a i {
    height: 28px;
    width: 28px;
}

/* Buttons */
a.btn-bt {
    text-transform: uppercase;
    font-size: 18px;
}
.header-button a.btn-default.btn-bt {
    border: 3px solid var(--light1);
    background: var(--accent2);
}
.header-button a.btn-default.btn-bt:hover {
    border-color: var(--accent2);
    background: var(--light1);
    color: var(--accent2);
}
body footer a.btn-bt.default:hover,
body #content .bakery a.btn-bt.default:hover {
    background: var(--light1);
    color: var(--accent1);
}
body footer a.btn-bt.alternate,
body #content .bakery a.btn-bt.alternate,
body #content .blog-post-row a.btn-bt.alternate {
    border-color: var(--accent1);
    background: var(--light1);
    color: var(--accent1);
}
body footer a.btn-bt.alternate:hover,
body #content .bakery a.btn-bt.alternate:hover,
body #content .blog-post-row a.btn-bt.alternate:hover {
    box-shadow: 2px 2px 12px 0 rgba(0, 0, 0, 0.24);
    color: var(--light1) !important;
    border-color: var(--light1);
    background: var(--accent1);
}
.gform_footer input[type="submit"] {
    width: 100%;
}
.gform_footer input[type="submit"]:not(:hover):not(:active):not(.has-background) {
    font-family: var(--BrandGrotBold);
    transition: all 0.3s ease-in-out;
    padding: 18px 4px !important;
    margin-bottom: 0 !important;
    letter-spacing: 1.77px;
    border-radius: 50px;
    font-size: 18px;
    line-height: 1;
}
.gform_footer input[type="submit"]:not(:active):not(.has-background):hover {
    transition: all 0.3s ease-in-out;
    padding: 18px 4px !important;
    margin-bottom: 0 !important;
    letter-spacing: 1.77px;
    border-radius: 50px;
    font-size: 18px;
    line-height: 1;
}

/* Bottom CTA */
.opacity-form-col {
    background: var(--light1_75);
}
.bakery .wpb_column.opacity-form-col {
    padding: 40px 80px;
}
body.home .bottom-cta h2 {
    text-shadow: none;
    font-size: 28px;
    line-height: 1;
}
.bottom-cta .opacity-form-col .wpb_text_column {
    margin-bottom: 24px;
}
.bottom-cta.add-parallax {
    padding: 80px 0;
    height: auto;
}
.opacity-form-col .gform_footer {
    margin-top: 0 !important;
}
.opacity-form-col .gform_wrapper {
    margin-bottom: 0 !important;
}
body:not(.home) .bottom-cta.add-parallax {
    height: 600px;
}
@media (min-width: 980px) {
.vc_row.wpb_row.bottom-cta-row {
    min-height: 600px;
}
}
@media (max-width: 480px) {
	body:not(.home) .bottom-cta.add-parallax {
    height: 300px;
}
}

/* Fifty Fifty */
.plain-fifty h3 {
    font-family: var(--BrandGrotReg);
    font-weight: normal;
}
.plain-fifty a.btn-bt {
    margin-top: 18px;
}

/* Homepage */
.home-hero-row {
	height: 827px;
}
.home-hero-row h1 {
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.50);
	margin-bottom: 0 !important;
	color: var(--light1);
	line-height: 1.15;
}
.home-hero-row h2 {
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.50);
	margin-bottom: 24px !important;
	color: var(--light1);
	line-height: 1.15;
	margin-top: 10px;
}
body #content .plain-fifty.nap-map-inner .nap-col a {
    color: var(--dark1);
    text-decoration: none;
}
body #content .plain-fifty.nap-map-inner .nap-col a:hover, body #content .location-nap-row a:hover {
    transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: var(--accent1);
}
.plain-fifty.nap-map-inner .nap-col h3 {
    font-family: var(--BrandGrotBold);
    margin-bottom: 6px;
    margin-top: 20px;
}
.plain-fifty.nap-map-inner .nap-col h2 {
    margin-bottom: 0;
}

@media (max-width: 480px) {
	.home-hero-row {
		height: 305px;
	}
	.home-hero-row h1 {
		margin-bottom: 0 !important;
    	line-height: 1.15;
	    font-size: 36px;
	}
	.home-hero-row h2 {
		margin-bottom: 18px !important;
		margin-top: 12px !important;
    	line-height: 1.1;
		font-size: 20px;
	}
}

@media (max-width: 979px) {
    .bakery .wpb_row.home-promo-outer.bg-pos-top-left.white-overlay {
        background-color: var(--light1);
    }
    .bakery .wpb_row.home-promo-outer {
        padding-bottom: 40px !important;
        padding-top: 40px !important;
    }
    .bakery .home-mid-cta {
        height: auto;
    }
}

.home-mid-cta {
    height: 484px;
}
button.owl-prev:before,
button.owl-next:before {
    color: var(--accent1);
}
button.owl-prev:hover:before,
button.owl-next:hover:before {
    color: var(--accent2);
}
body .home-reviews h3 {
    line-height: 28px;
    font-size: 28px;
}
.reviews-white-box {
    box-shadow: 0px -1px 10px rgba(0, 0, 0, 0.12);
    background: rgba(255, 255, 255, 0.90);
}
body #content .strong-view.wpmtst-modern .wpmtst-testimonial-content:before,
body #content .strong-view.wpmtst-modern .wpmtst-testimonial-content:after {
    display: none;
}
.bakery .strong-view.wpmtst-modern .wpmtst-testimonial-content {
    font-style: normal;
    margin-right: 0;
    margin-left: 0;
}
.bakery .strong-view.wpmtst-modern .wpmtst-testimonial-inner {
    padding-right: 0;
    padding-left: 0;
}
.bakery .strong-rating-wrapper {
    margin-bottom: 10px;
}
.bakery .strong-rating-wrapper .star svg path {
    fill: var(--accent2);
}
.bakery .wpmtst-testimonial-inner.testimonial-inner {
    display: flex !important;
    flex-direction: column;
}
.wpmtst-testimonial-field.testimonial-field {
    order: 1;
}
.bakery .wpmtst-testimonial-content.testimonial-content,
.bakery .strong-view.wpmtst-modern .wpmtst-testimonial-content {
    order: 2;
}
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev:before {
    left: -3px;
}
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-next:before {
    left: 3px;
}
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev:before,
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-next:before {
    background: var(--accent1) !important;
    transition: all 0.3s ease-in-out;
    height: 36px;
    width: 36px;
}
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev:hover:before,
.bakery .strong-view.controls-style-buttons:not(.rtl) .wpmslider-next:hover:before {
    background: var(--accent2) !important;
    transition: all 0.3s ease-in-out;
}
.bakery .wpb_row.strong-wall-row {
    padding-bottom: 0;
}
.strong-wall-row .container {
    max-width: unset;
    width: 100%;
}
.strong-wall-row .wpmtst-testimonial.testimonial {
    padding: 80px 0;
}
.strong-wall-row .wpmtst-testimonial.testimonial:nth-child(even) {
    background: var(--light2);
}
.strong-wall-row .wpmtst-testimonial.testimonial .testimonial-inner {
    max-width: 760px;
    margin: 0 auto;
    width: 87%;
}
.strong-wall-row .line.small-line {
    margin: 36px auto -40px auto !important;
}

@media (max-width: 979px) {
    .strong-wall-row .wpmtst-testimonial.testimonial {
        padding: 40px 0;
    }
    .strong-wall-row .line.small-line {
        margin: 36px auto 0px auto !important;
    }
}

.strong-wall-row .wpmtst-testimonial-field.testimonial-field {
    justify-content: center;
    margin-bottom: 18px;
    display: flex;
}
.strong-wall-row .wpmtst-testimonial-content.testimonial-content {
    text-align: center;
}
.home .bakery .wpb_row.blog-row-parent {
    padding-bottom: 60px;
    padding-top: 50px;
}

@media (min-width: 980px) {
    .featured-post .feat-post-left,
    .featured-post .feat-post-right {
        width: 50%;
    }
    .featured-post .flex.vertical-align {
        display: flex;
    }
    .feat-post-left {
        margin-right: 60px;
    }
}

.feat-post-left {
    align-items: center;
    display: flex;
}
a.archive-post-image-link {
    background-position: top left;
    background-repeat: no-repeat;
    background-size: cover;
    height: 360px;
    width: 100%;
}
body .feat-post-right span.cat,
body .feat-post-right h5 {
    font-family: var(--BrandGrotReg);
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--dark3);
    margin-bottom: 7px;
    line-height: 26px;
    font-weight: normal;
    font-size: 11px;
}
body .featured-post h2.feat-post-title {
    text-transform: none;
    letter-spacing: 0.5px;
    margin-bottom: 14px;
    line-height: 32px;
    font-size: 28px;
}
p.feat-post-date-author {
    align-items: center;
    margin-right: 100px;
    font-size: 14px;
    display: flex;
}
p.feat-post-date-author:before {
    border: 2px solid var(--accent1);
    justify-content: center;
    font-family: fontello;
    color: var(--accent1);
    border-radius: 50px;
    align-items: center;
    margin-right: 8px;
    content: '\e83d';
    font-size: 20px;
    display: flex;
    height: 32px;
    width: 32px;
}
p.feat-post-content {
    margin-bottom: 18px !important;
}

/* Forms */
label.gfield_label {
    font-family: var(--BrandGrotReg);
    font-size: 12px !important;
    font-weight: normal;
}

/* Tabs */
.tabs .vc_tta.vc_general .vc_tta-tab.vc_active>a::after,
.tabs .vc_tta.vc_general .vc_tta-tab.vc_active>a::before {
    display: none !important;
}
#content .bakery .tabs .vc_tta-tabs.vc_tta-tabs-position-top .vc_tta-tabs-list {
    overflow: unset;
}
.bakery .tabs div.vc_tta-tabs-container {
    background: var(--accent1);
    justify-content: center;
    align-items: center;
    display: flex;
}
body #content .tabs .vc_tta-tabs-list {
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    padding: 24px 0;
}
body #content .tabs .vc_tta-tabs-list .vc_tta-tab {
    justify-content: center;
    align-items: center;
    display: flex;
}
body #content div.vc_tta-panel-heading h4.vc_tta-panel-title a span.vc_tta-title-text,
body #content .tabs li.vc_tta-tab a span.vc_tta-title-text {
    /*font-family: var(--BrandGrotReg);*/
    letter-spacing: 1.77px;
    font-weight: normal;
    font-size: 18px;
    line-height: 1;
}
/*idle*/
body #content .bakery .tabs .vc_tta-tabs-list .vc_tta-tab a {
    background-color: var(--light1);
    border: 3px solid var(--light1);
    color: var(--accent2);
    border-radius: 50px;
    padding: 10px 0px;
    height: unset;
    width: 87%;
}
/*active*/
body #content .bakery .tabs li.vc_tta-tab.vc_active a,
body #content .bakery .tabs li.vc_tta-tab.vc_active a:hover {
    background-color: var(--accent1);
}
body #content .bakery .tabs li.vc_tta-tab.vc_active a span.vc_tta-title-text {
    color: var(--light1);
}
/*hover*/
body #content .bakery .tabs li.vc_tta-tab:not(.vc_active) a:hover {
    opacity: 0.5;
}

/* Tabbed Menu Content */
body #content .bakery .wpb_row.tabs .vc_tta-panels-container {
    padding: 55px 5%;
}
.bakery .tabs .vc_inner {
    align-items: start;
}
.bakery .tabs .vc_inner:last-child {
    padding-bottom: 0;
}
.bakery .wpb_row.menu-heading-row {
    padding-bottom: 28px;
    padding-top: 0;
}

@media (min-width: 980px) {
    .tabs .vc_inner .wpb_column {
        padding: 0 2.5%;
    }
    .tabs .vc_inner .wpb_column:first-child {
        padding-left: 0 !important;
    }
    .tabs .vc_inner .wpb_column:last-child {
        padding-right: 0 !important;
    }
}

.tabs h3 {
    letter-spacing: 1px;
    text-align: center;
    font-size: 16px;
}
.tabs h3:not(:first-child) {
    margin-top: 32px;
}
.tabs hr {
    background-color: var(--accent3);
    margin: 16px auto !important;
    border: none;
    height: 2px;
    width: 90%;
}
.tabs p {
    text-align: center;
}
.newsletter-cta input[type="email"] {
    border: 2px solid #000 !important;
    background: transparent;
    box-shadow: none;
}

/* Single Location */
body #content .location-nap-row a {
    transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: var(--dark3);
}
body #content .location-nap-row a:hover {
    transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: var(--accent1);
}
.bakery .map-row .wpb_gmaps_widget .wpb_wrapper {
    padding: 0;
}

/* Collage columns */
.bakery .collage-col .wpb_text_column .wpb_wrapper p {
    justify-content: start;
    flex-wrap: wrap;
    display: flex;
    row-gap: 18px;
}
.bakery .collage-col .wpb_text_column .wpb_wrapper p img {
    margin: 0;
}
.bakery .collage-col .wpb_text_column .wpb_wrapper p img:nth-child(1) {
    width: 100%;
}
.bakery .collage-col .wpb_text_column .wpb_wrapper p img:nth-child(2) {
    padding-right: 9px;
    width: 50%;
}
.bakery .collage-col .wpb_text_column .wpb_wrapper p img:nth-child(3) {
    padding-left: 9px;
    width: 50%;
}
.bakery .collage-col .wpb_text_column .wpb_wrapper p br {
    display: none;
}

@media (max-width: 979px) {
    .bakery .collage-col .wpb_text_column .wpb_wrapper p {
        row-gap: 14px;
    }
    .bakery .collage-col .wpb_text_column .wpb_wrapper p img:nth-child(2) {
        padding-right: 7px;
    }
    .bakery .collage-col .wpb_text_column .wpb_wrapper p img:nth-child(3) {
        padding-left: 7px;
    }
}

/* Accordions */
body #content div.vc_tta-panel.vc_active .vc_tta-panel-heading h4.vc_tta-panel-title a span.vc_tta-title-text {
    color: var(--accent2);
}

/* Products Promo Row */
.bakery .products-promo-row h3,
.bakery .products-promo-row h4 {
    font-family: var(--BrandGrotReg);
    letter-spacing: 2px;
    line-height: 26px;
    font-weight: normal;
    font-size: 20px;
}
.products-promo-row.promo-icons img {
    max-width: 80px;
    height: auto;
}

/* Many uses row */

@media (min-width: 980px) {
    .many-uses-row .wpb_column {
        padding: 0 2.5%;
    }
    .many-uses-row .wpb_column:nth-child(1) {
        padding-right: none !important;
    }
    .many-uses-row .wpb_column:nth-child(2) {
        padding-left: none !important;
    }
}

.bakery .vc_row.many-uses-row .vc_inner {
    align-items: flex-start;
}
.plain-fifty hr.line {
    border-color: var(--accent1);
    margin: 32px 0 !important;
}
.many-uses-row hr.line {
    border-color: var(--accent1);
    margin: 16px 0 !important;
}
.many-uses-row h3,
.many-uses-row h4 {
    font-family: var(--BrandGrotReg);
    font-weight: normal;
    letter-spacing: 0;
    line-height: 30px;
    font-size: 24px;
}

/* Blog Archive */

@media (min-width: 980px) {
    body#blog-page .blog .wrap div#primary {
        gap: 32px;
    }
}

@media (max-width: 979px) {
    body#blog-page .blog .wrap div#primary {
        padding-bottom: 0 !important;
        padding-top: 40px !important;
    }
    body#blog-page .blog #primary article {
        margin-bottom: 18px;
        width: 100%;
    }
    body#blog-page .blog #primary article::last-child {
        margin-bottom: 0px;
    }
}

body#blog-page .blog .wrap div#primary {
    justify-content: center;
    align-items: start;
    max-width: 1820px;
    flex-wrap: wrap;
    padding: 60px 0;
    margin: 0 auto;
    display: flex;
    width: 96%;
}
body#blog-page #content #primary .post-image-and-text {
    margin-bottom: 22px;
}
body#blog-page #content #primary .post-image-wrap {
    margin-bottom: 0px !important;
}
body#blog-page #content #primary .post-image-wrap,
body#blog-page #content #primary .post-image-wrap a,
body#blog-page #content #primary .post-image-wrap a img {
    border-top-right-radius: 24px;
    border-top-left-radius: 24px;
    display: block;
}
body#blog-page #content #primary .post-image-wrap a:hover img {
    transition: all 0.3s ease-in-out;
    opacity: 0.70;
}
.blog-post-row img.post-image {
    transition: all 0.3s ease-in-out;
    max-height: 100%;
    height: auto;
    width: 100%;
}
.post-text-wrap {
    border-bottom-right-radius: 24px;
    border-bottom-left-radius: 24px;
    background: var(--light2);
    padding: 16px 32px;
}
p.archive-post-category {
    text-transform: uppercase;
    letter-spacing: 1.75px;
    color: var(--accent2);
    margin-bottom: 5px;
    line-height: 16px;
    font-size: 14px;
    display: none;
}
body #content h2.archive-post-title {
    text-transform: none;
    margin-bottom: 14px;
    letter-spacing: 0;
    line-height: 36px;
    font-size: 32px;
}
body #content h2.archive-post-title a {
    transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: var(--accent1);
}
body #content h2.archive-post-title a:hover {
    transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: var(--accent2);
}
body#blog-page #content p.archive-post-date-author {
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 1;
}
body#blog-page p.archive-post-excerpt {
    margin: 12px 0;
}
body#blog-page div#pagination {
    background: var(--dark2);
    justify-content: center;
    align-items: center;
    padding: 25px 5%;
    display: flex;
    width: 100%;
    gap: 32px;
}
body#blog-page div#pagination .container {
    justify-content: center;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    width: 90%;
}
body#blog-page .left-pag,
body#blog-page .right-pag {
    align-items: center;
    display: flex;
}
body.paged .left-pag,
body.paged .right-pag {
    text-align: center;
}
body#blog-page #content div#pagination a {
    font-family: var(--BrandGrotBold);
    transition: all 0.3s ease-in-out;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--light1);
    letter-spacing: 1px;
    font-size: 16px;
    line-height: 1;
}
body#blog-page #content div#pagination a:hover {
    transition: all 0.3s ease-in-out;
    color: var(--accent2) !important;
}

@media (max-width: 480px) {
    body#blog-page #content #primary .post-image-wrap {
        margin-bottom: 16px;
    }
    body #content h2.archive-post-title {
        font-size: 24px !important;
        line-height: 1 !important;
        letter-spacing: 0px;
    }
    body article.blog-post-row hr {
        margin-bottom: 22px;
    }
    body#blog-page #content #primary .post-image-and-text {
        margin-bottom: 0;
    }
    .post-read-more-wrap a {
        width: 100%;
    }
    body#blog-page .blog .wrap div#primary {
        padding: 30px 0 10px 0 !important;
        width: 90%;
    }
}

/* /Blog Archive */

/* Single Blog */
body.single-post #content .blog.single {
    padding: 60px 0;
}
body.single-post #content .wrap {
    max-width: 1820px;
    column-gap: 30px;
    margin: 0 auto;
    width: 100%;
}
body.single-post .default-header h2 {
    text-shadow: 0px 0px 48px var(--dark3);
    text-transform: none;
    letter-spacing: 0px;
    text-align: center;
    font-size: 64px;
    line-height: 1;
}
body.single-post #primary {
    width: 75% !important;
    display: block;
}
body.single-post #secondary {
    width: 25% !important;
}
body.single-post h1 {
    color: var(--dark3);
}
body #content span.single-post-author a {
    color: var(--dark3);
}
.single-post-content p:not(:last-child) {
    margin-bottom: 18px;
}
body.single-post p.single-post-meta span {
    font-size: 14px;
    line-height: 1;
}
div#single-pagination {
    background: var(--light2);
    justify-content: center;
    border-radius: 24px;
    align-items: center;
    margin-top: 24px;
    column-gap: 5%;
    padding: 24px;
    display: flex;
    gap: 32px;
}
div#single-pagination > div {
    justify-content: center;
    align-items: center;
    display: flex;
}
body.single-post #content div#single-pagination a {
    font-family: var(--BrandGrotBold);
    transition: all 0.3s ease-in-out;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--dark3);
    letter-spacing: 1px;
    font-size: 16px;
    line-height: 1;
}
body.single-post #content div#single-pagination a:hover {
    transition: all 0.3s ease-in-out;
    color: var(--accent1);
}
aside#secondary {
    background: var(--light2) !important;
    padding: 20px 24px !important;
    border-radius: 16px;
    position: sticky;
    top: 200px;
}
aside#secondary h2.widget-title {
    letter-spacing: 1px !important;
    margin-bottom: 5px !important;
    font-size: 16px !important;
    color: var(--dark3);
}
#secondary ul {
    list-style: none;
}
#secondary ul:not(.social) li {
    border-bottom: 1px solid var(--dark3);
    padding: 10px 0;
}
#secondary ul li,
#secondary ul li a {
    line-height: 1.1;
    font-size: 14px;
}
body #content #secondary ul li a {
    text-decoration: none;
    color: var(--dark3);
}
body #content #secondary ul li a:hover {
    text-decoration: none;
    color: var(--accent1);
}
body #content aside#secondary ul.social {
    justify-content: start;
}
body.single-post img.feat-img {
    border-radius: 16px;
    max-width: 100%;
    height: auto;
    width: 100%;
}
body.single-post .single-post-content h2 {
    margin-bottom: 8px;
    font-size: 28px;
    line-height: 1;
}
body.single-post .single-post-content h3 {
    margin-bottom: 8px;
    font-size: 24px;
    line-height: 1;
}
body.single-post .single-post-content ul,
body.single-post .single-post-content ol {
    margin-bottom: 18px;
    padding-left: 32px;
}

@media (min-width: 980px) {
    body.single.admin-bar { margin-top: 0; }
}

@media (max-width: 979px) {
    html[lang="en-US"] {
        margin-top: 0 !important;
    }
    body.single.admin-bar {
        margin-top: 0;
    }
    body #content aside#secondary {
        width: 100%;
        margin-top: 40px;
        padding: 40px;
    }
}

@media (max-width: 782px) {
    html[lang="en-US"] {
        margin-top: 0 !important;
    }
}

@media (max-width: 480px) {
    body #content aside#secondary {
        padding: 20px;
    }
}

body.single #content .blog.single {
    justify-content: center;
    padding: 168px 0 60px 0;
    align-items: start;
    max-width: 1520px;
    flex-wrap: wrap;
    margin: 0 auto;
    display: flex;
    width: 92%;
    gap: 32px;
}
body.single #content .blog.single .wrap {
    max-width: unset;
    width: 100%;
}
.single-intro {
    background: var(--dark1);
    padding: 100px 0 70px 0;
}
.single-intro .container {
    align-items: flex-start;
    justify-content: center;
    max-width: unset;
    margin: 0 auto;
    display: flex;
    width: 93%;
}
h1.single-post-title {
    text-transform: none;
    letter-spacing: 0;
}
div.single-post-meta-wrap {
    margin-top: 5px;
}

@media (min-width: 980px) {
    .single-intro .container > div {
        margin-bottom: 0;
        width: 50%;
    }
    .single-intro .container > div:nth-child(1) {
        padding-right: 2.5%;
    }
    .single-intro .container > div:nth-child(2) {
        padding-left: 2.5%;
        padding-top: 24px;
    }
}

@media (max-width: 979px) {
    .single-intro .container {
        flex-direction: column-reverse;
    }
    .single-intro .container > div {
        width: 100%;
    }
}

body #content .nav-previous a,
body #content .nav-next a{
    background-color: var(--accent1);
    color: var(--light1);
    text-align: center;
    padding: 15px 20px;
    min-width: 150px;
    display: block;
}
body #content .nav-previous a:hover,
body #content .nav-next a:hover {
    transition: all 0.3s ease-in-out;
    background: var(--accent1_65);
    text-decoration: none;
    color: var(--light1);
}
body #content a.all-blogs-link {
    padding: 15px 28px;
    min-width: 130px;
    max-width: 90px;
}
body.single h1.single-post-title {
    color: var(--accent1);
    line-height: 36px;
    font-size: 32px;
}
body.single .single-post-feat-img-wrap img {
    height: auto;
    width: 100%;
}

body.single .single-post-content-wrap {
    margin-bottom: 0;
}
.blog-beef {
    padding: 40px 0;
    width: 100%;
}
.blog-beef .container,
.single-pagination .container {
    max-width: 1200px;
    margin: 0 auto;
    width: 90%;
}
body.single .single-pagination {
    width: 100%;
}
body.single nav.navigation.post-navigation {
    background: unset;
    max-width: none;
    padding: unset;
    width: 100%;
    margin: 0;
}
body.single .navigation .nav-links > * {
    min-width: unset;
    min-height: unset;
}
body.single #content .navigation .nav-links a.btn-bt {
    text-transform: uppercase;
    justify-content: center;
    text-decoration: none;
    letter-spacing: 2px;
    flex-direction: row;
    align-items: center;
    color: var(--dark3);
    border-radius: 2px;
    text-align: center;
    padding: 13px 28px;
    font-size: 14px;
    line-height: 1;
    display: flex;
}
body.single .single-post-content-wrap h2 {
    margin-bottom: 18px;
}
body.single .single-post-content-wrap h3 {
    margin-bottom: 16px;
}
body.single .single-post-content-wrap a.btn-bt {
    margin-top: 16px;
}
body.single .single-post-content-wrap p:not(:last-child) {
    margin-bottom: 16px;
}
body.single .single-post-content-wrap img {
    margin-bottom: 2em;
    margin-top: 2em;
}

@media (max-width: 979px) {
    body.single-post #primary,
    body.single-post #secondary {
        width: 100% !important;
        display: block;
    }
    body.single #content .blog.single {
        padding: 40px 0;
        width: 90%;
    }
}

@media (max-width: 480px) {
    body.single h1.single-post-title {
        line-height: 28px;
        font-size: 18px;
        margin: 15px 0px;
    }
    .single-intro {
        padding: 30px 0 20px 0;
    }
    div#single-pagination {
        column-gap: 6%;
        padding: 18px;
    }
    body.single-post #content div#single-pagination a {
        font-size: 12px;
    }
}
/* /Single Blog */

/* FAQ */
body h3.h3-above-faqs {
    line-height: 24px;
    font-size: 24px;
}

@media (max-width: 480px) {
    body#faq-page .default-header {
        background-position: bottom center !important;
    }
}

/* Gallery */
.gallery-carousel-row h3 {
    margin-bottom: 24px !important;
}
.bakery .wpb_row.gallery-grid-outer {
    padding: 50px 0 80px 0;
}
.bakery .wpb_row.gallery-grid-inner {
    padding: 0;
}
.gallery-grid-inner .vc_pageable-slide-wrapper.vc_clearfix {
    width: 100%;
}
.gallery-grid-inner .vc_grid.vc_row.vc_grid-gutter-35px.vc_pageable-wrapper.vc_hook_hover {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

@media (max-width: 979px) {
    .bakery .wpb_row.gallery-grid-outer {
        padding: 36px 0;
    }
}

/* END Gallery */

/* Privacy Policy */
#legal-page #content .bakery hr {
    margin: 35px 0;
}
#legal-page #content .bakery ul:not(.social) {
    margin-bottom: 16px;
}
#legal-page #content .bakery ul ul {
    margin-top: 16px;
}
#legal-page #content .bakery ul:not(.social) li {
    margin-bottom: 7px;
}
#legal-page #content .bakery ol {
    margin-bottom: 16px;
    padding-left: 18px;
    margin-top: 36px;
}
#legal-page #content .bakery  h2 {
    margin-bottom: 0;
    font-size: 36px;
}
#legal-page #content .bakery li h3 {
    line-height: 1.25;
    font-size: 24px;
}
#legal-page #content .bakery p,
#legal-page #content .bakery p a:not(.ab-item),
#legal-page #content .bakery p span,
#legal-page #content .bakery ul:not(.social) li {
    font-size: 16px;
}
/* /Privacy Policy */

body .fw-blurb h3 {
    font-family: var(--BrandGrotReg);
    text-transform: none;
    letter-spacing: 1px;
    margin-bottom: 24px;
    line-height: 33px;
    margin-top: 24px;
    font-size: 24px;
}
.fw-blurb a {
    margin: 0 auto;
}

/* Top Anchor + Recaptcha */
a.topbutton {
    background-color: var(--accent1);
    transition: all 0.3s ease-in-out;
    border: 2px solid var(--light1);
    text-decoration: none;
    border-radius: 7px;
    bottom: 148px;
    right: 10px;
}
a.topbutton:hover {
	border-color: var(--accent2);
}
a.topbutton i.icon-angle-up {
	justify-content: center;
	align-items: center;
	display: flex;
}
a.topbutton i.icon-angle-up:before {
	transition: all 0.3s ease-in-out;
    margin: 0 !important;
    color: var(--light1);
    position: relative;
    font-size: 48px;
    line-height: 1;
    top: -4.5px;
}
a.topbutton:hover i:before {
	transition: all 0.3s ease-in-out;
	color: var(--accent2);
}
div.grecaptcha-badge {
    bottom: 70px !important;
}
/* END Top Anchor + Recaptcha */

/*~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~*/
/*~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~*/
/*~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~*/

/* Responsive */

@media (max-width: 979px) {
    body .feat-post-right h5 {
        margin-top: 8px;
    }
    .home .bakery .wpb_row.blog-row-parent {
        padding-bottom: 0px;
        padding-top: 40px;
    }
    .bottom-cta.add-parallax {
        padding: 40px 0;
    }
    .bakery .wpb_column.opacity-form-col {
        padding: 40px 7% 0px 7%;
    }
    footer#footer div[class*='footer-col']:not(:last-child) .widget:last-child {
        margin-bottom: 32px;
    }
    footer#footer div[class*='footer-col']:last-child .widget:last-child {
        margin-bottom: 0;
    }
    .bakery .wpb_row.about-top-row-outer {
        padding: 40px 0 !important;
    }
    .bakery .wpb_row.team-row-top {
        padding-top: 40px !important;
    }
    .bakery .wpb_row.accordion-row {
        padding-bottom: 24px !important;
    }
    .bakery .wpb_row.products-promo-row {
        padding-bottom: 50px !important;
    }
    .bakery .wpb_row.product-promo-outer {
        padding-bottom: 0 !important;
    }
    .bakery .wpb_row.no-padding-small-desktop {
        padding: 0 !important;
    }
    .bakery .wpb_row.many-uses-row {
        padding: 40px !important;
    }
    .bakery .wpb_row.pb0-mobile {
        padding-bottom: 0 !important;
    }
    body.single h1.single-post-title {
        font-size: 24px;
    }
    .bakery .wpb_row.contact-intro {
        padding: 40px !important;
    }
}

@media (max-width: 768px) {
    .home .bakery .fifty-section {
        padding-bottom: 40px !important;
        padding-top: 40px !important;
    }
}

@media (max-width: 480px) {
    .nearest-location .sa_owl_theme .owl-nav .owl-prev {
        left: -13px;
    }
    .nearest-location .sa_owl_theme .owl-nav .owl-next {
        right: -15px;
    }
    body.home .bottom-cta h2 {
        line-height: 1.2;
        font-size: 22px;
    }
    body a.topbutton {
        bottom: 265px !important;
    }
    body div.grecaptcha-badge {
        bottom: 188px !important;
    }
    .vc_col-sm-12 a.btn-bt,
    .vc_col-sm-6 a.btn-bt,
    p.featu-post a.btn-bt {
        margin-right: auto;
        margin-left: auto;
    }
    body.search a.more-link {
        margin-right: auto !important;
        margin-left: auto !important;
    }
    body.blog a.btn-bt:not(.btn-default),
    body.blog #pagination a {
        margin-right: auto;
        margin-left: auto;
        max-width: 250px;
        display: block;
    }
    body.blog #pagination {
        margin-top: 80px;
        width: 100%;
    }
    body h2, body h3 {
        letter-spacing: 0px;
        line-height: 25px;
        font-size: 18px;
    }
}

/* **************************************************************************** */
/* ************************** FROM OLD ICECREAM.CSS *************************** */
/* **************************************************************************** */

.white {
    color: var(--white) !important;
}
/* desktop subnav active link color */
header#header nav.primary-navigation ul.menu-wrapper ul.sub-menu .current-menu-item > a:first-child,
header#header nav.primary-navigation ul.menu-wrapper ul.sub-menu .current_page_item > a:first-child {
    color: var(--white) !important;
}

/* mobile active link color */
@media (max-width: 979px) {
    header#header nav.main-navigation .current-menu-item > a:first-child,
    header#header nav.main-navigation .current_page_item > a:first-child,
    header#header #mobile-site-navigation ul.mobile-menu li.current-menu-item a {
        color: var(--white) !important;
    }
}

body h1,
body h2:not(.widget-title),
body h3,
body h4,
body h5,
body h6 {
    /*text-transform: uppercase;*/
    font-weight: normal;
    color: var(--dark2);
    text-align: left;
}
body h2 {
    margin-bottom: 30px;
}
body h2,
body h3 {
    letter-spacing: 0px;
    line-height: 45px;
    font-size: 42px;
}
.plain-fifty h2 {
    margin-bottom: 16px;
    line-height: 42px;
    font-size: 34px;
}
body .reviews-white-box h2 {
    margin-bottom: 18px;
}
.follow-us h2 {
    margin-bottom: 18px;
    line-height: 32px;
    font-size: 32px;
}
.plain-fifty h3 {
    text-transform: none;
    margin-bottom: 18px;
    line-height: 30px;
    font-size: 22px;
}
.post-box h3 {
    text-transform: none;
}
body h4 {
    letter-spacing: 3px;
    font-size: 28px;
}
.bakery .brands-row.partner-row h4 {
    margin-bottom: 36px;
    letter-spacing: 1px;
    line-height: 28px;
    font-size: 22px;
}
body h5 {
    letter-spacing: 1.75px;
    font-size: 24px;
}

/* social circles */

ul.social {
    justify-content: center;
    flex-direction: row;
    align-items: center;
    display: flex;
}
ul.social li a {
    text-decoration: none;
}

ul.social li a i {
    transition: all 0.3s ease-in-out;
    border: 2px solid var(--accent2);
    background: var(--accent2);
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    color: var(--white);
    display: flex;
}
ul.social li a i:before {
    transition: all 0.3s ease-in-out;
    color: var(--white);
}
ul.social li a:hover i {
    transition: all 0.3s ease-in-out;
    background: var(--white);
}
ul.social li a:hover i.twitter-x-unicode,
ul.social li a:hover i:before {
    transition: all 0.3s ease-in-out;
    color: var(--accent2);
}

/* Buttons */
.bakery .promo-row a.btn-bt.default,
.bakery .promo-row a.btn-bt.alternate {
    transition: all 0.3s ease-in-out;
    max-width: 80% !important;
    display: block;
    margin: 0 auto;
    padding: 8px 0;
}
a.btn-bt.default:hover {
    box-shadow: 2px 2px 12px 0 rgba(0,0,0,0.24);
    transition: all 0.3s ease-in-out;
}
a.btn-bt.alternate {
    border: 3px solid var(--accent1);
}
a.btn-bt.alternate:hover {
    box-shadow: 2px 2px 12px 0 rgba(0,0,0,0.24);
    transition: all 0.3s ease-in-out;
    border: 3px solid var(--white);
}
.promo-row a.btn-bt {
    position: relative;
    top: -24px;
}
.bakery .wpb_row:not(.promo-row) a.btn-bt {
    padding: 18.5px 0;
    max-width: 280px;
    display: block;
}
.bakery a.btn-bt.centered {
    margin: 0 auto !important;
}

/* admin bar */

@media (min-width: 980px) {
    body.logged-in header#header {
        top: 32px;
    }
}

/* home promo */
.line {
    margin: 53px auto 60px auto !important;
}
.promo-row .wpb_content_element {
    margin-bottom: 12px;
}

/* home blogs */
.homepage-posts-container .post-box .post-img {
    background-position: center;
    background-size: cover;
    margin-bottom: 30px;
    margin-top: 10px;
    height: 225px;
    width: 225px;
}
.homepage-posts-container .post-box h3 {
    letter-spacing: 2px;
    margin-bottom: 4px;
    line-height: 28px;
    font-weight: normal;
    font-size: 22px;
}
.post-box .post-text a.btn-bt.alternate {
    margin-top: 8px;
    width: 175px;
}
.readmore-page a {
    font-family: 'Open Sans', sans-serif;
    text-transform: uppercase;
    border: 2px solid var(--accent1);
    background-color: var(--white);
    letter-spacing: 1px;
    border-radius: 30px;
    text-align: center;
    padding: 10px 20px;
    font-size: 14px;
    margin: 0 auto;
    color: var(--accent1);
}
.readmore-page a:hover {
    box-shadow: 2px 2px 12px 0 rgba(0, 0, 0, 0.25);
    border: 3px solid var(--white);
    background: var(--accent1);
    color: var(--white);
}

@media (min-width: 980px) {
    .blog-row .container {
        justify-content: center;
        align-items: center;
    }
    .homepage-posts-container .post-box {
        align-items: center;
        display: flex;
    }
    .homepage-posts-container .post-box .post-text {
        margin-left: 35px;
    }
}

@media (max-width: 979px) {
    .homepage-posts-container .post-box .post-text {
        text-align: center;
    }
    .homepage-posts-container .post-box .post-img {
        margin: 10px auto 30px;
    }
    .homepage-posts-container .post-box .btn-bt.alternate {
        margin: 15px auto 15px;
    }
    .homepage-posts-container .post-box {
        margin-top: 40px;
    }
}

/* home mid cta */

@media (min-width: 768px) {
    .home-mid-cta {
        height: 400px;
    }
}

.home-mid-cta h2 {
    margin-bottom: 20px;
    line-height: 54px;
    font-size: 48px;
}
.home-mid-cta p.white {
    margin-bottom: 24px !important;
}

/* nearest location */
#locationSlider {
    margin-bottom: 0;
}
#locationSlider .promo-row.location-promo img {
    display: block;
    margin: 0 auto;
    float: none;
}
#locationSlider button.owl-prev,
#locationSlider button.owl-next {
    background: transparent !important;
}
button.owl-prev:before {
    transition: all 0.3s ease-in-out;
    font-family: fontello;
    position: relative;
    content: '\f104';
    font-size: 70px;
    color: #e62727;
    left: -50px;
}
button.owl-next:before {
    transition: all 0.3s ease-in-out;
    font-family: fontello;
    position: relative;
    content: '\f105';
    font-size: 70px;
    color: #e62727;
    right: -50px;
}

button.owl-prev:hover:before,
button.owl-next:hover:before {
    transition: all 0.3s ease-in-out;
    color: #000;
}

@media (max-width: 979px) {
    button.owl-prev:before {
        left: -20px;
    }
    button.owl-next:before {
        right: -20px;
    }
}

@media (max-width: 768px) {
    button.owl-prev:before {
        left: -32px;
    }
    button.owl-next:before {
        right: -32px;
    }
}

@media (max-width: 479px) {
    button.owl-prev:before {
        left: -5px;
    }
    button.owl-next:before {
        right: -5px;
    }
    .bakery .nearest-location .container {
        max-width: 312px;
    }
}

/* home reviews */

.bakery .reviews-white-box .vc_column-inner {
    padding: 40px 75px;
}
.home-review-one,
.home-review-two {
    margin-bottom: 24px;
}
p.stars {
    margin-bottom: 4px;
    text-align: center;
}
p.stars .icon-star-1 {
    font-size: 24px;
    color: var(--accent2);
}
p.stars .icon-star-1:before {
    margin: 0 2px;
}

body #content .strong-view.wpmtst-modern .wpmtst-testimonial-content:before, body #content .strong-view.wpmtst-modern .wpmtst-testimonial-content:after {
    color: var(--accent2);
    background: var(--accent2);
}

body #content .strong-view.controls-style-buttons:not(.rtl) .wpmslider-prev:before, body #content .strong-view.controls-style-buttons:not(.rtl) .wpmslider-next:before {
    background: var(--accent2);
}

@media (max-width: 979px) {
    body #content .strong-view.wpmtst-modern.controls-type-sides .wpmtst-testimonial-inner {
        padding-left: 0px;
        padding-right: 0px;
    }
}

/* follow us row */
.follow-us ul.social {
    text-align: center;
}
.follow-us div.unite-gallery {
    margin-top: 5px !important;
}

/* brands / partners row */
.flex-images {
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
    flex-wrap: wrap;
    display: flex;
}
.flex-images img {
    height: 70px;
    width: auto;
}

@media (max-width: 979px) {
    .flex-images {
        margin-top: 0;
    }
    .flex-images img {
        margin: 2em auto 0 auto;
        height: auto;
        width: 26%;
    }
}

@media (max-width: 480px) {
    .flex-images img {
        height: auto;
        width: 34%;
    }
}

/* footer */
footer#footer i.footer-icon {
    color: var(--accent3);
    text-shadow: none;
    font-size: 24px;
}
p.footer-hours {
    margin-bottom: 10px;
    display: flex;
}
p.footer-email,
p.footer-phone,
p.footer-hours,
p.footer-address {
    justify-content: center;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
footer#footer p {
    text-align: center;
}
footer#footer i.footer-icon {
    padding-right: 0;
}

/* copyright */
.row.copyright {
    padding: 6px 0;
}
.middle-three-column .menu-copyright-menu-container ul#menu-copyright-menu {
    margin: 0 auto !important;
    padding: 0px !important;
    max-width: 650px;
}
.menu-copyright-menu-container ul#menu-copyright-menu li a {
    text-transform: uppercase;
    letter-spacing: 1.77px;
    text-decoration: none;
    font-weight: normal;
    font-size: 14px;
}
.copyright-links a {
    text-transform: uppercase;
    text-decoration: none;
}

/* back to top button */
.topbutton.hide {
    display: none;
}
.topbutton.flex {
    display: flex !important;
}

/* blox index tabs */
.filter-text-row {
    padding-bottom: 0 !important;
}
.filter-text-row .vc_column-inner {
    padding-top: 0 !important;
}
#blog-page div.blog {
    display: none;
}
#content .bakery .vc_row.blog-tabs-row {
    padding-top: 0;
}
.blog-tabs-row .vc_tta-panel-body {
    padding: 0 !important;
}
.blog-tabs-row .vc_tta-container {
    margin-bottom: 0;
}

@media (min-width: 980px) {
    body #content .blog-tabs-row .vc_tta-tabs-list .vc_tta-tab {
        text-align: center;
        margin: 0;
    }
}

body #content .blog-tabs-row li.vc_tta-tab {
    flex: 1;
}
body #content .blog-tabs-row li.vc_tta-tab:nth-child(2) {
    flex: 1.2;
}
body #content .blog-tabs-row .container {
    max-width: unset;
    width: 100%;
}
body #content .blog-tabs-row .vc_tta-panels {
    background: transparent;
    border: 0;
}
body #content .blog-tabs-row .vc_tta-tabs-container {
    margin: 0;
}
body #content .blog-tabs-row .vc_tta-tabs-list .vc_tta-tab {
    text-align: center;
    margin: 0;
}
body #content .blog-tabs-row .vc_tta-tabs-list {
    justify-content: center;
    background: var(--accent1);
    display: flex;
    width: 100%;
    margin: 0;
}
body #content .blog-tabs-row .vc_tta-tabs-list .vc_tta-tab a {
    background-color: var(--accent1);
    text-transform:uppercase;
    justify-content: center;
    letter-spacing: 1px;
    align-items: center;
    border-radius: 0;
    font-size: 16px;
    display: flex;
    height: 85px;
    color: var(--white);
    border: 0;
}
body #content .blog-tabs-row .vc_tta-panel.vc_active {
    padding: 0;
}
body #content .blog-tabs-row h2 {
    margin-bottom: 16px;
}
body #content .blog-tabs-row h3 {
    text-transform: uppercase;
    letter-spacing: 0px;
    padding-top: 15px;
    font-size: 16px;
}
body #content .blog-tabs-row .p-excerpt {
    margin-bottom: 22px;
    line-height: 22px;
}
body #content .blog-tabs-row .wpb_text_column.wpb_content_element {
    margin-bottom: 0px;
}
body #content .blog-tabs-row span.vc_tta-title-text {
    justify-content: center;
    align-items: center;
    display: flex;
}
body #content .blog-tabs-row .vc_tta-tab span.vc_tta-title-text:before {
    transition: all 0.3s ease-in-out;
    border: 2px solid var(--white);
    border-radius: 50px;
    margin-right: 10px;
    height: 24px;
    width: 24px;
    content: "";
}
body #content .blog-tabs-row .vc_tta-tab:hover span.vc_tta-title-text:before,
body #content .blog-tabs-row .vc_tta-tab.vc_active span.vc_tta-title-text:before {
    transition: all 0.3s ease-in-out;
    background: var(--white);
}
body #content .blog-tabs-row p.the-categories {
    text-transform: uppercase;
    letter-spacing: 2.5px;
    margin-bottom: 10px;
    line-height: 14px;
    font-weight: normal;
    font-size: 14px;
    color: #666;
}
.author-and-tags {
    margin: 16px 0;
}
.the-author {
    align-items: center;
    margin-right: 100px;
    font-size: 14px;
    display: flex;
}
.the-author:before {
    border: 2px solid var(--accent1);
    justify-content: center;
    color: var(--accent1);
    font-family: fontello;
    border-radius: 50px;
    align-items: center;
    margin-right: 8px;
    content: '\e83d';
    font-size: 20px;
    display: flex;
    height: 32px;
    width: 32px;
}
.the-tags {
    align-items: center;
    line-height: 18px;
    max-width: 351px;
    font-size: 14px;
    display: flex;
}
.the-tags:before {
    font-family: Open Sans, sans-serif;
    justify-content: center;
    color: var(--accent1);
    font-weight: normal;
    align-items: center;
    font-style: italic;
    margin-right: 10px;
    font-size: 36px;
    display: flex;
    content: '#';
}
.blogpage-posts-container .post-box .post-text a.btn-bt.alternate {
    width: 225px;
}
.blog-plax.bottom-cta .container {
    height: 100%;
    align-items: center;
    display: flex;
    justify-content: center;
    text-align: center;
}

@media (min-width: 980px) {
    .author-and-tags {
        align-items: center;
        display: flex;
    }
    body #content .blog-tabs-row .author-and-tags p {
        margin-bottom: 0;
    }
    .blogpage-posts-container .post-box {
        margin-bottom: 40px !important;
        justify-content: center;
        align-items: center;
        display: flex;
    }
    .blogpage-posts-container .post-box .post-text{
        margin-left:35px;
        width:70%;
    }
    .blogpage-posts-container .post-box .post-img {
        margin-bottom: 0 !important;
    }

}
@media (max-width: 979px) {
    .blogpage-posts-container .post-box .post-text{
        text-align:center;
    }
    .blogpage-posts-container .post-box .post-img {
        margin: 0 auto 30px auto;
    }
    .blogpage-posts-container .post-box .post-button{
        margin: 15px auto 15px auto;
    }
    .blogpage-posts-container .post-box {
        margin-bottom: 40px !important;
        margin-top: 40px;
    }
    .blog-tabs-row .vc_tta.vc_general .vc_tta-tab>a {
        padding: 14px 0px;
    }
    body #content .blog-tabs-row .vc_tta-tabs-list .vc_tta-tab a {
        letter-spacing: 0;
    }
}

.blogpage-posts-container .post-box .post-img {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-bottom: 30px;
    margin-top: 0;
    height: 300px;
    width: 300px;

}
.blogpage-posts-container .post-box h2 {
    text-transform: none;
    letter-spacing:0px;
    margin-bottom: 0px;
    line-height: 38px;
    font-weight: normal;
    font-size: 32px;
}
.blogpage-posts-container .post-box {
    margin-bottom: 20px;
    max-width: 1300px;
    margin: 0 auto;
    width: 90%;
}

@media (max-width: 768px) {
    body.wpb-js-composer #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-heading {
        background-color: var(--accent1);
        border-radius: 0;
        margin-bottom: 0;
        margin-top: 0;
        border: none;
    }
    body.wpb-js-composer #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title> a {
        text-transform: uppercase;
        color: var(--white);
    }
    body.wpb-js-composer #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title> a:before {
        font-family: "fontello";
        margin-right: 10px;
        font-weight: normal;
        content: "\f111";
    }
    body#faq-page #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title> a:before {
        content: none;
    }
    body.wpb-js-composer #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel.vc_active .vc_tta-panel-title> a:before {
        font-weight: normal;
    }
    body #content .blog-tabs-row .vc_tta-panel.vc_active {
        padding:0;
    }
    body.wpb-js-composer #content .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-body {
        background-color: var(--white);
        border: none;
    }
}

.cvf_pag_loading {
    padding-top: 40px;
}
.cvf-pagination-nav {
    justify-content: center;
    align-items: center;
    background: var(--accent1);
    display: flex;
    padding: 20px 0;
    width: 100%;
}
.cvf-universal-pagination {
    width: 100%;
}
.cvf-universal-pagination ul {
    justify-content: center;
    padding: 0 !important;
    margin: 0 !important;
    align-items: center;
    list-style: none;
    display: flex;
    width:  100%;
}
.cvf-universal-pagination ul li {
    transition: all 0.3s ease-in-out;
    text-decoration-color: none;
    border-radius: 6px;
    padding: 7px 20px;
    background: var(--white);
    font-weight: normal;
    font-size: 20px;
    color: var(--accent1);
    margin: 0 5px;
}
.cvf-universal-pagination ul li.active:hover,
.cvf-universal-pagination ul li.selected {
    background: rgba(255, 255, 255, 0.70);
    transition: all 0.3s ease-in-out;
}

/* Bottom CTA */
.bottom-cta {
    height: 600px;
}
.bottom-cta h2 {
    margin-bottom: 1em;
    line-height: 54px;
    font-size: 48px;
}

/* Subpage Hero */
body:not(.home) .default-header h1 {
    text-shadow: 0 0 62px rgba(0, 0, 0, 0.50);
    text-align: center;
}
#blog-page .default-header .container {
    max-width: 785px;
}
#blog-page div.blog {
    display: block !important;
}

/* mid page background image row */
#midBgImage.mid-plax {
    height: 600px;
}

/* about page time;ine */
.timeline h3 {
    margin-bottom: 0px;
    margin-top: 32px;
}

/* subpage promo row */
.subpage-promo-row h2 {
    margin-bottom: 36px !important;
}

/* locations subpage promo row */
.locations-promo-row h2 {
    margin-bottom: 18px !important;
}

/* plain fifty centering */
@media (min-width: 980px) {
    .bakery.cannon-beach .container,
    .bakery .vc_row.plain-fifty .container {
        align-items: center;
    }
}

/* menu tabs / subpage tabs */
body #content .menu-tabs-row .vc_tta-tabs-list {
    padding: 12px 0;
}
body #content .menu-tabs-row .vc_tta-panel.vc_active {
    padding: 50px 5%;
}
body #content .menu-tabs-row h2 {
    margin-bottom: 10px;
}
body #content .menu-tabs-row h3 {
    margin-bottom: 5px;
    line-height: 24px;
    font-weight: normal;
}

/*  menu page tab content styles */
.menu-tabs-row hr.line {
    margin: 16px auto !important;
    background-color: #ffcaca;
    border: none;
    height: 2px;
    width: 100%;
}
body #content .menu-tabs-row.updated h3 {
    letter-spacing: 2px;
    font-weight: normal;
    font-size: 24px;
}
body #content .menu-tabs-row.updated h4 {
    margin-bottom: 10px;
    letter-spacing: 1px;
    line-height: 28px;
    font-size: 22px;
}
.bakery .wpb_text_column p.menu-data {
    margin-bottom: 8px !important;
}
span.md-heading {
    letter-spacing: 2.77px;
    font-weight: normal;
}

.menu-flex-cols {
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
    margin-top: 40px;
    flex-wrap:  wrap;
    display: flex;
}
.menu-flex-cols.halves .flex-col {
    padding: 0 1%;
    width: 50%;
}
.menu-flex-cols.fourths .flex-col {
    padding: 0 1%;
    width: 25%;
}
.bakery .menu-flex-cols ul.menu-list {
    list-style: none;
    padding-left: 0;
}
.menu-flex-cols.centered-text p.menu-data,
.menu-flex-cols.centered-text ul.menu-list li {
    text-align: center;
}
.bakery div.vc_row.flex-start {
    align-items:  flex-start !important;
}
.bakery div.vc_row.flex-start .menu-flex-cols {
    margin-bottom: 24px;
    margin-top: 14px;
}

@media (max-width:  979px) {
    .bakery .menu-tabs-row .vc_tta-panel-body div.vc_row {
        flex-direction: column;
    }
    .menu-flex-cols div.flex-col {
        margin-bottom: 35px !important;
    }
    .menu-flex-cols.fourths .flex-col {
        width: 50%;
    }
}

@media (max-width: 767px) {
    h4.vc_tta-panel-title {
        margin-bottom: 0 !important;
    }
}

@media (max-width:  480px) {
    .menu-flex-cols.halves .flex-col,
    .menu-flex-cols.fourths .flex-col {
        width: 100%;
    }
}

/* contact top rows */
body .contact-outer-row h2 {
    margin-bottom: 18px !important;
}
.contact-outer-row h3:first-child {
    margin-top: 0 !important;
}
.contact-nap-col p {
    margin-bottom: 0px !important;
    line-height: 24px;
    font-size: 14px;
}
.contact-outer-row h3 {
    margin-top: 24px !important;
    letter-spacing: 0px;
    margin-bottom: 5px;
    line-height: 30px;
    font-size: 24px;
}
body .contact-nap-col a {
    color: #000;
}
body .contact-nap-col a:hover {
    color: var(--accent2);
}

@media (min-width: 980px) {
    .bakery .vc_col-sm-3\/5:not(.vc_col-has-fill):nth-child(1) {
        padding-right: 2.5%;
    }
    .bakery .vc_col-sm-2\/5:not(.vc_col-has-fill):nth-child(2) {
        padding-left: 2.5%;
    }
}

/* contact map image row */

.bakery .contact-outer-row {
    background-position: top left !important;
}
.map-row {
    height: 400px;
}

/* Gravity Forms */

.form-row .gform_wrapper {
    max-width: 550px;
    margin: 0 auto;
}
.gform_heading {
    display: none;
}
.gform_wrapper.gravity-theme .gfield_label {
    font-family: var(--BrandGrotBold);
    font-weight: normal !important;
    margin-bottom: 7px !important;
    padding-left: 7px !important;
    font-size: 12px !important;
    text-transform: uppercase;
    color: var(--black);
    line-height: 1;
}
.gform_wrapper.gravity-theme input:not([type="submit"]),
.gform_wrapper.gravity-theme select {
    height: 55px;
}
.gform_wrapper.gravity-theme textarea {
    height: 130px !important;
}
.gform_wrapper.gravity-theme input:not([type="submit"]),
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
    box-shadow: inset 0px 1px 4px rgba(0, 0, 0, 0.50);
    font-family: var(--BrandGrotReg);
    transition: all 0.3s ease-in-out;
    padding: 16px !important;
    font-weight: normal;
    color: var(--black);
    border-radius: 4px;
    border: none;
}
.gform_wrapper.gravity-theme input::placeholder,
.gform_wrapper.gravity-theme select::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder {
    color: rgba(0, 0, 0, 0.66);
}
.gform_wrapper.gravity-theme input:focus-visible,
.gform_wrapper.gravity-theme select:focus-visible,
.gform_wrapper.gravity-theme textarea:focus-visible {
    outline: none;
}
.gform_wrapper.gravity-theme input:not([type="submit"]):focus,
.gform_wrapper.gravity-theme textarea:focus,
.gform_wrapper.gravity-theme input:not([type="submit"]):hover,
.gform_wrapper.gravity-theme textarea:hover {
    transition: all 0.3s ease-in-out;
    background: var(--light3);
}
.gform_wrapper.gravity-theme select {
    background-image: url("/wp-content/uploads/2026/04/down-open-mini.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 18px center;
    -webkit-appearance: none;
    background-size: 12px;
    appearance: none;
    cursor: pointer;
}
.gform_wrapper.gravity-theme .gfield_description {
    font-family: var(--BrandGrotBold) !important;
    font-weight: normal !important;
    padding: 0 0 0 7px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    margin: 0 !important;
    color: var(--black);
}
.gform_wrapper.gravity-theme .gform_drop_area {
    background: rgba(97, 166, 14, 0.25) !important;
    border: 2px dashed var(--accent1) !important;
    border-radius: 16px !important;
    padding: 24px !important;
}
.gform_wrapper.gravity-theme span.gform_drop_instructions {
    font-weight: normal !important;
    font-size: 16px !important;
    line-height: 1 !important;
    padding: 0 !important;
    color: var(--black);
}
.ginput_preview_list {
    box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.12);
    padding: 16px 24px !important;
    background: var(--light3);
    border-radius: 16px;
    margin-top: 18px;
}
.ginput_preview {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    justify-content: start;
    align-items: center;
    display: flex;
}
.ginput_preview_list span:not(.dashicons),
span.gfield_fileupload_filename {
    font-weight: normal !important;
    font-size: 16px !important;
    line-height: 1 !important;
    color: var(--black);
}
body .ginput_preview_list button.gform_delete_file {
    transition: all 0.3s ease-in-out;
    position: relative;
    line-height: 1;
    top: -2px;
}
body .ginput_preview_list button.gform_delete_file span.dashicons {
    transition: all 0.3s ease-in-out;
    color: var(--black);
}
body .ginput_preview_list button.gform_delete_file:hover span.dashicons {
    transition: all 0.3s ease-in-out;
    color: red;
}
.ginput_preview_list span.dashicons {
    justify-content: center;
    align-items: center;
    font-size: 16px;
    display: flex;
}
span.gfield_fileupload_percent {
    color: var(--accent2) !important;
}
.gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: unset !important;
    grid-row-gap: unset !important;
    display: flex !important;
    row-gap: 22px !important;
    flex-direction: column;
}
.gform_wrapper.gravity-theme .gform_fields div.gfield,
.gform_wrapper.gravity-theme .gform_fields fieldset.gfield {
    margin-bottom: 0;
    line-height: 0;
    font-size: 0;
}
.gform_wrapper.gravity-theme span.gfield_required {
    line-height: 1;
}

/* Our Team */
section.vc_section.team-section-outer {
    padding: 0;
    margin: 0;
}
#team-page .bottom-cta {
    height: 550px;
}
#team-page .bottom-cta h2 {
    margin-bottom: 0.7em;
    line-height: 54px;
    font-size: 48px;
}
.team-row-top h2 {
    margin-bottom: 16px;
}
.team-row-top .line {
    margin: 40px auto 50px auto !important;
}
.team-text-col h3 {
    text-transform: none;
    letter-spacing: 1px;
    margin-bottom: 6px;
    line-height: 34px;
    font-size: 28px;
}
.team-text-col h4 {
    letter-spacing: 1px;
    margin-bottom: 3px;
    line-height: 30px;
    font-weight: normal;
    font-size: 24px;
}
.team-text-col p {
    margin-bottom: 16px !important;
    line-height: 20px;
    font-size: 14px;
}
.team-text-col ul.social {
    justify-content: left;
}
.team-text-col ul.social li a i {
    font-size: 14px;
    height: 24px;
    width: 24px;
}

/* Reviews */
.reviews p.stars {
    margin-bottom: 16px;
    text-align: left;
}
.reviews .plain-fifty h3 {
    text-transform: none;
    letter-spacing: 1px;
    margin-bottom: 20px;
    line-height: 40px;
    font-size: 34px;
}
p.review {
    line-height: 22px;
    font-size: 16px;
}
p.reviewer {
    font-weight: normal;
    font-size: 18px;
}
.reviews .top-blurb h2 {
    margin-bottom: 7px;
}
.review-row .txt-col::before {
    font-family: fontello;
    color: var(--accent3);
    position: absolute;
    content: '\f10d';
    font-size: 60px;
    top: 25px;
    left: 0;
}
.review-row .txt-col {
    padding-left: 75px !important;
    position: relative;
}

/* location subpage */
body .subpage-nearest-location.wpb_row h2 {
    margin-bottom: 16px;
}

/* faq page accordions */
.the-accordion div.vc_tta-panel {
    margin-bottom: 24px;
}
.the-accordion div.vc_tta-panel:last-child {
    margin-bottom: 0;
}
.the-accordion div.vc_tta-panel .vc_tta-panel-heading {
    border: 4px solid transparent !important;
    background: var(--light2) !important;
    transition: all 0.3s ease-in-out;
    border-radius: 8px !important;
    margin-bottom: 0;
}
.the-accordion i.vc_tta-controls-icon {
    display: none;
}
.the-accordion.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-left.vc_tta-panel-title>a {
    padding-left: 20px;
}
.the-accordion h4.vc_tta-panel-title {
    transition: all 0.3s ease-in-out;
    letter-spacing: 1px;
    font-weight: normal;
    text-align: center;
    text-shadow: none;
    font-size: 18px;
}
.the-accordion h4.vc_tta-panel-title a {
    color: #000 !important;
    text-shadow: none;
}
/* accord bg on hover */
.the-accordion div.vc_tta-panel:hover .vc_tta-panel-heading {
    box-shadow: 2px 2px 24px 0 rgba(0, 0, 0, 0.24);
    border: 4px solid var(--accent2) !important;
    background: var(--light1) !important;
    transition: all 0.3s ease-in-out;
}
/* accord text on hover */
.the-accordion div.vc_tta-panel:hover h4.vc_tta-panel-title a {
    color: var(--accent2) !important;
}
/* active accord bg and active accord bg on hover */
.the-accordion div.vc_tta-panel.vc_active .vc_tta-panel-heading,
.the-accordion div.vc_tta-panel.vc_active:hover .vc_tta-panel-heading {
    border: 4px solid var(--accent2) !important;
    background: var(--light1) !important;
    transition: all 0.3s ease-in-out;
    pointer-events: none;
}
/* active accord text and active accord text on hover */
.the-accordion div.vc_tta-panel.vc_active:hover .vc_tta-panel-heading h4.vc_tta-panel-title,
.the-accordion div.vc_tta-panel.vc_active:hover .vc_tta-panel-heading h4.vc_tta-panel-title a {
    color: var(--light1) !important;
}
/* accordion content */
.the-accordion .vc_tta-panel-body {
    padding: 24px 0px 0px 0px !important;
    background: transparent !important;
    border: none !important;
    text-align: center;
    margin: 0 auto;
    width: 90%;
}
.the-accordion .vc_tta-panel-body p {
    line-height: 24px;
    font-size: 18px;
}

/* Non-woo products index */

.products-section-outer h4 {
    margin-bottom: 0;
}
.line.small-line {
    margin: 20px auto 24px auto !important;
}
.mid-bg-img.add-parallax {
    height: 500px;
}
.products-promo-row h4 {
    letter-spacing: 0;
    line-height: 30px;
    font-weight: normal;
    font-size: 24px;
}
.products-promo-row .line.small-line {
    margin: 10px auto 14px auto !important;
}
#products-index-page .bottom-cta {
    height: 500px;
}
#products-index-page .bottom-cta h2 {
    margin-bottom: 28px;
}

@media (min-width: 980px) {
    .products-section-outer .vc_col-sm-6 {
        align-items: center;
        display: flex;
    }
    .products-promo-row .wpb_column {
        padding: 0 2%;
    }
}

/* Non-woo single product */

body#product-single .default-header {
    height: 475px;
}
body#product-single .default-header h1 {
    top: 95px;
}
body#product-single .products-section-outer h4 {
    margin-bottom: 5px;
}
body#product-single .products-section-outer h3.product-details {
    text-transform: none;
    letter-spacing: 1px;
    line-height: 30px;
    font-weight: normal;
    font-size: 24px;
}
#product-single .bottom-cta {
    height: 500px;
}
#product-single .bottom-cta h2 {
    margin-bottom: 28px;
}

/* specials page */

.specials-top-blurb h2 {
    margin-bottom: 7px;
}
.specials-fifty h4 {
    letter-spacing: 1px;
    margin-bottom: 12px;
    line-height: 34px;
    font-weight: normal;
    font-size: 28px;
}
.specials-fifty h3 {
    text-transform: none;
    letter-spacing: 1px;
    line-height: 38px;
    font-weight: normal;
    font-size: 32px;
}
.bakery .specials-fifty .wpb_text_column p:not(:last-child) {
    margin-bottom: 24px;
}
.bottom-cta.newsletter-cta {
    height: 300px;
}
.bottom-cta.newsletter-cta h2 {
    margin-bottom: 18px !important;
    line-height: 42px;
    font-size: 36px;
}
.newsletter-cta form {
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    display: flex;
    width: 700px;
}
.newsletter-cta .gform_body.gform-body {
    padding: 0 2% 0 0;
    width: 50%;
}
.newsletter-cta .gform_footer {
    padding: 0 0 0 2% !important;
    margin: 0 !important;
    width: 50%;
}
.newsletter-cta .gform_button.button {
    margin-bottom: 0 !important;
    position: relative;
    top: 14px;
}
.newsletter-cta .gfield input {
    box-shadow: 0px 0px 10px #b8b8b8;
    padding-bottom: 4px !important;
    padding-left: 8px !important;
    padding-top: 4px !important;
    border: none !important;
}
.newsletter-cta label.gfield_label {
    margin-bottom: -1px !important;
    font-size: 14px !important;
}

body .left-right-header .logo .site-branding {
	align-items: center;
}

@media (max-width: 1230px) and (min-width: 980px) {
.logo a img {
    max-height: 60px !important;
    height: 60px !important;
}
	.logo .site-branding a {
    height: 60px !important;
}
}

/* accessibility / privacy policy */

#accessibility-page h3,
#pp-page h3 {
    letter-spacing: 1px;
    margin-bottom: 0px;
    line-height: 30px;
    font-size: 24px;
}
#pp-page h2 {
    margin-bottom: 0px;
    line-height: 42px;
    font-size: 30px;
}
#pp-page h4 {
    line-height: 26px;
    font-size: 20px;
}

/* Responsive */

@media (max-width: 1024px) {
    div.header-button a.btn-bt.default.btn-default {
        font-size: 14px;
    }
    .row.copyright {
        padding: 10px 0;
    }
    .copyright .container {
        flex-direction: column;
        display: flex;
    }
    .copyright .copyright-text.span6.left-three-column,
    .copyright .copyright-content.span6.middle-three-column,
    .copyright .copyright-content.span6.right-three-column {
        padding: 10px 0;
        width: 100%;
    }
    .copyright-text.span6.left-three-column {
        justify-content: center;
        align-items: center;
        display: flex;
    }
    .copyright-content.span6.right-three-column {
        justify-content: center !important;
        align-items: center;
        display: flex;
    }
    .copyright ul.social {
        padding-left: 0 !important;
    }
    a.topbutton {
        bottom: 180px !important;
    }
    .team-row-top h2 {
        margin-bottom: 12px;
    }
    .plain-fifty h2 {
        line-height: 34px;
        font-size: 24px;
    }
}

@media (max-width: 979px) {
    .promo-row,
    .plain-fifty {
        flex-direction: column;
    }
    .plain-fifty.review-row.reverse .container,
    .specials-fifty.reverse .container {
        flex-direction: column-reverse;
        display: flex;
    }
    .plain-fifty.reverse {
        flex-direction: column-reverse;
    }
    .bakery .specials-fifty {
        padding: 0 0 30px 0 !important;
    }
    .post-box h3 {
        text-align: center;
    }
    .home .bakery .fifty-section,
    .home .bakery .home-reviews,
    .home .bakery .blog-row {
        padding-top: 0 !important;
    }
    .home .bakery .blog-row {
        padding-bottom: 0 !important;
    }
    body .bakery .brands-row.partner-row h4 {
        margin-bottom: 0px;
    }
    /* Menu - WE NOW DELIVER! */
    .plain-fifty.vc_custom_1621892758256 {
        background-color: rgba(0, 0, 0, 0.50);
        background-blend-mode: overlay;
    }
    .menu-tabs-row ul.vc_tta-tabs-list {
        flex-direction: column;
    }
    .bottom-cta.newsletter-cta {
        height: 300px;
    }
    .newsletter-cta form {
        flex-direction: column;
        width: 350px;
    }
    .newsletter-cta .gform_body.gform-body {
        width: 100%;
        padding:0;
    }
    .newsletter-cta .gform_footer {
        margin: 18px 0 0 0 !important;
        padding: 0 !important;
        width: 100%;
    }
    .newsletter-cta .gform_button.button {
        top: 0;
    }
    .bakery .vc_row.top-blurb {
        padding-bottom: 32px;
        padding-top: 32px;
    }
    .bakery .contact-outer-row {
        padding: 30px 0 !important;
    }
    .contact-nap-col {
        margin-top: 35px;
    }
    #team-page .team-row-top .line {
        margin: 20px auto 30px auto !important;
    }
    .team-row-top .line {
        margin: 20px auto 2px auto !important;
    }
    .nearest-location.subpage-nearest-location {
        padding-bottom: 0px !important;
        padding-top: 40px !important;
    }
    .bakery .team-outer-fifty-fifty {
        padding-bottom: 0 !important
    }
    .team-outer-fifty-fifty .vc_col-sm-6 {
        margin-bottom: 18px;
    }
    .team-image-col img {
        display: block;
        margin: 0 auto;
    }
    .contact-inner-row {
        flex-direction: column;
    }
    #contact-page .contact-outer-row {
        background-color: rgb(255, 255, 255, 0.50);
        background-blend-mode: overlay;
    }
    .the-accordion h4.vc_tta-panel-title {
        letter-spacing: 0;
        font-size: 16px;
    }
    .products-promo-row {
        margin: 0 auto !important;
        max-width: 300px;
    }
    .blogpage-posts-container .post-text {
        max-width: 300px;
        margin: 0 auto;
    }
    p.the-categories,
    p.the-tags,
    p.p-excerpt {
        text-align: left;
    }
    .blogpage-posts-container .post-text a.btn-bt {
        max-width: none !important;
        width: 100% !important;
    }
    .review-row .txt-col {
        padding-left: 0px !important;
    }
    .review-row .txt-col:before {
        content: none;
    }
    .bakery .plain-fifty.review-row {
        padding-bottom: 30px !important;
        padding-top: 0 !important;
    }
    #reviews-page .subpage-promo-row {
        padding-top: 0;
    }
}

@media (max-width: 768px) {
    .bakery .plain-fifty h2 {
        margin-bottom: 10px;
        line-height: 34px;
        font-size: 28px;
    }
    body h2,
    body h3 {
        letter-spacing: 1px;
        line-height: 34px;
        font-size: 28px;
    }
    body h2 {
        margin-bottom: 12px;
    }
    .bakery .home-mid-cta h2 {
        margin-bottom: 14px;
        line-height: 34px;
        font-size: 28px;
    }
    .bakery .reviews-white-box .vc_column-inner {
        padding-top: 0;
    }
    .bottom-bar {
        height: 80px;
        padding: 0;
    }
    .home .bakery .fifty-section {
        padding-bottom: 40px !important;
    }
    .vc_row.wpb_row.home-promo-outer {
        padding: 30px 0 !important;
    }
    .line {
        margin: 28px auto 36px auto !important;
    }
    body:not(.home) .default-header {
        height: 300px;
    }
    body:not(.home) .default-header h1 {
        line-height: 30px;
        font-size: 24px;
    }
    body:not(.home) .plain-fifty {
        padding-bottom: 40px !important;
        padding-top: 32px !important;
    }
    .bakery .bottom-cta.newsletter-cta h2 {
        margin-bottom: 14px !important;
        line-height: 30px;
        font-size: 24px;
    }
    .team-inner-fifty-fifty {
        flex-direction: column;
    }
    .team-text-col {
        max-width: 300px;
    }
    .the-accordion h4.vc_tta-panel-title {
        line-height: 24px !important;
    }
    body#product-single .default-header {
        height: 300px;
    }
    body#product-single .default-header h1 {
        top: 78px;
    }
    body:not(.home) .bakery .plain-fifty.review-row {
        padding-bottom: 30px !important;
        padding-top: 0 !important;
    }
}

@media (max-width: 480px) {
    .top-header .logo .site-branding a img {
        height: unset !important;
    }
    body h2,
    body h3 {
        letter-spacing: 0px;
        line-height: 30px;
        font-size: 23px;
    }
    .bakery .plain-fifty h2 {
        margin-bottom: 5px;
        line-height: 30px;
        font-size: 24px;
    }
    .bakery .plain-fifty.specials-fifty {
        padding: 0 0 30px 0 !important;
    }
    .bakery .home-mid-cta h2 {
        margin-bottom: 12px;
        line-height: 28px;
        font-size: 22px;
    }
    .bakery .reviews-white-box .vc_column-inner {
        padding: 0px 16px 40px 16px;
    }
    body .bakery .brands-row.partner-row h4 {
        line-height: 22px;
        font-size: 16px;
    }
    .flex-images img {
        margin: 1em auto 0 auto;
    }
    #menu-copyright-menu li {
        padding: 0px 7px;
        width: 33.33%;
    }
    .bakery .bottom-cta {
        height: 300px;
    }
    .bottom-cta h2 {
        margin-bottom: 18px;
        line-height: 44px;
        font-size: 34px;
    }
    .bottom-cta.newsletter-cta {
        height: 250px;
    }
    .newsletter-cta form {
        width: 100%;
    }
    .bakery .bottom-cta.newsletter-cta h2 {
        margin-bottom: 12px !important;
        line-height: 28px !important;
        font-size: 22px !important;
    }
    .bakery .specials-fifty h4 {
        margin-bottom: 10px;
        line-height: 30px;
        font-size: 24px;
    }
    .bakery .specials-fifty h3 {
        letter-spacing: 0.7px;
        line-height: 32px;
        font-weight: normal;
        font-size: 26px;
    }
    .bakery .locations-promo-row {
        padding-bottom: 0px !important;
    }
    .bakery .contact-outer-row {
        padding: 0 0 30px 0 !important;
    }
    #midBgImage.mid-plax {
        height: 320px;
    }
    .bakery .subpage-promo-row {
        padding-bottom: 12px !important;
        padding-top: 0;
    }
    h2.center-mobile {
        text-align: center;
    }
    #team-page .bottom-cta {
        height: 300px;
    }
    #team-page .bottom-cta h2 {
        margin-bottom: 0.5em;
        line-height: 40px;
        font-size: 32px;
    }
    #contact-page .contact-outer-row {
        padding-top: 30px !important;
    }
    .map-row {
        height: 137px;
    }
    .mid-bg-img.add-parallax {
        height: 320px;
    }
    #products-index-page .bottom-cta {
        height: 300px;
    }
    #products-index-page .team-row-top {
        padding-top: 30px !important;
    }
    body .products-section-outer h4 {
        letter-spacing: 1px;
        line-height: 23px;
        font-size: 18px;
    }
    #product-single .bottom-cta {
        height: 300px;
    }
}

@media (max-width: 414px) {
    div.header-button a.btn-bt.default.btn-default {
        font-size: 11px;
    }
}

/* START CLAUDE INJECTIONS */

/* ================================================
   ICE CREAM — Homepage Styles
   ================================================ */

/* ------------------------------------------------
   1. HERO
   Background image set via Design Tab on section.home-hero
   ------------------------------------------------ */

body #content .home-hero {
    height: 694px;
}
body #content .vc_row.wpb_row.hero-banner {
    width: 100%;
}
body #content .home-hero .hero-banner h1 {
    text-transform: none !important;
    color: var(--dark2) !important;
}
body #content .home-hero .happiness-text {
    font-family: var(--BrandGrotBold);
    color: var(--accent1) !important;
    font-size: 82px !important;
    line-height: 102px;
}

/* ------------------------------------------------
   2. INTRO FIFTY
   Uses .inline-fifty from component-library — no overrides needed
   ------------------------------------------------ */

section#IntroFifty {
    padding-bottom: 0px !important;
    padding-top: 40px !important;
}
hr.line {
    margin: 24px auto !important;
    border: none;
    height: 3px;
}
.line.accent3 {
    background: var(--accent3);
}

/* ------------------------------------------------
   3. CATEGORY SECTION
   ------------------------------------------------ */

.bakery .category-section {
    padding: 100px 0 !important;
}
.bakery .category-section .category-row {
    align-items: center;
}

@media (min-width: 980px) {
    .bakery .category-section .wpb_column:not(:last-child) {
        padding-right: 2.5%;
    }
    .bakery .category-section .wpb_column:not(:first-child) {
        padding-left: 2.5%;
    }
}

.bakery .category-tiles {
    display: flex;
    gap: 40px;
}
.bakery .category-tile {
    position: relative;
    width: 33.33%;
}
.bakery .category-tile img {
    border-radius: 12px;
    object-fit: cover;
    display: block;
    width: 100%;
}
.bakery .category-tile-label {
    transition: all 0.3s ease-in-out;
    border: 3px solid var(--accent1);
    transform: translateX(-50%);
    background: var(--accent1);
    border-radius: 50px;
    white-space: nowrap;
    text-align: center;
    position: absolute;
    padding: 12px 24px;
    min-width: 149px;
    bottom: -24px;
    left: 50%;
}
body #content .category-tile-label {
    font-family: var(--BrandGrotBold) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.77px !important;
    color: var(--white) !important;
    font-size: 18px !important;
}
body #content .bakery .category-tile-label:hover {
    transition: all 0.3s ease-in-out;
    border: 3px solid var(--accent1);
    color: var(--accent1) !important;
    background: var(--white);
}
.bakery .category-tile a img {
    transition: all 0.3s ease-in-out;
}
.bakery .category-tile a:hover img {
    transition: all 0.3s ease-in-out;
    opacity: 0.69;
}

@media (max-width: 979px) {
    .bakery .category-section .category-text-col {
        padding: 20px 0;
        max-width: 90%;
        margin: 0 auto;
    }
    .bakery .category-tiles {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .bakery .category-tile {
        flex: 1 1 calc(33% - 8px);
        min-width: 120px;
    }
}

/* ------------------------------------------------
   4. FLAVOR OF THE MONTH
   ------------------------------------------------ */

section#FlavorOfTheMonth {
    padding-bottom: 100px;
    padding-top: 0;
}
.bakery .flavor-section .flavor-cards-row {
    align-items: stretch;
}
.bakery .flavor-card {
    background: var(--light2);
    box-sizing: border-box;
    align-items: center;
    border-radius: 16px;
    display: flex;
    padding: 40px;
    height: 100%;
    gap: 32px;
}
.bakery .flavor-img-wrap {
    flex-shrink: 0;
}
.bakery .flavor-img-wrap img {
    object-fit: cover;
    display: block;
}
.bakery .flavor-text-wrap {
    flex: 1;
}
.bakery .flavor-text-wrap .btn-bt {
    display: inline-block;
    margin-top: 14px;
}
body #content .flavor-label {
    text-transform: uppercase !important;
    font-family: var(--BrandGrotBold);
    color: var(--accent1) !important;
    letter-spacing: 1px !important;
    margin-bottom: 12px !important;
    line-height: 26px !important;
    font-size: 18px !important;
}
body #content .flavor-text-wrap h4 {
    margin-bottom: 10px !important;
    letter-spacing: 0;
    line-height: 40px;
    font-size: 30px;
}
body #content .flavor-text-wrap a.btn-bt {
    margin-top: 24px;
    min-width: 240px;
}

@media (max-width: 979px) {
    .bakery .flavor-card {
        flex-direction: column;
        margin-bottom: 20px;
        text-align: center;
    }
    .bakery .flavor-text-wrap .btn-bt {
        margin: 14px auto 0 auto;
        width: fit-content;
        display: block;
    }
}

/* ------------------------------------------------
   5. DELIVERY CTA
   Background image set via Design Tab on section.delivery-cta-section
   accent2 class handles background color via background.css
   color.css handles white text on accent containers
   ------------------------------------------------ */

.bakery .delivery-row {
    align-items: center;
    text-align: center;
    height: 491px;
}
.bakery .delivery-col .vc_column-inner {
    justify-content: center;
    align-items: center;
    display: flex;
}
.bakery .delivery-cta-section h2 {
    font-size: 52px !important;
    line-height: 1 !important;
    text-transform: uppercase;
    color: var(--white);
}
.bakery .delivery-cta-section p {
    font-family: var(--BrandGrotBold);
    line-height: 42px !important;
    font-size: 24px !important;
    color: var(--white);
    margin-right: auto;
    margin-left: auto;
    max-width: 860px;
}
.bakery .delivery-cta-section .btn-bt {
    max-width: unset !important;
    width: 300px !important;
    display: inline-block;
    margin-right: auto;
    margin-left: auto;
    margin-top: 24px;
}

@media (max-width: 979px) {
    .bakery .delivery-row {
        min-height: 320px;
    }
    .bakery .delivery-col .vc_column-inner {
        min-height: 320px;
        padding: 60px 0;
    }
}

/* ------------------------------------------------
   6. CONTENT FIFTY
   Uses .inline-fifty from component-library — no overrides needed
   ------------------------------------------------ */

.bakery .inline-fifty a.btn-bt {
    margin-top: 32px;
}
.list-col h6 {
    color: var(--accent1);
    letter-spacing: 1px;
    margin-bottom: 10px;
    line-height: 26px;
    font-size: 18px;
}
.list-col hr {
    margin: 14px 0 !important;
    max-width: 360px;
    width: 90%;
}
.img-col p {
    line-height: 0 !important;
}
section#ContentFifty {
    padding: 100px 0 !important;
}
.bakery section#ContentFifty .inline-fifty a.btn-bt {
    margin-top: 32px;
}

/* ------------------------------------------------
   7. LOCATION
   ------------------------------------------------ */

section#Location {
    padding-bottom: 100px;
    padding-top: 0;
}
.bakery .location-section .location-row {
    align-items: center;
}
.bakery .map-col {
    align-self: stretch;
}
.bakery .map-col iframe {
    display: block;
    height: 100%;
    width: 100%;
}
body #content .location-info-col h5 {
    margin-bottom: 10px !important;
    margin-top: 24px !important;
    text-transform: none;
    letter-spacing: 0;
    line-height: 40px;
    font-size: 30px;
}
body #content .location-info-col hr {
    margin: 24px 0 !important;
    max-width: 360px;
    width: 90%;
}
body #content .location-info-col a:not(.dir-link) {
    text-decoration: none;
}
body #content .location-info-col a {
    color: var(--black) !important;
}
body #content .location-info-col a:hover {
    color: var(--accent2) !important;
}
body #content .location-info-col a.dir-link {
    margin-top: -14px !important;
    width: fit-content;
    display: block;
}
.bakery .map-col .vc_column-inner,
.bakery .map-col .vc_column-inner .wpb_wrapper,
.bakery .map-col .vc_column-inner .wpb_wrapper .wpb_text_column,
.bakery .map-col .vc_column-inner .wpb_wrapper .wpb_text_column p {
    height: 100%;
}
.bakery .map-col iframe {
    border-radius: 16px;
    height: 100%;
    width: 100%;
}

@media (max-width: 979px) {
    .bakery .location-info-col {
        padding-top: 30px;
        max-width: 90%;
        margin: 0 auto;
    }
}

/* ------------------------------------------------
   8. REVIEWS
   accent3 class handles background via background.css
   ------------------------------------------------ */

.bakery .reviews-section {
    height: 525px;
}
.bakery .reviews-section .reviews-row {
    text-align: center;
    padding-bottom: 0;
    width: 100%;
}
.bakery .reviews-section .reviews-row .container {
    max-width: 1499px;
}
.bakery .reviews-section .reviews-row h3 {
    margin-bottom: 14px !important;
    text-transform: uppercase;
    letter-spacing: 4px;
    line-height: 48px;
    font-size: 28px;
}

/* ------------------------------------------------
   9. NEWS
   ------------------------------------------------ */

.bakery .news-section {
    padding: 80px 0 !important;
}
.bakery .news-section .news-row {
    padding-bottom: 0;
}
body #content .news-row h2:not(.feat-post-title) {
    margin-bottom: 40px;
}
.featured-post {
    column-gap: 5%;
    display: flex;
}
.featured-post .flex.vertical-align {
    background: var(--light2);
    border-radius: 16px;
    padding: 40px;
}
.featured-post a.archive-post-image-link {
    border-radius: 16px;
}
.featured-post .flex.vertical-align h5 {
    font-family: var(--BrandGrotBold);
    color: var(--accent2);
    letter-spacing: 1px;
    line-height: 26px;
    font-size: 18px;
}
.featured-post .flex.vertical-align p.read-more a.unstyled-link {
    text-decoration: none !important;
    color: var(--accent2) !important;
    letter-spacing: 1px;
    line-height: 26px;
    font-size: 18px;
}
.featured-post .flex.vertical-align p.read-more a.unsytled-link:hover {
    color: var(--accent1) !important;
}

/* ------------------------------------------------
   10. BRANDS
   ------------------------------------------------ */

section#Brands {
    padding-bottom: 80px;
    padding-top: 0;
}
.bakery .brands-section .brands-heading-row {
    text-align: center;
    padding-bottom: 0;
}
body #content .brands-section h6 {
    text-align: center !important;
    letter-spacing: 2px;
    margin-bottom: 30px;
    line-height: 34px;
    font-size: 24px;
}
.wpcp-slide-image {
    justify-content: center;
    align-items: center;
    display: flex;
}

@media (min-width: 1200px) {
    .bakery .brands-section .wpcp-swiper-dots {
        display: none !important;
    }
}

/* ------------------------------------------------
   11. GALLERY
   ------------------------------------------------ */

section#Gallery {
    padding: 0;
}
.bakery .gallery-section {
    padding: 0;
}
.bakery .gallery-section .gallery-row {
    padding: 0;
}
.bakery .gallery-section .gallery-row .container {
    max-width: unset;
    width: 97.5%;
}

/* ------------------------------------------------
   12. CONTACT
   Background image set via Design Tab on section.contact-section
   ------------------------------------------------ */

section#Contact {
    height: 761px;
}
section#Contact .bottom-cta.contact-row {
    width: 100%;
}
body #content .contact-section h2 {
    margin-bottom: 16px !important;
    text-align: center !important;
    line-height: 45px;
    font-size: 42px;
}
.bottom-cta.contact-row .form-col {
    background: var(--light2);
    border-radius: 12px;
    max-width: 810px;
    margin: 0 auto;
    padding: 60px;
}
.gform_wrapper.gravity-theme input:not([type="submit"]),
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
    width: 100% !important;
}
.gform-footer.gform_footer.top_label {
    padding-bottom: 0 !important;
}

/* ================================================
   ICE CREAM — About Page Styles
   ================================================ */

/* ------------------------------------------------
   1. SUBPAGE HERO
   Background image set via Design Tab on section.subpage-hero
   Uses .subpage-hero from component-library — no overrides needed
   ------------------------------------------------ */

#content .default-header {
    background-position: bottom center !important;
	background-color: rgba(0,0,0,0.3);
	background-blend-mode: overlay;
}

/* ------------------------------------------------
   2. INTRO FIFTY
   Uses .inline-fifty from component-library
   ------------------------------------------------ */

.bakery .inline-fifty .img-col img {
    border-radius: 16px;
    display: block;
    height: auto;
    width: 100%;
}

/* ------------------------------------------------
   3. DECORATIVE IMAGE BAND
   Replace background image via WPBakery Design Tab — CSS placeholder below
   ------------------------------------------------ */

section#ImageBand {
    padding: 0 !important;
    background-image: url('https://picsum.photos/seed/image-band/1600/652');
    background-position: center;
    background-size: cover;
}
.bakery section.fullwidth-plax {
    height: 652px;
}

/* ------------------------------------------------
   4. MISSION / LONG COPY
   ------------------------------------------------ */

/* ------------------------------------------------
   5. CONTENT FIFTY
   ------------------------------------------------ */

section.fifty-section {
    padding: 80px 0 !important;
}
section.fifty-section .inline-fifty {
    padding-top: 0;
}
section.fifty-section .inline-fifty:not(:last-child) {
    padding-bottom: 80px;
}
.bakery section.fifty-section .img-col p {
    line-height: 0 !important;
}
.bakery section.fifty-section .img-col p img {
    border-radius: 16px;
    height: auto;
    width: 100%;
}
body #content section.fifty-section .text-col.vc_col-sm-4 h3 {
    margin-bottom: 16px !important;
    line-height: 1.2 !important;
    font-size: 30px;
}
.list-col.vc_col-sm-8 hr {
    max-width: unset;
    width: 90%;
}
.bakery section.fifty-section .wpb_row.inline-fifty a.btn-bt {
    padding: 11px 0;
}

@media (min-width: 980px) {
    section.fifty-section .inline-fifty .wpb_column:not(:last-child) {
        padding-right: 2.5%;
    }
    section.fifty-section .inline-fifty .wpb_column:not(:first-child) {
        padding-left: 2.5%;
    }
    .inline-fifty .text-col.list-col.vc_col-sm-8 p {
        max-width: 808px;
    }
}

/* ------------------------------------------------
   6. LIST SECTION
   .list-col and hr.line rules carry over from homepage CSS
   ------------------------------------------------ */

section#ListSection {
    padding: 0 0 100px 0 !important;
}
.bakery .about-list .img-col p {
    line-height: 0 !important;
}

@media (max-width: 979px) {
    section#ListSection {
        padding-bottom: 60px !important;
    }
}

/* ------------------------------------------------
   7. BRANDS
   Same as homepage — no new CSS needed
   ------------------------------------------------ */

/* ------------------------------------------------
   8. REVIEWS
   Replace background image via WPBakery Design Tab — CSS placeholder below
   ------------------------------------------------ */

.bakery .reviews-section {
    background-image: url('/wp-content/uploads/2026/05/reviews-parallax.webp?id=3515');
    background-position: center;
    background-size: cover;
}

/* ------------------------------------------------
   9. EXPLORE TILES
   Reuses .category-tile from homepage CSS
   ------------------------------------------------ */

@media (min-width: 980px) {
	.explore-tiles-row .wpb_column.vc_column_container.vc_col-sm-3 {
    padding: 0px 20px;
}
}

section#Explore {
    padding-bottom: 100px !important;
}
body #content .explore-section h2 {
    margin-bottom: 40px !important;
    text-align: center !important;
}
.bakery .explore-section .explore-heading-row {
    padding-bottom: 0;
}
.bakery .vc_col-sm-12 .category-tiles {
    justify-content: center;
    display: flex;
    gap: 40px;
}
.bakery section.explore-section .vc_col-sm-12 .explore-tiles .category-tile {
    justify-content: center;
    align-items: center;
    display: flex;
    width: auto;
}
.bakery .explore-tiles .category-tile img {
    border-radius: 12px;
    object-fit: cover;
    display: block;
    height: 340px;
    width: 330px;
}
.bakery section.explore-section .vc_col-sm-12 .category-tile-label {
    min-width: 225px;
}

@media (max-width: 979px) {
    .bakery .explore-tiles {
        flex-direction: column;
        gap: 48px;
    }
    .bakery .explore-tiles .category-tile {
        margin: 0 auto;
        width: 90%;
    }
	.explore-tiles-row img {
    	width: 100%;
    	height: 100%;
	}
	body #content section#Explore {
    	padding: 40px 0px !important;
	}
	ul.slick-dots {
    	padding: 0px !important;
	}
}

/* ================================================
   ICE CREAM — Services Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. SERVICES FIFTY-SECTION
   Three inline-fifty rows — uses fifty-section padding pattern
   ------------------------------------------------ */

section.services-fifty-section {
    padding: 80px 0 !important;
}
section.services-fifty-section .inline-fifty {
    padding-top: 0;
}
section.services-fifty-section .inline-fifty:not(:last-child) {
    padding-bottom: 80px;
}
.bakery section.services-fifty-section .img-col p {
    line-height: 0 !important;
}
.bakery section.services-fifty-section .img-col img {
    border-radius: 16px;
    object-fit: cover;
    display: block;
    height: auto;
    width: 100%;
}

@media (min-width: 980px) {
    section.services-fifty-section .inline-fifty .wpb_column:not(:last-child) {
        padding-right: 2.5%;
    }
    section.services-fifty-section .inline-fifty .wpb_column:not(:first-child) {
        padding-left: 2.5%;
    }
}

/* ------------------------------------------------
   3. PARALLAX BAND
   Background image set via Design Tab on section#ImageBand
   ------------------------------------------------ */

section#ImageBand {
    background-image: url('https://picsum.photos/seed/services-band/1600/600');
    background-position: center;
    padding: 0 !important;
    background-size: cover;
}
.bakery section.fullwidth-plax {
    height: 600px;
}

/* ------------------------------------------------
   4. CONTENT FIFTY
   Uses fifty-section padding pattern — single row, no :not(:last-child) fires
   ------------------------------------------------ */

section.services-content-fifty {
    padding: 80px 0 !important;
}
section.services-content-fifty .inline-fifty {
    padding-top: 0;
}
.bakery section.services-content-fifty .img-col p {
    line-height: 0 !important;
}
.bakery section.services-content-fifty .img-col img {
    border-radius: 16px;
    display: block;
    height: auto;
    width: 100%;
}

@media (min-width: 980px) {
    section.services-content-fifty .inline-fifty .wpb_column:not(:last-child) {
        padding-right: 2.5%;
    }
    section.services-content-fifty .inline-fifty .wpb_column:not(:first-child) {
        padding-left: 2.5%;
    }
}

/* ------------------------------------------------
   5. BOTTOM CTA
   Uses .bottom-cta-section from component-library
   Background image set via Design Tab
   Light bg image — override default white text
   ------------------------------------------------ */

.bakery .services-bottom-cta {
    background-image: url('https://picsum.photos/seed/services-cta/1600/600');
    background-position: center;
    background-size: cover;
}
.bottom-cta a.btn-bt {
    padding: 14px 0 !important;
    margin: 0 auto;
}
.bottom-cta p {
    text-align: center;
}
body:not(.home) .bottom-cta h2,
body:not(.home) .bottom-cta h3 {
    font-size: 82px;
    line-height: 1;
}

/* .cta-accent-headline — reusable on any bottom CTA with a two-line heading.
   h3 = smaller intro line, h2.cta-accent-headline = large accent line.
   Override text colors here when the bg image is light — default bottom-cta
   uses white text which won't work on light backgrounds. */
body #content .services-bottom-cta h3 {
    color: var(--dark2) !important;
    text-align: center !important;
    margin-bottom: 8px !important;
}
body #content h2.cta-accent-headline {
    text-transform: uppercase !important;
    color: var(--accent1) !important;
    margin-bottom: 24px !important;
    text-align: center !important;
}

/* ================================================
   ICE CREAM — Single Service Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. SERVICE OVERVIEW FIFTY
   Single inline-fifty row — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.service-overview-fifty {
    padding: 80px 0 !important;
}
section.service-overview-fifty .inline-fifty {
    padding-top: 0;
}
body #content .service-overview-fifty .text-col h3 {
    margin-bottom: 16px !important;
    margin-top: 16px !important;
    line-height: 1.2 !important;
}

/* ------------------------------------------------
   3. FEATURES SECTION
   White background — no background class needed
   ------------------------------------------------ */

section.features-section {
    padding-bottom: 100px !important;
    padding-top: 0 !important;
}
section.features-section .features-heading-row.top-blurb {
    padding-bottom: 0;
}
section.features-section .features-icons-row {
    padding-top: 80px !important;
}
.bakery .feature-col {
    text-align: center;
    padding: 0 2.5%;
}
.bakery .feature-col img {
    margin: 0 auto 24px auto !important;
    object-fit: contain;
    display: block;
    height: 100px;
    width: auto;
}
body #content .feature-col h4 {
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 34px !important;
    margin-bottom: 0 !important;
    font-size: 24px !important;
}
body #content .feature-col hr.line {
    margin: 16px auto !important;
}
body #content .feature-col p {
    line-height: 32px !important;
    font-size: 20px !important;
}

@media (min-width: 980px) {
    .bakery .feature-col.vc_col-sm-3 p {
        max-width: 315px;
    }
}

@media (max-width: 979px) {
    .bakery .feature-col {
        padding: 30px 5%;
    }
}

/* ------------------------------------------------
   4. PARALLAX BAND
   Background image set via Design Tab on section#ImageBand
   Height inherited from .bakery section.fullwidth-plax
   ------------------------------------------------ */

section#ImageBand {
    background-image: url('https://picsum.photos/seed/service-band/1600/600');
    background-position: center;
    background-size: cover;
    padding: 0 !important;
}

/* ------------------------------------------------
   5. SERVICE CONTENT FIFTY
   Two inline-fifty rows — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.service-content-fifty {
    padding: 80px 0 !important;
}
section.service-content-fifty .inline-fifty {
    padding-top: 0;
}
section.service-content-fifty .inline-fifty:not(:last-child) {
    padding-bottom: 80px;
}

/* ------------------------------------------------
   6. CTA ROW
   light2 background via class — override component-library white text
   ------------------------------------------------ */

.cta-row .wpb_content_element .wpb_wrapper {
    flex-direction: column;
}
body #content .bakery .cta-row h2 {
    text-transform: uppercase !important;
    color: var(--dark2) !important;
}
.cta-row .wpb_content_element .wpb_wrapper a.btn-bt {
    max-width: unset;
    min-width: 340px;
}

/* ------------------------------------------------
   7. EXPLORE TILES
   Reuses .category-tile and .explore-tiles — no new CSS needed
   ------------------------------------------------ */

section#Explore {
    padding-bottom: 100px !important;
}
body #content .explore-section h2 {
    margin-bottom: 40px !important;
    text-align: center !important;
}
.bakery .explore-section .explore-heading-row {
    padding-bottom: 0;
}

/* ================================================
   ICE CREAM — Single Service Page 2 Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO FIFTY
   Single inline-fifty row — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.service-intro-fifty {
    padding: 80px 0 !important;
}
section.service-intro-fifty .inline-fifty {
    padding-top: 0;
}

/* ------------------------------------------------
   2. MANY USES SECTION
   Full-width repeating h3 + HR + copy blocks
   ------------------------------------------------ */

body #content .uses-section h2 {
    margin-bottom: 40px !important;
}
body #content .uses-section h3 {
    margin-bottom: 0 !important;
}
body #content .uses-section hr.line {
    margin: 16px 0 !important;
}
body #content .uses-section p {
    margin-bottom: 40px !important;
}
body #content .uses-section p:last-child {
    margin-bottom: 0 !important;
}

/* ------------------------------------------------
   3. STORAGE CONTENT FIFTY
   Single inline-fifty row — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.service-storage-fifty {
    padding: 80px 0 !important;
}
section.service-storage-fifty .inline-fifty {
    padding-top: 0;
}

/* ------------------------------------------------
   4. WHY BUY SECTION
   Centered full-width, light2 background
   ------------------------------------------------ */

.blurb-row a.btn-bt {
    margin: 24px auto 0 auto;
    max-width: unset;
    min-width: 240px;
}
.blurb-row h3 {
    text-transform: uppercase;
    line-height: 32px;
    font-size: 24px;
}

/* ------------------------------------------------
   5. BOTTOM CTA
   Background image set via Design Tab
   Light bg — override default white text
   ------------------------------------------------ */

.bakery .single-service-2-cta {
    background-image: url('https://picsum.photos/seed/service2-cta/1600/600');
    background-size: cover;
    background-position: center;
}
body #content .single-service-2-cta h2.cta-accent-headline {
    text-transform: uppercase !important;
    color: var(--accent1) !important;
    margin-bottom: 20px !important;
}
body #content .single-service-2-cta h3 {
    margin-bottom: 20px !important;
    color: var(--dark2) !important;
}
body #content .single-service-2-cta p {
    color: var(--dark2) !important;
}

/* ------------------------------------------------
   6. MORE PRODUCTS
   Uses .services-row from component-library
   Image sizing for product cards
   ------------------------------------------------ */

.bakery .more-products-section .more-products-heading-row {
    padding-bottom: 0;
}
body #content .more-products-section h2 {
    margin-bottom: 0 !important;
}
.bakery .more-products-section .service-col {
    padding: 0 2.5%;
}
.bakery .more-products-section .service-col img {
    margin: 0 auto 24px auto !important;
    border-radius: 16px;
    object-fit: cover;
    display: block;
    height: auto;
    width: 100%;
}
.bakery .more-products-section .service-col h3 {
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 34px !important;
    margin-bottom: 0 !important;
    font-size: 24px !important;
    text-align: center;
}
.bakery .more-products-section .service-col p {
    text-align: center;
}
.bakery .more-products-section .service-col a.btn-bt {
    margin: 0 auto;
}

/* ------------------------------------------------
   7. CONTACT
   Same as homepage — no new CSS needed
   ------------------------------------------------ */

/* ================================================
   ICE CREAM — Our Team Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. TEAM SECTION
   Four inline-fifty rows — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.team-section {
    padding: 80px 0 !important;
}
section.team-section .inline-fifty {
    padding-top: 0;
}
section.team-section .inline-fifty:not(:last-child) {
    padding-bottom: 80px;
}
.bakery .team-section .img-col img {
    border-radius: 16px;
    margin: 0 auto;
    display: block;
    height: auto;
    width: 100%;
}
body #content .team-row h3 {
    margin-bottom: 24px !important;
}
body #content .team-row h4 {
    text-transform: uppercase !important;
    color: var(--accent1) !important;
    letter-spacing: 2px !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
    font-size: 18px !important;
}
.bakery .team-social {
    margin-top: 20px;
    display: flex;
    gap: 12px;
}
.bakery .team-social a {
    transition: color 0.2s ease;
    text-decoration: none;
    color: var(--dark2);
    font-size: 22px;
}
.bakery .team-social a:hover {
    color: var(--accent1);
}

@media (max-width: 979px) {
    .bakery .team-section .img-col img {
        margin-bottom: 20px;
        max-width: 180px;
    }
    .bakery .team-social {
        justify-content: center;
    }
}

/* ------------------------------------------------
   3. EXPLORE TILES
   Reuses .category-tile and .explore-tiles — no new CSS needed
   ------------------------------------------------ */

section#Explore {
    padding-bottom: 100px !important;
}
body #content .explore-section h2 {
    margin-bottom: 40px !important;
    text-align: center !important;
}
.bakery .explore-section .explore-heading-row {
    padding-bottom: 0;
}

/* ------------------------------------------------
   4. WANT TO WORK WITH US — CTA ROW
   Uses .cta-section and .cta-row from component-library
   Default side-by-side layout
   ------------------------------------------------ */

section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* ================================================
   ICE CREAM — Menu Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO FIFTY
   Single inline-fifty row — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.menu-intro-fifty {
    padding: 80px 0 !important;
}
section.menu-intro-fifty .inline-fifty {
    padding-top: 0;
}

/* ------------------------------------------------
   2. TABS SECTION
   ------------------------------------------------ */

.bakery .tabs-section {
    padding: 0 0 0px 0 !important;
}
.bakery .tabs-section .tabs-row {
    padding: 0;
}

/* Tab nav — accent1 bar with pill buttons */
.bakery .menu-tabs .vc_tta-tabs-list {
    background: var(--accent1) !important;
    justify-content: center !important;
    max-width: 1520px !important;
    flex-wrap: wrap !important;
    display: flex !important;
    border: none !important;
    gap: 16px !important;
}
body #content .bakery .wpb_row.tabs ul.vc_tta-tabs-list li.vc_tta-tab {
    min-width: unset !important;
    width: 17%;
}

/* All tabs — solid white pill */
body #content .menu-tabs .vc_tta-tab a {
    font-family: var(--BrandGrotBold) !important;
    border: 3px solid var(--white) !important;
    text-transform: uppercase !important;
    transition: all 0.2s ease !important;
    background: var(--white) !important;
    letter-spacing: 1.77px !important;
    text-decoration: none !important;
    color: var(--accent1) !important;
    border-radius: 50px !important;
    font-size: 14px !important;
    display: block !important;
    padding: 12px !important;
    width: 100% !important;
}

/* Active tab — outlined white pill */
body #content .menu-tabs .vc_tta-tab.vc_active a,
body #content .menu-tabs .vc_tta-tab a:hover {
    background: transparent !important;
    color: var(--white) !important;
}

/* Tab content */
body #content .menu-tabs .vc_tta-panel-body {
    border: none !important;
    padding: 0 !important;
}

/* Menu items */
body #content .tabs-section h2 {
    margin-bottom: 32px !important;
    text-align: center !important;
}
body #content .tabs-section h3 {
    margin-bottom: 8px !important;
    margin-top: 24px !important;
}
body #content .tabs-section h3:first-of-type {
    margin-top: 0 !important;
}
body #content .tabs-section .vc_column_text hr.line {
    margin: 8px 0 12px 0 !important;
}
body #content .tabs-section p {
    margin-bottom: 0 !important;
}

@media (max-width: 979px) {
    body #content .menu-tabs .vc_tta-tabs-list {
        gap: 4px;
    }
    body #content .menu-tabs .vc_tta-tab a {
        padding: 8px 16px !important;
        font-size: 12px !important;
    }
}

/* ------------------------------------------------
   3. BRANDS
   Same as homepage — no new CSS needed
   ------------------------------------------------ */

/* ------------------------------------------------
   4. BOTTOM CTA
   Uses page-ending bottom-cta pattern
   Background image set via Design Tab
   ------------------------------------------------ */

.bakery .bottom-cta.add-parallax.vertical-align {
    background-image: url('/wp-content/uploads/2026/04/bottom-cta-home-new.webp');
    background-position: center;
    background-size: cover;
}
section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* ================================================
   ICE CREAM — FAQ Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. FAQ ACCORDION
   Uses .accordion-section pattern — accordion CSS inherited
   ------------------------------------------------ */

body #content .faq-section .accordion-heading-row h3 {
    text-align: center !important;
    margin-bottom: 0 !important;
}

/* ------------------------------------------------
   3. BOTTOM CTA
   Uses page-ending bottom-cta pattern
   Background image set via Design Tab
   ------------------------------------------------ */

.bakery .bottom-cta.add-parallax.vertical-align {
    background-image: url('/wp-content/uploads/2026/04/bottom-cta-home-new.webp');
    background-position: center;
    background-size: cover;
}
section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* ================================================
   ICE CREAM — Gallery Page Styles
   ================================================ */

/* ------------------------------------------------
   1. GALLERY INTRO FIFTY
   Text left, flavors carousel right
   Uses fifty-section padding pattern
   ------------------------------------------------ */

section.gallery-intro-fifty {
    padding: 80px 0 !important;
}
section.gallery-intro-fifty .inline-fifty {
    padding-top: 0;
}

/* ------------------------------------------------
   2. FULL LINE GALLERY SECTION
   Full-bleed carousel — rules inherited from homepage gallery CSS
   ------------------------------------------------ */

.bakery .gallery-section {
    padding: 0;
}
.bakery .gallery-section .gallery-row {
    padding: 0;
}
.bakery.gallery .gallery-section .gallery-row .container {
    max-width: 1520px;
    width: 90%;
}
.bakery .gallery-heading-row {
    padding-bottom: 0;
}
body #content .gallery-section h2 {
    text-align: center !important;
    margin-bottom: 0 !important;
}
.bakery.gallery .wpcp-swiper-wrapper {
    margin-bottom: 0px !important;
}

/* ------------------------------------------------
   3. BOTTOM CTA
   Uses page-ending bottom-cta pattern
   Background image set via Design Tab
   ------------------------------------------------ */

.bakery .bottom-cta.add-parallax.vertical-align {
    background-image: url('/wp-content/uploads/2026/04/bottom-cta-home-new.webp');
    background-size: cover;
    background-position: center;
}
section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* ================================================
   ICE CREAM — Locations Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. LOCATION TILES
   Extends .category-tiles with flex-wrap for 2 rows of 3
   ------------------------------------------------ */

.bakery .locations-section {
    padding: 80px 0 !important;
}
.bakery .locations-section .locations-row {
    padding: 0;
}
.bakery .locations-tiles {
    flex-wrap: wrap;
    row-gap: 60px;
}
.bakery .locations-tiles .category-tile {
    width: calc(33.33% - 28px);
}

/* ------------------------------------------------
   3. FRANCHISING CTA
   Uses .cta-section and .cta-row from component-library
   No new CSS needed
   ------------------------------------------------ */

/* ------------------------------------------------
   4. DELIVERY CTA
   Uses page-ending bottom-cta pattern
   Background image set via Design Tab
   ------------------------------------------------ */

.bakery .bottom-cta.add-parallax.vertical-align {
    background-image: url('https://picsum.photos/seed/delivery-cta/1600/600');
    background-position: center;
    background-size: cover;
}
section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* ================================================
   ICE CREAM — Cannon Beach Location Page Styles
   ================================================ */

/* ------------------------------------------------
   1. FLAVOR OF THE MONTH FIFTY
   Single inline-fifty — uses fifty-section padding pattern
   ------------------------------------------------ */

section.location-flavor-fifty {
    padding: 80px 0 !important;
}
section.location-flavor-fifty .inline-fifty {
    padding-top: 0;
}
body #content .location-flavor-fifty .text-col h3 {
    margin-bottom: 0 !important;
    line-height: 1.3 !important;
    margin-top: 16px !important;
    font-size: 24px !important;
}

/* ------------------------------------------------
   2. LOCATION INFO + MAP
   Exact same row as homepage — no new CSS needed,
   all map-col rules inherited from homepage CSS
   ------------------------------------------------ */

section#Location {
    padding-bottom: 80px;
    padding-top: 80px;
}

/* ------------------------------------------------
   3. CONTACT FORM
   light2 background via section class
   ------------------------------------------------ */

/* ------------------------------------------------
   4. HIRING CTA
   Uses .cta-section and .cta-row from component-library
   No new CSS needed
   ------------------------------------------------ */

/* ------------------------------------------------
   5. MORE LOCATIONS
   Reuses .category-tiles .locations-tiles from locations page CSS
   ------------------------------------------------ */

.bakery .more-locations-section {
    padding: 80px 0 !important;
}
.bakery .more-locations-section .more-locations-heading-row {
    padding-bottom: 0;
}
body #content .more-locations-section h2 {
    margin-bottom: 40px !important;
    text-align: center !important;
}
.bakery .more-locations-section .more-locations-tiles-row {
    padding-top: 0;
}

/* ================================================
   ICE CREAM — Specials Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

.top-blurb a.btn-bt {
    margin-right: auto;
    margin-left: auto;
}

/* ------------------------------------------------
   2. SPECIALS SECTION
   Three inline-fifty rows — uses fifty-section padding pattern
   img-col and column gap rules inherited from section.fifty-section
   ------------------------------------------------ */

section.specials-section {
    padding: 80px 0 !important;
}
section.specials-section .inline-fifty {
    padding-top: 0;
}
section.specials-section .inline-fifty:not(:last-child) {
    padding-bottom: 80px;
}
body #content .specials-section h2 {
    margin-bottom: 16px !important;
}
body #content .specials-section h3 {
    text-transform: uppercase !important;
    color: var(--accent1) !important;
    margin-bottom: 0 !important;
    font-size: 20px !important;
}

/* ------------------------------------------------
   3. NEWSLETTER SIGNUP
   Same as contact-section — no new CSS needed
   ------------------------------------------------ */

body #content section#Newsletter.contact-section h2 {
    margin-bottom: 28px !important;
}

/* ================================================
   ICE CREAM — Contact Page Styles
   ================================================ */

/* ------------------------------------------------
   1. INTRO
   Uses .top-blurb from component-library — no overrides needed
   ------------------------------------------------ */

/* ------------------------------------------------
   2. CONTACT FIFTY
   Form left, map + location info right
   Uses fifty-section padding pattern
   ------------------------------------------------ */

section.contact-page-fifty {
    padding: 80px 0 !important;
}
section.contact-page-fifty .inline-fifty {
    padding-top: 0;
}
.bakery .contact-page-fifty .location-info-col iframe {
    border-radius: 16px;
    margin-bottom: 24px;
    display: block;
    width: 100%;
}

body #content .contact-page-fifty .location-info-col h2 {
    margin-bottom: 0 !important;
}

/* ------------------------------------------------
   3. BOTTOM CTA
   Uses page-ending bottom-cta pattern
   Background image set via Design Tab
   ------------------------------------------------ */

.bakery .bottom-cta.add-parallax.vertical-align {
    background-image: url('/wp-content/uploads/2026/04/bottom-cta-home-new.webp');
    background-position: center;
    background-size: cover;
}
section.bottom-cta.add-parallax.vertical-align .wpb_row.bottom-cta-row {
    width: 100%;
}

/* ============================================================
   POMPERDALE FAMOUS NEW YORK DELI — begin build
   Home page + build-wide overrides   2026-09-22
   ============================================================ */

/* ============================================================
   POMPERDALE — BUILD-WIDE OVERRIDES
   Applies to every page on this build, not just Home.
   Keep this block at the top of the Pomperdale CSS; do not
   duplicate these rules into later page blocks.
   ============================================================ */

/* Headings: Spectral, warm olive (dark3 in the design system).
   Spectral is loaded from Google Fonts via the <link> tags in header.php.
   Scoped to #content so the footer/nav keep Brandon Grotesque, per the
   design system (Footer Heading = Brandon Grotesque Bold).
   NOTE: colour requires Theme Options > Dark 3 = #433E38 (currently #000000).
   The options page sets font-family: BrandonGrotesque-Bold on body h1-h6,
   so !important is required here. */
body #content h1,
body #content h2,
body #content h3,
body #content h4,
body #content h5,
body #content h6 {
    font-family: 'Spectral', Georgia, 'Times New Roman', serif !important;
    color: var(--dark3) !important;
}

/* Design-system weights: H1/H2 ExtraBold, H3/H5 SemiBold, H4/H6 Bold */
body #content h1,
body #content h2 {
    font-weight: 800 !important;
}
body #content h3,
body #content h5 {
    font-weight: 600 !important;
}
body #content h4,
body #content h6 {
    font-weight: 700 !important;
}

/* Gold rule. The shell only ships .line.accent3 — accent2 is the
   design-system gold used throughout this build. */
.line.accent2 {
    background: var(--accent2);
}
.bakery hr.line {
    margin: 24px 0 !important;
    max-width: 520px;
    width: 100%;
}

/* Alternate button = white pill with a brick-red outline (design system
   Buttons page). The theme option ships it as a solid accent2 fill.
   NOTE: better long-term home is Theme Options > Buttons > Alternate. */
body #content a.btn-bt.alternate,
footer a.btn-bt.alternate {
    background: var(--white) !important;
    border: 2px solid var(--dark1);
    color: var(--dark1) !important;
}
body #content a.btn-bt.alternate:hover,
footer a.btn-bt.alternate:hover {
    background: var(--dark1) !important;
    border-color: var(--dark1);
    color: var(--white) !important;
}

/* Global h2 / h3 scale. */
body h2, body h3 {
    letter-spacing: 0px;
    line-height: 45px;
    font-size: 35px;
}

/* Global button sizing. .promo-row is excluded so carousel/promo tiles
   keep their own button treatment. */
.bakery .wpb_row:not(.promo-row) a.btn-bt {
    padding: 10px 0;
    max-width: 280px;
    display: block;
}

/* Alternate button outline colour, incl. footer and blog rows. */
body footer a.btn-bt.alternate,
body #content .bakery a.btn-bt.alternate,
body #content .blog-post-row a.btn-bt.alternate {
    border-color: var(--dark1);
}

/* Eyebrow treatment — small uppercase label above a heading. */
body #content .bakery h6 {
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    font-size: 16px !important;
}


/* ============================================================
   PAGE: Home
   ============================================================ */

/* ------------------------------------------------------------
   1. HERO
   Set background image on section.pd-hero in the Design Tab
   ------------------------------------------------------------ */

.bakery .pd-hero {
    background-image: url('/wp-content/uploads/2026/09/homepage-hero.webp');
    background-repeat: no-repeat;
    background-position: 98% 100%;
    background-size: cover;
    padding: 0 !important;
}
@media (max-width: 480px) {
	.bakery .pd-hero {
		background-position: 66% 100%;
	}
}
.bakery .wpb_row.pd-hero-row {
    align-items: center;
    display: flex;
    height: auto;
}
/* 860px so the H1 breaks on 4 lines like the comp. Spectral ExtraBold at
   84px needs 825px for the widest line ("Why Settle For New") — Brandon
   fitted in 820px, Spectral does not. */
.bakery .pd-hero .hero-col .vc_column-inner .wpb_wrapper {
    max-width: 860px;
}
body #content .pd-hero h6 {
    color: var(--light1) !important;
    margin-bottom: 18px !important;
}
body #content .pd-hero h1 {
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
    color: var(--light1) !important;
    text-transform: none !important;
    line-height: 67px !important;
    margin-bottom: 15px;
    font-size: 67px !important;
}
.bakery .pd-hero a.btn-bt {
    margin-top: 0;
}

/* ------------------------------------------------------------
   2. GALLERY STRIP  (full-bleed, 5 across)
   Swap the inner markup for [sp_wpcarousel id="X"] when ready —
   .home-gallery-row / -col keep their spacing either way.
   ------------------------------------------------------------ */

.bakery .home-gallery-section {
    padding: 40px 0 0 !important;
}
.bakery .home-gallery-row .container {
    max-width: 1860px;
    width: 96.5%;
}
.bakery .gallery-strip {
    display: flex;
    gap: 39px;
}
.bakery .gallery-strip img {
    border-radius: 12px;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    display: block;
    min-width: 0;          /* without this, flex items won't shrink below intrinsic width */
    height: auto;
    flex: 1 1 0;
    width: 100%;
}

/* ------------------------------------------------------------
   3. WELCOME  (3/5 text + 2/5 image)
   Inherits section.fifty-section padding, .inline-fifty column
   padding and .img-col img 16px radius from existing CSS.
   ------------------------------------------------------------ */

.bakery section.fifty-section.welcome-section {
    padding: 90px 0 !important;
}
body #content .welcome-row .text-col h2 {
    margin-bottom: 0 !important;
    line-height: 1.1 !important;
}
.bakery .welcome-row .text-col a.btn-bt {
    margin-top: 12px;
}

/* ------------------------------------------------------------
   4. OUR MENUS  (2x cards spotlight, light2 section)
   ------------------------------------------------------------ */

.bakery section.menus-section {
    padding: 100px 0 !important;
}
body #content .menus-heading-row h6 {
    color: var(--dark1) !important;
    margin-bottom: 10px !important;
}
body #content .menus-heading-row h2 {
    margin-bottom: 14px !important;
}
body #content .menus-heading-row p {
    max-width: 960px;
    margin: 0 auto !important;
}
.bakery .menus-row {
    margin: 30px -40px 0;
}
.menus-row .container {
    max-width: 100%;
    width: 94%;
}
.bakery .menu-card-col {
    padding: 0 40px !important;
    display: flex;
}
.bakery .menu-card-col > .vc_column-inner {
    flex-direction: column;
    display: flex;
    height: 100%;
    width: 100%;
}
.bakery .menu-card-col > .vc_column-inner > .wpb_wrapper {
    flex-direction: column;
    display: flex;
    flex: 1;
}
.bakery .menu-card {
    background: var(--white);
    border-radius: 16px;
    padding: 48px;
    height: 100%;
}
.bakery .menu-card > .wpb_wrapper {
    align-items: stretch;
    display: flex;
    height: 100%;
    gap: 36px;
}
.bakery .menu-card-img {
    position: relative;
    flex: 0 0 278px;
    min-width: 0;
}
.bakery .menu-card-img img {
    border-radius: 12px;
    object-fit: cover;
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
}
.bakery .menu-card-body {
    flex-direction: column;
    display: flex;
    flex: 1;
}
body #content .menu-card-body h3 {
    margin-bottom: 0 !important;
    line-height: 1.15 !important;
}
.bakery .menu-card-body a.btn-bt {
    text-align: center;
    margin-top: 14px;
    display: block;
    width: 100%;
}
.bakery .menu-card-body p {
    margin-bottom: 12px;
}

/* ------------------------------------------------------------
   5. CTA MIDDLE — GIFT CARDS
   Set background image on section.mid-cta-section in Design Tab
   NOTE: the gift-card graphic itself was not supplied in the
   handoff assets — currently a picsum placeholder in the markup.
   ------------------------------------------------------------ */

body #content .bakery .mid-cta-section {
    background-image: url('/wp-content/uploads/2026/09/global-mid-cta-bg-gift-cards.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 0 !important;
}
.bakery .wpb_row.mid-cta-row {
    justify-content: center;
    align-items: center;
    text-align: center;
    display: flex;
}
.bakery .mid-cta-col .vc_column-inner {
    padding: 80px 0;
}
.bakery p.gift-card-art {
    line-height: 0 !important;
    text-align: center;
    margin-bottom: 26px;
}
.bakery p.gift-card-art img {
    border-radius: 10px;
    display: inline-block;
    max-width: 280px;
    height: auto;
    width: 60%;
}
body #content .mid-cta-row h2 {
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
    color: var(--light1) !important;
    margin-bottom: 14px !important;
}
body #content .mid-cta-row p {
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
    color: var(--light1) !important;
}
body #content .mid-cta-row p a:not(.btn-bt) {
    text-decoration: underline !important;
    color: var(--light1) !important;
}
.bakery .mid-cta-row a.btn-bt {
    margin: 22px auto 0;
}

/* ------------------------------------------------------------
   6. CATERING  (2/5 text + 3/5 video)
   ------------------------------------------------------------ */

@media (min-width: 980px) {
.catering-intro-row.inline-fifty .container {
    align-items: center;
    display: flex;
}
}

.bakery section.fifty-section.catering-section {
    padding: 90px 0 !important;
}
body #content .catering-row h6 {
    color: var(--accent1) !important;
    margin-bottom: 10px !important;
}
body #content .catering-row h2 {
    margin-bottom: 20px !important;
    line-height: 1.1 !important;
}
body #content .catering-row p.catering-item {
    margin-bottom: 0 !important;
}
.bakery .catering-row hr.line {
    margin: 14px 0 !important;
    max-width: none;
}
.bakery .catering-row a.btn-bt {
    margin-top: 26px;
}
.bakery .video-embed {
    border-radius: 12px;
    padding-bottom: 56.25%;
    position: relative;
    overflow: hidden;
    height: 0;
}
.bakery .video-embed iframe {
    position: absolute;
    border: 0;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
}
body #content .video-caption {
    text-align: center !important;
    margin-top: 18px;
}

@media (max-width: 979px) {
	.reverse .container {
    	display: flex;
    	flex-direction: column-reverse;
	}
}

/* ------------------------------------------------------------
   7. NAP ROW  (2/3 map + 1/3 details)
   ------------------------------------------------------------ */

.bakery .nap-section {
    padding: 0 0 90px !important;
}
.bakery .nap-map-col .vc_column-inner,
.bakery .nap-map-col .vc_column-inner .wpb_wrapper,
.bakery .nap-map-col .vc_column-inner .wpb_wrapper .wpb_text_column,
.bakery .nap-map-col .vc_column-inner .wpb_wrapper .wpb_text_column p {
    height: 100%;
}
.bakery .nap-map-col iframe {
    border-radius: 12px;
    min-height: 430px;
    display: block;
    height: 100%;
    width: 100%;
}
.bakery .nap-col {
    padding-left: 60px !important;
}
body #content .nap-col h2 {
    margin-bottom: 0 !important;
    line-height: 1.1 !important;
}
body #content .nap-col h4 {
    margin-bottom: 4px !important;
    margin-top: 22px !important;
}
body #content .nap-col h5 {
    margin-bottom: 4px !important;
    margin-top: 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 18px !important;
}
body #content .nap-col p {
    margin-bottom: 0 !important;
}
body #content .nap-col a {
    text-decoration: underline !important;
    color: var(--dark3) !important;
}
body #content .nap-col a:hover {
    color: var(--accent1) !important;
}

/* ------------------------------------------------------------
   8. RAVE REVIEWS  (parallax band)
   Set background image on section.rave-reviews-section in Design Tab
   NOTE: .reviews-cards is hard-coded from the comp. Replace that
   div with the Google Reviews widget shortcode once configured.
   ------------------------------------------------------------ */

.bakery .rave-reviews-section {
    background-image: url('/wp-content/uploads/2026/09/catering-parallax-sandwich.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 0 !important;
}
.bakery .wpb_row.rave-reviews-row {
    justify-content: center;
    align-items: center;
    display: flex;
}
.bakery .rave-reviews-col .vc_column-inner {
    padding: 90px 0;
}
.bakery .rave-reviews-panel {
    background: rgba(255, 255, 255, 0.90);
    border-radius: 16px;
    max-width: 1240px;
    margin: 0 auto;
    padding: 44px 48px;
}
body #content .rave-reviews-panel h3 {
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin-bottom: 28px !important;
    font-size: 30px !important;
}
.bakery .reviews-cards {
    align-items: flex-start;
    display: flex;
    gap: 28px;
}
.bakery .review-card {
    border-left: 1px solid var(--light3);
    padding-left: 28px;
    flex: 1 1 0;
}
.bakery .review-card:first-child {
    border-left: none;
    padding-left: 0;
}
.bakery .review-head {
    flex-direction: column;
    margin-bottom: 6px;
    display: flex;
}
body #content .review-name {
    font-size: 17px !important;
    line-height: 1.3 !important;
    color: var(--dark3) !important;
    font-weight: 700;
}
body #content .review-date {
    color: var(--neutral1, #6a6a6a) !important;
    line-height: 1.4 !important;
    font-size: 14px !important;
}
body #content .review-stars {
    letter-spacing: 2px !important;
    color: var(--accent2) !important;
    margin-bottom: 10px;
    font-size: 16px !important;
}
body #content .review-card p {
    line-height: 1.5 !important;
    font-size: 16px !important;
    margin-bottom: 0 !important;
}

/* ------------------------------------------------------------
   9. DAILY SPECIALS  (4x cards spotlight, 2 x 2)
   ------------------------------------------------------------ */

.bakery .daily-specials-section {
    padding: 96px 0 !important;
}
body #content .daily-specials-heading-row h2 {
    margin-bottom: 0 !important;
}
.bakery .daily-specials-row {
    margin: 0 -40px 52px;
}
.bakery .daily-specials-row:last-of-type {
    margin-bottom: 0;
}
.bakery .special-col {
    padding: 0 40px !important;
    display: flex;
}
.bakery .special-col > .vc_column-inner {
    flex-direction: column;
    display: flex;
    height: 100%;
    width: 100%;
}
.bakery .special-col > .vc_column-inner > .wpb_wrapper {
    flex-direction: column;
    display: flex;
    flex: 1;
}
.bakery .special-card {
    background: var(--light2);
    border-radius: 16px;
    padding: 48px;
    height: 100%;
}
.bakery .special-card > .wpb_wrapper {
    align-items: stretch;
    display: flex;
    height: 100%;
    gap: 36px;
}
.bakery .special-card-img {
    position: relative;
    flex: 0 0 278px;
    min-width: 0;
}
.bakery .special-card-img img {
    border-radius: 12px;
    object-fit: cover;
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
}
.bakery .special-card-body {
    flex-direction: column;
    display: flex;
    flex: 1;
}
body #content .special-card-body h6 {
    color: var(--accent1) !important;
    margin-bottom: 8px !important;
}
body #content .special-card-body h3 {
    text-transform: uppercase !important;
    margin-bottom: 0 !important;
    line-height: 1.15 !important;
    font-size: 30px !important;
}
body #content .special-card-body p {
    margin-bottom: 0 !important;
}
.bakery .daily-specials-footer-row {
    padding-top: 44px !important;
}
/* The global `a.btn-bt { display:block }` rule means text-align:center on the
   parent no longer centres the button — block elements need auto side margins. */
.bakery .daily-specials-footer-row a.btn-bt {
    margin-left: auto;
    margin-right: auto;
}

body #content p.price-note {
    margin-bottom: 26px !important;
    font-size: 17px !important;
}

/* ------------------------------------------------------------
   10. BOTTOM CTA — COME VISIT US
   Set background image on section.bottom-cta in the Design Tab
   ------------------------------------------------------------ */

/* NOTE: the Ice Cream block declares
   `.bakery .bottom-cta.add-parallax.vertical-align { background-image: ... }`
   (4 classes, and repeated 5x from append-only history). Match its
   specificity + 1 or the Ice Cream image wins. */
.bakery .bottom-cta.add-parallax.vertical-align.home-bottom-cta {
    padding: 0 !important;
    background-image: url('/wp-content/uploads/2026/09/global-bottom-cta-bg-come-visit-us.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.bakery .home-bottom-cta .wpb_row.bottom-cta-row {
    width: 100%;
}
.bakery .home-bottom-cta .bottom-cta-col .vc_column-inner {
    min-height: 100%;
    align-items: center;
    justify-content: center;
    display: flex;
}
body #content .home-bottom-cta h6 {
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
    color: var(--light1) !important;
    margin-bottom: 14px !important;
}
body #content .home-bottom-cta h2 {
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
    color: var(--light1) !important;
    margin-bottom: 10px !important;
    font-size: 64px !important;
}
body #content .home-bottom-cta p {
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
    color: var(--light1) !important;
    font-size: 26px !important;
}
/* Stacked + centred by default; the >=980px block below puts the pair
   side by side. The global `.wpb_row:not(.promo-row) a.btn-bt` rule forces
   display:block, so desktop has to opt back in to inline-block. */
.bakery .home-bottom-cta .wpb_row.bottom-cta-row a.btn-bt {
    margin: 14px auto 0;
    display: block;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (min-width: 980px) {
    .bakery .wpb_row.pd-hero-row,
    .bakery .pd-hero-row .container {
        min-height: 700px;
        align-items: center;
    }
    .bakery .mid-cta-section,
    .bakery .rave-reviews-section {
        min-height: 700px;
    }
    /* Bottom CTA: buttons side by side on desktop, stacked at <=979px.
       Needs >= 4 classes to beat the global
       `.bakery .wpb_row:not(.promo-row) a.btn-bt {display:block}` (0,3,1 —
       :not() contributes its argument's specificity). */
    .bakery .home-bottom-cta .wpb_row.bottom-cta-row a.btn-bt {
        /* Two rules zero the horizontal padding: the new global button rule,
           and Ice Cream's `.bottom-cta a.btn-bt { padding:14px 0 !important }`
           (custom.css:4106). !important is required to beat the latter.
           Comp has these pills at ~210px / ~188px. */
        padding: 14px 26px !important;
        margin: 26px 6px 0;
        display: inline-block;
        vertical-align: top;
        max-width: none;
        width: auto;
    }
    .bakery .mid-cta-row,
    .bakery .rave-reviews-row {
        min-height: 700px;
    }
}

@media (max-width: 1400px) {
    .bakery .menu-card,
    .bakery .special-card {
        padding: 36px;
        gap: 26px;
    }
    .bakery .menu-card-img,
    .bakery .special-card-img {
        flex: 0 0 220px;
    }
    body #content .pd-hero h1 {
        font-size: 66px !important;
    }
}

@media (max-width: 1100px) {
    .bakery .menus-row,
    .bakery .daily-specials-row {
        margin-left: -18px;
        margin-right: -18px;
    }
    .bakery .menu-card-col,
    .bakery .special-col {
        padding: 0 18px !important;
    }
    .bakery .gallery-strip {
        gap: 18px;
    }
    .bakery .reviews-cards {
        flex-wrap: wrap;
        gap: 22px;
    }
    .bakery .review-card {
        flex: 1 1 calc(50% - 22px);
    }
    .bakery .review-card:nth-child(3) {
        border-left: none;
        padding-left: 0;
    }
}

@media (max-width: 979px) {
    /* Hero */
    .bakery .wpb_row.pd-hero-row,
    .bakery .pd-hero-row .container {
        min-height: 420px;
		display: flex;
		align-items: center;
    }
/*     .bakery .pd-hero .hero-col .vc_column-inner {
        padding: 50px 0;
    } */
    body #content .pd-hero h1 {
        font-size: 40px !important;
    }

    /* Sections */
    .bakery section.fifty-section.welcome-section,
    .bakery section.fifty-section.catering-section {
        padding: 50px 0 !important;
    }
    .bakery section.menus-section,
    .bakery .daily-specials-section {
        padding: 50px 0 !important;
    }
    .bakery .nap-section {
        padding: 0 0 50px !important;
    }

    /* Cards stack image-over-text */
    .bakery .menu-card,
    .bakery .special-card {
        padding: 26px;
    }
    .bakery .menu-card > .wpb_wrapper,
    .bakery .special-card > .wpb_wrapper {
        flex-direction: column;
        gap: 22px;
    }
    .bakery .menu-card-img,
    .bakery .special-card-img {
        position: static;
        flex: 0 0 auto;
    }
    .bakery .menu-card-img img,
    .bakery .special-card-img img {
        aspect-ratio: 16 / 10;
        position: static;
        height: auto;
    }
    .bakery .menus-row,
    .bakery .daily-specials-row {
        margin: 0;
    }
    .bakery .menu-card-col,
    .bakery .special-col {
        padding: 0 0 26px !important;
    }
    .bakery .daily-specials-row {
        margin-bottom: 0;
    }

    /* Gallery becomes a 1-up on mobile per the mobile comp */
    .bakery .home-gallery-row .container {
        width: 90%;
    }
    .bakery .gallery-strip {
        gap: 14px;
    }
    .bakery .gallery-strip img:nth-child(n + 2) {
        display: none;
    }

    /* NAP */
    .bakery .nap-col {
        padding-left: 0 !important;
        padding-top: 30px !important;
    }
    .bakery .nap-map-col iframe {
        min-height: 300px;
    }

    /* Reviews */
    .bakery .rave-reviews-col .vc_column-inner {
        padding: 50px 0;
    }
    .bakery .rave-reviews-panel {
        padding: 28px 22px;
        width: 100%;
    }
    .bakery .review-card {
        border-left: none;
        flex: 1 1 100%;
        padding-left: 0;
    }

    /* Mid CTA */
    .bakery .mid-cta-col .vc_column-inner {
        padding: 50px 0;
    }

    /* Bottom CTA */
    .bakery .home-bottom-cta .bottom-cta-col .vc_column-inner {
        min-height: 420px;
        padding: 50px 0;
    }
    body #content .home-bottom-cta h2 {
        font-size: 40px !important;
    }
    body #content .home-bottom-cta p {
        font-size: 20px !important;
    }
}

@media (max-width: 480px) {
    .bakery .pd-hero {
        background-image: url('/wp-content/uploads/2026/09/homepage-hero-mobile-2x.webp');
    }
    .bakery .bottom-cta.add-parallax.vertical-align.home-bottom-cta {
        background-image: url('/wp-content/uploads/2026/09/global-bottom-cta-bg-mobile-come-visit-us.webp');
    }
    .bakery .rave-reviews-section {
        background-image: url('/wp-content/uploads/2026/09/catering-parallax-sandwich.webp');
    }
    body #content .pd-hero h1 {
        font-size: 32px !important;
        line-height: 32px !important;
		max-width: 85%;
    }
    body #content .home-bottom-cta h2 {
        font-size: 34px !important;
    }
    .bakery .menu-card-body a.btn-bt {
        margin: 12px auto 0;
        display: block;
        width: 100%;
    }
    .bakery .home-bottom-cta .wpb_row.bottom-cta-row a.btn-bt {
        margin: 12px auto 0;
        display: block;
        width: 100%;
    }
    body #content .special-card-body h3,
    body #content .menu-card-body h3 {
        font-size: 24px !important;
    }
}


/* ============================================================
   DEVELOPER UPDATES — 2026-09-22
   Appended last so these win over the same-specificity rules above.
   ============================================================ */

/* Dark tint over the two photographic CTA bands for text legibility.
   NOTE: background-blend-mode is inert here — the background-image sits on
   the parent <section> (.mid-cta-section / .home-bottom-cta), not on the row,
   so there is nothing on this element to blend with. The rgba background-color
   still renders as a flat 30% black scrim, which is the intended effect.
   Move both declarations onto the section if true blending is wanted. */
.vc_row.wpb_row.mid-cta-row,
.vc_row.wpb_row.bottom-cta-row {
    background-blend-mode: overlay;
    background-color: rgba(0, 0, 0, 0.3);
	height: 100%;
}

@media (max-width: 480px) {
    body #content .pd-hero h1 {
        font-size: 32px !important;
        line-height: 32px !important;
    }
    body h2, body h3 {
        letter-spacing: 0px;
        line-height: 45px;
        font-size: 30px;
    }
    .bakery .bottom-cta {
        height: 400px;
    }
    /* Companion to the 400px section height: the <=979px block above gives the
       inner column min-height:420px + 50px vertical padding, which made it
       424px tall inside a 400px section — 23px of the rgba scrim (and the row)
       rendered below the background image, over the footer. Pin the inner to
       the same 400px. */
    .bakery .home-bottom-cta .bottom-cta-col .vc_column-inner {
        min-height: 400px;
        padding: 20px 0;
    }
}

@media (max-width: 979px) {
    body #content .welcome-row .text-col h2 {
        text-align: center;
    }
    section.vc_section.fifty-section.welcome-section {
        padding-top: 0px !important;
    }
    .menu-card-body p,
    .menu-card-body h3 {
        text-align: center !important;
    }
}


/* ============================================================
   HEADER / NAV CHROME
   Overrides Ice Cream rules that have no Theme Options field:
     custom.css:1654  ul.social li a i        { background/border: accent2 }
     custom.css:284   .header-button a.btn-default.btn-bt { background: accent2 }
   ============================================================ */

/* Social icons: dark1 pill, white glyph (design system UI Elements). */
body ul.social li a i {
    border-color: var(--dark1);
    background: var(--dark1);
}
body ul.social li a i:before {
    color: var(--white);
}
body ul.social li a:hover i {
    border-color: var(--dark1);
    background: var(--white);
}
body ul.social li a:hover i:before {
    color: var(--dark1);
}

/* Header nav button: accent1 pill. */
body .header-button a.btn-default.btn-bt {
    border-color: var(--accent1);
    background: var(--accent1);
    color: var(--white);
}
body .header-button a.btn-default.btn-bt:hover {
    border-color: var(--accent1);
    background: var(--white);
    color: var(--accent1);
}

/* Mobile logo swap: the wide horizontal lockup (912x162, 5.63:1) is far too
   wide once the ORDER NOW button and hamburger share the row, so at <=979px
   swap in the stacked badge (399x163, 2.45:1).
   `content: url()` on the <img> replaces the rendered image while leaving the
   element (and its alt) in place — cleaner than hiding the img and putting a
   background on the <a>, which would strip the link's accessible name.
   58px tall x 2.448 ratio = 142px wide. */
@media (max-width: 979px) {
    .logo a img,
    .site-branding .logo a img {
        content: url('/wp-content/uploads/2026/09/global-logo-footer-pomperdale.webp');
        max-height: 58px;
        max-width: 142px;
        height: 58px;
        width: auto;
    }
}

/* Hero ORDER NOW left-align on mobile.
   Ice Cream ships `@media (max-width:480px) { .vc_col-sm-12 a.btn-bt {
   margin-right:auto; margin-left:auto } }` (custom.css ~L1534, 0,2,1) and the
   hero column IS .vc_col-sm-12 — so the global `display:block; max-width:280px`
   button turns into a centred block. Override at 0,3,1 across the whole <=979
   range so it stays left-aligned under the left-aligned h1/h6.  [hero ORDER NOW left-align] */
@media (max-width: 979px) {
    .bakery .pd-hero .hero-col a.btn-bt {
        margin-left: 0;
        margin-right: auto;
    }
}

/* Menu-card buttons centre on mobile.
   The card text is already centred at <=979 (developer rule on
   .menu-card-body p / h3), but the buttons are blocks — blocks ignore
   text-align, so they stayed hard-left. Desktop keeps them left-aligned
   under the copy, matching the comp, so this is <=979 only. */
@media (max-width: 979px) {
    .bakery .menu-card-body a.btn-bt {
        margin-left: auto;
        margin-right: auto;
    }
}


/* ============================================================
   FOOTER — Pomperdale
   Comp: white footer, dark text, accent1 icons, 4 columns
   (logo | address | hours | quick links), light2 copyright bar.
   Ice Cream ships a dark1 footer with light1 text, so most of this
   is overriding it. Base rules being beaten, with their specificity:
     custom.css  footer#footer            {background:dark1}   (1,0,1)
     custom.css  footer .widget p         {color:light1}       (0,1,2)
     custom.css  footer .widget a:link    {color:light1 !imp}  (0,1,2)
     custom.css  body footer .widget a:hover {accent3 !imp}    (0,3,2)
     custom.css  footer#footer i.footer-icon {color:accent3}   (1,1,2)
   ============================================================ */

body footer#footer {
    background: var(--light1);
    padding: 56px 0 44px;
}

/* Text + links go dark on the now-white footer */
body footer#footer .widget p,
body footer#footer .widget li {
    color: var(--dark3) !important;
}
body footer#footer .widget a:link,
body footer#footer .widget a:visited {
    color: var(--dark3) !important;
}
body footer#footer .widget a:hover:link:not(.btn-bt),
body footer#footer .widget a:hover:visited:not(.btn-bt),
body footer#footer ul#menu-footer li a:hover,
body footer#footer .footer-address a:hover {
    color: var(--accent1) !important;
}

/* Column headings */
body footer#footer span.fake-widget-title {
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--dark3) !important;
    margin-bottom: 10px !important;
    line-height: 1.25 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

/* Icons above each heading are accent1 in the comp, not accent3 */
body footer#footer i.footer-icon {
    color: var(--accent1) !important;
    margin-bottom: 10px;
    font-size: 22px;
}

/* Badge logo */
body footer#footer .footer-logo-img {
    margin: 0 auto;
    display: block;
    max-width: 280px;
    height: auto;
    width: 100%;
}

/* Hours: two stacked blocks, DELIVERY HOURS has no icon of its own */
body footer#footer p.footer-hours.footer-hours-delivery {
    margin-top: 12px;
    margin-bottom: 0;
}

/* Quick links list */
body footer#footer ul#menu-footer {
    text-align: center;
}
body footer#footer ul#menu-footer li a {
    line-height: 1.7 !important;
    font-size: 16px !important;
}

/* Copyright bar */
body .row.copyright {
    background: var(--light2);
    padding: 14px 0;
}
body .row.copyright p,
body .row.copyright a,
body .row.copyright p#copyright-p,
body .row.copyright p.copyright-links {
    color: var(--dark3) !important;
}
body .row.copyright a:hover {
    color: var(--accent1) !important;
}

@media (max-width: 979px) {
    body footer#footer {
        padding: 40px 0 30px;
    }
    body footer#footer .widget {
        margin-bottom: 26px;
    }
    body footer#footer .footer-logo-img {
        max-width: 220px;
    }
}


/* ============================================================
   SUBPAGE COMPONENTS  (About, and reused by later subpages)
   Top banner = ACF hero short header (page.php .default-header),
   set per page via header_background + top_banner_title.
   Explore row reuses Ice Cream's .explore-section/.category-tile.
   ============================================================ */

/* --- Hero short header ------------------------------------- */
body:not(.home) .default-header {
    background-position: center;
    background-size: cover;
    align-items: center;
    display: flex;
    height: 360px;
}
body:not(.home) #content .default-header h1 {
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.55);
    color: var(--light1) !important;
    text-transform: none !important;
    text-align: center !important;
    font-size: 64px !important;
    line-height: 1.1 !important;
}

/* --- Trio image grid (50 50 trio row) ---------------------- */
.bakery .trio-grid {
    flex-direction: column;
    display: flex;
    gap: 18px;
}
.bakery .trio-grid img {
    border-radius: 16px;
    object-fit: cover;
    display: block;
    height: auto;
    width: 100%;
}
.bakery .trio-top img {
    aspect-ratio: 16 / 11;
}
.bakery .trio-bottom {
    display: flex;
    gap: 18px;
}
.bakery .trio-bottom img {
    aspect-ratio: 4 / 3;
    min-width: 0;
    flex: 1 1 0;
}
.bakery .trio-col p {
    line-height: 0 !important;
}

/* --- Decorative parallax band ------------------------------ */
.bakery section.fullwidth-plax.about-parallax {
    background-image: url('/wp-content/uploads/2026/09/about-parallax-storefront.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 0 !important;
    height: 560px;
}

/* --- Longform full-width row ------------------------------- */
.bakery section.longform-section {
    padding: 90px 0 !important;
}
body #content .longform-row h2 {
    margin-bottom: 20px !important;
    line-height: 1.15 !important;
}

/* --- List row: gold rules between items -------------------- */
.bakery .about-list-row hr.line {
    margin: 18px 0 !important;
    max-width: none;
}
body #content .about-list-row p {
    margin-bottom: 0 !important;
}

/* --- Cards explore row ------------------------------------- */
.bakery section.explore-section {
    padding: 90px 0 100px !important;
}
.bakery .explore-tiles-row {
    padding-top: 10px;
}
.bakery .explore-tiles .category-tile {
    min-width: 0;
    flex: 1 1 0;
}
.bakery .explore-tiles .category-tile img {
    aspect-ratio: 1 / 1;
}
.bakery .explore-tiles-col p {
    line-height: 0 !important;
    margin-bottom: 0;
}

@media (max-width: 979px) {
    body:not(.home) .default-header {
        height: 240px;
    }
    body:not(.home) #content .default-header h1 {
        font-size: 36px !important;
    }
    .bakery section.fullwidth-plax.about-parallax {
        height: 300px;
    }
    .bakery section.longform-section,
    .bakery section.explore-section {
        padding: 50px 0 !important;
    }
    .bakery .explore-tiles .category-tile {
        flex: 1 1 calc(50% - 20px);
    }
    .bakery .vc_col-sm-12 .category-tiles {
        flex-wrap: wrap;
        gap: 40px 20px;
    }
}


/* ============================================================
   MENU / CATERING PAGES
   Tabbed layout adapted from the Ice Cream /menu/ page.
   ============================================================ */

/* Tab strip: WPBakery sets a default min-width on the tab <li> that breaks
   equal widths, so set an explicit percentage. 6 tabs on Main Menu,
   3 on Catering. */
/* Tab strip on one line.
   Beaten rules: base `body #content .tabs .vc_tta-tabs-list {max-width:1200px}`
   (1,2,1) and `...\ .vc_tta-tab a {width:87%; padding:10px 0}` (1,4,1), plus
   WPBakery's own stylesheet which loads AFTER custom.css via wp_head() and was
   re-asserting content-based li widths — hence !important throughout.
   Equal flex columns + nowrap + smaller type so all 6 Main Menu tabs fit. */
body #content .bakery .tabs .menu-tabs .vc_tta-tabs-list {
    justify-content: center;
    flex-wrap: nowrap !important;
    max-width: 1460px !important;
    padding: 20px 0 !important;
    align-items: stretch;
    display: flex !important;
    gap: 8px;
}
body #content .bakery .tabs .menu-tabs .vc_tta-tabs-list > li.vc_tta-tab {
    min-width: 0 !important;
    flex: 1 1 0 !important;
    width: auto !important;
    margin: 0 !important;
}
body #content .bakery .tabs .menu-tabs .vc_tta-tabs-list > li.vc_tta-tab > a {
    justify-content: center;
    padding: 10px 8px !important;
    white-space: nowrap;
    min-width: 0 !important;
    text-align: center;
    width: 100% !important;
    display: flex;
}
body #content .bakery .tabs #MenuTabs li.vc_tta-tab a span.vc_tta-title-text {
    letter-spacing: 1px !important;
    font-size: 14px !important;
}
body #content .bakery .tabs #CateringTabs li.vc_tta-tab a span.vc_tta-title-text {
    letter-spacing: 1.2px !important;
    font-size: 16px !important;
}

/* No white rule under the tab strip.
   NOTE the earlier attempt used `.menu-tabs .vc_tta-tabs` — a DESCENDANT
   selector — but `.menu-tabs` IS the `.vc_tta-tabs` element, so it matched
   nothing. The element itself and the `.vc_tta-container` wrapper must be
   targeted directly.
   The red bar lives on `.vc_tta-tabs-list` (set in the base TABS SECTION
   block, ~L4546) while `.vc_tta-tabs-container` is also red, so any border,
   gap or margin between the two shows as a white line across the bar.
   Reset the borders AND collapse the gaps. */
body #content .bakery .tabs .vc_tta-container,
body #content .bakery .tabs .menu-tabs,
body #content .bakery .tabs .menu-tabs .vc_tta-tabs-container,
body #content .bakery .tabs .menu-tabs .vc_tta-tabs-list,
body #content .bakery .tabs .menu-tabs .vc_tta-panels-container,
body #content .bakery .tabs .menu-tabs .vc_tta-panels,
body #content .bakery .tabs .menu-tabs .vc_tta-panel,
body #content .bakery .tabs .menu-tabs .vc_tta-panel-body {
    box-shadow: none !important;
    outline: none !important;
    border: none !important;
}
/* Collapse any seam between the tab bar and the panels */
body #content .bakery .tabs .menu-tabs .vc_tta-tabs-container {
    background: var(--accent1) !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
body #content .bakery .tabs .menu-tabs .vc_tta-tabs-list {
    margin-bottom: 0 !important;
}
body #content .bakery .tabs .menu-tabs .vc_tta-panels-container,
body #content .bakery .tabs .menu-tabs .vc_tta-panels {
    background: transparent !important;
    margin-top: 0 !important;
}

/* Menu groups + items */
body #content .menu-group-title {
    border-bottom: 3px solid var(--accent2);
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--dark1) !important;
    padding-bottom: 10px;
    margin: 34px 0 6px !important;
    font-size: 22px !important;
}
body #content .menu-group-note {
    color: var(--neutral1, #6a6a6a) !important;
    margin-bottom: 18px !important;
    line-height: 1.5 !important;
    font-size: 15px !important;
    font-style: italic;
}
.bakery .menu-items {
    column-gap: 56px;
    columns: 2;
}
.bakery .menu-item {
    break-inside: avoid;
    margin-bottom: 16px;
    display: block;
}
body #content p.menu-item-name {
    justify-content: space-between;
    color: var(--dark3) !important;
    margin-bottom: 2px !important;
    line-height: 1.35 !important;
    font-size: 17px !important;
    font-weight: 700;
    display: flex;
    gap: 14px;
}
body #content .menu-item-price {
    color: var(--dark1) !important;
    white-space: nowrap;
    font-weight: 700;
}
body #content p.menu-item-desc {
    line-height: 1.45 !important;
    font-size: 15px !important;
    margin-bottom: 0 !important;
}

/* Menu + catering intro: two stacked buttons */
.bakery .menu-intro-row a.btn-bt,
.bakery .catering-intro-row a.btn-bt {
    margin: 10px 0 0;
}

/* Seasonal holiday menus: one image per column (per main-menu NOTES) */
.bakery section.fifty-section.seasonal-section {
    padding: 70px 0 !important;
}
.bakery .seasonal-row .img-col img {
    border-radius: 16px;
    display: block;
    height: auto;
    width: 100%;
}

/* Catering parallax band */
.bakery section.fullwidth-plax.catering-parallax {
    background-image: url('/wp-content/uploads/2026/09/catering-parallax-sandwich.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 0 !important;
    height: 460px;
}

/* Catering tab lists */
.bakery .menu-tabs ul {
    list-style: disc;
    margin: 0 0 0 20px;
    padding: 0;
}
body #content .menu-tabs ul li {
    line-height: 1.7 !important;
}

@media (max-width: 979px) {
    .bakery .menu-items {
        columns: 1;
    }
    body #content .bakery .tabs .menu-tabs .vc_tta-tabs-list {
        flex-wrap: wrap !important;
    }
    body #content .bakery .tabs .menu-tabs .vc_tta-tabs-list > li.vc_tta-tab {
        flex: 1 1 100% !important;
    }
    body #content .bakery .tabs #MenuTabs li.vc_tta-tab a span.vc_tta-title-text,
    body #content .bakery .tabs #CateringTabs li.vc_tta-tab a span.vc_tta-title-text {
        font-size: 15px !important;
    }
    .bakery section.fullwidth-plax.catering-parallax {
        height: 260px;
    }
    .bakery section.fifty-section.seasonal-section {
        padding: 40px 0 !important;
    }
	h4.vc_tta-panel-title {
    	width: 100%;
    	text-align: center;
	}
}


/* ============================================================
   GALLERY / FRANCHISE / LIL CTA ROW
   ============================================================ */

/* --- LIL CTA ROW (Level 2 rule: dark1 bar above the footer) --- */
.bakery section.lil-cta-section {
    padding: 0 !important;
}
.bakery .wpb_row.lil-cta-row {
    padding: 34px 0;
}
.bakery .lil-cta-row .wpb_text_column .wpb_wrapper {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 32px;
    display: flex;
    row-gap: 16px;
}
body #content .lil-cta-row h3 {
    color: var(--light1) !important;
    text-align: center !important;
    margin-bottom: 0 !important;
    line-height: 1.2 !important;
    font-size: 30px !important;
}
.bakery .wpb_row.lil-cta-row a.btn-bt {
    padding: 14px 26px !important;
    display: inline-block;
    vertical-align: top;
    max-width: none;
    flex-shrink: 0;
    margin: 0;
    width: auto;
}

/* Reviews band now uses catering-parallax-sandwich.webp (1920x1006).
   At 1006px tall it covers a typical viewport with no upscale (0.97-0.99x at
   900-1000px tall), so the `.add-parallax` fixed attachment is left in place
   and the band parallax-scrolls again. The previous art was only 700px tall,
   which forced a ~1.43x upscale — that was the pixellation, and the reason a
   scroll override used to live here.
   Caveat: on a viewport taller than ~1006px it will still upscale (1.19x at
   1200px tall). */

/* --- Gallery: 50/50 slider block --------------------------- */
.bakery .gallery-slider {
    grid-template-columns: repeat(2, 1fr);
    display: grid;
    gap: 16px;
}
.bakery .gallery-slider img {
    border-radius: 16px;
    aspect-ratio: 4 / 4;
    object-fit: cover;
    display: block;
    height: auto;
    width: 100%;
}
.bakery .slider-col p {
    line-height: 0 !important;
}

/* --- Gallery grid ------------------------------------------ */
.bakery section.gallery-section {
    padding: 90px 0 !important;
}
.bakery .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    display: grid;
    gap: 20px;
}
.bakery .gallery-grid img {
    border-radius: 16px;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
    height: auto;
    width: 100%;
}
.bakery .gallery-col p {
    line-height: 0 !important;
    margin-bottom: 0;
}

/* --- Franchise -------------------------------------------- */
body #content .franchise-intro-row h6 {
    color: var(--dark1) !important;
    margin-bottom: 10px !important;
}
.bakery section.franchise-detail-section {
    padding: 80px 0 !important;
}
.bakery .franchise-detail-row .wpb_column:first-child {
    padding-right: 3%;
}
.bakery .franchise-detail-row .wpb_column:last-child {
    padding-left: 3%;
}
body #content .franchise-detail-row h3 {
    margin-bottom: 0 !important;
    margin-top: 28px !important;
}
body #content .franchise-detail-row .wpb_text_column > .wpb_wrapper > h3:first-child {
    margin-top: 0 !important;
}
.bakery .franchise-detail-row ul,
.bakery .franchise-video-row ul {
    list-style: disc;
    margin: 0 0 0 20px;
    padding: 0;
}
body #content .franchise-detail-row li {
    margin-bottom: 8px;
    line-height: 1.5 !important;
}
.bakery section.franchise-video-section {
    padding: 80px 0 !important;
}
.bakery section.blurb-section.franchise-contact-blurb {
    padding: 80px 0 !important;
}
section.vc_section.fifty-section.franchise-intro-section {
    padding-bottom: 0px !important;
}

@media (max-width: 979px) {
    .bakery .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
    .bakery section.gallery-section,
    .bakery section.franchise-detail-section,
    .bakery section.franchise-video-section,
    .bakery section.blurb-section.franchise-contact-blurb {
        padding: 50px 0 !important;
    }
    .bakery .franchise-detail-row .wpb_column:first-child,
    .bakery .franchise-detail-row .wpb_column:last-child {
        padding-left: 0;
        padding-right: 0;
    }
    body #content .lil-cta-row h3 {
        font-size: 24px !important;
    }
    .bakery .wpb_row.lil-cta-row {
        padding: 26px 0;
    }
}

@media (max-width: 480px) {
    .bakery .gallery-grid {
        grid-template-columns: 1fr;
    }
    .bakery .gallery-slider {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
	.bakery .wpb_row.lil-cta-row {
        padding: 26px 0 !important;
    }
}

/* Menu tab content: left-align every part of a menu item.
   The tab panel content is centred by WPBakery's own stylesheet, which loads
   AFTER custom.css (header.php: wp_head() comes last), so `body #content` +
   !important is required. The item NAME looked left already only because it is
   a flex row (justify-content: space-between ignores text-align) — the plain
   <p> description was inheriting the centre. Applies to Main Menu + Catering.
   [menu item text is left-aligned] */
body #content .menu-tabs .menu-group-title,
body #content .menu-tabs .menu-group-note,
body #content .menu-tabs .menu-item-name,
body #content .menu-tabs .menu-item-desc,
body #content .menu-tabs .menu-footnote {
    text-align: left !important;
}

/* Tab panel body: strip WPBakery's default border and tighten the padding.
   The base ships `body #content .bakery .wpb_row.tabs .vc_tta-panels-container
   { padding: 55px 5% }` and `.menu-tabs-row .vc_tta-panel.vc_active
   { padding: 50px 5% }`; this targets the panel body itself. */
body #content .menu-tabs .vc_tta-panel-body {
    border: none !important;
    padding: 20px !important;
}

/* THE white line. js_composer.min.css ships:
       .vc_tta.vc_general .vc_tta-tab.vc_active > a:after,
       .vc_tta.vc_general .vc_tta-tab.vc_active > a:before {
           border: inherit; content: ""; position: absolute;
           width: 100vw; height: 200vw; }
   `border: inherit` picks up the active pill's `border: 3px solid var(--white)`
   and `width: 100vw` drags it across the whole viewport — that is the white
   rule through the red tab bar, not a container border.
   The base tries `display: none !important` on these, but killing `content`
   is the reliable fix: with `content: none` the pseudo-element is never
   generated at all, so there is nothing left to inherit a border.
   [100vw pseudo-element] */
body #content .bakery .tabs .menu-tabs .vc_tta-tab > a::before,
body #content .bakery .tabs .menu-tabs .vc_tta-tab > a::after,
body #content .bakery .tabs .menu-tabs .vc_tta-tab.vc_active > a::before,
body #content .bakery .tabs .menu-tabs .vc_tta-tab.vc_active > a::after {
    content: none !important;
    display: none !important;
    border: none !important;
    height: 0 !important;
    width: 0 !important;
}


/* ============================================================
   EXPLORE ROW — CAROUSEL AT <=979 ONLY
   Structure is the developer's: .explore-tiles-row > .explore-tiles-col >
   .promo-row (vc_row_inner) > 4 x .vc_col-sm-3 (vc_column_inner).
   Slick is initialised on .promo-row by matchMedia in my-script.js and is
   destroyed again above 979, so desktop stays a plain 4-up row.
   ============================================================ */

/* Inner row carries no padding (the developer's Main Menu copy used a
   Design-Tab css= param for this; done here so every page matches). */
.bakery .explore-tiles-row .promo-row {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

@media (max-width: 979px) {
    /* Slick needs the track to be the flex parent. */
    .bakery .explore-tiles-row .promo-row.slick-initialized {
        display: block !important;
    }
    .bakery .explore-tiles-row .promo-row .slick-track {
        align-items: stretch;
        display: flex;
    }
    /* Gap as PADDING inside slick's computed slide width — a margin sits
       outside it and pushes the next card into view. Also unset the column's
       own percentage width, which otherwise fights slick's inline px width. */
    .bakery .explore-tiles-row .promo-row .slick-list {
        margin: 0 -10px;
    }
    .bakery .explore-tiles-row .promo-row .slick-slide {
        box-sizing: border-box;
        margin: 0 !important;
        padding: 0 10px;
        float: none;
        height: auto;
    }
    .bakery .explore-tiles-row .promo-row .slick-slide > .wpb_column,
    .bakery .explore-tiles-row .promo-row .slick-slide .vc_column_container {
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
        padding: 0 !important;
        float: none !important;
    }
    /* The pill hangs -24px below the image; slick-list clips at its own
       bounds, so the room has to come from the TRACK (slick sizes the list
       from the track, so padding on the slide would not help). */
    .bakery .explore-tiles-row .promo-row .slick-track {
        padding-bottom: 34px;
    }
    /* Arrows + dots */
    .bakery .explore-tiles-row .promo-row .slick-prev,
    .bakery .explore-tiles-row .promo-row .slick-next {
        height: 30px;
        width: 30px;
        z-index: 2;
    }
    .bakery .explore-tiles-row .promo-row .slick-prev { left: -6px; }
    .bakery .explore-tiles-row .promo-row .slick-next { right: -6px; }
    .bakery .explore-tiles-row .promo-row .slick-prev:before,
    .bakery .explore-tiles-row .promo-row .slick-next:before {
        color: var(--dark1);
        font-size: 28px;
        opacity: 1;
    }
    .bakery .explore-tiles-row .promo-row .slick-dots {
        bottom: -6px;
    }
    .bakery .explore-tiles-row .promo-row .slick-dots li button:before {
        color: var(--dark1);
        font-size: 11px;
        opacity: 0.35;
    }
    .bakery .explore-tiles-row .promo-row .slick-dots li.slick-active button:before {
        color: var(--accent1);
        opacity: 1;
    }
}


/* ============================================================
   GRAVITY FORMS SUBMIT BUTTON
   Gravity Forms 2.9 renders the submit as
   <button type="submit" class="gform_button button">, but every existing
   theme rule targets `input[type="submit"]` — options-page, shell-styles and
   component-library all do — so none of them matched and the button fell back
   to the browser/GF default. These rules restyle it as `a.btn-bt.default`:
       accent1 pill, light1 text, uppercase, 1.77px tracking, 18px,
       hover #f70201A6 (the exact value the options page bakes for
       `body #content a.btn-bt.default:hover`).
   !important because the Gravity Forms stylesheets are enqueued via wp_head(),
   i.e. AFTER custom.css. Full width to match the design system's UI Elements
   sheet, which shows the form's CONTACT US button spanning the field column.
   ============================================================ */
body #content .gform_wrapper .gform_footer button.gform_button,
body #content .gform_wrapper .gform-footer button.gform_button,
body #content .gform_wrapper button.gform_button,
body #content .gform_wrapper .gform_footer input[type="submit"].gform_button,
body #content .gform_wrapper input[type="submit"].gform_button {
    font-family: BrandonGrotesque-Bold, sans-serif !important;
    transition: all 0.3s ease-in-out !important;
    background: var(--accent1) !important;
    border: 3px solid var(--accent1) !important;
    text-transform: uppercase !important;
    color: var(--light1) !important;
    letter-spacing: 1.77px !important;
    border-radius: 50px !important;
    padding: 14px 28px !important;
    text-decoration: none !important;
    text-align: center !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    display: block !important;
    cursor: pointer !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    width: 100% !important;
}
body #content .gform_wrapper .gform_footer button.gform_button:hover,
body #content .gform_wrapper .gform-footer button.gform_button:hover,
body #content .gform_wrapper button.gform_button:hover,
body #content .gform_wrapper input[type="submit"].gform_button:hover {
    border-color: var(--accent1) !important;
    background: #f70201A6 !important;
    color: var(--light1) !important;
}
body #content .gform_wrapper button.gform_button:focus-visible {
    outline: 3px solid var(--dark1) !important;
    outline-offset: 2px !important;
}
