/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

:root {
	--almost-white: #FFFCF9;
	--alabaster: #F7F1E8;
	--chapel-stone: #D8C7B0;
	--antique-gold: #B08A45;
	--olive-grove: #68724A;
	--cabernet: #5A1F2E;
	--espresso: #2D211B;
	--dark-gold: #886935;
	
    --c7-body-text-color: var(--espresso);
    --c7-heading-font-family: "Cormorant Garamond", serif;
    --c7-heading-text-color: var(--cabernet);
    --c7-heading-font-weight: 600;

    --c7-primary-color: var(--cabernet);
    --c7-primary-color-text: var(--cabernet);
    --c7-primary-color-dark: var(--dark-gold);
    --c7-primary-color-focus: rgba(90,31,46, .25);
    
    --c7-link-color: var(--cabernet);
    --c7-bg: var(--almost-white);
    --c7-bg-alt: var(--alabaster);
    --c7-border-color: rgba(216, 200, 176, 0.5);
    --c7-border-radius: 3px;
    
    --c7-loading-bg: rgba(255,252,249, .5);
/*     --c7-modal-border-radius: ; */
/*     --c7-modal-shadow: ; */
    --c7-overlay-bg: rgba(45,33,27, .1);
    --c7-progress-bar: var(--cabernet);
    --c7-pill-bg: var(--alabaster);
    --c7-pill-text-color: var(--dark-gold);
	--c7-info-bg: var(--alabaster);

    --c7-field-bg: var(--almost-white);
    --c7-field-border-radius: 3px;
    --c7-field-border-color: var(--c7-border-color);
    --c7-field-focus-color: var(--chapel-stone);
    --c7-field-option-selected-color: var(--cabernet);
    --c7-field-option-focus-color: var(--c7-primary-color-focus);
    --c7-field-placeholder: var(--antique-stone);

    --c7-primary-button-bg: var(--cabernet);
    --c7-primary-button-bg-hover: var(--dark-gold);
    --c7-primary-button-text-color: var(--almost-white);
    --c7-alt-button-bg: var(--alabaster);
    --c7-alt-button-bg-hover: var(--chapel-stone);
    --c7-alt-button-text-color: var(--espresso);
    --c7-button-border-radius: 3px;

    --c7-header-text-color: var(--espresso);
/*     --c7-notification: ; */
    --c7-cart-count-bg: var(--antique-gold);
    --c7-cart-count-bg-focus: var(--antique-gold);
    --c7-cart-count-text-color: var(--espresso);
    --c7-side-cart-shadow: 1px 1px 4px 0px rgba(216, 200, 176, 0.5);
    --c7-dropdown-border-radius: 4px;
    --c7-dropdown-shadow: 1px 1px 4px 0px rgba(216, 200, 176, 0.5);
    --c7-dropdown-hover: #F2EBE0; 

    --c7-block-bg: var(--almost-white);
    --c7-block-border-color: rgba(216, 200, 176, 0.5);
    --c7-block-border-radius: 8px;
    --c7-block-shadow: 1px 1px 4px 0px rgba(216, 200, 176, 0.5);
}

.c7-btn--primary:not([disabled]):active,
.c7-btn--primary:not([disabled]):focus,
.c7-btn--primary:not([disabled]):hover,
.c7-btn--primary--small:not([disabled]):active,
.c7-btn--primary--small:not([disabled]):focus,
.c7-btn--primary--small:not([disabled]):hover {
	color: var(--almost-white);
}

.c7-link:not([disabled]):hover, .c7-link:not([disabled]):active, .c7-link:not([disabled]):focus {
	background-color: transparent;
	border: none;
	color: var(--cabernet)!important;
}

/** prevent Checkout page from scrolling behind C7 content **/
.page-id-21 {
	position: fixed;
}

/** position Redchirp away from CookieYes **/
#redchirp-iframe[style] {
	bottom: 60px!important;
	height: calc(100% - 60px)!important;
}

/**************************
 * Website Header
 *************************/

.fl-menu-icon .hamburger-menu,
.fl-menu-mobile-close i {
	display: none;
}
.fl-menu .fl-menu-icon {
	--svg: url('data:image/svg+xml,\
    <svg viewBox="0 0 24 24" width="24" height="24" stroke-width="2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" fill="currentColor" xmlns="http://www.w3.org/2000/svg">\
  <line x1="4" x2="20" y1="12" y2="12" />\
  <line x1="4" x2="20" y1="6" y2="6" />\
  <line x1="4" x2="20" y1="18" y2="18" />\
</svg>');
	background: var(--svg) center no-repeat;
}

