/* 
 Theme Name:     DiviCommerce
 Author:         Mark Hendriksen
 Author URI:     https://markhendriksen.com
 Template:       Divi
 Version:        1.0
 Description:    A Divi Child Theme 
*/ 


/* ----------- PUT YOUR CUSTOM CSS BELOW THIS LINE -- DO NOT EDIT ABOVE THIS LINE --------------------------- */

/* ########################### */
/* ### B&G PRINTS BRAND COLORS ### */
/* ########################### */

:root {
    --bg-primary-yellow: #F6D621;
    --bg-light-yellow: #FFF3D1;
    --bg-charcoal: #1A1A1A;
    --bg-charcoal-light: #333333;
    --bg-gold-dark: #A69013;
    --bg-coral: #D4726A;
    --bg-teal: #1A8A9C;
    --bg-dark-text: #1A1A1A;
}

/* ########################### */
/* ### CART ICON STYLING #### */
/* ########################### */

/* CartPops floating cart - leave default for now */

/* ########################### */
/* ###### CHANGE COLORS ###### */
/* ########################### */

/* ###### PAGINATION ###### */

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--bg-charcoal);
    color: #ffffff;
}

/* ###### CART FLY-IN ###### */

.woofc-area.woofc-style-01 .woofc-area-bot .woofc-total,
.woofc-area.woofc-style-01 .woofc-area-bot .woofc-empty span,
.woofc-area.woofc-style-01 .woofc-area-bot .woofc-continue span,
.woofc-area.woofc-style-01 .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-remove, .woofc-area.woofc-style-01 .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-special,
.woofc-area.woofc-style-01 .woofc-area-top .woofc-close {
    color: #000;
}

.woofc-area.woofc-style-01 .woofc-area-top {
	color: #fff;
	background-color: #000;
}

.woofc-area.woofc-style-01 .woofc-area-bot .woofc-action .woofc-action-inner > div a:hover {
    background-color: transparent;
    color: #000;
}

.woofc-area.woofc-style-01 .woofc-area-bot .woofc-action .woofc-action-inner > div a {
    background-color: #000;
    color: #fff;
	border: 1px solid #000;
}

/* ### COUNTDOWN TIMER ### */

.countdown-v1 .values {
	background-color: var(--bg-charcoal);
}

/* ### RIBBON ### */

.ribbon span {
  color: #FFF;
  background: var(--bg-gold-dark);
  background: linear-gradient(var(--bg-gold-dark) 0%, var(--bg-gold-dark) 100%);
}

.ribbon span::before {
  border-left: 3px solid var(--bg-gold-dark);
  border-top: 3px solid var(--bg-gold-dark);
}

.ribbon span::after {
  border-right: 3px solid var(--bg-gold-dark);
  border-top: 3px solid var(--bg-gold-dark);
}

/* ### REVIEW BG PRODUCT PAGE ### */

@media screen and ( min-width: 981px ) {
.woocommerce-page .dh-product-review-box-v1 #reviews #comments ol.commentlist li {
    background-color: #f6f6f6;
}}

/* ### HEADER & MENU V3 ### */

.dc-header-v3 li.current-menu-item,
.dc-header-v3 li:hover {
	background-color: #fff;
}

.dc-header-v3 .dc-menu-v3.et_pb_menu ul li.current-menu-item a,
.dc-header-v3 .dc-menu-v3.et_pb_menu ul li:hover a {
	color: #000 !important;
}

/* ### CHECKOUT V1 ### */

.woocommerce-checkout .checkout_v1 .woocommerce-checkout-review-order {
	background-color: #fcfdff;
}
	
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background: #f1f1f1 !important;
}

/* ### NOTICE BAR ### */

.woocommerce-form-coupon-toggle .woocommerce-info {
    background: #fcfdff!important;
    border: 1px solid #e2e2e2 !important;
	color: #000 !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info a {
    color: #000 !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info a:hover {
    color: #aaa !important;
}

/* ### CART PAGE BUTTON HOVER ### */

.et_button_no_icon.woocommerce-page .dc-cart button.button:hover,
.woocommerce-page.et_pb_button_helper_class .dc-cart a.button:hover {
	background-color: #000 !important;
	color: #fff !important;
}

.et-db #et-boc .et-l .et_pb_shop.dc-shop-v1 .et_overlay:before {
	content: 'Shop Now' !important;
    color: #fff!important;
    background-color: var(--bg-charcoal)!important;
    font-family: 'Work Sans',Helvetica,Arial,Lucida,sans-serif !important;
}

/* ### POPUP SHOP PAGE BUTTON HOVER ### */

body.et-db #et-boc .et-l .dc-popup-button .et_pb_button:hover {
	color: #fff!important;
}

/* BEROCKET FILTER ### */

.bapf_sfilter {
    padding-bottom: 15px !important;
	padding-top: 10px;
	border-bottom: 1px solid #cecece;
}

.clearfilter-button-v1 {
    border-bottom: 0px solid #cecece;	
}

.bapf_sfilter h3 {
	font-size: 18px !important;
}

@media all and (max-width: 1024px) {
.bapf_sfilter h3 {
	font-size: 16px !important;
}

.et_pb_toggle_content div:last-child .bapf_sfilter {
	padding-bottom: 0px;
    border-bottom: 0px solid #cecece;
	margin-bottom: 0px;
}}

@media all and (min-width: 1025px) {
.berocket-filter-toggle {
	display: none;
}}

.bapf_sfilter.clearfilter-button-v1,
.bapf_sfilter.clearfilter-button-v2,
.bapf_sfilter.berocket-filter-v2 {
    border-bottom: 0px solid #cecece;
	padding-bottom: 10px;
}

.bapf_sfilter.clearfilter-button-v2 {
	display: flex;
    justify-content: flex-end;
}

.berocket-filter-toggle .bapf_sfilter {
	border-bottom: 0px solid #cecece;
}

.berocket-filter-toggle .bapf_button_berocket {
	padding-top: 0px !important;	
}

.berocket-filter-toggle .bapf_button_berocket .bapf_button {
	margin-top: 0px !important;
}

/* ### TOP BAR SLIDER ### */

.et-db #et-boc .et-l .dc-top-bar-slider .et-pb-arrow-next, .et-db #et-boc .et-l .dc-top-bar-slider .et-pb-arrow-prev {
    font-size: 24px !important;
    margin-top: -12px !important;
}

.dc-top-bar-slider .et-pb-arrow-next {
	opacity: 1 !important;
    right: 22px !important;
}
.dc-top-bar-slider .et-pb-arrow-prev{
    opacity: 1 !important;
    left: 22px !important;
}

/* ### HOMEPAGE V1 ### */

.zoom-image-hover {
	overflow: hidden;
}

.zoom-image-hover img {
	transform: scale(1);
    transition: transform 3s cubic-bezier(.165,.84,.44,1),opacity .3s ease-out;
    opacity: 1;
}

.zoom-image-hover:hover img {
	transform: scale(1.06);
    opacity: 1;
}

@media screen and ( min-width: 479px ) {
.homepage-v1-promote-text {
	position: absolute;
	top: 36%;
	padding: 0px 125px;
}}

@media screen and ( max-width: 479px ) {
.homepage-v1-promote-text {
	position: absolute;
	top: 16%;
	padding: 0px 0px;
}}

@media screen and ( min-width: 981px ) and (max-width: 1450px) {
.homepage-v1-promote-text.et_pb_promo .et_pb_promo_description h2 {
	font-size: 40px !important;
}}

@media screen and ( min-width: 981px ) and (max-width: 1450px) {
.homepage-v1-middle-section {
	height: 100% !important;
}

.homepage-v1-middle-section .et_pb_row {
    margin-top: 8%!important;
	margin-bottom: 8% !important;
}}

/* ### COUNTDOWN TIMER V1 ### */

.countdown-v1 .values {
    padding: 15px 0px 25px 0px;
    border-radius: 7px;
}

@media screen and ( max-width: 479px ) {
.et_pb_countdown_timer .section.values {
    width: 22%;
}}

/* ### RIBBON ### */

.ribbon {
  position: absolute;
  right: -5px; top: -5px;
  z-index: 1;
  overflow: hidden;
  width: 100px; height: 100px;
  text-align: right;
}

.ribbon span {
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  line-height: 26px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 120px;
  display: block;
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 21px; right: -27px;
}

.ribbon span::before {
  content: "";
  position: absolute; left: 0px; top: 100%;
  z-index: -1;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
}

.ribbon span::after {
  content: "";
  position: absolute; right: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-bottom: 3px solid transparent;
}

/* ### HOMEPAGE V2 ### */

.zoom-image-hover-v2 {
	overflow: hidden;
}

.zoom-image-hover-v2 {
	transform: scale(1);
    transition: transform 3s cubic-bezier(.165,.84,.44,1),opacity .3s ease-out;
    opacity: 1;
}

.zoom-image-hover-v2:hover {
	transform: scale(1.06);
    opacity: 1;
}

/* ### HOMEPAGE V6 ### */
@media screen and ( min-width: 981px ) {
.dc-cta-promo .et_pb_button_wrapper {
	margin-bottom:-35px;
}

.dc-cta-promo .et_pb_promo_description {
    padding-bottom: 10px;
}}

.dc-cta-promo .et_pb_promo_button {
	box-shadow: 0px 12px 18px -6px rgb(0 0 0 / 30%);
}

.dc-cta-promo h2 {
	padding-bottom:0px !important;
}

.et-db #et-boc .et-l .et_pb_shop.dc-shop-v1.dc-shop-v6 .et_overlay:before {
    font-size: 14px;
    padding: 7px 15px;
}

@media screen and ( min-width: 981px ) and (max-width: 1750px) {
.et_pb_text.dc-home-v6-title h2 {
    font-size: 36px !important;
}

.dc-cta-promo {
	width: 80% !important;	
}

.dc-home-v6-header-text {
	font-size: 20px !important;
    letter-spacing: 5px !important;	
}

.dc-home-v6-header-title {
	font-size: 60px !important;	
}}

/* ###### PRODUCT PAGE V1 ###### */

@media screen and ( min-width: 981px ) {
.woocommerce div.product .dc-product-addtocart form.cart .variations {
    margin-bottom: 25px;
	border-bottom: 1px solid #000;
}

.woocommerce div.product .dc-product-addtocart form.cart .variations tr {
    display: block;
	border-top: 1px solid #000;
    padding-bottom: 15px;
	padding-top: 25px;
}

.woocommerce-page .dh-product-review-box-v1 #reviews #comments ol.commentlist {
	display: flex;
    flex-wrap: wrap;		
}

.woocommerce-page .dh-product-review-box-v1 #reviews #comments ol.commentlist li {
    width: 48%;
    background-color: #f6f6f6;
    margin-right: 2%;
    padding: 25px;
}

.woocommerce-page .dh-product-review-box-v1 #reviews #comments ol.commentlist li img.avatar {
    width: auto!important;
    padding: 0!important;
    border: none;
}

.woocommerce .dh-product-review-box-v1 #reviews #comments ol.commentlist li img.avatar {
    top: 25px;
	left: 25px;
}}

.woocommerce div.product .dc-product-addtocart form.cart .variations td.label {
	padding-bottom: 10px !important;	
}

.et-db #et-boc .et-l .et_pb_shop.dc-shop-v1 .et_overlay:before {
    font-size: 16px;
    padding: 5px 15px;
	margin: 0px !important;
    border-radius: 30px;
    transform: translate(-50%, -50%) !important;
}

.et-db #et-boc .et-l .dc-shop-v1 h2 {
    border-bottom: 1px solid #cecece;
}

.single .et_pb_title_featured_container img {
	border-radius: 7px;
}

.woocommerce-page .dc-shop-v1  .products .star-rating, .woocommerce .dc-shop-v1 .products .star-rating {
    margin: 10px 0 .3em!important;
}

/* ### PRODUCT PAGE V2 ### */

.dc-product-gallery-v2 .woocommerce-product-gallery__image {
	width: 40% !important;
}

@media screen and ( min-width: 981px ) {
.woocommerce-page .dh-product-review-box-v2 #reviews #comments ol.commentlist li {
    background-color: #f6f6f6;
    padding: 25px;
}

.woocommerce-page .dh-product-review-box-v2 #reviews #comments ol.commentlist li img.avatar {
    width: auto!important;
    padding: 0!important;
    border: none;
}

.woocommerce .dh-product-review-box-v2 #reviews #comments ol.commentlist li img.avatar {
    top: 25px;
	left: 25px;
}}

/* ###### FLY CART ###### */

