/*
* Description: Location Site specific CSS
* Template: twentytwentyfive
* Version: 1.0
* Author: VDS
*/

/* 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 --neutral1  { syntax: '*'; inherits: true; }
@property --neutral2  { syntax: '*'; inherits: true; }
@property --neutral3  { syntax: '*'; inherits: true; }
@property --uihover   { syntax: '*'; inherits: true; }
@property --white     { syntax: '*'; inherits: true; }
@property --black     { syntax: '*'; inherits: true; }

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

:root {

}

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

/* quick vars quick vars quick vars quick vars quick vars quick vars  */

header nav.primary-navigation ul#top-menu li a:hover,
header nav.primary-navigation ul#top-menu li a:focus,
header nav.primary-navigation ul#top-menu li a:focus-within {
    color: var(--accent2);
}
hr.line {
    background: var(--accent2);
}
footer#footer a:not(.ab-item):not(.btn-bt):hover,
.copyright .copyright-text p a:hover, .copyright .copyright-content p a:hover,
.copyright .copyright-content li a:hover {
    color: var(--accent2);
}
.location-swapper-thing .faux-blue-module {
	background: var(--accent1);
}

/* /quick vars /quick vars /quick vars /quick vars /quick vars /quic  */

/* General */

/* /General */

/* Buttons */

body.search-results #content a.more-link,
body #content .gform_footer input[type="submit"],
body .header-button a.btn-bt,
body #content a.btn-bt.default,
body footer a.btn-bt.default {
    color: var(--white);
}
body.site-capitol .header-button a.btn-bt,
body.site-capitol footer a.btn-bt.default,
body.site-capitol #content a.btn-bt.default {
	color: var(--black);
}

/* /END Buttons */

/* Top Widget */

a.top-widget-phone {
	transition: all 0.3s ease-in-out;
	font-family: var(--AvantDemi);
    justify-content: center;
	letter-spacing: 1px;
    align-items: center;
	color: var(--white);
    column-gap: 8px;
	font-size: 18px;
	line-height: 1;
	display: flex;
}
a.top-widget-phone i {
	transition: all 0.3s ease-in-out;
    justify-content: center;
	color: var(--accent1);
    align-items: center;
	font-size: 24px;
	line-height: 1;
	display: flex;
}
a.top-widget-phone i:before {
	margin: 0 !important;
}
a.top-widget-phone:hover {
	transition: all 0.3s ease-in-out;
	color: var(--accent2);
}
a.top-widget-phone:hover i {
	transition: all 0.3s ease-in-out;
	transform: scale(1.2);
	color: var(--white);
}

/* /Top Widget */

/* Header */

nav ul li.dead-link > a:hover {
	color: var(--black) !important;
	cursor: not-allowed;
}

/* /Header */

/* Footer */

footer .widget h2.widget-title.faux-widget-title {
	padding-bottom: 16px;
	margin-bottom: 16px;
	position: relative;
	border: none;
}
h2.faux-widget-title:after {
	background: var(--accent2);
	position: absolute;
	width: 200px;
	content: '';
	height: 3px;
	bottom: 0;
	left: 0;
}
footer .widget h2.widget-title.faux-widget-title:not(:first-of-type) {
	margin-top: 36px;
}
.footer-others ul {
	list-style: none;
}
body footer .widget p,
body footer .widget li {
	font-size: 18px;
}
body footer#footer a.dirs {
	transition: color 0.3s ease-in-out;
	font-variation-settings: var(--Nunito-B);
	justify-content: start;
	color: var(--accent2);
	align-items: center;
	line-height: 24px;
	margin-top: 12px;
	column-gap: 7px;
	font-size: 21px;
	display: flex;
}
footer .dirs i {
	transition: all 0.3s ease-in-out;
	border: 2px solid var(--accent2);
	justify-content: center;
	color: var(--accent2);
	border-radius: 50px;
	align-items: center;
	font-size: 14px;
	display: flex;
	height: 20px;
	width: 20px;
}
body footer#footer a.dirs:hover {
	transition: color 0.3s ease-in-out;
	color: var(--white) !important;
}
body footer#footer a.dirs:hover i {
	transition: all 0.3s ease-in-out;
	border: 2px solid var(--white);
	color: var(--white);
}
body footer#footer a.dirs {
	width: fit-content;
}