.fl-menu-mobile-flyout .fl-menu-mobile-close,
.fl-menu-mobile-flyout .fl-menu-mobile-close:hover,
.fl-menu-mobile-flyout .fl-menu-mobile-close:focus {
	float: right;
	margin-top: 2rem;
	--svg: url('data:image/svg+xml,\
    <svg viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" fill="currentColor" xmlns="http://www.w3.org/2000/svg">\
  <line x1="4" x2="20" y1="4" y2="20" />\
  <line x1="4" x2="20" y1="20" y2="4" />\
</svg>');
	background: var(--svg) center no-repeat !important;
}


@media (max-width:767px) {
	.fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-sticky):not(.fl-builder-content-editing) {
		position: relative;
	}
	header .fl-menu .menu > li {
		border-bottom: 1px solid var(--c7-border-color);
	}
}

@media (min-width:768px) {
	header .menu .fl-has-submenu .sub-menu {
		border: 1px solid var(--c7-border-color);
		border-top: 4px solid var(--antique-gold);
		box-shadow: var(--c7-block-shadow);
	}
	header .menu .fl-has-submenu .sub-menu:hover {
		border: 1px solid var(--c7-border-color);
		border-top: 4px solid var(--antique-gold);
	}
}

/**************************
 * General Styles
 *************************/

/** Customize hover/active transitions **/
a.fl-button,
.menu a,
.fl-icon-group i,
.c7-user-nav__account__dropdown li a {
	transition: all .5s ease-in-out!important; /* thanks, Beaver Builder :( */
}
button:active,
input[type="button"]:active,
input[type="submit"]:active,
button:focus,
input[type="button"]:focus,
input[type="submit"]:focus,
.fl-builder-content .fl-button:active {
	top: inherit;
}

i.fl-button-icon.fl-button-icon-after,
i.fl-button-icon.fl-button-icon-before {
	position: relative;
	display: inline-block;
	transition: all .25s ease-in-out;
}
.fl-button:hover i.fl-button-icon.fl-button-icon-after {
	transform: translateX(5px);
}
.fl-button:hover i.fl-button-icon.fl-button-icon-before {
	transform: translateX(-5px);
}

/** improve default WP image styling on mobile **/
@media (max-width:540px) {
	.alignleft,
	.alignright {
		display: block;
		margin: 0 auto;
		float: none;
	}
}

/** Eyebrow **/
.fl-builder-content .eyebrow {
	font-family: "Open Sans", sans-serif;
	font-size: 1.4rem;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 1px;
	color: var(--dark-gold);
}

.small-text {
	font-size: 1.4rem;
}

h1, .h1, h2, .h2 {
	text-wrap: balance;
}

/** h2 styling **/
.fl-builder-content .h2 {
	margin-top: 0;
	font-family: "Cormorant Garamond", serif;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--cabernet);
}

/** Hero section **/
.hero h1 span,
.hero h1 em {
	color: var(--antique-gold);
	font-style: italic;
}

.bg-dark h1 {
	color: var(--almost-white);
}

.bg-dark h1 span {
	color: var(--antique-gold);
}

@media (max-width:768px) {
	.hero-content {
		margin-top: 40px!important;
	}
	.hero-content,
	.hero-content .fl-module-icon {
		text-align: center!important;
	}
	.hero-content .fl-module-box {
		margin: 0 auto;
	}
}

/** Vertical centered Icon module **/
.icon--centered .fl-icon-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.icon--centered .fl-icon {
	display: block;
}
.icon--centered i {
	float: none;
}
.icon--centered .fl-icon-text {
	padding-left: 0;
}

/** circled icon **/
.icon--circled i {
    border: 2px solid;
}

/** decorated separator **/
.separator--decorated .fl-module-content {
	max-width: 350px;
	display: flex;
	gap: 10px;
	color: var(--antique-gold);
}
.separator--decorated .fl-module-content::before,
.separator--decorated .fl-module-content::after {
	width: 50%;
	--svg: url('data:image/svg+xml,\
    <svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24">\
        <rect x="0" y="11.5" width="24" height="1"/>\
    </svg>');
	background: radial-gradient(circle,rgba(176, 138, 69, 0.8) 0%, rgba(176, 138, 69, 0.71) 50%, rgba(252, 250, 248, 0) 100%);
	mask: var(--svg);
}
@media (max-width:768px) {
	.hero-content .separator--decorated .fl-module-content {
		margin: 0 auto;
	}
}