@media screen and ( min-width: 981px ) {
.woofc-area.woofc-style-01 .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-thumb,
.woofc-area.woofc-style-01 .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-thumb img {
    width: 60px;
    flex: 0 0 60px;
}}


/* ###### HEADER & MENU V1 ###### */

.dc-header-v1 .dc-menu-v1-row.et_pb_row {
	width: 100% !important;
	max-width: 100%;
}

.et-db #et-boc .et-l .dc-menu-v1.et_pb_menu .et-menu>li {
    padding-left: 20px !important;
    padding-right: 20px !important;
} 
	
.dc-header-v1 .dc-menu-v1 .et_pb_menu__wrap {
	padding-left: 35px;	
}

.dc-header-v1 .dc-menu-cart-column {
	display: flex;
    justify-content: flex-end;
}

.dc-header-v1 .dc-menu-icon,
.dc-header-v1 .dc-menu-search {
	align-self: center;	
}

.dc-header-v1 .dc-menu-minicart {
	display: flex;	
}

.dc-header-v1 .dc-menu-minicart .et_pb_menu_inner_container {
	align-self: center;	
}

.dc-header-v1 .dc-menu-search .dgwt-wcas-ico-magnifier-handler path {
	fill: #000 !important;	
}

@media screen and ( min-width: 981px ) and (max-width: 1300px) {
.et-db #et-boc .et-l .dc-header-v1 .dc-menu-v1-row.et_pb_row {
	padding-left: 10px !important;
}}

.dc-header-v1 .dc-menu-search .dgwt-wcas-ico-magnifier, .dc-header-v1 .dc-menu-search .dgwt-wcas-ico-magnifier-handler {
    max-width: 25px;
}

.dc-header-v1 .dc-menu-search .dgwt-wcas-search-icon {
    width: 25px;
}

.et-db #et-boc .et-l .dc-header-v1 .dc-menu-icon.et_pb_image .et_pb_image_wrap {
    width: 25px;
}

@media screen and ( max-width: 1080px ) {
.dc-header-v1 .dc-menu-v1-row {
	display: flex;
    flex-direction: column;
}

.dc-header-v1 .dc-header-v1-column-1 {
	order:2;
}

.dc-header-v1 .dc-header-v1-column-2 {
	order:1;
}

.dc-header-v1 .dc-menu-minicart.et_pb_menu .et_pb_menu__menu {
    display: block !important;
}

.dc-header-v1 .dc-menu-minicart .et_mobile_nav_menu {
    display: none !important;
}
	
.dc-header-v1 .dc-menu-minicart {
	text-align: right;
    margin: 0 0 0 auto;
}}

.dc-header-v1 .dc-menu-minicart .et_pb_code_inner {
	display: flex;
}

.dc-header-v1 .dc-menu-minicart .cartpops-cart__wrapper {
	align-self: center;
}

@media only screen and (min-width: 1081px) {
.dc-header-v1 .dc-menu-minicart .cartpops-cart__container {
	color: #fff;
}}

/* ### MENU BREAKPOINT V1 ### */

@media only screen and (max-width: 1080px) {
.dc-menu-v1.et_pb_menu .et_pb_menu__menu {
    display: none !important;
}
	
.dc-menu-v1 .et_mobile_nav_menu {
    display: block !important;
}}

@media only screen and (min-width: 981px) and (max-width: 1080px) {
.dc-header-v1 .dc-header-v1-column-1 {
	padding-top: 20px;
	padding-bottom: 20px;
}

.dc-header-v1 .dc-header-v1-column-1 .dc-menu-v1 .et_pb_menu__wrap .mobile_menu_bar:before {
    top: 2px !important;
}
	
.dc-header-v1 .dc-menu-v1 .et_pb_menu__wrap {
	justify-content: flex-end !important;
}
	
.dc-header-v1 .dc-header-v1-column-1 .dc-menu-v1 {
	padding-right: 35px !important;
}

.dc-header-v1 .dc-header-v1-column-1 {
	width: 100% !important;	
}

.dc-header-v1 .dc-header-v1-column-2 {
	width:325px !important;	
}

.et-l--header .dc-header-v1 ul {
	list-style-type: none;
}}

/* ###### HEADER & MENU V2 ###### */

.et-db #et-boc .et-l .dc-menu-v2.et_pb_menu .et-menu>li {
    padding-left: 20px !important;
    padding-right: 20px !important;
} 
	
.dc-header-v2 .dc-menu-v2 .et_pb_menu__wrap {
	padding-left: 35px;	
}

.dc-header-v2 .dc-menu-cart-column {
	display: flex;
    justify-content: flex-end;
}

.dc-header-v2 .dc-menu-icon,
.dc-header-v2 .dc-menu-search {
	align-self: center;	
}

.dc-header-v2 .dc-menu-minicart {
	display: flex;	
}

.dc-header-v2 .dc-menu-minicart .et_pb_menu_inner_container {
	align-self: center;	
}

.dc-header-v2 .dc-menu-search .dgwt-wcas-ico-magnifier-handler path {
	fill: #fff !important;	
}

@media screen and ( min-width: 981px ) and (max-width: 1300px) {
.et-db #et-boc .et-l .dc-header-v2 .dc-menu-v2-row.et_pb_row {
	padding-left: 10px !important;
}}

.dc-header-v2 .dc-menu-search .dgwt-wcas-ico-magnifier, .dc-header-v2 .dc-menu-search .dgwt-wcas-ico-magnifier-handler {
    max-width: 25px;
}

.dc-header-v2 .dc-menu-search .dgwt-wcas-search-icon {
    width: 25px;
}

.et-db #et-boc .et-l .dc-header-v2 .dc-menu-icon.et_pb_image .et_pb_image_wrap {
    width: 25px;
}

@media screen and ( max-width: 980px ) {
.dc-header-v2 .dc-menu-v2-row {
	display: flex;
    flex-direction: column;
}

.dc-header-v2 .dc-header-v2-column-1 {
	order:2;
}

.dc-header-v2 .dc-header-v2-column-2 {
	order:1;
}

.dc-header-v2 .dc-menu-minicart.et_pb_menu .et_pb_menu__menu {
    display: block;
}

.dc-header-v2 .dc-menu-minicart .et_mobile_nav_menu {
    display: none;
}
	
.dc-header-v2 .dc-menu-minicart {
	text-align: right;
    margin: 0 0 0 auto;
}

.dc-header-v2 .et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li>a {
    padding-bottom: 0px;
}}

.dc-header-v2 .dc-menu-minicart .et_pb_code_inner {
	display: flex;
}

.dc-header-v2 .dc-menu-minicart .cartpops-cart__wrapper {
	align-self: center;
}

.dc-header-v2 .dc-menu-minicart .cartpops-cart__container {
	padding: 12px 14px 4px 14px;
}

.dc-header-v2 .dc-menu-minicart .cartpops-cart--items-indicator-bubble .cartpops-cart__toggle .cartpops-cart__container-counter {
    width: 16px;
    height: 16px;
    line-height: 15px;
    right: -27px;
}

@media only screen and (max-width: 980px) {
.dc-header-v2 .dc-menu-minicart .cartpops-cart__container {
	color: #fff;
}}

@media only screen and (max-width: 479px) {
.dc-header-v2 .dc-menu-minicart .cartpops-cart__container {
	padding-right: 0px !important;
}}

/* ### MENU BREAKPOINT V2 ### */

@media only screen and (max-width: 1100px) {
.dc-menu-v2.et_pb_menu .et_pb_menu__menu {
    display: none;
}
	
.dc-menu-v2 .et_mobile_nav_menu {
    display: block;
}}

@media only screen and (min-width: 981px) and (max-width: 1100px) {
.dc-header-v2 .dc-header-v2-column-1 {
	padding-top: 20px;
	padding-bottom: 20px;
}

.dc-header-v2 .dc-header-v2-column-1 .dc-menu-v2 .et_pb_menu__wrap .mobile_menu_bar:before {
    top: 2px !important;
}
	
.dc-header-v2 .dc-menu-v2 .et_pb_menu__wrap {
	justify-content: flex-end;
}
	
.dc-header-v2 .dc-header-v2-column-1 .dc-menu-v2 {
	padding-right: 35px;
}

.dc-header-v2 .dc-header-v2-column-1 {
	width: 100% !important;	
}

.dc-header-v2 .dc-header-v2-column-2 {
	width:325px !important;	
}

.et-l--header .dc-header-v2 ul {
	list-style-type: none;
}

.dc-header-v2 ul.et_mobile_menu {
	text-align: left;	
}}

.dc-header-v2 .dc-menu-search .dgwt-wcas-ico-magnifier-handler path {
    fill: #fff !important;
}

.dc-header-v2 .dc-menu-search .dgwt-wcas-ico-magnifier, .dc-menu-search .dgwt-wcas-ico-magnifier-handler {
    max-width: 20px;
}

.dc-header-v2 .dc-menu-search .dgwt-wcas-search-icon {
    width: 20px;
}

.et-db #et-boc .et-l .dc-header-v2 .dc-menu-icon.et_pb_image .et_pb_image_wrap {
    width: 20px;
}

/* ###### HEADER & MENU V3 ###### */

.et-db #et-boc .et-l .dc-menu-v3.et_pb_menu .et-menu>li {
    padding-left: 20px !important;
    padding-right: 20px !important;
} 
	
.dc-header-v3 .dc-menu-v3 .et_pb_menu__wrap {
	padding-left: 35px;	
}

.dc-header-v3 .dc-menu-cart-column {
	display: flex;
    justify-content: flex-end;
}

.dc-header-v3 .dc-menu-icon,
.dc-header-v3 .dc-menu-search {
	align-self: center;	
}

.dc-header-v3 .dc-menu-minicart {
	display: flex;	
}

.dc-header-v3 .dc-menu-minicart .et_pb_menu_inner_container {
	align-self: center;	
}

.dc-header-v3 .dc-menu-search .dgwt-wcas-ico-magnifier-handler path {
	fill: #000 !important;	
}

@media screen and ( min-width: 981px ) and (max-width: 1300px) {
.et-db #et-boc .et-l .dc-header-v3 .dc-menu-v3-row.et_pb_row {
	padding-left: 10px !important;
}}

.dc-header-v3 .dc-menu-search .dgwt-wcas-ico-magnifier, .dc-header-v3 .dc-menu-search .dgwt-wcas-ico-magnifier-handler {
    max-width: 25px;
}

.dc-header-v3 .dc-menu-search .dgwt-wcas-search-icon {
    width: 25px;
}

.et-db #et-boc .et-l .dc-header-v3 .dc-menu-icon.et_pb_image .et_pb_image_wrap {
    width: 25px;
}

@media screen and ( max-width: 980px ) {
.dc-header-v3 .dc-menu-v3-row {
	display: flex;
    flex-direction: row-reverse;
}

.dc-header-v3 .dc-header-v3-column-1 {
	order:3;
}

.dc-header-v3 .dc-header-v3-column-2 {
	order:2;
}
	
.dc-header-v3 .dc-header-v3-column-3 {
	order:1;		
}

.dc-header-v3 .dc-menu-minicart.et_pb_menu .et_pb_menu__menu {
    display: block;
}

.dc-header-v3 .dc-menu-minicart .et_mobile_nav_menu {
    display: none;
}
	
.dc-header-v3 .dc-menu-minicart {
	text-align: right;
    margin: 0 0 0 0;
}

.dc-header-v3 .et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li>a {
    padding-bottom: 0px;
}

.dc-header-v3 .dc-menu-v3 .et_pb_menu__wrap {
	padding-left: 0px;	
}
	
.dc-header-v3 .et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li {
    margin-top: 0px;
	padding-top: 20px;
	padding-bottom: 18px;
}

.dc-menu-v3-row {
	align-items: center;
}}

.dc-header-v3 .et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li {
    margin-top: 0px;
	padding-top: 20px;
	padding-bottom: 20px;
}

.dc-header-v3 .et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li>a {
    padding-bottom: 0px;
}

.dc-header-v3 .dc-menu-v3.et_pb_menu ul li {
	-webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}

.dc-header-v3 .dc-menu-minicart .et_pb_code_inner {
	display: flex;
}

.dc-header-v3 .dc-menu-minicart .cartpops-cart__wrapper {
	align-self: center;
}

@media only screen and (min-width: 981px) {
.dc-header-v3 .dc-menu-minicart .cartpops-cart__container {
	color: #fff;
}}

.dc-header-v3 .dc-menu-minicart .cartpops-cart--items-indicator-bubble .cartpops-cart__toggle .cartpops-cart__container-counter {
    width: 16px;
    height: 16px;
    line-height: 15px;
    right: -27px;
}

