.elementor-kit-4{--e-global-color-primary:#3A553A;--e-global-color-secondary:#E9CEB0;--e-global-color-text:#000000;--e-global-color-accent:#3A553A;--e-global-color-a24cc8d:#DBC39C;--e-global-color-476b954:#36394C;--e-global-color-6659856:#FFFFFF;--e-global-color-3aa6751:#DA3A34;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"Nunito Sans";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Nunito Sans";--e-global-typography-text-font-weight:500;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:400;background-color:var( --e-global-color-6659856 );overscroll-behavior:none;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 h2{color:#000000;}.elementor-kit-4 h3{color:#000000;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--container-default-padding-top:50px;--container-default-padding-right:20px;--container-default-padding-bottom:50px;--container-default-padding-left:20px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:30px;--container-default-padding-right:15px;--container-default-padding-bottom:30px;--container-default-padding-left:15px;}}
/* Start custom CSS *//* =============================================================
   VANGARDEN CUSTOM CSS (all site CSS lives here, nowhere else)
   Scripts live in Elementor > Custom Code.
   1. WooCommerce catalog: hide cart buttons, equal-height cards
   2. NEW product badge
   3. Contact form links and consent text
   4. Single posts: no image shadow
   5. Brands mega menu: brand logos as tab buttons
   6. Menu product card: square image area
   7. Store spotlight posts: sidebar card stays in view
   8. Volunteer Work archive: partner logo strip
   9. Shop filters on phones: dropdowns above the products
  10. Shop cards: no bag icon, hover image on hover
   ============================================================= */

/* 1. WooCommerce catalog: we do not sell online, so cart buttons are hidden */
body.single-product .single_variation,
body.single-product .woocommerce-variation-add-to-cart,
body.single-product form.cart:not(.variations_form),
body.single-product .wc-no-matching-variations,
body.single-product .woocommerce-notices-wrapper,
.add_to_cart_button,
.single_add_to_cart_button,
.added_to_cart {
    display: none !important;
}

/* 1. (cont.) WooCommerce shop: line up product buttons (equal-height cards) */
.woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap .button {
    margin-top: auto;
    align-self: flex-start;
}


/* 2. NEW product badge, no code: a product tagged "new" carries the class product_tag-new on shop cards,
   Elementor product cards and the single product page, so the pill is drawn here. Replaces snippet #8. */
ul.products li.product.product_tag-new .astra-shop-thumbnail-wrap,
.e-loop-item.product_tag-new,
[data-elementor-type="product"].product_tag-new .elementor-widget-woocommerce-product-images { position:relative; }
ul.products li.product.product_tag-new .astra-shop-thumbnail-wrap::before,
.e-loop-item.product_tag-new::before,
[data-elementor-type="product"].product_tag-new .elementor-widget-woocommerce-product-images::before {
	content:"New";
	position:absolute; top:1em; left:1em; z-index:9;
	background:var(--e-global-color-primary,#3A553A);
	color:#FFFFFF;
	font-family:var(--e-global-typography-primary-font-family,"Montserrat"),sans-serif;
	font-weight:var(--e-global-typography-primary-font-weight,600);
	font-size:12px; line-height:1;
	letter-spacing:.03em; text-transform:uppercase;
	padding:.5em .9em; border-radius:999px; pointer-events:none;
}

/* 2. (cont.) LIMITED and MIXED pills, no code: top-right corner (NEW stays top-left).
   Tag a product "Limited" for a red pill. Tag it "Mixed" for a Mix pill coloured by its strain tag:
   Hybrid green #286140, Sativa gold #D7A048, Indica indigo #464E7E (brand guide). */
ul.products li.product.product_tag-limited .astra-shop-thumbnail-wrap,
.e-loop-item.product_tag-limited,
[data-elementor-type="product"].product_tag-limited .elementor-widget-woocommerce-product-images,
ul.products li.product.product_tag-mixed .astra-shop-thumbnail-wrap,
.e-loop-item.product_tag-mixed,
[data-elementor-type="product"].product_tag-mixed .elementor-widget-woocommerce-product-images { position:relative; }
ul.products li.product.product_tag-limited .astra-shop-thumbnail-wrap::after,
.e-loop-item.product_tag-limited::after,
[data-elementor-type="product"].product_tag-limited .elementor-widget-woocommerce-product-images::after,
ul.products li.product.product_tag-mixed .astra-shop-thumbnail-wrap::after,
.e-loop-item.product_tag-mixed::after,
[data-elementor-type="product"].product_tag-mixed .elementor-widget-woocommerce-product-images::after {
	position:absolute; top:1em; right:1em; z-index:9;
	color:#FFFFFF;
	font-family:var(--e-global-typography-primary-font-family,"Montserrat"),sans-serif;
	font-weight:var(--e-global-typography-primary-font-weight,600);
	font-size:12px; line-height:1;
	letter-spacing:.03em; text-transform:uppercase;
	padding:.5em .9em; border-radius:999px; pointer-events:none;
}
ul.products li.product.product_tag-limited .astra-shop-thumbnail-wrap::after,
.e-loop-item.product_tag-limited::after,
[data-elementor-type="product"].product_tag-limited .elementor-widget-woocommerce-product-images::after { content:"Limited"; background:var(--e-global-color-3aa6751,#DA3A34); }
ul.products li.product.product_tag-mixed .astra-shop-thumbnail-wrap::after,
.e-loop-item.product_tag-mixed::after,
[data-elementor-type="product"].product_tag-mixed .elementor-widget-woocommerce-product-images::after { content:"Mix"; background:#286140; }
ul.products li.product.product_tag-mixed.product_tag-sativa .astra-shop-thumbnail-wrap::after,
.e-loop-item.product_tag-mixed.product_tag-sativa::after,
[data-elementor-type="product"].product_tag-mixed.product_tag-sativa .elementor-widget-woocommerce-product-images::after { background:#D7A048; }
ul.products li.product.product_tag-mixed.product_tag-indica .astra-shop-thumbnail-wrap::after,
.e-loop-item.product_tag-mixed.product_tag-indica::after,
[data-elementor-type="product"].product_tag-mixed.product_tag-indica .elementor-widget-woocommerce-product-images::after { background:#464E7E; }

/* 3. Contact form links and consent text */
#ContactForm a,
#ContactForm a:visited {
  color: #2f4a2f;
  text-decoration: underline;
}

#ContactForm a:hover,
#ContactForm a:focus {
  color: #1f331f;
}

#ContactForm .elementor-field-group-communicationaccept label {
  font-size: 12px;
}

/* 4. Single posts: no drop shadow on images (overrides Astra's single-post image shadow) */
body .ast-article-single img:not(figure img),
body .ast-article-single figure {
  box-shadow: none;
}


/* 5. Brands mega menu (header "Vangarden Header - Brands Mega Menu", tabs widget class vg-brand-tabs)
   Shows the Farmers Cut and Holiday logos as the 2nd and 3rd tab buttons; the names stay for screen readers.
   No fill, green lines, spacing and width are set in the tabs widget's own Style settings. */
.vg-brand-tabs .e-n-tab-title[data-tab-index="2"],
.vg-brand-tabs .e-n-tab-title[data-tab-index="3"] {
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  background-origin: content-box !important;
  min-height: 44px;
}
.vg-brand-tabs .e-n-tab-title[data-tab-index="2"] { background-image: url(https://vangardencannabis.com/wp-content/uploads/2026/10/Farmers_Cute_Logo_Green.png) !important; }
.vg-brand-tabs .e-n-tab-title[data-tab-index="3"] { background-image: url(https://vangardencannabis.com/wp-content/uploads/2026/10/Holiday-Logo.png) !important; }
.vg-brand-tabs .e-n-tab-title[data-tab-index="2"] .e-n-tab-title-text,
.vg-brand-tabs .e-n-tab-title[data-tab-index="3"] .e-n-tab-title-text {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0);
}

/* 6. Menu product card (loop item "Menu Product Card", container class vg-card-image)
   Keeps the image area square. Rounded corners, clipping and the hover image are native settings. */
.vg-card-image { aspect-ratio: 1 / 1; }

/* 7. Store spotlight posts (single template "Where to Buy post", loop grid class vg-store-sidebar)
   Keeps the store card in view while scrolling, 20px under the pinned header (75px tall);
   the admin bar height is added when you are logged in. Elementor's own Sticky setting
   does not work inside this grid layout, so this one rule does it. Phones (under 768px) scroll normally. */
@media (min-width: 768px) {
  .vg-store-sidebar { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 95px); align-self: start; }
}

/* 7. (cont.) Store spotlight posts: "Other locations" links under the store card and the
   "Other stores nearby" row under the FAQ. Both come from Code Snippet 15 (shortcodes
   vg_other_locations and vg_nearby_stores). The row is a plain horizontal scroll that
   snaps card by card, so it works on phones without a slider script. */
.vg-other-locations { margin-top: 16px; padding-top: 12px; border-top: 1px solid color-mix(in srgb, var(--e-global-color-primary) 25%, transparent); }
.vg-other-locations__label { display: block; margin-bottom: 8px; font-family: var(--e-global-typography-secondary-font-family); font-weight: var(--e-global-typography-secondary-font-weight); color: var(--e-global-color-primary); text-transform: uppercase; letter-spacing: .04em; font-size: .85em; }
.vg-other-locations__links { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-other-locations__link { padding: 4px 12px; border: 1px solid var(--e-global-color-primary); border-radius: 999px; color: var(--e-global-color-primary); font-family: var(--e-global-typography-text-font-family); font-size: .9em; text-decoration: none; }
.vg-other-locations__link:hover, .vg-other-locations__link:focus-visible { background: var(--e-global-color-primary); color: var(--e-global-color-6659856); }
.vg-nearby-wrap { margin-top: 48px; }
.vg-nearby-wrap__title { margin: 0; font-family: var(--e-global-typography-secondary-font-family); font-weight: var(--e-global-typography-secondary-font-weight); color: var(--e-global-color-primary); text-transform: uppercase; }
.vg-nearby { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 4); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.vg-nearby::-webkit-scrollbar { display: none; }
@media (max-width: 1024px) { .vg-nearby { grid-auto-columns: calc((100% - 32px) / 3); } }
@media (max-width: 767px) { .vg-nearby { grid-auto-columns: calc((100% - 16px) / 2); } }
.vg-nearby-wrap__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.vg-nearby__navs { display: flex; gap: 8px; flex-shrink: 0; }
.vg-nearby__nav { width: 40px; height: 40px; padding: 0; border: 1px solid var(--e-global-color-primary); border-radius: 50%; background: transparent; color: var(--e-global-color-primary); font-size: 24px; line-height: 1; cursor: pointer; }
.vg-nearby__nav:hover:not(:disabled), .vg-nearby__nav:focus-visible { background: var(--e-global-color-primary); color: var(--e-global-color-6659856); }
.vg-nearby__nav:disabled { opacity: .35; cursor: default; }
.content-area .elementor-widget-theme-post-content .vg-spot-img + h2 { margin-top: 0; }
.vg-type-filter .list-style { display: block; }
.vg-type-filter .taxonomy-filter { margin-left: 0; padding-left: 0; }
.vg-type-filter .list-style input[type="checkbox"]:checked + span { background-color: var(--e-global-color-text); }
@media (max-width: 767px) { .vg-type-filter .list-style { display: inline-block; margin-right: 20px; } }
.vg-nearby__card { display: flex; flex-direction: column; gap: 4px; scroll-snap-align: start; text-decoration: none; color: var(--e-global-color-text); }
.vg-nearby__img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; background: color-mix(in srgb, var(--e-global-color-secondary) 50%, transparent); }
.vg-nearby__name { margin-top: 4px; font-family: var(--e-global-typography-secondary-font-family); font-weight: var(--e-global-typography-secondary-font-weight); color: var(--e-global-color-primary); }
.vg-nearby__meta { font-family: var(--e-global-typography-text-font-family); font-size: .9em; color: color-mix(in srgb, var(--e-global-color-text) 70%, transparent); }
.vg-nearby__card:hover .vg-nearby__name, .vg-nearby__card:focus-visible .vg-nearby__name { text-decoration: underline; }

/* 7. (cont.) Partner promo sign-up band (container id partnerpromo), its popups (class vg-promo-popup)
   and the footer newsletter strip (class vg-signup-strip), all HubSpot forms.
   The HubSpot form keeps 40px of its own padding, so its widget is pulled out 40px each side
   (Elementor margin) to line the fields up with the heading. Elementor caps widgets at 100% width,
   which left a gap on the right; this lifts the cap and clips the overflow at the band edge. */
#partnerpromo,
.vg-promo-popup,
.vg-signup-strip { overflow: hidden; }
#partnerpromo .elementor-widget-html,
.elementor.elementor .vg-promo-popup.e-con > .elementor-widget-html,
.elementor.elementor .vg-signup-strip.e-con > .e-con-inner > .elementor-widget-html,
.elementor.elementor .vg-signup-strip.e-con > .elementor-widget-html { max-width: none; }
/* Same heading spacing everywhere: single posts add theme H2 spacing, the home page does not. */
#partnerpromo .elementor-heading-title,
.vg-signup-strip .elementor-heading-title { margin-bottom: 0; }
/* HubSpot forms placed with the frameless "developer" embed (hs-form-html): drop HubSpot's 40px form
   padding so the fields line up with the heading and the section padding sets the edges, and keep
   20px between the consent text and the Sign Up button. hsfc- class names are HubSpot's own. */
#partnerpromo [data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content,
.vg-signup-strip [data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content,
.vg-promo-popup [data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content { padding: 0; }
#partnerpromo [data-hsfc-id=Renderer] .hsfc-NavigationRow,
.vg-signup-strip [data-hsfc-id=Renderer] .hsfc-NavigationRow,
.vg-promo-popup [data-hsfc-id=Renderer] .hsfc-NavigationRow { margin-top: 20px; }
/* Sign Up button text matches the site buttons (Our Products, Find a Dispensary): Montserrat 600, 15px, uppercase. */
#partnerpromo [data-hsfc-id=Renderer] .hsfc-Button,
.vg-signup-strip [data-hsfc-id=Renderer] .hsfc-Button,
.vg-promo-popup [data-hsfc-id=Renderer] .hsfc-Button { font-family: "Montserrat", sans-serif; font-weight: 600; font-size: 15px; text-transform: uppercase; }


/* Shop category titles (Buds, Pre Rolls, etc.): same look as the home page headline.
   These titles come from the theme, not an Elementor widget, so this rule styles them. */
.woocommerce-products-header__title.page-title { font-family: "Montserrat", sans-serif; font-weight: 600; font-size: 45px; line-height: 1.3; text-transform: uppercase; }
@media (max-width: 767px) { .woocommerce-products-header__title.page-title { font-size: 25px; } }


/* 8. Volunteer Work archive: partner logo strip (class vg-logo-strip on the Image Carousel). Each logo fits a 120 x 60 box, centred, like the Holiday home page strip. */
.vg-logo-strip .swiper-slide { display: flex; align-items: center; justify-content: center; height: 90px; }
.vg-logo-strip .swiper-slide-inner { margin: 0; }
.vg-logo-strip .swiper-slide-image { width: auto; max-width: 120px; max-height: 60px; object-fit: contain; }

/* Breadcrumb bars: remove the theme gap under the Rank Math breadcrumb line, so every bar is 42px like the top bar. */
.rank-math-breadcrumb p { margin: 0; }

/* 9. Shop filters on phones: filters sit above the products as dropdowns.
   Appearance > Widgets > WooCommerce Sidebar holds two sets: the list filters (desktop)
   and dropdown copies (phone): Strain Type 14, Size 15, Device 16, Capacity 17, Brand 11. */
#woocommerce_layered_nav-14, #woocommerce_layered_nav-15, #woocommerce_layered_nav-16,
#woocommerce_layered_nav-17, #woocommerce_brand_nav-11 { display: none; }
@media (max-width: 921px) {
  .woocommerce.ast-left-sidebar #content > .ast-container { flex-direction: column; }
  #woocommerce_product_categories-11, #woocommerce_layered_nav-11, #woocommerce_layered_nav-10,
  #woocommerce_layered_nav-12, #woocommerce_layered_nav-13, #woocommerce_brand_nav-10 { display: none; }
  #woocommerce_layered_nav-14, #woocommerce_layered_nav-15, #woocommerce_layered_nav-16,
  #woocommerce_layered_nav-17, #woocommerce_brand_nav-11 { display: block; }
  .woocommerce.ast-left-sidebar #secondary { width: 100%; margin-bottom: 20px; }
  .woocommerce #secondary .ast-filter-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .woocommerce #secondary .widget { margin: 0; }
  .woocommerce #secondary .widget-title { font-size: 14px; margin-bottom: 6px; }
}

/* 10. Shop cards: no bag icon on the image; the product's hover image fades in on hover.
   Code Snippets > "Vangarden - Shop card hover image" (12) adds .vg-hover-image to each card. */
.woocommerce ul.products li.product .ast-on-card-button { display: none; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { position: relative; }
.woocommerce ul.products li.product .vg-hover-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; transition: opacity .3s ease; pointer-events: none; }
@media (hover: hover) { .woocommerce ul.products li.product:hover .vg-hover-image { opacity: 1; } }

/* 11. Events calendar (The Events Calendar plugin, /cannabis-events/ and single events).
   Colours are set natively: Appearance > Customize > The Events Calendar (accent and links #3A553A, titles black).
   This adds what the Customizer cannot: brand fonts and the site's pill buttons. Variable names are the plugin's own. */
/* Calendar width lines up with the header and footer: 1600px content, 20px sides (15px on phones). Variable names are the plugin's own. */
:root { --tec-font-family-sans-serif: "Nunito Sans", sans-serif; --tec-grid-width: 1640px; --tec-grid-gutter-page: 20px; --tec-grid-gutter-page-small: 15px; }
/* Calendar intro (template "Events Calendar - Intro", 3543) is placed in Events > Settings > Display > Additional Content > "Add HTML before event content". That field also prints on single event pages, so it is hidden there. */
.single-tribe_events .vg-events-intro { display: none; }
/* Single calendar events use the Elementor template "Calendar Event" (4895), 1600px like the Event Posts. The plugin's own wrapper caps the page at 1048px and no setting changes it, so the cap is lifted here. */
.single-tribe_events #tribe-events-pg-template { max-width: none; padding: 0; }
/* The plugin resets padding inside the calendar, so the intro's space above the search bar is set here: 30px, 20px on phones. */
.tribe-common .vg-events-intro { padding-bottom: 30px; }
@media (max-width: 767px) { .tribe-common .vg-events-intro { padding-bottom: 20px; } }
.tribe-common .tribe-common-h1,
.tribe-common .tribe-common-h2,
.tribe-common .tribe-common-h3,
.tribe-common .tribe-common-h4,
.tribe-events-single .tribe-events-single-event-title { font-family: "Montserrat", sans-serif; font-weight: 600; }
.tribe-common button.tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-common button.tribe-common-c-btn-border,
.tribe-common a.tribe-common-c-btn-border,
.tribe-common button.tribe-common-c-btn-border-small,
.tribe-common a.tribe-common-c-btn-border-small,
.tribe-common .tribe-events-c-subscribe-dropdown__button { border-radius: 30px; font-family: "Montserrat", sans-serif; font-weight: 600; text-transform: uppercase; }

/* 12. Post Card (loop item 2888) on pages such as News & Updates: the whole card is one link, and Astra underlines
   links inside page content (.ast-single-post .entry-content a), which underlined the title and excerpt. */
.entry-content .e-loop-item a.e-con { text-decoration: none; }

/* 13. News & Updates page (3573) sidebar heading uses the theme's sidebar heading font like the shop's "Categories"
   (the site H2 style sets Montserrat, which Elementor's typography control cannot switch back to the theme font). */
.elementor .vg-news-filter .elementor-heading-title { font-family: inherit; }

/* Product Launch posts: release calendar ([vg_launch_calendar], Code Snippet 10), full sidebar width. */
.vg-cal { width: 100%; font-family: var(--e-global-typography-text-font-family); }
.vg-cal__month { margin-bottom: 12px; font-family: var(--e-global-typography-secondary-font-family); font-weight: 700; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: var(--e-global-color-primary); }
.vg-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; text-align: center; font-size: 15px; }
.vg-cal__dow { padding-bottom: 4px; font-size: 13px; font-weight: 700; color: var(--e-global-color-primary); }
.vg-cal__day { display: flex; align-items: center; justify-content: center; height: 2.4em; color: var(--e-global-color-text); }
.vg-cal__day.is-release { width: 2.4em; justify-self: center; border-radius: 50%; background: var(--e-global-color-primary); color: var(--e-global-color-6659856); font-weight: 700; }

/* Product Launch sidebar specs: green labels, lines grouped (sidebar gap is 24px). */
.vg-spec__label { color: var(--e-global-color-primary); font-weight: 700; }
.vg-spec + .vg-spec { margin-top: -16px; }
/* Post Card images fill the box; store logos stay whole */ .e-loop-item:not(.category-vangarden-partnered-stores) .elementor-element.elementor-element-8407660 img { object-fit: cover; }
/* Sidebar slider images all the same size */ .elementor-element.elementor-element-61c4b5f .swiper-slide-image { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
/* Forward links: arrow after the text */ .vg-link-forward .elementor-icon-list-item > a { flex-direction: row-reverse; justify-content: flex-end; gap: 8px; } .vg-link-forward .elementor-icon-list-text { padding-inline-start: 0 !important; }

/* Photo carousels with class vg-square-slides: every photo a covered square, same size all the way through */
.vg-square-slides .swiper-slide-image { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }

/* Loop carousels with fewer posts than slides on display: Elementor does not start the slider, so the
   lone card stretched across the row. Keep each card at its normal one-slot width (uses the carousel's own
   slides-to-display and gap at each breakpoint). Owner, 2026-11-04. */
.elementor-widget-loop-carousel .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
	flex: 0 0 auto;
	width: calc((100% - (var(--swiper-slides-to-display, 3) - 1) * var(--swiper-slides-gap, 10px)) / var(--swiper-slides-to-display, 3));
	margin-inline-end: var(--swiper-slides-gap, 10px);
}


/* Store card: hide a social icon when the store has no link for it */
.elementor-element-6546635 .elementor-grid-item:has(> a.elementor-social-icon:not([href])) {
	display: none;
}


/* Calendar list: logo sits small above each event's text */
.tribe-events-calendar-list__event {
	flex-direction: column !important;
}
.tribe-events-calendar-list__event-featured-image-wrapper {
	flex: none !important;
	width: auto !important;
	max-width: none !important;
	margin-bottom: 12px;
}
.tribe-events-calendar-list__event-featured-image-wrapper .tribe-events-calendar-list__event-featured-image {
	width: 160px !important;
	height: 90px !important;
	object-fit: contain;
	object-position: left center;
}
.tribe-events-calendar-list__event-details {
	width: 100% !important;
	max-width: none !important;
}


/* 2. (cont.) RETIRED post pill, no code: tag a post "Retired" (strains we no longer grow).
   Top-left on post loop cards and on the Strain Spotlight hero image (6a69618). Same pill style as NEW / LIMITED. */
.e-loop-item.tag-retired,
.elementor-location-single.tag-retired .elementor-element-6a69618 { position:relative; }
.e-loop-item.tag-retired::after,
.elementor-location-single.tag-retired .elementor-element-6a69618::after {
	content:"Retired"; position:absolute; top:1em; left:1em; z-index:9;
	color:#FFFFFF; background:#1F1F1F;
	font-family:var(--e-global-typography-primary-font-family,"Montserrat"),sans-serif;
	font-weight:var(--e-global-typography-primary-font-weight,600);
	font-size:12px; line-height:1;
	letter-spacing:.03em; text-transform:uppercase;
	padding:.5em .9em; border-radius:999px; pointer-events:none;
}

/* =============================================================
   MOVED FROM TEMPLATE CSS BOXES, 2026-11-11 (owner: all CSS in Site Settings)
   Each block is scoped to the pages it ran on before the move.
   ============================================================= */

/* --- From Strain Spotlight single template 2812 (spotlight posts only) --- */
/* Spotlight: hide a stat row when its field is empty, so no extra lines show */
.elementor-page-2812 :is(.elementor-element-0b8a34f, .elementor-element-be617bb, .elementor-element-0f182cc, .elementor-element-6bd9958, .elementor-element-235c0c9, .elementor-element-cdb4593, .elementor-element-3b9d25a, .elementor-element-ba5d98a, .elementor-element-d1680c0):not(:has(.elementor-widget-heading)){ display: none; }

/* Spotlight gallery carousel: square crop like the old grid */
.elementor-page-2812 .elementor-element-a1c0e01 .swiper-slide-image{ width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 14px; }

/* Effects dots: rounded square pills like High Times */
.elementor-page-2812 .elementor-widget-rating .e-icon i, .elementor-page-2812 .elementor-widget-rating .e-icon svg{ border-radius: 3px; }

/* Terpene bars: value is the terpene % (e.g. 0.55); stretch so 1% fills the bar */
.elementor-page-2812 .elementor-widget-progress .elementor-progress-wrapper{ overflow: hidden; border-radius: 8px; }
.elementor-page-2812 .elementor-widget-progress .elementor-progress-bar{ transform: scaleX(100); transform-origin: left center; border-radius: 0; }

/* Flavor tiles: Post Info widget (Terms > Strain Flavors) shown as linked tiles.
   Icons: one line per flavor below. New flavor = add the term with its Flavor Icon AND one line here. */
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-icon-list-items{ display: block !important; margin: 0; }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-icon-list-item{ display: block !important; width: 100%; margin: 0 !important; padding: 0 !important; }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-icon-list-item::after{ display: none !important; }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-post-info__item{ display: block !important; width: 100%; }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-post-info__terms-list{ display: flex !important; flex-wrap: wrap; gap: 0; margin: 0 -6px; font-size: 0 !important; line-height: 0; }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-post-info__terms-list-item{ flex: 1 1 0; min-width: 0; margin: 6px; display: flex !important; flex-direction: column !important; align-items: center; justify-content: center; gap: 8px; padding: 18px 12px; background: #EEF3EE; border: 1px solid transparent; border-radius: 12px; font: 700 18px/1.2 Montserrat, sans-serif; text-transform: uppercase; color: #3A553A; text-decoration: none; text-align: center; transition: border-color .2s; }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-post-info__terms-list-item:hover{ border-color: #3A553A; color: #3A553A; }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-post-info__terms-list-item::before{ content: ""; width: 34px; height: 34px; background: no-repeat center / contain; }
@media (max-width: 767px) { .elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-post-info__terms-list{ margin: 0 -4px; } .elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-post-info__terms-list-item{ margin: 4px; } .elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-post-info__terms-list-item{ padding: 14px 6px; font-size: 13px; } .elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms .elementor-post-info__terms-list-item::before{ width: 28px; height: 28px; } }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/berry/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-berry.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/candy/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-candy.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/cream/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-cream.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/earthy/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-earthy.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/floral/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-floral.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/garlic-savory/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-garlic-savory.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/gas-diesel/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-gas-diesel.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/grapefruit/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-grapefruit.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/herbal/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-herbal.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/lemon/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-lemon.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/mint/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-mint.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/peach/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-peach.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/pepper/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-pepper.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/pineapple/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-pineapple.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/skunk/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-skunk.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/spicy/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-spicy.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/sweet/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-sweet.png); }
.elementor-page-2812 .elementor-widget-post-info.vg-flavor-terms a[href*="/strain-flavor/tropical/"]::before{ background-image: url(/wp-content/uploads/2026/11/vangarden-flavor-tropical.png); }

/* --- From Strain Spotlight archive template 4857 (spotlight archive only) --- */
/* Flavor multi-select dropdown (plugin Select2 style), styled like the Strain dropdown */
.elementor-page-4857 .vg-flavor-filter .select2-container{width:100% !important;}
.elementor-page-4857 .vg-flavor-filter .select2-selection--multiple{min-height:40px !important;border:1px solid rgba(0,0,0,.1) !important;border-radius:0 !important;padding:5px 34px 5px 10px !important;background:#fff url("data:image/svg+xml,%3Csvg class='ast-arrow-svg' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' x='0px' y='0px' width='26px' height='16.043px' fill='%2336394C' viewBox='57 35.171 26 16.043' enable-background='new 57 35.171 26 16.043' xml:space='preserve' %3E%3Cpath d='M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z'%3E%3C/path%3E%3C/svg%3E") no-repeat calc(100% - 20px) 50% / 12.8px auto !important;cursor:pointer;display:flex !important;align-items:center;}
.elementor-page-4857 .vg-flavor-filter .select2-selection__e-plus-button{display:none !important;}
.elementor-page-4857 .vg-flavor-filter .select2-selection__rendered{display:flex !important;flex-wrap:wrap;gap:4px;align-items:center;margin:0 !important;padding:0 !important;width:100%;}
.elementor-page-4857 .vg-flavor-filter .select2-selection__rendered:not(:has(.select2-selection__choice:not(.select2-selection__e-plus-button)))::before{content:"All flavors";font-size:16px;color:rgb(71,85,105);font-family:-apple-system,"system-ui","Segoe UI",Roboto,sans-serif;}
.elementor-page-4857 .vg-flavor-filter .select2-search--inline{flex:1 1 20px;min-width:20px;margin:0 !important;}
.elementor-page-4857 .vg-flavor-filter .select2-search__field{margin:0 !important;height:24px !important;min-height:0 !important;border:0 !important;box-shadow:none !important;padding:0 !important;width:100% !important;}
.elementor-page-4857 .vg-flavor-filter .select2-selection__choice:not(.select2-selection__e-plus-button){margin:0 !important;background:var(--e-global-color-text,#000) !important;color:#fff !important;border:0 !important;border-radius:0 !important;font:700 11px/1 Montserrat,sans-serif !important;text-transform:uppercase;letter-spacing:.04em;padding:5px 8px !important;display:inline-flex !important;align-items:center;gap:6px;}
.elementor-page-4857 .vg-flavor-filter .select2-selection__choice__remove{color:#fff !important;border:0 !important;position:static !important;padding:0 !important;background:none !important;order:2;}
.elementor-page-4857 .select2-container--open .select2-dropdown{border:1px solid rgba(0,0,0,.1) !important;border-radius:0 !important;}
.elementor-page-4857 .select2-container--open .select2-results__option{font:600 13px/1.2 Montserrat,sans-serif;text-transform:uppercase;color:#3A553A;padding:8px 10px;}
.elementor-page-4857 .select2-container--open .select2-results__option--highlighted{background:#EEF3EE !important;color:#3A553A !important;}

/* --- From Strain Spotlight Archive Card 5366 (spotlight cards everywhere) --- */
/* Strain spotlight archive card. One Post Info widget (vg-card-meta): item 1 THC, item 2 lineage, item 3 flavor pills.
   Kept as one widget: two Post Info widgets in this card made the filter's AJAX request fail (HTTP 500). */
.elementor-5366.e-loop-item{min-width:0;}
.elementor-5366 .vg-card-meta{min-width:0;max-width:100%;overflow:hidden;}
.elementor-5366 .vg-card-meta .elementor-icon-list-items{flex-wrap:wrap !important;margin:0 !important;width:100%;row-gap:6px;}
.elementor-5366 .vg-card-meta .elementor-icon-list-item{margin:0 !important;padding:0 !important;min-width:0;}
.elementor-5366 .vg-card-meta .elementor-icon-list-item:nth-child(1){flex:0 0 auto;}
.elementor-5366 .vg-card-meta .elementor-icon-list-item:nth-child(2){flex:1 1 0;}
.elementor-5366 .vg-card-meta .elementor-icon-list-item:nth-child(3){flex:0 0 100%;margin-top:8px !important;}
.elementor-5366 .vg-card-meta .elementor-icon-list-item:nth-child(-n+2) .elementor-icon-list-text{font:600 12px/1.3 Montserrat,sans-serif !important;color:#3A553A !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.elementor-5366 .vg-card-meta .elementor-post-info__item--type-terms{display:block !important;}
.elementor-5366 .vg-card-meta .elementor-post-info__terms-list{display:flex !important;flex-wrap:wrap;gap:4px;font-size:0 !important;line-height:0;}
.elementor-5366 .vg-card-meta .elementor-post-info__terms-list-item{font:700 10px/1 Montserrat,sans-serif !important;text-transform:uppercase;letter-spacing:.04em;padding:4px 8px;background:#EEF3EE;color:#3A553A !important;border-radius:999px;}
/* Photo fills its box, so the Retired tag sits on the photo, top right like the New / Limited tags */
.elementor-5366 .elementor-widget-theme-post-featured-image img{object-fit:cover !important;}
.elementor-5366.e-loop-item.tag-retired::after{left:auto !important;right:1em !important;top:1em !important;}


/* --- From Side Navigation popup 567 --- */
/* Phone: size the side nav to the visible screen so it never scrolls under the Safari toolbar */
@media (max-width: 767px) {
  #elementor-popup-modal-567 .dialog-widget-content { height: 100dvh !important; max-height: 100dvh !important; }
}

/* --- From Strain Spotlight Card (square) 5283, featured image widget --- */
.elementor-5283 .elementor-element.elementor-element-cb4845d img{aspect-ratio:1/1;width:100%;height:auto!important;object-fit:cover}

/* --- From Code Snippet 11 (Spotlight store image): the store or launch photo floated at the top of single posts --- */
.vg-spot-img{float:left;width:40%;margin:0 30px 20px 0}
.vg-spot-img ~ h2,.vg-spot-img ~ h3{clear:none}
.vg-spot-img img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:12px}
.vg-spot-logo img{object-fit:contain;background:#fff;padding:24px;border:1px solid #e5e5e5}
@media (max-width:767px){.vg-spot-img{float:none;width:100%;margin:0 0 20px}}
/* Event filter pills (calendar intro 3543): the pill for the filter you are on shows black. Owner OK 2026-11-12. */ html:has(link[rel="canonical"][href$="/vangarden-events/"]) .vg-events-intro .elementor-button[href="/vangarden-events/"], html:has(link[rel="canonical"][href$="/category/field-activations/"]) .vg-events-intro .elementor-button[href$="/category/field-activations/"], html:has(link[rel="canonical"][href$="/category/industry-events/"]) .vg-events-intro .elementor-button[href$="/category/industry-events/"], html:has(link[rel="canonical"][href$="/category/volunteer-days/"]) .vg-events-intro .elementor-button[href$="/category/volunteer-days/"] { background-color: #000; } /* Calendar phone month view: selected day pale green so the black date shows. Owner OK 2026-11-12. */ body .tribe-events .tribe-events-calendar-month__day-cell--selected, body .tribe-events .tribe-events-calendar-month__day-cell--selected:hover, body .tribe-events .tribe-events-calendar-month__day-cell--selected:focus { background-color: #dfe8df; } body .tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__mobile-events-icon--event { background-color: #3a553a; }/* End custom CSS */