.centered .fl-module-content,
.fl-module-html .centered {
	margin-left: auto;
	margin-right: auto;
}

.border-top {
	border-top: 1px solid var(--c7-block-border-color);
	padding-top: 1.5rem;
}

/** make svg images different colors **/
.img--gold img {
	filter: brightness(0) saturate(100%) invert(62%) sepia(12%) saturate(1813%) hue-rotate(0deg) brightness(88%) contrast(87%);
}

.img--alabaster img {
	filter: invert(97%) sepia(6%) saturate(420%) hue-rotate(333deg) brightness(99%) contrast(95%);
}

/** custom accordion icons **/
.tri-accordion button {
	position: relative;
}
.tri-accordion button i {
	transition: rotate .5 ease-in-out;
}
.tri-accordion button[aria-expanded="true"] i {
	rotate: 180deg;
}

/** Show outline on :focus-visible rather than :focus and :active */
.fl-accordion-button .fl-accordion-button-icon:focus-visible {
    outline: 1px auto -webkit-focus-ring-color;
}
.fl-accordion-button .fl-accordion-button-icon:focus, .fl-accordion-button .fl-accordion-button-icon:active {
    outline: none;
}

@media (min-width:768px) {
	.text--two-col {
		columns: 2;
	}

	.text--two-col p {
		break-inside: avoid;
	}
	
	.hero--plain {
		padding-top: 90px;
	}
}

/** watermarks **/
.watermark {
	position: relative;
}

.watermark .fl-row-content {
	position: relative;
	z-index: 1;
}

.watermark::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	opacity: .4;
}

.lady-of-knock::after {
	background-image: url('images/lady_of_knock_02_B.png');
	background-size: clamp(300px, 30%, 400px);
	background-position: 80% bottom;
}

.lady-of-peace::after {
	background-image: url('images/queen_of_peace_oilpaint_01.webp');
	background-size: clamp(300px, 30%, 400px);
	background-position: 80% bottom;
}

.compass-rose::after {
	background-image: url('images/compass-rose-mauve.png');
	background-size: clamp(300px, 40%, 500px);
	background-position: -100px top;
}

@media (min-width:991px) {
	.lady-of-knock::after,
	.lady-of-peace::after {
		background-position: right 20px bottom;
	}
	
	.compass-rose::after {
		background-position: -100px bottom;
	}
}

@media (min-width:1201px) {
	.hero--plain {
		padding-top: 120px;
	}
}

/** underline links for a11y **/
.c7-account-login__options a,
.fl-icon-text a {
	text-decoration: underline;
}

/**************************
 * Pagination
 *************************/

.fl-builder-pagination ul.page-numbers {
	display: flex;
	gap: 20px;
	justify-content: center;
}

.fl-builder-pagination li a.page-numbers, .fl-builder-pagination li span.page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 54px;
	height: 54px;
	margin: 0;
	border: none;
	border-radius: 100px;
	padding: 0;
	text-decoration: none;
	line-height: 1;
	transition: all .5s ease-in-out;
}

.fl-builder-pagination li span.current {
	background-color: var(--alabaster);
}

.fl-builder-pagination li a.page-numbers:hover {
	background: var(--antique-gold);
	color: var(--espresso);
}

.fl-builder-pagination li a.next,
.fl-builder-pagination li a.prev {
	width: auto;
}

.fl-builder-pagination li a.next:hover,
.fl-builder-pagination li a.prev:hover {
	background-color: unset;
	text-decoration: underline;
}

/**************************
 * Cards
 *************************/

/** Universal card styles **/
div[class*='card'] {
	border-radius: var(--c7-block-border-radius);
}
div[class*='card'] .image--hero .fl-photo-img {
	border-radius: 8px 8px 0 0;
}
.card--shadowed {
	border: 1px solid var(--c7-block-border-color);
	box-shadow: var(--c7-block-shadow);
}

/** Align buttons to the bottom of all cards **/
div[class*='card'] .fl-module-button,
div[class*='card'] .last {
	margin-top: auto;
}

/** ...except when it's grouped with supporting text **/
div[class*='card'] .group-bottom .fl-module-button {
	margin-top: 0;
}