@media only screen and (max-width: 980px) {
.dc-header-v3 .dc-menu-minicart .cartpops-cart__toggle .cartpops-cart__container {
	padding: 10px 0px 6px 0px !important;
}

.dc-menu-icon img,
.dc-header-v3 .dc-menu-search .dgwt-wcas-search-icon {
	max-width: 75%;
}}

@media only screen and (min-width: 981px) and (max-width: 1350px) {
.dc-header-v3 .et_pb_row {
	width: 100% !important;
	max-width: 100%!important;
}}

/* ###### HEADER & MENU V4 ###### */

.et-db #et-boc .et-l .dc-menu-v4.et_pb_menu .et-menu>li {
    padding-left: 20px !important;
    padding-right: 20px !important;
} 
	
.dc-header-v4 .dc-menu-v4 .et_pb_menu__wrap {
	padding-left: 35px;	
}

.dc-header-v4 .dc-menu-cart-column {
	display: flex;
    justify-content: flex-end;
}

.dc-header-v4 .dc-menu-icon,
.dc-header-v4 .dc-menu-search {
	align-self: center;	
}

.dc-header-v4 .dc-menu-minicart {
	display: flex;	
}

.dc-header-v4 .dc-menu-minicart .et_pb_menu_inner_container {
	align-self: center;	
}

.dc-header-v4 .dc-menu-search .dgwt-wcas-ico-magnifier-handler path {
	fill: #000 !important;	
}

@media screen and ( min-width: 981px ) and (max-width: 1300px) {
.et-db #et-boc .et-l .dc-header-v4 .dc-menu-v4-row.et_pb_row {
	padding-left: 10px !important;
}}

.dc-header-v4 .dc-menu-search .dgwt-wcas-ico-magnifier, .dc-header-v4 .dc-menu-search .dgwt-wcas-ico-magnifier-handler {
    max-width: 25px;
}

.dc-header-v4 .dc-menu-search .dgwt-wcas-search-icon {
    width: 25px;
}

.et-db #et-boc .et-l .dc-header-v4 .dc-menu-icon.et_pb_image .et_pb_image_wrap {
    width: 25px;
}

.dc-header-v4-column-1 {
	display: flex;
}

@media screen and ( max-width: 980px ) {
.dc-header-v4-row {
	display: flex;

	flex-direction: row;
    flex-wrap: wrap;
}
	
.dc-header-v4 .dc-menu-v4-row {
	display: flex;
    flex-direction: column;
}
	
.dc-menu-v4 .et_pb_menu_inner_container {
	display:flex;
	align-items: center;
}
	
.dc-menu-v4.et_pb_menu--style-inline_centered_logo .et_pb_menu_inner_container>.et_pb_menu__logo-wrap {
	margin-bottom: 0px !important;	
}	

.dc-menu-v4.et_pb_menu--style-inline_centered_logo .et_pb_menu__logo {	
	margin: 0 auto 0 0;	
}
	
.dc-menu-v4 .et_mobile_nav_menu	{
	margin: 0 0 0 auto;	
}

.dc-header-v4 .dc-header-v4-column-1 {
	order:1;
	flex:1;
}

.dc-header-v4 .dc-header-v4-column-2 {
	order:3;
}
	
.dc-header-v4 .dc-header-v4-column-3 {
	order:2;
	flex:1;
}

.dc-header-v4 .dc-menu-minicart.et_pb_menu .et_pb_menu__menu {
    display: block !important;
}

.dc-header-v4 .dc-menu-minicart .et_mobile_nav_menu {
    display: none !important;
}
	
.dc-header-v4 .dc-menu-minicart {
	text-align: right;
    margin: 0 0 0 auto;
}}

.dc-header-v4 .dc-menu-minicart .et_pb_code_inner {
	display: flex;
}

.dc-header-v4 .dc-menu-minicart .cartpops-cart__wrapper {
	align-self: center;
}

@media only screen and (min-width: 981px) {
.dc-header-v4 .dc-menu-minicart .cartpops-cart__container {
	color: #fff;
}}

@media only screen and (max-width: 980px) {
.dc-header-v4 .dc-menu-minicart .cartpops-cart__toggle .cartpops-cart__container {
	padding: 10px 0px 6px 0px !important;
}

.dc-menu-icon img,
.dc-header-v4 .dc-menu-search .dgwt-wcas-search-icon {
	max-width: 75%;
}}

/* ### MENU BREAKPOINT V4 ### */

@media only screen and (max-width: 1200px) {
.dc-menu-v4.et_pb_menu .et_pb_menu__menu {
    display: none;
}
	
.dc-menu-v4 .et_mobile_nav_menu {
    display: block;
}}

@media only screen and (min-width: 981px) and (max-width: 1200px) {
.dc-header-v4 .dc-header-v4-row .dc-menu-minicart {	
	padding: 20px 30px !important;
}

.dc-header-v4 .dc-header-v4-row  {	
	align-items: center;
}

.et-l--header .dc-menu-v4 ul {
    list-style-type: none;
}}

@media only screen and (min-width: 1200px) and (max-width: 1600px) {
.dc-header-v4-column-1,
.dc-header-v4-column-3	{
	width: 10% !important;
}

.dc-header-v4-column-2 {
	width: 80% !important;	
}}

/* ###### HEADER & MENU V5 ###### */

.header-v5-top .dc-search-form-demo .dgwt-wcas-search-input {
	background-color: #2d2d2d !important;
    border-radius: 25px !important;
}

.header-v5-top .dc-search-form-demo .dgwt-wcas-ico-magnifier path {
	fill: #fff!important;
}

/* ### DROPDOWN ### */

.dc-dropdown-menu .nav li li a,
.et-db #et-boc .et-l .dc-dropdown-menu .et-menu li li a {
    border-bottom: 1px solid #cecece;
	font-size: 14px !important;
	line-height: 1.4em;
    padding: 13px 0px;
}

.dc-dropdown-menu .nav li li:last-child a,
.et-db #et-boc .et-l .dc-dropdown-menu .et-menu li li:last-child a {
    border-bottom: 0px solid #cecece;	
}

.dc-dropdown-menu .nav li li,
.et-db #et-boc .et-l .dc-dropdown-menu .nav li li {
    padding: 0 30px !important;
}

.dc-dropdown-menu .et_pb_fullwidth_menu .et-menu-nav>ul ul, .dc-dropdown-menu.et_pb_menu .et-menu-nav>ul ul,
.et-db #et-boc .et-l .dc-dropdown-menu .et_pb_fullwidth_menu .et-menu-nav>ul ul, .et-db #et-boc .et-l .dc-dropdown-menu.et_pb_menu .et-menu-nav>ul ul {
    padding: 10px 0;
	border-top: 0px solid #000;
}

.dc-dropdown-menu .nav ul li a:hover,
.et-db #et-boc .et-l .dc-dropdown-menu .nav ul li a:hover {
    background-color: rgba(0,0,0,.0);
    opacity: 1;
}

.dc-dropdown-menu .et-menu a:hover,
.et-db #et-boc .et-l .dc-dropdown-menu .et-menu a:hover {
    opacity: 1;
}

.et-menu li li a {
    width: 180px !important;
}

/* ### MOBILE MENU ### */

#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,
.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
	text-align: center;
	opacity: 1;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\33';
	color: var(--bg-charcoal);
	background: #f1f1f1;
	border-radius: 50%;
	padding: 3px;
}

ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
	content: '\32';
}

.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {
	position: absolute;
	right: 5%;
	margin-left: -20px;
	top: -14px;
	width: 0;
	height: 0;
	content: '';
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #ffffff;
}

.mobile_menu_bar {
	position: relative;
	display: block;
	bottom: 0px;
	line-height: 0;
}

.et_pb_menu_0.et_pb_menu .et_mobile_menu,
.et_pb_menu_0.et_pb_menu .et_mobile_menu ul {
	background-color: #ffffff!important;
	border-radius: 10px;
}

.et_mobile_menu .menu-item-has-children>a {
    font-weight: 500 !important; 
}

/* ### SHOP V1 ### */

.dc-shop-v1 li.product {
	padding: 20px !important;
}

.dc-shop-v1 li.product:hover {
	box-shadow: 0 10px 30px 0 rgb(0 0 0 / 21%);
}

.dc-shop-v1 a.add_to_cart_button,
.dc-shop-v1 a.add_to_cart_button:hover {
	font-size: 10px !important;
    width: 100%;
    text-align: center;
    padding: 8px!important;
}

.dc-shop-v1 a.add_to_cart_button {
	color: #fff !important;
}

.dc-shop-v1 a.add_to_cart_button:after {
	display: none;
}

.dc-shop-v1 .tinv-wishlist {
	position: absolute;
    top: 5px;
    right: 20px;
}

.dc-shop-v1 .orderby {
    background-color: #ffffff;
    border: 1px solid #000;
    color: #000!important;
}

@media all and (min-width: 981px) and (max-width: 1450px) {
.shop-v1-sidebar {
	padding: 20px !important;	
}}

/* ### SHOP V2 ### */

.shop-v2-filter-row-desktop .et_pb_column {
	margin-bottom: 0px !important;
}

@media all and (max-width: 1024px) {
.shop-v2-filter-row-desktop {
	border-bottom-width: 0px!important;
}

.shop-v2-filter-row-mobile {
	padding-top: 0px !important;	
}

.shop-v2-section.et_pb_section {
	padding-top: 0px !important;		
}}

@media all and (min-width: 1025px) {
.shop-v2-filter-row-mobile {
	border-bottom-width: 0px !important;	
}}

/* ### SHOP V3 ### */

@media all and (max-width: 479px) {
.dc-shop-v1 p.woocommerce-result-count,
.dc-shop-v1 .orderby {
	font-size: 10px !important;
}}

/* ### SHOP MODULE 3 COLUMNS ### */

@media all and (max-width: 479px) {
.et_pb_shop ul.products.columns-3 li.product {
	width: 100%!important;
    margin-right: 0%!important;
}}

/* ### SHOP MODULE 5 COLUMNS ### */
@media all and (min-width: 981px) {
.et-db #et-boc .et-l .et_pb_shop.dc-shop-5-column .et_overlay:before {
	left: 48% !important;
}}

/* ### PRODUCT PAGE GALLERY ### */

.dc-product-gallery .woocommerce-product-gallery__wrapper {
	display:flex;
	flex-wrap: wrap;
}

.dc-product-gallery .woocommerce-product-gallery__image {
	flex-grow: 1;
    margin-right: 20px;
    margin-bottom: 20px;
}

/* ###### CHECKOUT PAGE V1 ###### */

@media all and (min-width: 981px) {
.woocommerce-checkout .checkout_v1 .col2-set {
	float:left;
	width: 60% !important;
	margin-right:5%;
}

.woocommerce-checkout .checkout_v1 .woocommerce-checkout-review-order {
	float:left;
	width: 35%;
}
	
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    border-radius: 5px;
}

.woocommerce-checkout .checkout_v1 .col-1,
.woocommerce-checkout .checkout_v1 .col-2 {
	width: 100% !important;
}}

.woocommerce-checkout .checkout_v1 label,
.woocommerce-checkout .checkout_v2 label {
	font-size: 16px !important;
	color: #000 !important;
}

.woocommerce-checkout .checkout_v1 .woocommerce table.shop_table th,
.woocommerce-checkout .checkout_v1 .woocommerce table.shop_table td,
.woocommerce-checkout .checkout_v2 .woocommerce table.shop_table th,
.woocommerce-checkout .checkout_v2 .woocommerce table.shop_table td{
	color: #000 !important;	
	font-size: 16px !important;
}

.woocommerce-checkout .checkout_v1 .cart-subtotal .woocommerce-Price-amount,
.woocommerce-checkout .checkout_v2 .cart-subtotal .woocommerce-Price-amount {
	font-weight: 400!important;
}

.woocommerce-checkout .checkout_v1 .order-total .woocommerce-Price-amount,
.woocommerce-checkout .checkout_v2 .order-total .woocommerce-Price-amount {
	color: #000 !important;	
	font-size: 24px !important;	
}

.woocommerce-checkout .checkout_v1 .woocommerce-privacy-policy-text,
.woocommerce-checkout .checkout_v2 .woocommerce-privacy-policy-text {
	font-size: 14px;
    line-height: 1.6em;
}

.woocommerce-checkout .checkout_v1 .woocommerce-additional-fields,
.woocommerce-checkout .checkout_v2 .woocommerce-additional-fields {
	padding-top: 35px;
}