/* /END Footer */

/* Homepage */

.hero-eyebrow {
	text-transform: uppercase;
	color: var(--accent2);
}
.blurb-row h3:first-of-type {
    margin-bottom: 16px;
}
.blurb-row h3:last-of-type {
    margin-bottom: 0;
	margin-top: 24px;
}

@media (min-width: 980px) {
	.fifty-section.location-nap-section .wpb_column.map-col {
		padding-right: 20px !important;
		width: 68%;
	}
	.fifty-section.location-nap-section .wpb_column.nap-col {
		padding-left: 20px !important;
		width: 32%;
	}
	.sbs-nap {
	    column-gap: 36px;
	    display: flex;
	}
	.sbs-nap div[class*="nap-"] {
	    width: 50%;
	}
	.fifty-fifty .nap-col .sbs-nap hr.line {
		width: 100%;
	}
}

.fifty-section.location-nap-section .fifty-fifty h2 {
	margin-bottom: 40px;
}
.bakery section.location-nap-section .fifty-fifty .container {
	align-items: start;
}
.bakery section.location-nap-section .fifty-fifty .map-col .vc_column-inner .wpb_wrapper,
.bakery section.location-nap-section .fifty-fifty .map-col .map-element,
.bakery section.location-nap-section .fifty-fifty .map-col .map-element .wpb_wrapper,
.bakery section.location-nap-section .fifty-fifty .map-col .map-element p,
.bakery section.location-nap-section .fifty-fifty .map-col iframe {
	height: 600px !important;
}
.bakery section.location-nap-section .fifty-fifty .map-col iframe {
	border-radius: 36px;
	display: block;
	width: 100%;
	border: 0;
}
.bakery section.location-nap-section .fifty-fifty .map-col .no-map-text {
	justify-content: center;
	align-items: center;
	display: flex;
	height: 600px;
}
.fifty-section.location-nap-section .nap-col h4 {
	font-family: var(--AvantDemi);
	color: var(--dark2);
	line-height: 32px;
	font-size: 24px;
}
.fifty-fifty .nap-col hr.line {
    margin: 14px 0;
    width: 175px;
    height: 3px;
}
body #content .sbs-nap a:hover {
	color: var(--accent2);
}
body #content .shop-category-row h4 {
	transition: all 0.3s ease-in-out;
	color: var(--white);
}
body.site-capitol #content .shop-category-row h4 {
	color: var(--black);
}
body #content .shop-category-row a:hover h4 {
	transition: all 0.3s ease-in-out;
	color: var(--accent2);
}
.other-locations ul {
	padding: 0 !important;
	list-style: none;
}
.other-locations.content-others ul li {
	margin-bottom: 12px;
}
.other-locations.content-others ul li:not(:last-child) a {
	text-decoration: none;
}
body #content .nap-address a.dir-link {
	transition: color 0.3s ease-in-out;
	font-variation-settings: var(--Nunito-B);
	justify-content: start;
	text-decoration: none;
	color: var(--accent1);
	align-items: center;
	line-height: 24px;
	margin-top: 5px;
	column-gap: 7px;
	font-size: 21px;
	display: flex;
}
body.site-capitol #content .nap-address a.dir-link {
	color: var(--black);
}
body #content .nap-address a.dir-link i {
	transition: all 0.3s ease-in-out;
	border: 2px solid var(--accent1);
	justify-content: center;
	color: var(--accent1);
	border-radius: 50px;
	align-items: center;
	font-size: 14px;
	display: flex;
	height: 20px;
	width: 20px;
}
body.site-capitol #content .nap-address a.dir-link i {
	border: 2px solid var(--black);
	color: var(--black);
}
body #content .nap-address a.dir-link:hover {
	transition: color 0.3s ease-in-out;
	color: var(--accent2) !important;
}
body #content .nap-address a.dir-link:hover i {
	transition: all 0.3s ease-in-out;
	border: 2px solid var(--accent2);
	color: var(--accent2);
}
body #content .nap-address a.dir-link {
	width: fit-content;
}