/** Cards with icon **/
.card--floating-icon--content {
    position: relative;
    height: 100%;
}

.card--floating-icon--content .fl-module-icon {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.card--floating-icon--content .floating-icon i {
    box-shadow: 1px 1px 4px 0px rgba(45,33,27,0.2);
}

/** Horizontal cards **/
.card--horizontal .horizontal-image {
	aspect-ratio: 3 / 2;
}
@media (min-width:768px) {
	.card--horizontal .horizontal-image {
		height: auto;
	}
	.icon-grid .fl-module-icon + .fl-module-icon {
		border-left: 1px solid var(--c7-border-color);
	}
}

@media (min-width:1201px) {
	.card--horizontal .horizontal-image {
		aspect-ratio: unset;
		height: 100%;
	}
}

/** Club cards **/
.accent--cabernet .card--header {
	background: var(--cabernet);
}

.accent--olive .c7-btn--primary,
.accent--olive .card--header {
	background: var(--olive-grove);
}

.accent--espresso .c7-btn--primary,
.accent--espresso .card--header  {
	background: var(--espresso);
}

.accent--gold .c7-btn--primary,
.accent--gold .card--header  {
	background: var(--antique-gold);
	color: var(--espresso);
}

.accent--gold .c7-btn--primary:hover {
	background: var(--cabernet);
	color: var(--almost-white);
}

.accent--chapel-stone .c7-btn--primary,
.accent--chapel-stone .card--header  {
	background: var(--chapel-stone);
	color: var(--espresso);
}

/**************************
 * Scrolling marquee (Our Wines)
 *************************/

.ribbon-track .marquee-text[aria-hidden="true"] {
    display: none!important;
}

@media (max-width:1310px) {
/* 1. Clip overflow at each ancestor so content scrolls cleanly edge-to-edge */
.fl-node-ohrziv291yda .fl-row-content-wrap,
.fl-node-ohrziv291yda .fl-row-content,
.fl-node-ohrziv291yda .fl-col-group,
.fl-node-ohrziv291yda .fl-col,
.fl-node-ohrziv291yda .fl-col-content {
  overflow: hidden;
  max-width: 100%;
  width: 100%;
}

/* 2. The track: a single unwrapped flex row that holds the original + clone */
.ribbon-track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  width: max-content;
  --marquee-play-state: running;
}

/* 3. Both copies scroll together — translateX(-50%) moves exactly one copy off-screen */
.ribbon-track .marquee-text,
.ribbon-track .marquee-text[aria-hidden="true"] {
    display: flex!important;
  flex-shrink: 0;
  animation: ribbon-scroll 30s linear infinite;
  animation-play-state: var(--marquee-play-state);
}
}

@keyframes ribbon-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* 4. Respect the user's OS motion preference */
@media (prefers-reduced-motion: reduce) {
  .ribbon-track .marquee-text,
  .ribbon-track .marquee-text[aria-hidden="true"] {
    animation: none;
    flex-direction: column;
    gap: 0;
  }
  .ribbon-track .marquee-text[aria-hidden="true"] {
    display: none!important;
  }
}

/**************************
 * Non-wine reviews
 *************************/
@media (max-width:767px) {
	.carousel--reviews .pp-swiper-button-prev {
		left: -30px;
	}
	.carousel--reviews .pp-swiper-button-next {
		right: -30px;
	}
}

/**************************
 * Recipes
 *************************/

/** archive **/
.fl-module-loop .cooked-recipe-info {
	margin-bottom: 0;
}

.fl-module-loop .cooked-servings,
.fl-module-loop .cooked-recipe-info strong {
	display: none;
}

.fl-module-loop .cooked-recipe-info a {
	text-decoration: none;
	color: var(--dark-gold);
}

.fl-module-loop .cooked-category {
	cursor: default;
	pointer-events: none;
}

/** single **/
.cooked-recipe-info>section.cooked-left>span,
.cooked-recipe-info>span {
	line-height: 1.75rem;
}

.cooked-recipe-info strong {
	font-size: 1.2rem;
}

.cooked-recipe-ingredients .cooked-heading,
.cooked-recipe-directions .cooked-heading {
	font-size: 2.4rem;
}

.cooked-recipe-ingredients .cooked-ingredient-checkbox {
	top: 1.5rem;
	border-color: var(--espresso);
}