.woocommerce-checkout .checkout_v1 .form-row.place-order button.button:after,
.woocommerce-checkout .checkout_v2 .form-row.place-order button.button:after {
	content: none !important;
}

.woocommerce-checkout .checkout_v1 .form-row.place-order button.button:hover,
.woocommerce-checkout .checkout_v2 .form-row.place-order button.button:hover {
	padding: .3em 1em .3em 1em !important;

}

.woocommerce-checkout .checkout_v1 .form-row.place-order button.button,
.woocommerce-checkout .checkout_v2 .form-row.place-order button.button {
	font-size: 18px !important;
	font-weight: bold;
}

.woocommerce-checkout .checkout_v1 .woocommerce #payment #place_order, .woocommerce-checkout .woocommerce-page .checkout_v1 #payment #place_order,
.woocommerce-checkout .checkout_v2 .woocommerce #payment #place_order, .woocommerce-checkout .woocommerce-page .checkout_v2 #payment #place_order {
    margin: 15px auto 0px auto !important;
    display: block !important;
	float: unset !important;
}

.woocommerce-checkout .checkout_v1 .woocommerce-checkout-payment,
.woocommerce-checkout .checkout_v2 .woocommerce-checkout-payment {
	font-size: 14px;
    line-height: 1.6em;
}

.woocommerce-message a.button.wc-forward, .woocommerce-message a.button.wc-forward:hover {
	padding: .3em 1em .3em 1em !important;
}

.woocommerce-message a.button.wc-forward:after {
	content: none !important;
}

.woocommerce-checkout .checkout_v1 .woocommerce #payment #place_order,
.woocommerce-checkout .checkout_v2 .woocommerce #payment #place_order {
	border-width: 0px !important;
}

/* ### CHECKOUT PAGE V2 ### */

@media all and (min-width: 981px) {
.woocommerce-checkout .checkout_v2 .col-1,
.woocommerce-checkout .checkout_v2 .col-2 {
	width: 100% !important;
}}

.woocommerce-checkout .checkout_v2 .fa-ul {
	margin-left: 1.5em;
}

.woocommerce-checkout .checkout_v2 .fa-li {
	left: -2.5em;
}

.woocommerce-checkout .checkout_v2 .fa-check-circle {
    margin-top: 5px;
}

.woocommerce-checkout .checkout_v2 h3#order_review_heading {
	padding-top:25px;
}

/* ### CART PAGE ### */

.et_button_no_icon.woocommerce-page .dc-cart button.button,
.woocommerce-page.et_pb_button_helper_class .dc-cart a.button {
	padding: 11px !important;
}

.et_button_no_icon.woocommerce-page .dc-cart button.button:hover,
.woocommerce-page.et_pb_button_helper_class .dc-cart a.button:hover {
	padding: 11px !important;
}

/* ### MY ACCOUNT ### */

.dc-account .woocommerce-MyAccount-navigation ul {
	padding: 0px;
    list-style-type: none;
}

.dc-account .woocommerce-MyAccount-navigation ul li {
	border-bottom: 1px solid #000;
    padding: 10px 0px;
}

.dc-account .woocommerce-privacy-policy-text {
	padding-bottom: 10px;
}

@media all and (min-width: 981px) {
.woocommerce-account .dc-account .woocommerce-MyAccount-navigation {
    width: 24%;
}}

.woocommerce .dc-account a.button, .woocommerce-page .dc-account a.button {
	font-size: 12px !important;
}

/* ### FOOTER ### */

@media only screen and (min-width: 981px) {
.et-db #et-boc .et-l .dc-custom-footer .et_pb_row .et_pb_column_1_5.dc-custom-footer-column-1 {
	width:27.6%;
}

.et-db #et-boc .et-l .dc-custom-footer .et_pb_row .et_pb_column_1_5.dc-custom-footer-column-2,
.et-db #et-boc .et-l .dc-custom-footer .et_pb_row .et_pb_column_1_5.dc-custom-footer-column-3,
.et-db #et-boc .et-l .dc-custom-footer .et_pb_row .et_pb_column_1_5.dc-custom-footer-column-4 {
	width:13.45%
}

.et-db #et-boc .et-l .dc-custom-footer .et_pb_row .et_pb_column_1_5.dc-custom-footer-column-5 {
	width: 20%;		
}

.et-db #et-boc .et-l .dc-custom-optin p.et_pb_newsletter_field {
	flex:2 !important;
	padding-bottom: 0px;
}

.et-db #et-boc .et-l .dc-custom-optin .et_pb_newsletter_form p.et_pb_newsletter_field input {	
	border-radius: 25px 0px 0px 25px !important;
	padding-left: 6%!important;
}

.et-db #et-boc .et-l .dc-custom-optin p {
	flex:1 !important;	
}

.et-db #et-boc .et-l .dc-custom-optin .et_pb_newsletter_fields {
	align-items: center;	
}

body.et-db #et-boc .et-l .dc-custom-optin .et_pb_button {
	border-radius: 0px 25px 25px 0px !important;
	height: 47px;
    display: flex;
}

body.et-db #et-boc .et-l .dc-custom-optin .et_pb_button .et_pb_newsletter_button_text{
	align-self: center;	
}}

@media only screen and (min-width: 981px) and (max-width: 1450px) {	
body.et-db #et-boc .et-l .dc-custom-optin a.et_pb_button   {
	justify-content: center;
	font-size: 9px !important;
}}

@media only screen and (min-width: 981px) and (max-width: 1350px) {
.et_pb_section .et_pb_row {
	width: 95%;
	max-width: 95%;
}}

@media only screen and (min-width: 981px) and (max-width: 1350px) {
.et_pb_section .dc-popup-row,
.et_pb_section .dc-images-row-bottom {
	width: 100%;
	max-width: 100%;
}}

/* ### Fixes ### */
.et-db #et-boc .et-l .et_pb_wc_add_to_cart form.cart .variations td.value span:after {
	display: none;
}

/* ### Shop filter ### */
@media only screen and (min-width: 981px) {
.wpf_item .wpf_item_name {
    font-size: 18px !important;
}}

.wpf_color_icons:not(.wpf_hide_text) li>input:checked+label {
    border: solid 1px #000 !important;
    background-color: #fff !important;
}


/* ### Shop filter V2 desktop ### */
@media only screen and (min-width: 981px) {
.shop-filter-v2-desktop .wpf_layout_horizontal {
	display: flex;
}

.shop-filter-v2-desktop .wpf_layout_horizontal .wpf_item {
    flex-grow: 1;
    flex-basis: 0;
}

.shop-filter-v2-desktop .wpf_items_group.wpf_right_tab,
.shop-filter-v2-desktop .wpf_items_group.wpf_left_tab{
	width: 100% !important;
	border-top-right-radius: 0px;
    border-top-left-radius: 0px;
}

.shop-filter-v2-desktop ul.wpf_column_vertical li {
	display: flex !important;
	align-items: center;
}

.shop-filter-v2-desktop ul.wpf_column_vertical li input {
	margin-right: 10px;
}}

/* ### Shop filter V2 tablet & mobile ### */
.shop-filter-v2-tablet-mobile .wpf_dropdown {
    margin-bottom: 0px;
}

/* ### All headers ### */
.nav li li ul {
    top: -10px;
}

.et-menu li li.menu-item-has-children>a:first-child:after {
    top: 9px;
}

/* ########################### */
/* ### B&G PRINTS HOMEPAGE ### */
/* ########################### */

/* Global Button Fixes - prevent shrink and border on hover */
.et_pb_button:after,
.et_pb_button:hover:after {
    display: none !important;
    opacity: 0 !important;
}

.et_pb_button {
    background-size: auto !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}

.et_pb_button:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
    transform: translateY(-2px) !important;
}

/* Specific fix for Divi buttons - prevent border/padding changes */
.et_pb_button.et_pb_bg_layout_light,
.et_pb_button.et_pb_bg_layout_light:hover,
.et_pb_button.et_pb_bg_layout_light:focus,
.et_pb_button.et_pb_bg_layout_light:active,
.et_pb_button_0,
.et_pb_button_0:hover,
.et_pb_button_0:focus,
.et_pb_button_0:active,
body .et_pb_button:hover,
body.et_pb_button_helper_class .et_pb_button:hover,
.et-db #et-boc .et-l .et_pb_button:hover {
    background-color: var(--bg-primary-yellow) !important;
    border: 2px solid var(--bg-primary-yellow) !important;
    border-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    padding: 15px 35px !important;
    outline: none !important;
}

/* Prevent all button size/border changes on hover */
.bg-hero-section .et_pb_button:hover,
.bg-gallery-section .et_pb_button:hover {
    border-color: var(--bg-primary-yellow) !important;
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    padding: 15px 35px !important;
}

/* Service buttons - smaller padding */
body .bg-services-section .et_pb_blurb a.et_pb_button,
body .bg-services-section .et_pb_blurb a.et_pb_button:hover,
.et-db #et-boc .et-l .bg-services-section .et_pb_blurb a.et_pb_button,
.et-db #et-boc .et-l .bg-services-section .et_pb_blurb a.et_pb_button:hover {
    border: 2px solid var(--bg-primary-yellow) !important;
    border-color: var(--bg-primary-yellow) !important;
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    padding: 10px 25px !important;
}

/* Hero Section */
.bg-hero-section {
    background: linear-gradient(135deg, rgba(255,243,209,0.92) 0%, rgba(255,255,255,0.9) 100%),
                url('/wp-content/uploads/2026/02/home-hero-bg.jpeg') center center / cover no-repeat;
}

.bg-hero-section h1 {
    color: var(--bg-charcoal) !important;
    text-shadow: 0 1px 2px rgba(255,255,255,0.6);
}

.bg-hero-section .et_pb_button {
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border-radius: 30px !important;
    padding: 15px 35px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    border: 2px solid var(--bg-primary-yellow) !important;
}


/* About Section */
.bg-about-section {
    background-color: #fff;
}

.bg-about-section h2 {
    color: var(--bg-charcoal) !important;
}

/* Collections Carousel */
.bg-collections-section {
    background-color: var(--bg-light-yellow);
    padding: 80px 0 !important;
}

.bg-collections-carousel {
    position: relative;
    padding: 0 50px;
}

.bg-collections-carousel .swiper {
    overflow: hidden;
    padding: 20px 0;
}

.bg-collections-carousel .swiper-slide {
    height: auto;
}

.bg-collection-card {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 25px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.bg-collection-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
}

.bg-collection-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.bg-collection-card h3 {
    padding: 20px;
    margin: 0;
    text-align: center;
    color: var(--bg-charcoal);
    font-size: 18px;
    font-weight: 600;
}

.bg-collections-carousel .swiper-button-next,
.bg-collections-carousel .swiper-button-prev {
    color: var(--bg-charcoal);
    background: #fff;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    box-shadow: 0 3px 15px rgba(0,0,0,0.1);
}

.bg-collections-carousel .swiper-button-next:after,
.bg-collections-carousel .swiper-button-prev:after {
    font-size: 18px;
    font-weight: bold;
}

.bg-collections-carousel .swiper-pagination-bullet {
    background: var(--bg-charcoal);
}

.bg-collections-carousel .swiper-pagination-bullet-active {
    background: var(--bg-gold-dark);
}

/* Services Section */
.bg-services-section {
    background-color: #fff;
    padding: 80px 0 !important;
}

.bg-services-section h2 {
    color: var(--bg-charcoal) !important;
    text-align: center;
    margin-bottom: 50px !important;
}

.bg-services-section .et_pb_blurb {
    background: #fff;
    border-radius: 15px;
    padding: 30px !important;
    box-shadow: 0 5px 25px rgba(0,0,0,0.08);
    transition: transform 0.3s ease;
    height: 100%;
}

.bg-services-section .et_pb_blurb:hover {
    transform: translateY(-5px);
}

.bg-services-section .et_pb_blurb .et-pb-icon {
    color: var(--bg-gold-dark) !important;
    font-size: 48px !important;
}

.bg-services-section .et_pb_blurb h4 {
    color: var(--bg-charcoal) !important;
    font-weight: 600 !important;
}

.bg-services-section .et_pb_blurb a.et_pb_button {
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border-radius: 25px !important;
    padding: 10px 25px !important;
    margin-top: 15px;
    display: inline-block;
    border: 2px solid var(--bg-primary-yellow) !important;
}


/* Gallery Section */
.bg-gallery-section {
    background: var(--bg-light-yellow) !important;
    padding: 80px 0 !important;
}