/* /END Homepage */
body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-nav,
body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-nav i,
body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-nav i::before {
	justify-content: center;
	align-items: center;
	text-align: center;
	display: flex;
	height: 40px;
	width: 40px;
}
body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-prev-button i {
	padding-right: 3px;
}
body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-next-button i {
	padding-left: 3px;
}
body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-nav i::before {
	margin: 0 !important;
}

body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-prev-button,
body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-next-button {
	border: 3px solid var(--accent1) !important;
	color: var(--accent1) !important;
	border-radius: 50px !important;
	font-size: 20px !important;
}
body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-prev-button:hover,
body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-next-button:hover {
	border-color: var(--accent2) !important;
	color: var(--accent2) !important;
}
body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-prev-button {
	left: -10px;
}
body #content div[id*="wpcpro-wrapper-"] .wpcp-carousel-section .wpcp-next-button {
	right: -10px;
}
body #content div[id*="wpcpro-wrapper-"] div[id*="sp-wp-carousel-pro-id-"][class*="sp-wpcp-"] .wpcp-all-captions:hover h2.wpcp-image-caption a {
	color: var(--white) !important;
}

/* Responsive */

@media (max-width: 979px) {
	body footer#footer a.dirs {
	    width: 100% !important;
	    justify-content: center;
	    display: inline-flex;
	    text-align: center;
	}
	footer .widget-content.widget h2 {
        width: 100% !important;
    }
}

/* /Responsive */


/* ============================================================
   Header CTA — Animated Gradient Border ("Order Now")
   Rotating rainbow ring using all subsite accent colors.
   Masked conic-gradient + @property-driven angle. Respects reduced-motion.
   ============================================================ */
@property --sc-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}
body .header-button a.btn-bt.default {
    position: relative;
    isolation: isolate;
}
body .header-button a.btn-bt.default::before {
    content: "";
    position: absolute;
    inset: -3px;
    border-radius: 50px;
    padding: 3px;
    background: conic-gradient(
        from var(--sc-angle),
        var(--grand),       /* pink       */
        var(--capitol),     /* yellow     */
        var(--elma),        /* teal       */
        var(--carpenter),   /* blue       */
        var(--west),        /* purple     */
        var(--grand)        /* close loop */
    );
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask-composite: exclude;
    animation: sc-rotate 4s linear infinite;
    pointer-events: none;
}
body .header-button a.btn-bt.default:hover::before {
    filter: drop-shadow(0 0 8px var(--grand));
}
@keyframes sc-rotate {
    to { --sc-angle: 360deg; }
}
@media (prefers-reduced-motion: reduce) {
    body .header-button a.btn-bt.default::before { animation: none; }
}
/* /END Header CTA Animated Border */


/* ============================================================
   Per-location accent1 — hover states track --accent1
   (replaces hardcoded #710193A6 from option-page-styles.css so hovers
   follow each location's Branding > accent_1)
   ============================================================ */
.header-button a.btn-bt:hover,
body #content a.btn-bt.default:hover,
body #content a.btn-bt.accent1:hover {
  background: color-mix(in srgb, var(--accent1) 65%, transparent);
}
body footer a.btn-bt.default:hover,
.gform_footer input[type="submit"]:hover {
  background-color: color-mix(in srgb, var(--accent1) 65%, transparent);
}
button#primary-mobile-menu:hover {
  color: color-mix(in srgb, var(--accent1) 65%, transparent);
}
.mobile-menu li.menu-item-has-children button.sub-menu-toggle:hover,
.mobile-menu li.menu-item-has-children button.sub-menu-toggle.toggled,
.mobile-menu li.page-item-has-children button.sub-menu-toggle:hover,
.mobile-menu li.page-item-has-children button.sub-menu-toggle.toggled {
  background: color-mix(in srgb, var(--accent1) 65%, transparent) !important;
}
/* /END per-location accent1 hover */

/* NAP divider = per-location accent1 (replaces .west location class) */
.bakery .location-nap-section .nap-col hr.line {
  background: var(--accent1);
}

@media (max-width: 979px) {
	body.site-capitol .mobile-menu li.menu-item-has-children button.sub-menu-toggle::after {
        color: var(--black);
    }
}