.cooked-recipe-directions .cooked-direction {
    display: flex;
    padding: 1rem 0;
}

.cooked-recipe-directions .cooked-direction-number {
    display: block;
    position: relative;
    opacity: 1;
    padding: 10px;
    text-align: center;
    height: 42px;
    width: 42px;
    border-radius: 50%;
    min-width: 42px;
    line-height: 1.3;
    font-size: 1.8rem;
	background-color: var(--chapel-stone);
	font-family: "cormorant garamond";
	font-variant-numeric: lining-nums;
}

.single-cp_recipe .fl-post-grid-text {
    padding-left: 0;
    padding-right: 0;
}

.cooked-recipe-notes .cooked-heading {
	font-size: 2.4rem;
	font-family: "Cormorant Garamond", serif;
}

@media (min-width:768px) {
	.cooked-recipe-directions .cooked-direction {
   	 	padding: 2rem 0;
	}
}

/**************************
 * Events
 *************************/

.event--dow {
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
}
.event--cal {
    font-family: "cormorant garamond", serif;
    font-weight: 600;
    font-size: 2.3rem;
    font-variant-numeric: lining-nums;
    line-height: 1.1;
}

.tri-event .fl-icon-text {
    line-height: 1.3;
}

.tri-event .fl-icon-text span {
    display: inline;
}

.tri-event .fl-icon-text p {
    margin-bottom: 0;
}

.event--venue__name {
    font-weight: 600;
}

@media (min-width: 991px) {
	.event--cal {
		font-size: 3rem;
	}
}

/**************************
 * Commerce7 Collections
 *************************/

.collection-page .c7-product-collection__products {
	padding: 4rem 20px;
	background-color: #f7f1e8;
}
.collection-page .c7-product-collection__product-list,
.c7-product-allocation__product-list,
.collection--full .c7-product-collection__product-list {
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
	gap: 20px;
}
.c7-product-collection .c7-product,
.c7-product-allocation .c7-product {
	position: relative;
	background-color: var(--almost-white);
	border-radius: var(--c7-block-border-radius);
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	padding: 2.4rem 2rem 0;
	text-align: center;
}
.c7-product-collection .c7-product__title a:hover,
.c7-product-allocation .c7-product__title a:hover {
	text-decoration: none;
}
.c7-product-collection .c7-product__add-to-cart__price__variant,
.c7-product-allocation .c7-product__add-to-cart__price__variant {
	display: none;
}
.c7-product-collection .c7-product__add-to-cart__form,
.c7-product-allocation .c7-product__add-to-cart__form {
	justify-content: center;
}
.c7-product-collection .c7-product__add-to-cart__form__quantity,
.c7-product-allocation .c7-product__add-to-cart__form__quantity {
	display: none;
}

.c7-pagination {
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}

/** Badges */
.c7-badge {
	position: absolute;
	right: -1.5rem;
	background-color: var(--olive-grove);
	padding: 0 .75rem;
	border-radius: .5rem;
	font-size: 1.4rem;
	color: var(--almost-white);
}
.c7-badge--points {
	background-color: var(--chapel-stone);
	color: var(--espresso);
}

/** Collections inside pages **/
.collection--embedded h1,
.collection--embedded .c7-filters,
.c7-error-page .c7-filters {
	display: none;
}

/** Horizontally scrolling collection **/
.featured-scroller .c7-product-collection__product-list,
.featured-scroller .c7-related-products__product-list {
	--visible-cols: 4;
	--col-gap: 20px;
	--col-hint: 100px;
	--scrollbar-padding: 20px;
  
	/*  Calculated column size. */
	--col-size: calc((100% / var(--visible-cols)) - var(--col-gap) - var(--col-hint) / var(--visible-cols));
	
  	position: relative;
	display: grid;
	justify-content: unset;
	grid-auto-flow: column;
	grid-template-columns: var(--col-size);
	grid-auto-columns: var(--col-size);
	overflow-x: auto;
	overflow-y: hidden;
	grid-gap: var(--col-gap);
	margin: 0;
	padding-bottom: var(--scrollbar-padding);
	scroll-snap-type: x mandatory;
}

@media (max-width: 1200px) {
	.featured-scroller .c7-product-collection__product-list,
	.featured-scroller .c7-related-products__product-list {
		--visible-cols: 3;
	}
}