.bg-gallery-section h2 {
    color: var(--bg-charcoal) !important;
    text-align: center;
}

.bg-gallery-section .et_pb_gallery_item {
    border-radius: 10px;
    overflow: hidden;
}

.bg-gallery-section .et_pb_gallery_image img {
    transition: transform 0.5s ease;
}

.bg-gallery-section .et_pb_gallery_item:hover .et_pb_gallery_image img {
    transform: scale(1.1);
}

.bg-gallery-section p {
    color: var(--bg-charcoal) !important;
}

.bg-gallery-section .et_pb_button {
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border-radius: 30px !important;
    padding: 15px 35px !important;
    font-weight: 600 !important;
    border: 2px solid var(--bg-primary-yellow) !important;
}


/* Contact Section */
.bg-contact-section {
    background-color: #fff;
    padding: 80px 0 !important;
}

.bg-contact-section h2 {
    color: var(--bg-charcoal) !important;
    text-align: center;
}

.bg-contact-section .et_pb_contact_form {
    max-width: 700px;
    margin: 0 auto;
}

.bg-contact-section .et_pb_contact_field input,
.bg-contact-section .et_pb_contact_field textarea {
    background-color: #fff !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 10px !important;
    padding: 15px !important;
}

.bg-contact-section .et_pb_contact_field input:focus,
.bg-contact-section .et_pb_contact_field textarea:focus {
    border-color: var(--bg-charcoal) !important;
}

.bg-contact-section .et_pb_contact_submit {
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border-radius: 30px !important;
    padding: 15px 40px !important;
    font-weight: 600 !important;
    border: 2px solid var(--bg-primary-yellow) !important;
}

body .bg-contact-section .et_pb_contact_submit,
body .bg-contact-section .et_pb_contact_submit:hover,
.et-db #et-boc .et-l .bg-contact-section .et_pb_contact_submit,
.et-db #et-boc .et-l .bg-contact-section .et_pb_contact_submit:hover {
    background-color: var(--bg-primary-yellow) !important;
    border: 2px solid var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    padding: 15px 40px !important;
    box-shadow: none !important;
    transform: none !important;
}

body .bg-contact-section .et_pb_contact_submit:hover,
.et-db #et-boc .et-l .bg-contact-section .et_pb_contact_submit:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
    transform: translateY(-2px) !important;
}

/* ########################### */
/* ### SERVICE PAGES ######## */
/* ########################### */

/* --- Service Hero --- */
.bg-service-hero {
    padding: 100px 0 80px !important;
    background-size: cover !important;
    background-position: center !important;
    text-align: center;
}

.bg-service-hero h1 {
    color: #fff !important;
    text-align: center;
    font-size: 48px !important;
    font-weight: 800 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.bg-service-hero h1::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--bg-primary-yellow);
    margin: 16px auto 0;
    border-radius: 2px;
}

.bg-service-hero p {
    color: rgba(255,255,255,0.9) !important;
    text-align: center;
    font-size: 18px !important;
    max-width: 600px;
    margin: 15px auto 25px !important;
}

.bg-service-hero .et_pb_button {
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border: 2px solid var(--bg-primary-yellow) !important;
    border-radius: 30px !important;
    padding: 14px 35px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.bg-service-hero .et_pb_button:hover {
    background-color: #fff !important;
    border-color: #fff !important;
    color: var(--bg-charcoal) !important;
}

/* Per-service hero backgrounds */
.bg-service-hero-screen-printing {
    background: linear-gradient(135deg, rgba(26,26,26,0.82) 0%, rgba(42,42,42,0.72) 50%, rgba(51,51,51,0.78) 100%),
                url('/wp-content/uploads/2026/02/service-screen-printing.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
}

.bg-service-hero-spiritwear {
    background: linear-gradient(135deg, rgba(26,26,26,0.82) 0%, rgba(42,42,42,0.72) 50%, rgba(51,51,51,0.78) 100%),
                url('/wp-content/uploads/2026/02/service-spiritwear.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
}

.bg-service-hero-embroidery {
    background: linear-gradient(135deg, rgba(26,26,26,0.82) 0%, rgba(42,42,42,0.72) 50%, rgba(51,51,51,0.78) 100%),
                url('/wp-content/uploads/2026/02/service-embroidery.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
}

/* --- Service Content Section --- */
.bg-service-content {
    padding: 80px 0 !important;
    background-color: #fff;
}

.bg-service-content h2 {
    color: var(--bg-charcoal) !important;
    font-size: 32px !important;
    font-weight: 700 !important;
}

.bg-service-content h2::after {
    content: '';
    display: block;
    width: 50px;
    height: 3px;
    background: var(--bg-primary-yellow);
    margin: 12px 0 0;
    border-radius: 2px;
}

.bg-service-content p {
    color: var(--bg-charcoal-light) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.bg-service-content ul {
    padding-left: 0 !important;
    list-style: none !important;
}

.bg-service-content ul li {
    padding: 8px 0 8px 28px !important;
    position: relative;
    color: var(--bg-charcoal-light) !important;
    font-size: 16px !important;
    line-height: 1.6;
}

.bg-service-content ul li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    color: var(--bg-primary-yellow);
    font-weight: 700;
    font-size: 18px;
}

/* --- Service Features Grid (light yellow bg) --- */
.bg-service-features {
    background-color: var(--bg-light-yellow) !important;
    padding: 80px 0 !important;
    text-align: center;
}

/* Equal-height card grid at all widths */
.bg-service-features.et_pb_section {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-template-rows: auto;
    grid-auto-rows: 1fr !important;
    gap: 20px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
}

.bg-service-features.et_pb_section .et_pb_row:first-child {
    grid-column: 1 / -1 !important;
    display: block !important;
    padding: 0 !important;
    width: 100% !important;
    margin-bottom: 0 !important;
}

.bg-service-features.et_pb_section .et_pb_row:not(:first-child) {
    display: contents !important;
}

.bg-service-features.et_pb_section .et_pb_row:not(:first-child)::before,
.bg-service-features.et_pb_section .et_pb_row:not(:first-child)::after {
    display: none !important;
}

.bg-service-features.et_pb_section .et_pb_column.et_pb_column_1_3 {
    width: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.bg-service-features h2 {
    color: var(--bg-charcoal) !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.bg-service-features h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--bg-primary-yellow);
    margin: 12px auto 0;
    border-radius: 2px;
}

.bg-service-features .et_pb_blurb {
    background: #fff;
    border-radius: 12px;
    padding: 30px 25px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-align: center !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.bg-service-features .et_pb_blurb:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.bg-service-features .et_pb_blurb .et-pb-icon {
    color: var(--bg-primary-yellow) !important;
    font-size: 40px !important;
}

.bg-service-features .et_pb_blurb h4 {
    color: var(--bg-charcoal) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-top: 10px !important;
}

.bg-service-features .et_pb_blurb_description {
    color: var(--bg-charcoal-light) !important;
    font-size: 14px !important;
}

/* --- Service Process Section --- */
.bg-service-process {
    padding: 80px 0 !important;
    background-color: #fff;
    text-align: center;
}

.bg-service-process h2 {
    color: var(--bg-charcoal) !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.bg-service-process h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--bg-primary-yellow);
    margin: 12px auto 0;
    border-radius: 2px;
}

.bg-service-process .et_pb_blurb {
    text-align: center !important;
}

.bg-service-process .et_pb_blurb .et_pb_main_blurb_image {
    background: var(--bg-primary-yellow);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
}

.bg-service-process .et_pb_blurb .et-pb-icon {
    color: var(--bg-charcoal) !important;
    font-size: 28px !important;
}

.bg-service-process .et_pb_blurb h4 {
    color: var(--bg-charcoal) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

.bg-service-process .et_pb_blurb_description {
    color: var(--bg-charcoal-light) !important;
    font-size: 14px !important;
}

/* --- Service CTA Banner --- */
.bg-service-cta {
    background-color: var(--bg-charcoal) !important;
    padding: 50px 0 !important;
    text-align: center;
}

.bg-service-cta h2 {
    color: #fff !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.bg-service-cta p {
    color: rgba(255,255,255,0.85) !important;
    text-align: center !important;
}

.bg-service-cta .et_pb_button {
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border: 2px solid var(--bg-primary-yellow) !important;
    border-radius: 30px !important;
    padding: 14px 35px !important;
    font-weight: 700 !important;
}

/* --- Service Pages: Tablet - 2x3 feature grid --- */
@media screen and (min-width: 768px) and (max-width: 980px) {
    .bg-service-features.et_pb_section {
        grid-template-columns: 1fr 1fr !important;
        padding: 60px 30px !important;
    }
}

/* --- Service Pages Responsive (mobile) --- */
@media screen and (max-width: 767px) {
    .bg-service-hero {
        padding: 80px 20px !important;
    }

    .bg-service-hero h1 {
        font-size: 32px !important;
    }

    .bg-service-hero p {
        font-size: 16px !important;
    }

    .bg-service-content,
    .bg-service-features,
    .bg-service-process {
        padding: 50px 15px !important;
    }

    .bg-service-content h2,
    .bg-service-features h2,
    .bg-service-process h2 {
        font-size: 26px !important;
    }

    /* 1 column on mobile */
    .bg-service-features.et_pb_section {
        grid-template-columns: 1fr !important;
        padding: 50px 15px !important;
        gap: 15px !important;
    }

    .bg-service-process .et_pb_column {
        margin-bottom: 25px !important;
    }

    .bg-service-content ul li {
        padding: 6px 0 6px 28px !important;
    }
}

/* ########################### */
/* ### CONTACT US PAGE ###### */
/* ########################### */

/* Hero section — match service page styling */
.page-id-91417 .et_pb_section_0.et_pb_with_background {
    background: linear-gradient(135deg, rgba(26,26,26,0.82) 0%, rgba(42,42,42,0.75) 50%, rgba(51,51,51,0.8) 100%),
                url('/wp-content/uploads/2026/02/contact-us-hero.jpeg') !important;
    background-size: cover !important;
    background-position: center !important;
    padding: 100px 0 80px !important;
}

.page-id-91417 .et_pb_section_0 .et_pb_row_0 {
    padding: 96px 0 !important;
}

.page-id-91417 .et_pb_section_0 h1 {
    color: #fff !important;
    text-align: center;
    font-size: 48px !important;
    font-weight: 800 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.page-id-91417 .et_pb_section_0 h1::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--bg-primary-yellow);
    margin: 16px auto 0;
    border-radius: 2px;
}

/* Contact Us blurb icons: brand yellow */
.page-id-91417 .et_pb_blurb .et_pb_main_blurb_image .et-waypoint,
.page-id-91417 .et_pb_blurb .et_pb_main_blurb_image span,
.page-id-91417 .et_pb_blurb .et-pb-icon {
    color: var(--bg-primary-yellow) !important;
}

/* Contact Us submit button: brand yellow */
.page-id-91417 .et_pb_contact_submit {
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: 30px !important;
    padding: 12px 40px !important;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.page-id-91417 .et_pb_contact_submit:hover {
    background-color: var(--bg-gold-dark) !important;
    color: #fff !important;
}

/* Contact Us FAQ toggle icons: brand yellow */
.page-id-91417 .et_pb_toggle .et_pb_toggle_title::before {
    color: var(--bg-primary-yellow) !important;
}

/* ########################### */
/* ### GALLERY PAGE ######### */
/* ########################### */

.bg-gallery-page-hero {
    background: linear-gradient(135deg, rgba(26,26,26,0.82) 0%, rgba(42,42,42,0.75) 50%, rgba(51,51,51,0.8) 100%),
                url('/wp-content/uploads/2026/02/our-work-hero.jpeg') !important;
    background-size: cover !important;
    background-position: center !important;
    padding: 100px 0 !important;
}

.bg-gallery-page-hero h1 {
    color: #fff !important;
    text-align: center;
}

.bg-gallery-page-hero h1::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--bg-primary-yellow);
    margin: 16px auto 0;
    border-radius: 2px;
}

.bg-gallery-page-content {
    padding: 80px 0 !important;
    background-color: #fff;
}

.bg-gallery-page-content .et_pb_gallery_item {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 25px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.bg-gallery-page-content .et_pb_gallery_item:hover {
    transform: translateY(-5px);
}

/* Responsive adjustments */
@media screen and (max-width: 980px) {
    .bg-collections-carousel {
        padding: 0 30px;
    }

    .bg-services-section .et_pb_blurb {
        margin-bottom: 30px !important;
    }
}

@media screen and (max-width: 479px) {
    .bg-hero-section h1 {
        font-size: 32px !important;
    }

    .bg-collections-carousel {
        padding: 0 15px;
    }

    .bg-collections-carousel .swiper-button-next,
    .bg-collections-carousel .swiper-button-prev {
        display: none;
    }
}

/* ########################### */
/* ### B&G PRINTS FOOTER #### */
/* ########################### */

/* Main Footer Section */
#footer-bottom,
.et-l--footer,
footer#main-footer,
.dc-custom-footer,
.et_pb_section.et_pb_section--footer {
    background: linear-gradient(180deg, var(--bg-light-yellow) 0%, #FFF3C4 100%) !important;
}

/* Footer container */
.dc-custom-footer.et_pb_section {
    padding: 60px 0 40px 0 !important;
    border-top: 3px solid var(--bg-primary-yellow) !important;
}

/* Footer headings */
.dc-custom-footer h4,
.dc-custom-footer .et_pb_widget_area h4,
.et-l--footer h4,
footer h4 {
    color: var(--bg-charcoal) !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
    font-size: 18px !important;
}

/* Footer collections & services lists */
.bg-footer-collections,
.bg-footer-services {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.bg-footer-collections li,
.bg-footer-services li {
    margin-bottom: 10px !important;
}

.bg-footer-collections li a,
.bg-footer-services li a {
    color: var(--bg-charcoal) !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.bg-footer-collections li a:hover,
.bg-footer-services li a:hover {
    color: var(--bg-gold-dark) !important;
}

/* Remove divider between form and footer */
.bg-contact-section + .et_pb_divider,
.bg-contact-section .et_pb_divider,
.et-l--footer .et_pb_divider,
.dc-custom-footer .et_pb_divider {
    display: none !important;
}

/* Footer text - nuclear option: force ALL footer text to charcoal */
.et-l--footer *:not(.et_pb_social_media_follow a):not(.et_pb_social_media_follow span),
footer *:not(.et_pb_social_media_follow a):not(.et_pb_social_media_follow span),
#main-footer *:not(.et_pb_social_media_follow a):not(.et_pb_social_media_follow span),
.et_pb_section--footer *:not(.et_pb_social_media_follow a):not(.et_pb_social_media_follow span) {
    color: #1A1A1A !important;
}

.dc-custom-footer a:hover,
.dc-custom-footer .et_pb_widget_area a:hover,
.et-l--footer a:hover,
footer#main-footer a:hover,
#footer-widgets a:hover,
.footer-widget a:hover,
.fwidget a:hover {
    color: var(--bg-gold-dark) !important;
}

/* Footer menu/nav links */
.dc-custom-footer ul li,
.dc-custom-footer .menu li,
.et-l--footer ul li,
#footer-widgets ul li,
.fwidget ul li {
    margin-bottom: 10px !important;
    list-style: none !important;
}

.dc-custom-footer ul li a,
.dc-custom-footer .menu li a,
.et-l--footer ul li a,
#footer-widgets ul li a,
.fwidget ul li a {
    color: var(--bg-charcoal) !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: transform 0.2s ease, font-weight 0.1s ease !important;
}

.dc-custom-footer ul li a:hover,
.dc-custom-footer .menu li a:hover,
.et-l--footer ul li a:hover,
#footer-widgets ul li a:hover,
.fwidget ul li a:hover {
    color: var(--bg-gold-dark) !important;
    transform: translateX(5px) !important;
    font-weight: 600 !important;
}

/* Footer social icons */
.dc-custom-footer .et_pb_social_media_follow li a,
.et-l--footer .et_pb_social_media_follow li a {
    background-color: var(--bg-charcoal) !important;
    color: #fff !important;
    transition: all 0.3s ease !important;
}

.dc-custom-footer .et_pb_social_media_follow li a:hover,
.et-l--footer .et_pb_social_media_follow li a:hover {
    background-color: var(--bg-gold-dark) !important;
    transform: translateY(-3px) !important;
}

/* Footer newsletter/optin */
.dc-custom-footer .et_pb_newsletter,
.dc-custom-optin {
    background: transparent !important;
}

.dc-custom-footer .et_pb_newsletter_form input,
.dc-custom-optin .et_pb_newsletter_form input {
    background-color: #fff !important;
    border: 2px solid var(--bg-primary-yellow) !important;
    border-radius: 25px !important;
    padding: 12px 20px !important;
    color: var(--bg-dark-text) !important;
}

.dc-custom-footer .et_pb_newsletter_form input:focus,
.dc-custom-optin .et_pb_newsletter_form input:focus {
    border-color: var(--bg-charcoal) !important;
    outline: none !important;
}

.dc-custom-footer .et_pb_newsletter_button,
.dc-custom-optin .et_pb_button {
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border-radius: 25px !important;
    border: 2px solid var(--bg-primary-yellow) !important;
    transition: all 0.3s ease !important;
}

.dc-custom-footer .et_pb_newsletter_button:hover,
.dc-custom-optin .et_pb_button:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
    transform: translateY(-2px) !important;
}

/* Bottom bar / copyright */
#footer-bottom,
.footer-bottom,
.et_pb_section.et_pb_section--footer-bottom {
    background-color: var(--bg-charcoal) !important;
    padding: 20px 0 !important;
}

#footer-bottom p,
.footer-bottom p,
#footer-info,
.et_pb_section--footer-bottom p {
    color: #fff !important;
    margin: 0 !important;
}

#footer-bottom a,
.footer-bottom a,
.et_pb_section--footer-bottom a {
    color: var(--bg-primary-yellow) !important;
}

#footer-bottom a:hover,
.footer-bottom a:hover,
.et_pb_section--footer-bottom a:hover {
    color: #fff !important;
}

/* Scalable Marketing footer link - clearly clickable */
.dc-custom-footer-column-1 a[href*="scalablemarketing"],
.dc-custom-footer a[href*="scalablemarketing"] {
    color: var(--bg-charcoal) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color 0.3s ease;
}

.dc-custom-footer-column-1 a[href*="scalablemarketing"]:hover,
.dc-custom-footer a[href*="scalablemarketing"]:hover {
    color: var(--bg-gold-dark) !important;
}

/* Footer widgets */
.dc-custom-footer .widget,
.et-l--footer .widget {
    margin-bottom: 0 !important;
}

/* Footer logo */
.dc-custom-footer .et_pb_image,
.et-l--footer .et_pb_image {
    margin-bottom: 20px !important;
}

/* Footer divider/separator */
.dc-custom-footer .et_pb_divider,
.et-l--footer .et_pb_divider {
    border-color: var(--bg-primary-yellow) !important;
}

/* Contact info in footer */
.dc-custom-footer .et_pb_blurb,
.et-l--footer .et_pb_blurb {
    background: transparent !important;
}

.dc-custom-footer .et_pb_blurb .et-pb-icon,
.et-l--footer .et_pb_blurb .et-pb-icon {
    color: var(--bg-gold-dark) !important;
}

/* Footer links column: push Services/Collections together and to the right */
.dc-custom-footer-column-links .et_pb_row_inner {
    justify-content: flex-end !important;
    gap: 0 !important;
    padding-right: 0 !important;
    margin-right: -20px !important;
}

.dc-custom-footer-column-links .et_pb_row_inner .et_pb_column_inner {
    max-width: 160px !important;
    flex: 0 0 auto !important;
}

/* Footer responsive */
@media screen and (max-width: 980px) {
    .dc-custom-footer.et_pb_section {
        padding: 30px 20px 25px 20px !important;
        text-align: left !important;
    }

    /* Two-column footer layout on mobile */
    .dc-custom-footer .et_pb_row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: 15px !important;
    }

    /* Logo column: shrink */
    .dc-custom-footer .et_pb_column.dc-custom-footer-column-1 {
        flex: 0 0 35% !important;
        max-width: 35% !important;
        margin-bottom: 0 !important;
    }

    /* Links column: take remaining space */
    .dc-custom-footer .et_pb_column.dc-custom-footer-column-links {
        flex: 1 1 0% !important;
        max-width: 65% !important;
        margin-bottom: 0 !important;
    }

    /* Shrink footer logo on mobile - maintain aspect ratio */
    .dc-custom-footer .et_pb_image {
        max-width: 100px !important;
        margin-bottom: 10px !important;
    }
    .dc-custom-footer .et_pb_image img {
        object-fit: contain !important;
        width: auto !important;
        height: auto !important;
        max-width: 100px !important;
    }

    /* Make inner row (Services/Collections) side-by-side */
    .dc-custom-footer-column-links .et_pb_row_inner {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 15px !important;
        margin-right: 0 !important;
    }

    .dc-custom-footer-column-links .et_pb_row_inner .et_pb_column_inner {
        flex: 1 !important;
        max-width: none !important;
    }

    /* Left-align footer list items */
    .dc-custom-footer ul,
    .bg-footer-services,
    .bg-footer-collections {
        padding-left: 0 !important;
        text-align: left !important;
    }

    .dc-custom-footer h4 {
        text-align: left !important;
        font-size: 14px !important;
        margin-bottom: 10px !important;
    }

    .dc-custom-footer .et_pb_text {
        text-align: left !important;
    }

    /* Smaller "Website by" text on mobile */
    .dc-custom-footer-column-1 .et_pb_text p {
        font-size: 11px !important;
    }
}

/* Narrow mobile: stack footer vertically */
@media screen and (max-width: 600px) {
    .dc-custom-footer.et_pb_section {
        padding: 40px 25px 30px 25px !important;
    }

    .dc-custom-footer .et_pb_row {
        flex-wrap: wrap !important;
        gap: 25px !important;
    }

    /* Logo column: full width, centered */
    .dc-custom-footer .et_pb_column.dc-custom-footer-column-1 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    .dc-custom-footer .et_pb_image {
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 5px !important;
    }

    .dc-custom-footer-column-1 .et_pb_text {
        text-align: center !important;
    }

    .dc-custom-footer-column-1 .et_pb_text p {
        font-size: 12px !important;
    }

    /* Links column: full width */
    .dc-custom-footer .et_pb_column.dc-custom-footer-column-links {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    /* Services & Collections side by side with more room */
    .dc-custom-footer-column-links .et_pb_row_inner {
        gap: 30px !important;
        justify-content: center !important;
    }

    .dc-custom-footer h4 {
        font-size: 15px !important;
        margin-bottom: 12px !important;
    }

    .bg-footer-collections li,
    .bg-footer-services li {
        margin-bottom: 8px !important;
    }
}

/* ########################### */
/* ### VISUAL POLISH FIXES ### */
/* ########################### */

/* --- About Section: Improve readability --- */
.bg-about-section {
    padding: 80px 0 !important;
}

.bg-about-section h2 {
    font-size: 32px !important;
    font-weight: 700 !important;
    margin-bottom: 25px !important;
    position: relative;
    display: inline-block;
}

.bg-about-section h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--bg-primary-yellow);
    margin-top: 12px;
    border-radius: 2px;
}

.bg-about-section p {
    color: var(--bg-charcoal-light) !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    max-width: 700px;
}

/* --- Collections Section: Better sizing for few items --- */
.bg-collections-section .swiper-slide {
    max-width: 320px;
}

.bg-collection-card img {
    height: 220px !important;
}

.bg-collection-card h3 {
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Hide nav arrows when few items */
.bg-collections-carousel .swiper-button-disabled {
    opacity: 0 !important;
}

/* --- Services Section: Bigger icons, better cards --- */
.bg-services-section {
    padding: 90px 0 !important;
}

.bg-services-section h2 {
    font-size: 32px !important;
    font-weight: 700 !important;
    position: relative;
    display: inline-block;
}

.bg-services-section h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--bg-primary-yellow);
    margin: 12px auto 0;
    border-radius: 2px;
}

.bg-services-section .et_pb_blurb .et-pb-icon {
    font-size: 56px !important;
    margin-bottom: 15px !important;
}

/* Image container: high specificity to override Divi inline-block */
.bg-services-section .et_pb_blurb .et_pb_main_blurb_image,
.et-db #et-boc .et-l .bg-services-section .et_pb_blurb .et_pb_main_blurb_image {
    border-radius: 0;
    overflow: hidden;
    margin: 0 !important;
    display: block !important;
    width: 100% !important;
}

.bg-services-section .et_pb_blurb .et_pb_main_blurb_image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

/* Equal-height service cards via flexbox */
.bg-services-section .et_pb_row {
    display: flex !important;
    flex-wrap: wrap !important;
}

.bg-services-section .et_pb_column {
    display: flex !important;
}

.bg-services-section .et_pb_blurb {
    padding: 0 !important;
    border: none;
    box-shadow: 0 5px 25px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.04);
    overflow: hidden;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.bg-services-section .et_pb_blurb .et_pb_blurb_content {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

.bg-services-section .et_pb_blurb .et_pb_blurb_container {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.bg-services-section .et_pb_blurb .et_pb_blurb_description {
    padding: 0 30px 30px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Push Learn More button to bottom of card */
.bg-services-section .et_pb_blurb .et_pb_blurb_description p:first-child {
    flex: 1 !important;
}

.bg-services-section .et_pb_blurb h4 {
    padding: 24px 30px 0 !important;
}

.bg-services-section .et_pb_blurb h4 {
    font-size: 20px !important;
    margin-bottom: 12px !important;
}

.bg-services-section .et_pb_blurb p {
    color: #555 !important;
    line-height: 1.7 !important;
}

/* --- Our Work / Gallery: Hide ugly filenames --- */
.bg-gallery-section .et_pb_gallery_item h3,
.bg-gallery-section .et_pb_gallery_item .et_pb_gallery_title {
    display: none !important;
}

.bg-gallery-section h2 {
    font-size: 32px !important;
    font-weight: 700 !important;
    position: relative;
    display: inline-block;
}

.bg-gallery-section h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--bg-primary-yellow);
    margin: 12px auto 0;
    border-radius: 2px;
}

.bg-gallery-section .et_pb_gallery_image {
    border-radius: 12px;
    overflow: hidden;
}

.bg-gallery-section .et_pb_gallery_item {
    margin-bottom: 20px !important;
}

/* --- Contact Section: Polish --- */
.bg-contact-section h2 {
    font-size: 32px !important;
    font-weight: 700 !important;
    position: relative;
    display: inline-block;
}

.bg-contact-section h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--bg-primary-yellow);
    margin: 12px auto 0;
    border-radius: 2px;
}

.bg-contact-section p {
    color: var(--bg-charcoal-light) !important;
    margin-bottom: 10px !important;
}

.bg-contact-section a {
    color: var(--bg-charcoal) !important;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.bg-contact-section a:hover {
    color: var(--bg-gold-dark) !important;
}

/* Math captcha alignment */
.bg-contact-section .et_pb_contact_field .et_pb_contact_captcha_question {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--bg-charcoal) !important;
}

/* --- Hero Section: More visual punch --- */
.bg-hero-section {
    padding: 100px 0 80px !important;
}

.bg-hero-section h1 {
    font-size: 44px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px;
}

.bg-hero-section p {
    font-size: 18px !important;
    color: var(--bg-charcoal) !important;
    max-width: 550px;
    margin: 0 auto 30px !important;
    line-height: 1.6 !important;
    font-weight: 500;
    text-shadow: 0 1px 2px rgba(255,255,255,0.5);
}

/* --- Section heading consistency --- */
.bg-collections-section h2 {
    font-size: 32px !important;
    font-weight: 700 !important;
    position: relative;
    display: inline-block;
}

.bg-collections-section h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--bg-primary-yellow);
    margin: 12px auto 0;
    border-radius: 2px;
}