@media (max-width: 991px) {
	.featured-scroller .c7-product-collection__product-list,
	.featured-scroller .c7-related-products__product-list {
		--visible-cols: 2;
		--col-hint: 40px
	}
}

@media (max-width: 768px) {
	.featured-scroller .c7-product-collection__product-list,
	.featured-scroller .c7-related-products__product-list {
		--visible-cols: 2;
	}
}

@media (max-width: 425px) {
	.featured-scroller .c7-product-collection__product-list,
	.featured-scroller .c7-related-products__product-list {
		--visible-cols: 1;
	}
}

.featured-scroller .c7-product-collection .c7-product,
.featured-scroller .c7-product {
	scroll-snap-align: start;
	width: auto;
}

/**************************
 * Commerce7 Wine Detail Page
 *************************/
.product--single .c7-content {
	padding-bottom: 0;
}

.product--single .c7-product-detail,
.products--related .products--related__content {
	max-width: 1220px;
	margin: 0 auto;
}

.product--single .c7-product-detail {
	padding-left: 20px;
	padding-right: 20px;
}

.c7-product__intro {
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--c7-border-color);
}

.c7-product__intro img {
	max-height: 250px;
	object-fit: cover;
}

.c7-product-detail__photo__thumbs {
	margin-top: 1rem;
	display: flex;
	gap: 1rem;
	justify-content: center;
}

.c7-product-detail__photo__thumbs a {
	width: 80px;
	height: 80px;
	background-color: var(--almost-white);
}

.c7-product-detail__photo__thumbs img {
	height: 100%!important;
}

.c7-product__intro h1 {
	font-size: 3.6rem;
	line-height: 1.1;
}

.c7-product__intro .c7-product__info {
	margin-bottom: 10px;
}
.c7-product__info .c7-product__subtitle {
	margin-bottom: 0;
}
.c7-product__info .c7-product__appellation {
	font-weight: 600;
	color: var(--cabernet);
	font-size: 1.4rem;
}

.c7-product__intro .c7-product__add-to-cart__price {
	font-size: 2.4rem;
	line-height: 1;
	font-family: var(--c7-heading-font-family);
	font-variant-numeric: lining-nums;
	font-weight: 600;
	color: var(--cabernet);
}
.c7-product__intro .c7-product__add-to-cart__price__variant {
	display: block;
	font-size: var(--c7-font-size-sub);
	color: var(--espresso);
	text-transform: uppercase;
	font-family: "Open Sans", sans-serif;
}
.c7-product__intro .c7-product__add-to-cart__price__variant::before {
	display: none;
}

.c7-product__intro .c7-product__add-to-cart__price__variant {
	font-size: 1.4rem;
}

.c7-product-detail .c7-product__add-to-cart {
	margin-bottom: 20px;
}

.c7-product__intro div[class*='shipping-info'] {
	display: flex;
	align-items: center;
}

div[class*='shipping-info'] i {
	margin-right: 1rem;
	font-size: 2rem;
	color: var(--antique-gold);
}

.c7-product__support > * {
	padding: 2rem 0;
	border-bottom: 1px solid var(--c7-border-color);
}

.c7-product__support i {
	font-size: 3.6rem;
	color: var(--antique-gold);
}

.c7-product__support h2 {
margin-top: 0.5rem;
}

.c7-product__specs {
	max-width: none;
}

.c7-product__specs dl {
	display: grid;
	grid-template-columns: auto 1fr;
	row-gap: 1rem;
}

.notes {
	column-gap: 1rem;
}

.specs {
  column-gap: 4rem;
}

.c7-product__specs dt {
	text-transform: uppercase;
	letter-spacing: 1px;
}

.c7-taste-circle {
	margin-right: 1rem;
}

.c7-product__recipe img {
	aspect-ratio: 2 / 1;
	object-fit: cover;
	max-width: 300px;
	border-radius: 8px;
}

.c7-product__recipe .c7-btn {
	margin-top: 1.5rem;
	border: 1px solid;
	font-size: 1.2rem;
	text-transform: uppercase;
	font-weight: 600;
	line-height: 1.9;
}

/** Wine detail: Reviews **/
.product--reviews {
	background-color: #F8F4F0;
	border-top: 1px solid var(--c7-block-border-color);
	border-bottom: 1px solid var(--c7-block-border-color);
}
.product--reviews__content {
	max-width: 1200px;
	margin: 0 auto;
}

.product--reviews__content h2 {
	text-align: center;
}