.bg-collections-section p {
    color: var(--bg-charcoal-light) !important;
    margin-bottom: 30px !important;
}

/* --- Tablet: center stacked service cards --- */
@media screen and (max-width: 1080px) {
    .bg-services-section .et_pb_column {
        justify-content: center !important;
    }
}

/* --- Gallery: show 8 on desktop, 6 on tablet/mobile --- */
.bg-gallery-section .et_pb_gallery_item:nth-child(n+9) {
    display: none !important;
}

@media screen and (max-width: 1080px) {
    .bg-gallery-section .et_pb_gallery_item:nth-child(n+7) {
        display: none !important;
    }
}

/* --- Mobile refinements --- */
@media screen and (max-width: 767px) {
    .bg-hero-section h1 {
        font-size: 28px !important;
    }

    .bg-hero-section p {
        font-size: 15px !important;
    }

    .bg-services-section .et_pb_blurb {
        margin-bottom: 20px !important;
    }

    .bg-about-section h2,
    .bg-collections-section h2,
    .bg-services-section h2,
    .bg-gallery-section h2,
    .bg-contact-section h2 {
        font-size: 26px !important;
    }
}

/* --- Collections & Services dropdown parents: non-clickable on desktop only --- */
@media screen and (min-width: 981px) {
    .menu-item-99867 > a[href="#"],
    .menu-item-99887 > a[href="#"] {
        pointer-events: none;
        cursor: default;
    }
}

/* --- Mobile Header: Logo | Search | Cart | Hamburger --- */
@media only screen and (max-width: 1080px) {
    /* Row: horizontal, relative for absolute-positioned hamburger */
    .dc-header-v1 .dc-menu-v1-row {
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        padding-top: 15px !important;
        padding-bottom: 15px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        position: relative !important;
    }

    /* Column 1: Logo only — shrink to fit */
    .dc-header-v1 .dc-header-v1-column-1 {
        order: 1 !important;
        width: auto !important;
        flex: 0 0 auto !important;
        max-width: 180px !important;
        overflow: visible !important;
        position: static !important;
        border-top: none !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Constrain logo */
    .dc-header-v1-column-1 .et_pb_menu__logo-wrap {
        max-width: 160px !important;
    }

    /* Make intermediate containers static so hamburger positions relative to row */
    .dc-header-v1-column-1 .dc-menu-v1 {
        position: static !important;
        margin: 0 !important;
    }
    .dc-header-v1-column-1 .et_pb_menu_inner_container {
        justify-content: flex-start !important;
        max-width: 180px !important;
        overflow: visible !important;
        position: static !important;
    }

    /* Hamburger: pull out of column flow, position far right relative to row */
    .dc-header-v1-column-1 .et_pb_menu__wrap {
        position: absolute !important;
        right: 15px !important;
        top: 50% !important;
        bottom: auto !important;
        transform: translateY(calc(-50% - 7.5px)) !important;
        flex: 0 0 auto !important;
        z-index: 100 !important;
        width: auto !important;
    }
    .dc-header-v1-column-1 .mobile_menu_bar {
        z-index: 101 !important;
        position: relative !important;
    }

    /* Mobile menu dropdown: full width below header */
    .dc-header-v1-column-1 .et_mobile_menu {
        z-index: 102 !important;
        position: absolute !important;
        left: auto !important;
        right: -15px !important;
        top: 100% !important;
        width: 100vw !important;
        min-width: 280px !important;
    }

    /* Column 2: Search + cart — fill middle, leave room for hamburger */
    .dc-header-v1 .dc-header-v1-column-2 {
        order: 2 !important;
        flex: 1 1 auto !important;
        width: auto !important;
        justify-content: flex-end !important;
        align-items: center !important;
        padding: 0 50px 0 0 !important;
        display: flex !important;
        gap: 10px !important;
        pointer-events: none !important;
    }
    .dc-header-v1 .dc-header-v1-column-2 .dc-menu-search,
    .dc-header-v1 .dc-header-v1-column-2 .dc-menu-minicart {
        pointer-events: auto !important;
    }

    /* Search bar: flexible width in the middle */
    .dc-header-v1 .dc-menu-search {
        flex: 0 1 auto !important;
        max-width: 220px !important;
        min-width: 100px !important;
    }
    .dc-header-v1 .dc-menu-search .dgwt-wcas-search-wrapp {
        max-width: 100% !important;
    }

    /* Cart: fixed size next to hamburger, kill Divi's auto margin */
    .dc-header-v1 .dc-menu-minicart {
        flex: 0 0 auto !important;
        margin-left: 0 !important;
    }
}

/* --- Phone Header: Logo | Cart | Hamburger (no search) --- */
@media only screen and (max-width: 767px) {
    /* Hide search bar on phone — reintroduced on tablet */
    .dc-header-v1 .dc-menu-search {
        display: none !important;
    }
    /* Larger logo to fill header height */
    .dc-header-v1 .dc-header-v1-column-1 {
        max-width: 200px !important;
    }
    .dc-header-v1-column-1 .et_pb_menu__logo-wrap {
        max-width: 180px !important;
    }
    .dc-header-v1-column-1 .et_pb_menu_inner_container {
        max-width: 200px !important;
    }
    /* (cart text hidden globally below) */
    /* Hamburger centering: phone row has different padding offset than tablet */
    .dc-header-v1-column-1 .et_pb_menu__wrap {
        transform: translateY(calc(-50% - 2.5px)) !important;
    }
}

/* --- Cart area: Remove yellow background --- */
.dc-header-v1 .dc-menu-minicart,
.et_pb_code_1_tb_header {
    background-color: transparent !important;
}

/* --- Cart icon and text: Black --- */
.dc-menu-minicart .cartpops-cart__container {
    color: var(--bg-charcoal) !important;
}

/* --- Cart: Hide price text, keep icon + badge only --- */
.dc-header-v1 .cartpops-cart__container-text {
    display: none !important;
}

/* --- Cart badge: Yellow instead of purple --- */
.cartpops-cart__container-counter {
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
}

.cpops-floating-cart__count {
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
}

/* --- CartPops drawer: Checkout button yellow --- */
#cartpops-drawer .wc-proceed-to-checkout a.checkout-button {
    background-color: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border: none !important;
}
#cartpops-drawer .wc-proceed-to-checkout a.checkout-button:hover {
    background-color: var(--bg-charcoal) !important;
    color: #fff !important;
}

/* --- Center service card text and CTAs on all breakpoints --- */
.bg-services-section .et_pb_blurb {
    text-align: center !important;
}
.bg-services-section .et_pb_blurb h4 {
    text-align: center !important;
}
.bg-services-section .et_pb_blurb_description {
    text-align: center !important;
}
.bg-services-section .et_pb_blurb_description p {
    text-align: center !important;
}
.bg-services-section .et_pb_blurb a.et_pb_button {
    display: inline-block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ########################### */
/* ### SHOP & COLLECTIONS  ### */
/* ########################### */

/* --- Sale badge: Brand colors instead of red --- */
/* High specificity needed to override Divi Theme Builder inline styles */
#page-container #et-boc .et-l .et_pb_shop span.onsale,
#page-container #et-boc span.onsale,
.woocommerce span.onsale {
    background-color: var(--bg-primary-yellow) !important;
    background: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 5px 12px !important;
    line-height: 1.4 !important;
    min-height: auto !important;
}

/* --- Product cards: Rounded with subtle card styling --- */
.dc-shop-v1 li.product {
    background: #fff !important;
    border-radius: 12px !important;
    border: 1px solid #f0f0f0 !important;
    transition: box-shadow 0.3s ease, transform 0.2s ease !important;
    overflow: hidden;
}

.dc-shop-v1 li.product:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-2px);
}

/* --- Product image container --- */
.dc-shop-v1 li.product .et_shop_image {
    border-radius: 8px;
    overflow: hidden;
}

/* --- Product titles --- */
.dc-shop-v1 li.product h2,
.dc-shop-v1 li.product .woocommerce-loop-product__title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--bg-charcoal) !important;
    margin-top: 12px !important;
    line-height: 1.4 !important;
}

/* --- Product prices --- */
.dc-shop-v1 li.product .price del {
    opacity: 0.5;
}

.dc-shop-v1 li.product .price ins {
    color: var(--bg-charcoal) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* --- Category/Shop hero banner: Branded gradient --- */
/* High specificity needed to override Divi Theme Builder inline styles */
#page-container #et-boc .et-l .et_pb_section_0_tb_body {
    background-image: linear-gradient(135deg, rgba(26,26,26,0.82) 0%, rgba(42,42,42,0.75) 50%, rgba(51,51,51,0.8) 100%),
                      url('/wp-content/uploads/2026/02/our-collections-hero.jpeg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-color: var(--bg-charcoal) !important;
}

/* --- Per-collection hero backgrounds using category thumbnails --- */
.term-golden-ray-photography #page-container #et-boc .et-l .et_pb_section_0_tb_body {
    background-image: linear-gradient(135deg, rgba(26,26,26,0.82) 0%, rgba(42,42,42,0.75) 50%, rgba(51,51,51,0.8) 100%),
                      url('/wp-content/uploads/2026/01/unwatermarked_goldenraythumb.png') !important;
    background-size: cover !important;
    background-position: center !important;
}

.term-central-trail-elementary #page-container #et-boc .et-l .et_pb_section_0_tb_body {
    background-image: linear-gradient(135deg, rgba(26,26,26,0.82) 0%, rgba(42,42,42,0.75) 50%, rgba(51,51,51,0.8) 100%),
                      url('/wp-content/uploads/2026/01/unwatermarked_centraltrailthumb.png') !important;
    background-size: cover !important;
    background-position: center !important;
}