.wine-review {
	max-width: 800px;
	margin: 0 auto;
	padding: 24px;
}

.wine-review + .wine-review {
	border-top: 1px solid var(--c7-block-border-color);
}

.wine-review-header {
	position: relative;
}

.wine-review-cite {
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	font-style: normal;
	font-size: 14px;
	line-height: 1;
	width: 100%;
}

.wine-review-name {
	margin-bottom: 10px;
	font-size: 1.4rem;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #5a1f2e;
}

.wine-rating em:not(:last-of-type) {
	margin-right: 4px;
}

.wine-rating em {
	color: #d8c7b0;
	display: inline-block;
	position: relative;
	font-style: normal;
	cursor: default;
}

.wine-rating em:before {
	content: "\f005";
	display: inline;
	font-size: inherit;
	font-family: inherit;
	position: absolute;
	overflow: hidden;
	color: #5a1f2e;
}

.wine-rating em:not(.wine-star-empty):before {
	content: "\002605";
}

.wine-review-title {
	position: absolute;
	right: 0;
	color: #886935;
}

.wine-review-content {
	padding: 6px 15px 15px 0;
}

.wine-review-text {
	border-left: 4px solid var(--antique-gold);
	padding-left: 2rem;
	font-family: "Cormorant Garamond", serif;
	font-weight: 600;
	font-size: 2rem;
	text-align: left;
	font-style: italic;
}

/** Wine detail: Related products **/
.products--related {
	padding: 40px 20px;
	background-color: #f7f1e8;
}

.products--related h2 {
	text-align: center;
	margin-bottom: 2rem;
}

/**************************
 * Commerce7 Cart/Login
 *************************/
.fl-builder-edit .c7wp-wrap[data-c7-type="login"],
.fl-builder-edit .c7wp-wrap[data-c7-type="cart"] {
	max-width: 95px !important;
	min-width: 0 !important;
	font-size: 10px !important; /* this is for the widget in BB edit mode */
	line-height: 1 !important;
}
body:not(.fl-builder-edit) .c7wp-wrap[data-c7-type="login"],
body:not(.fl-builder-edit) .c7wp-wrap[data-c7-type="cart"] {
	min-width: 55px;
	font-size: inherit;
	line-height: inherit;
}
.c7-user-nav__cart > .c7-link:hover,
.c7-user-nav__cart > .c7-link:focus,
.c7-user-nav__cart > .c7-link:active {
	background-color: transparent;
	border: none;
}