/* --- Shop page: Replace "Shop V1" with "Our Collections" --- */
.post-type-archive-product .et_pb_section_0_tb_body .et_pb_text h1,
.woocommerce-page.post-type-archive-product .et_pb_section_0_tb_body h1 {
    font-size: 0 !important;
    line-height: 0;
}

.post-type-archive-product .et_pb_section_0_tb_body .et_pb_text h1::before,
.woocommerce-page.post-type-archive-product .et_pb_section_0_tb_body h1::before {
    content: 'Our Collections';
    font-size: 48px;
    line-height: 1.2;
}

/* --- Hero title styling --- */
.et_pb_section_0_tb_body .et_pb_text h1,
.et_pb_section_0_tb_body .et_pb_wc_title h1 {
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: 1px;
}

/* --- Yellow accent line under hero title --- */
.et_pb_section_0_tb_body .et_pb_text h1::after,
.et_pb_section_0_tb_body .et_pb_wc_title h1::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: var(--bg-primary-yellow);
    margin-top: 16px;
    border-radius: 2px;
}

/* --- Category sidebar: Cleaner card look --- */
.shop-v1-sidebar .et_pb_widget {
    background: #f9f9f9 !important;
    border-radius: 12px !important;
    border: 1px solid #f0f0f0 !important;
    padding: 20px !important;
}

/* --- "Showing X results" text --- */
.woocommerce-result-count {
    color: var(--bg-charcoal-light) !important;
    font-size: 13px !important;
}

/* --- Sort dropdown: Brand styling --- */
.dc-shop-v1 .orderby {
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
}

/* --- Product hover: Subtle image scale (no overlay) --- */
.et-db #et-boc .et-l .et_pb_shop.dc-shop-v1 .et_overlay {
    display: none !important;
}

.dc-shop-v1 li.product .et_shop_image img {
    transition: transform 0.35s ease, filter 0.35s ease !important;
}

.dc-shop-v1 li.product:hover .et_shop_image img {
    transform: scale(1.04) !important;
    filter: brightness(1.05) !important;
}

/* ########################### */
/* ### SINGLE PRODUCT PAGE ### */
/* ########################### */

/* --- Add to Cart button: Brand charcoal instead of red --- */
body #page-container #et-boc .et_pb_section .et_pb_wc_add_to_cart .single_add_to_cart_button,
body #page-container #et-boc .et_pb_section .dc-product-addtocart .single_add_to_cart_button {
    background-color: var(--bg-charcoal) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 32px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    transition: background-color 0.3s ease, transform 0.15s ease !important;
}

body #page-container #et-boc .et_pb_section .et_pb_wc_add_to_cart .single_add_to_cart_button:hover,
body #page-container #et-boc .et_pb_section .dc-product-addtocart .single_add_to_cart_button:hover {
    background-color: var(--bg-charcoal-light) !important;
    transform: translateY(-1px) !important;
}

/* --- Quantity input: Clean up styling --- */
.single-product .quantity .qty,
.woocommerce div.product .quantity .qty {
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    width: 70px !important;
    text-align: center !important;
}

/* --- Price: Better sale price presentation --- */
.single-product .price del {
    opacity: 0.45 !important;
    font-size: 0.85em !important;
}

.single-product .price ins {
    text-decoration: none !important;
    font-weight: 700 !important;
    color: var(--bg-charcoal) !important;
    font-size: 1.1em !important;
}

/* --- Product image: Subtle rounded corners --- */
.single-product .dc-product-gallery img,
.single-product .woocommerce-product-gallery img {
    border-radius: 12px !important;
}

/* --- Product title: Better spacing --- */
.single-product .et_pb_wc_title h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--bg-charcoal) !important;
    margin-bottom: 16px !important;
    letter-spacing: 0 !important;
}

/* --- Details section: Styled list --- */
.single-product .dc-product-addtocart .wc-product-details ul {
    list-style: none !important;
    padding: 0 !important;
}

.single-product .dc-product-addtocart .wc-product-details li {
    padding: 4px 0 !important;
    color: #555 !important;
    font-size: 14px !important;
}

.single-product .dc-product-addtocart .wc-product-details li::before {
    content: '\2713' !important;
    color: var(--bg-primary-yellow) !important;
    font-weight: 700 !important;
    margin-right: 8px !important;
}

/* --- Description section: Clean up --- */
.single-product .et_pb_wc_description {
    padding-top: 32px !important;
}

.single-product .et_pb_wc_description p {
    color: #444 !important;
    line-height: 1.7 !important;
    font-size: 15px !important;
}

/* --- Reviews & Ratings: Hide entire row (heading + module) --- */
.single-product .et_pb_row_3_tb_body {
    display: none !important;
}

/* --- Product page hero: Taller with more padding --- */
.single-product .et_pb_section_0_tb_body {
    padding: 30px 0 !important;
}

/* --- Breadcrumb: White text on dark hero --- */
/* Must use #et-boc to beat Divi Theme Builder specificity */
#et-boc .et_pb_wc_breadcrumb_0_tb_body .woocommerce-breadcrumb,
#et-boc .et_pb_wc_breadcrumb_0_tb_body .woocommerce-breadcrumb a {
    color: rgba(255,255,255,0.9) !important;
    font-size: 13px !important;
}

#et-boc .et_pb_wc_breadcrumb_0_tb_body .woocommerce-breadcrumb a {
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

#et-boc .et_pb_wc_breadcrumb_0_tb_body .woocommerce-breadcrumb a:hover {
    color: #fff !important;
}

/* --- Sale badge on product page: Yellow accent --- */
.single-product .onsale {
    background: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    border-radius: 6px !important;
    padding: 4px 12px !important;
}

/* ################################## */
/* ### B&G PRINTS CART & CHECKOUT ### */
/* ################################## */

/* --- Cart page: table styling --- */
.woocommerce-cart .shop_table {
    border-collapse: collapse !important;
    border: none !important;
}

.woocommerce-cart .shop_table thead th {
    background: var(--bg-charcoal) !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 12px 15px !important;
    border: none !important;
}

.woocommerce-cart .shop_table td {
    padding: 15px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid #eee !important;
    border-left: none !important;
    border-right: none !important;
}

.woocommerce-cart .shop_table .product-thumbnail img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}

.woocommerce-cart .shop_table .product-name a {
    color: var(--bg-charcoal) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.woocommerce-cart .shop_table .product-name a:hover {
    color: var(--bg-gold-dark) !important;
}

.woocommerce-cart .shop_table .product-remove a {
    color: #999 !important;
    font-size: 20px !important;
}

.woocommerce-cart .shop_table .product-remove a:hover {
    color: #c00 !important;
}

/* --- Cart: quantity input --- */
.woocommerce-cart .shop_table .quantity .qty {
    border: 2px solid #ddd !important;
    border-radius: 6px !important;
    padding: 8px !important;
    width: 60px !important;
    text-align: center !important;
    font-size: 15px !important;
}

.woocommerce-cart .shop_table .quantity .qty:focus {
    border-color: var(--bg-primary-yellow) !important;
    outline: none !important;
}

/* --- Cart: coupon & update row --- */
.woocommerce-cart .shop_table .coupon .input-text {
    border: 2px solid #ddd !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    min-width: 180px !important;
}

.woocommerce-cart .shop_table .coupon .input-text:focus {
    border-color: var(--bg-primary-yellow) !important;
    outline: none !important;
}

/* --- Cart: Apply Coupon button --- */
.woocommerce-cart .coupon .button {
    background: var(--bg-charcoal) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 10px 20px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
}

.woocommerce-cart .coupon .button:hover {
    background: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
}

/* --- Cart: Update Cart button --- */
.woocommerce-cart button[name="update_cart"] {
    background: transparent !important;
    color: var(--bg-charcoal) !important;
    border: 2px solid var(--bg-charcoal) !important;
    border-radius: 6px !important;
    padding: 10px 20px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.woocommerce-cart button[name="update_cart"]:hover {
    background: var(--bg-charcoal) !important;
    color: #fff !important;
}

/* --- Cart Totals box --- */
.woocommerce-cart .cart_totals {
    background: #fff !important;
    border-radius: 10px !important;
    padding: 25px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
}

.woocommerce-cart .cart_totals h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--bg-charcoal) !important;
    margin-bottom: 15px !important;
    padding-bottom: 12px !important;
    border-bottom: 3px solid var(--bg-primary-yellow) !important;
}

.woocommerce-cart .cart_totals table {
    border: none !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 12px 0 !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    font-size: 20px !important;
    font-weight: 700 !important;
    border-bottom: none !important;
}

/* --- Proceed to Checkout button --- */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: var(--bg-charcoal) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 16px 30px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    display: block !important;
    transition: all 0.3s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
    content: none !important;
}

/* --- Checkout: form inputs --- */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    border: 2px solid #ddd !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
    color: var(--bg-charcoal) !important;
    transition: border-color 0.3s ease !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: var(--bg-primary-yellow) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(246, 214, 33, 0.15) !important;
}

/* --- Checkout: labels --- */
.woocommerce-checkout .form-row label {
    font-weight: 600 !important;
    color: var(--bg-charcoal) !important;
    font-size: 14px !important;
    margin-bottom: 4px !important;
}

/* --- Checkout: hide hero heading + background --- */
body #page-container #et-boc .et-l .et_pb_section.checkout_v1 {
    background-image: none !important;
    background-color: transparent !important;
    padding-top: 0px !important;
    min-height: 0 !important;
}
body #page-container #et-boc .et-l .et_pb_section.checkout_v1 > .et_pb_row {
    padding-top: 15px !important;
}
.woocommerce-checkout .et_pb_section.checkout_v1 > .et_pb_row:first-child .et_pb_text h1,
.woocommerce-checkout .checkout_v1 h1 {
    display: none !important;
}
.woocommerce-checkout .checkout_v1 .et_pb_title_container {
    display: none !important;
}

/* --- Checkout: hide Google Pay / Apple Pay buttons + separator --- */
.woocommerce-checkout .mwc-external-checkout-buttons {
    display: none !important;
}
.woocommerce-checkout .mwc-external-checkout-buttons-divider {
    display: none !important;
}

/* --- Checkout: section headings --- */
.woocommerce-checkout h3 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--bg-charcoal) !important;
    position: relative !important;
    padding-bottom: 10px !important;
    margin-bottom: 20px !important;
}

.woocommerce-checkout h3::after {
    content: '' !important;
    display: block !important;
    width: 50px !important;
    height: 3px !important;
    background: var(--bg-primary-yellow) !important;
    margin-top: 8px !important;
}

/* --- Checkout: order review table --- */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
    border: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    background: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    padding: 10px 15px !important;
    border: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table th {
    border-left: none !important;
    border-right: none !important;
}

/* --- Checkout: coupon toggle notice --- */
.woocommerce-form-coupon-toggle .woocommerce-info {
    background: var(--bg-light-yellow) !important;
    border: 1px solid var(--bg-primary-yellow) !important;
    border-left: 4px solid var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border-radius: 6px !important;
    padding: 14px 18px !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info::before {
    color: var(--bg-primary-yellow) !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info a {
    color: var(--bg-charcoal) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info a:hover {
    color: var(--bg-gold-dark) !important;
}

/* --- Checkout: payment section --- */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: #f9f9f9 !important;
    border-radius: 8px !important;
    border: 1px solid #eee !important;
}

/* --- Checkout: Place Order button --- */
.woocommerce-checkout #place_order {
    background: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 16px 30px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.woocommerce-checkout #place_order:hover {
    background: var(--bg-charcoal) !important;
    color: #fff !important;
}

/* --- WooCommerce notices: brand styling --- */
.woocommerce-message {
    border-top-color: var(--bg-primary-yellow) !important;
}

.woocommerce-message::before {
    color: var(--bg-primary-yellow) !important;
}

.woocommerce-message a.button {
    background: var(--bg-charcoal) !important;
    color: #fff !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
}

.woocommerce-message a.button:hover {
    background: var(--bg-primary-yellow) !important;
    color: var(--bg-charcoal) !important;
}

/* --- Cart & Checkout mobile --- */
@media screen and (max-width: 768px) {
    .woocommerce-cart .cart_totals {
        padding: 20px 15px !important;
    }

    .woocommerce-cart .shop_table .product-thumbnail img {
        width: 60px !important;
        height: 60px !important;
    }

    .woocommerce-cart .coupon .input-text {
        min-width: 120px !important;
    }
}