.c7-user-nav__account > a, .c7-user-nav__cart > button {
	color: var(--cabernet);
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.c7-user-nav__account > a {
	font-size: 1.2rem;
	white-space: nowrap;
}
.c7-user-nav__account__dropdown {
	background-color: var(--almost-white);
	border-top: 4px solid var(--antique-gold);
}
.c7-user-nav__account__dropdown__logout svg {
	margin-top: 5px;
}

.c7-side-cart__header button:focus:not(:focus-visible) {
	background: transparent;
}

.c7-side-cart__header button svg { stroke: var(--antique-gold); }

@media screen and (min-width: 550px) {
	.collection-page .c7-product-collection__product-list,
	.collection-page .c7-product-allocation__product-list,
	.collection--full .c7-product-collection__product-list {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.c7-product__info {
		display: flex;
		gap: 10px !important;
	}
	
	.c7-product__subtitle:has(+ .c7-product__appellation)::after {
		content: "\2022";
		margin-left: 10px;
		color: var(--espresso);
	}
}
@media screen and (min-width: 769px) {
	h1.c7-h1, .c7-account__header p:first-of-type {
		font-size: 4.8rem;
		line-height: 1.2;
		text-align: center;
	}
	.collection-page .c7-product-collection__product-list,
	.collection-page .c7-product-allocation__product-list,
	.collection--full .c7-product-collection__product-list {
		grid-template-columns: repeat(3, 1fr);
	}
	.c7-product-collection .c7-product,
	.c7-product-allocation .c7-product {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.c7-product-collection .c7-product__image,
	.c7-product-allocation .c7-product__image {
		margin-right: 0;
	}
	.c7-product-collection .c7-product__image img,
	.c7-product-allocation .c7-product__image img {
		height: 300px;
		object-fit: cover;
	}
	.c7-product__details {
		display: flex;
		flex-direction: column;
		width: 100%;
		margin-top: 20px;
	}
	
	.c7-product-collection .c7-product__add-to-cart,
	.c7-product-allocation .c7-product__add-to-cart {
		margin-top: auto;
	}
	
/* 	.c7-product-collection .c7-product__add-to-cart__form,
	.c7-product-allocation .c7-product__add-to-cart__form {
		position: absolute;
		top: 40%;
		left: 50%;
		transform: translateX(-50%);
		width: 80%;
		opacity: 0;
		transition: all .5s ease-in-out;
	} */
	.c7-product-collection .c7-btn,
	.c7-product-allocation .c7-btn {
		width: 100%;
		text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 1px;
	font-size: 1.4rem;
	}
/* 	.c7-product-collection .c7-product:hover .c7-product__add-to-cart__form,
	.c7-product-allocation .c7-product:hover .c7-product__add-to-cart__form,
	.c7-product-collection .c7-product:has(:focus) .c7-product__add-to-cart__form,
	.c7-product-allocation .c7-product:has(:focus) .c7-product__add-to-cart__form {
		opacity: .8;
	}
	.c7-product-collection .c7-product:hover .c7-product__add-to-cart__form:hover,
	.c7-product-allocation .c7-product:hover .c7-product__add-to-cart__form:hover,
	.c7-product-collection .c7-product__add-to-cart__form:has(.c7-btn--primary:focus),
	.c7-product-allocation .c7-product__add-to-cart__form:has(.c7-btn--primary:focus) {
		opacity: 1;
	} */
/* 	.c7-product-collection .c7-product:hover .c7-btn:hover,
	.c7-product-allocation .c7-product:hover .c7-btn:hover {
		background-color: var(--cabernet) !important;
	} */
	
	.c7-product-detail .c7-product {
		display: flex;
		flex-direction: column;
	}
	
	.c7-product__intro {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: clamp(20px, 3%, 40px);
	}
	
	.c7-product__intro .c7-product__image {
		position: relative;
		margin-right: 0;
	}
	
	.c7-product__intro img {
		height: 600px;
		max-height: unset;
	}
	
	.c7-product__intro .c7-product__add-to-cart__price {
		font-size: 3.6rem;
	}
	
	.c7-product__intro .c7-product__add-to-cart__price__variant {
		font-size: 1.6rem;
	}
	
	.c7-user-nav__account > a {
		font-size: 1.6rem;
	}
	
	.product--reviews {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}

@media screen and (min-width:991px) {
	.collection-page .c7-product-collection__product-list,
	.collection-page .c7-product-allocation__product-list,
	.collection--full .c7-product-collection__product-list {
		grid-template-columns: repeat(4, 1fr);
		gap: 40px;
	}
	
	.c7-product__intro h1 {
		font-size: 5rem;
	}
	
	.c7-product-detail__photo__thumbs {
		position: absolute;
		top: 0;
		left: 1rem;
		flex-direction: column;
	}
	
	.c7-product__support {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
		text-align: left;
	}
	
	.c7-product__support:has(.c7-product__recipe) {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.c7-product__support > * {
		border-bottom: none;
	}
	
	.c7-product__support > div + div {
		padding-left: 2rem;
		border-left: 1px solid var(--c7-border-color);
	}

}

/** Error page **/
.c7-error-page {
	text-align: center;
	padding-left: 20px;
	padding-right: 20px;
}

.c7-error-page p {
	max-width: 700px;
	margin: 0 auto 3rem;
}

.c7-error-page__recommendations {
	display: none;
}

/** profile **/
.c7-notice--empty {
	text-align: center;
}

/**************************
 * Scrollbars for scrolling collection only
 *************************/

.c7-product-collection__product-list,
.c7-related-products__product-list {
	scrollbar-color: #B08A45 #E9E1D5;
}

.c7-product-collection__product-list::-webkit-scrollbar,
.c7-related-products__product-list::-webkit-scrollbar {
	width: 12px;
	height: 12px;
}

.c7-product-collection__product-list::-webkit-scrollbar-track,
.c7-related-products__product-list::-webkit-scrollbar-track {
	background: #E9E1D5;
	border-radius: 6px;
}

.c7-product-collection__product-list::-webkit-scrollbar-thumb,
..c7-product-collection__product-list::-webkit-scrollbar-thumb {
	background: #B08A45;
	border-radius: 12px;
}

.c7-product-collection__product-list::-webkit-scroolbar-thumb:hover {
	background: #886935;
}