/*
Theme Name: Bliss-Brand
Theme URI: 
Author: Specto Design, inc.
Author URI: 
Description: Bliss Brand WP Theme
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bliss-brand
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/* 
main.wp-block-group {
	margin-top: 0 !important;
}
 */

/* 
gets rid of the top section margin underneath the nav
1.2rem
 */
.wp-site-blocks .entry-content,
:root :where(.wp-site-blocks) > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.spacer-fix {
  height: 40px !important; /* adjust to your desired height */
}


/* 404 and search results */
:root :where(.wp-block-search .wp-element-button, .wp-block-search .wp-block-button__link),
:root :where(.wp-block-search .wp-block-search__input) {
	border-radius: 0;
}
        
        
/* === top nav search === */
/* --- Base hidden search style --- */
/* 
.header-search {
  position: relative;
}

.header-search form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.header-search input[type="search"] {
  width: 0;
  opacity: 0;
  border: none;
  border-bottom: 1px solid #b3b3b3 !important;
  background: transparent;
  transition: all 0.35s ease;
  font-size: 14px;
  padding: 0;
}

.header-search button {
  background: none;
  border: none;
  padding: 0;
  margin-left: 8px;
  cursor: pointer;
  color: inherit;
  font-size: 16px;
  display: flex;
  align-items: center;
}

.header-search.active input[type="search"] {
  width: 180px; 
  opacity: 1;
  padding: 4px 0;
}

.header-search input[type="search"]::placeholder {
  color: #777;
}

.header-search input[type="search"]:focus {
  outline: none;
  border-color: #000;
}

.header-search .wp-block-search__label {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  margin-right: 6px; /* keep a small space when visible */
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.header-search.active .wp-block-search__label {
  opacity: 1;
  visibility: visible;
}


.header-search {
  display: flex;
  align-items: center; /* centers the form vertically */
  margin: 0;
  padding: 0;
}

.header-search .wp-block-search__inside-wrapper {
  display: flex;
  align-items: center;
  gap: 0 !important; 
  margin: 0;
  padding: 0;
}

.header-search .wp-block-search__button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none !important;
  border: none !important;
  padding: 0;
  margin: 0;
  line-height: 1;
}

.header-search svg.search-icon {
  width: 18px;
  height: 18px;
  vertical-align: middle;
}

.header-search .wp-block-search__input {
  height: auto;
  line-height: 1.2;
  border-radius: 0;
  padding: 0;
  margin: 0;
}

.header-search.is-open .wp-block-search__inside-wrapper { max-width: 800px; margin: 0 auto; }

 */


/* new search */

/* ---------------------------------------
   Header Search Overlay (centered, semi-transparent, 800px max)
   --------------------------------------- */

.header-search svg.search-icon {
  width: 18px;
  height: 18px;
  vertical-align: middle;
}


:root {
  --edge-pad: 1rem;
  --overlay-pad-y: 10px;
  --overlay-shadow: 0 6px 20px rgba(0,0,0,.08);
}

/* WordPress admin bar offset */
body { --admin-top: 0px; }
body.admin-bar { --admin-top: 32px; }
@media (max-width: 782px) { body.admin-bar { --admin-top: 46px; } }

/* Collapsed state — only icon visible */
.header-search.wp-block-search {
  width: auto;
  background: transparent !important;
  position: relative;
}
.header-search .wp-block-search__label { display: none; }



.header-search .wp-block-search__inside-wrapper {
  display: flex;
  align-items: center;
  gap: 4px;
  width: auto;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.header-search .wp-block-search__input {
  min-width: 0 !important;
  flex: 0 0 auto !important;
  width: 0;
  opacity: 0;
  border: none;
  padding: 0;
  background: transparent;
  line-height: 1.2;
  border-radius: 0;
}

.header-search .wp-block-search__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: none !important;
  border: 0 !important;
  padding: 0;
  margin: 0;
  line-height: 1;
}

.header-search .search-icon {
  width: 18px;
  height: 18px;
  display: block;
}

/* === Overlay (active) === */
.header-search.is-open {
  position: fixed !important;
  left: 0;
  right: 0;
  top: calc(var(--admin-top) + env(safe-area-inset-top, 0px));
  z-index: 10000;
  padding: var(--overlay-pad-y) var(--edge-pad);
  background: rgba(255,255,255,0.8) !important;
  box-shadow: var(--overlay-shadow);
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Inner wrapper centered, limited width */
.header-search.is-open .wp-block-search__inside-wrapper {
  display: flex;
  align-items: center;
/*   gap: 12px; */
  width: 100%;
  max-width: 800px;
}

/* Visible input — more padding for elegance */
.header-search.is-open .wp-block-search__input {
  flex: 1 1 auto !important;
  width: auto;
  opacity: 1;
  border-bottom: 1px solid #b3b3b3;
  padding: 10px 4px;
  background: rgba(255,255,255,0.9);
  color: #000;
  font-size: 1rem;
}
.header-search.is-open .wp-block-search__input:focus {
  outline: none;
  border-bottom-color: #000;
}

/* Overlay backdrop */
.header-search.is-open::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(255,255,255,.25);
  z-index: -1;
}

/* Close (×) button — hidden by default */
.header-search__close {
  background: none;
  border: none;
  color: #000;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  margin-left: 12px;
}

/* Show only when search is open */
.header-search.is-open .header-search__close {
  opacity: 0.75;
  visibility: visible;
}
.header-search.is-open .header-search__close:hover {
  opacity: 1;
}

/* Smooth fade */
.header-search { transition: opacity .2s ease; }
.header-search.is-open { opacity: 1; }

@media (min-width:1025px){ :root { --edge-pad: 2.5rem; } }
@media (min-width:1600px){ :root { --edge-pad: 5rem; } }

/* === Fix: remove close button layout space when search is closed === */
.header-search__close {
  display: none; /* completely remove from layout when closed */
}

.header-search.is-open .header-search__close {
  display: flex; /* only show (and occupy space) when open */
  opacity: 0.75;
  visibility: visible;
}
.header-search.is-open .header-search__close:hover {
  opacity: 1;
}





/* Absolutely center the Center group */
.top-header-center {
  position: absolute;
  left: 50%;
  transform: translate(-50%); /* centers horizontally */
  text-align: center;
  width: max-content; /* keeps it from stretching */
  z-index: 2; /* ensure it sits above background or content */
}

/* Prevent Center from pushing layout spacing */
.header-search > .top-header-center {
  margin: 0 !important;
}






/* === newsletter === */
/* =========================================================
   NEWSLETTER SIGNUP (Mailchimp for WordPress)
   ========================================================= */
.newsletter {
  text-align: center;
  padding: 2rem 0;
}

/* Headline styling (optional) */
.newsletter h3 {
  font-size: 1.5rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  letter-spacing: 0.03em;
}

/* --- Form container --- */
.newsletter .mc4wp-form {
  max-width: 360px !important; /* wider overall form */
  margin: 0 auto;
}

/* --- Field wrapper: make input + button a flex row --- */
.newsletter .mc4wp-form .mc4wp-form-fields {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0;
}

/* Flatten MC4WP’s extra <p> and <label> wrappers */
.newsletter .mc4wp-form .mc4wp-form-fields p {
  display: contents;
  margin: 0;
  padding: 0;
}
.newsletter .mc4wp-form label {
  display: contents;
}

/* --- Email input field --- */
.newsletter input[type="email"] {
  flex: 1 1 auto;
  min-width: 0;
  border: 1px solid #ddd;
  border-right: none;
  background: #fff;
  color: #000;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 14px 18px;
  outline: none;
}

.newsletter input[type="email"]::placeholder {
  color: #555;
  font-weight: 600;
  font-size: 12px;
}

/* --- Submit button --- */
.newsletter input[type="submit"] {
  flex: 0 0 100px;
  background: #000;
  color: #fff;
  border: 1px solid #000;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 14px 0;
  cursor: pointer;
  transition: all 0.3s ease;
  line-height: 1;
}

.newsletter input[type="submit"]:hover,
.newsletter input[type="submit"]:focus {
  background: #333;
  border-color: #333;
}

/* --- Remove plugin-added spacing --- */
.newsletter p {
  margin: 0;
  padding: 0;
}
.newsletter br {
  display: none;
}


/* --- Responsive: stack fields on mobile --- */
@media (max-width: 600px) {
  .newsletter .mc4wp-form .mc4wp-form-fields {
    flex-direction: column;
  }

  .newsletter input[type="email"],
  .newsletter input[type="submit"] {
    width: auto;
    border-radius: 0;
  }

  .newsletter input[type="submit"] {
    margin-top: 10px;
  }
  


}



/* ================================
   Bliss Header — ONLY .main-header sticky - now js only
   ================================ */

/* 
main .body-grid,
header .header-grid {
    width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}

.main-main-header .main-header { 
  margin-block-start: 0 !important; 
  margin-block-end: 0 !important; 
}

main .body-grid,
.main-main-header .main-header,
.main-main-header .row-mini-top-header {
	padding-left: 1rem !important;
	padding-right: 1rem !important;
}

main .body-grid { box-sizing: border-box; }



@media (min-width:1025px) {
	main .body-grid,
	.main-main-header .main-header,
	.main-main-header .row-mini-top-header {
		padding-left: 2.5rem !important; 
		padding-right: 2.5rem !important; 
	}
}

@media (min-width:1600px) {

	.main-main-header .main-header,
	.main-main-header .row-mini-top-header {
		padding-left: 5rem !important; 
		padding-right: 5rem !important;
	}
	
	main .body-grid {
		padding-left: 5rem !important; 
		padding-right: 5rem !important;
		margin: 0 auto !important;
	}
}

 */


/* ================================
   Bliss Layout — Unified Header, Content, Footer Widths
   ================================ */

/* Shared grid containers */
/* main .body-grid, */
/* .indented-grid, */
header .header-grid {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}

.indented-grid {
	width: auto;
}

.max-width-1600 {
	max-width: 1600px;
}

.cart-grid {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	box-sizing: border-box;
}
/* Remove extra top margin on main bar */
.main-main-header .main-header { 
	margin-block-start: 0 !important; 
	margin-block-end: 0 !important; 
}


footer a {
	text-decoration: none;
}






/* Base horizontal padding (mobile) */
/* main, */
.cart-grid,
.indented-grid,
.main-main-header .main-header,
.main-main-header .row-mini-top-header {
	padding-left: 1rem !important;
	padding-right: 1rem !important;
}

/* Ensure content box sizing is consistent */
main .body-grid { box-sizing: border-box; }



/* 
@media (max-width: 480px) {
	.main-main-header .row-mini-top-header {
		margin-top: 25px;
	}
}
 */


/* Medium breakpoint (desktop) */
@media (min-width: 1025px) {
/* 	main, */
	.cart-grid,
	.indented-grid,
	.main-main-header .main-header,
	.main-main-header .row-mini-top-header {
		padding-left: 2.5rem !important;
		padding-right: 2.5rem !important;
	}
}

/* Large breakpoint (wide screens) */
@media (min-width: 1600px) {
/* 	main, */
	.cart-grid,
	.indented-grid,
	.main-main-header .main-header,
	.main-main-header .row-mini-top-header {
		padding-left: 5rem !important;
		padding-right: 5rem !important;
	}
	
/* 
	.cart-grid {
	padding-left: 0 !important;
	}
 */
}

/* tmp phone fix */

/* header wrapper transparent; rows own their backgrounds */
/* 
.main-main-header { background: transparent; }

.main-main-header .row-mini-top-header { background: #f8f8f8; }
.main-main-header .main-header        { background: #fff; }
 */

/* (safety) avoid any accidental clipping */
/* 
.main-main-header,
.main-main-header * { overflow: visible; }
 */


/* Mobile: left/right groups are hidden by Twentig; center item should not be absolute */
@media (max-width: 767.98px) {

	/* adjust for removed breadcrumbs */
/* 
	.wp-site-blocks {
		padding-top: 80px !important;	
	}
 */


  /* 1) Neutralize any absolute centering the plugin/theme applied */
  .main-main-header .row-mini-top-header .top-header-center {
  
   /*  display: none !important; */  /* hide on mobile */
    
  
    position: static !important;      /* <-- critical: stop absolute positioning */
    inset: auto !important;           /* clears top/right/bottom/left if set */
    transform: none !important;
    margin-inline: auto;              /* let flex center it */
    text-align: center;
  }

  /* 2) Make the grid actually center the middle block when sides are hidden */
  .main-main-header .row-mini-top-header .header-grid {
    justify-content: center;          /* with left/right hidden, center the middle */
  }

  /* 3) Remove any flow margins that might push it up/down */
  .main-main-header .row-mini-top-header :where(.is-layout-flow) > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
  }

  /* 4) Tighten line-height so font rounding won’t nudge it vertically */
  .main-main-header .row-mini-top-header .top-header-center p {
    margin: 0;
    line-height: 1.2;
  }

  /* 5) Ensure no parent clips it */
  .wp-site-blocks,
  header.wp-block-template-part,
  .main-main-header { overflow: visible !important; }
  
  
  .main-main-header .row-mini-top-header {
    /* display: none !important; */  /* hide on mobile */
    padding-top: 0.5rem !important;   /* adjust this as needed */
    padding-bottom: 0.5rem !important; /* match desktop spacing if desired */
  }

}



/* ================================
   SHOP
   ================================ */
/* hide hidden express section to save space */
#wc-stripe-express-checkout__order-attribution-inputs {
	display: none !important;
}
/* hide price range on variable product only */
body.product-type-variable .wc-block-components-product-price {
	display: none;
}


.wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 1.10em  !important;
}

/* Reorder: Continue Checkout on top, express buttons below */
/* Target the submit area wrapper */
/* Express buttons side by side */
/* Express buttons side by side */
.wc-block-components-express-payment--cart .wc-block-components-express-payment__event-buttons {
    display: flex;
    flex-direction: row;
    gap: 12px;
}

.wc-block-components-express-payment--cart .wc-block-components-express-payment__event-buttons > li {
    flex: 1;
}
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
    margin-bottom: 0 !important;
}
   .wc-block-cart .wc-block-cart__payment-options {
        padding-top: 0 !important;
    }
    
/* end */

#express-payment-method-ppcp-gateway-paypal div {
	min-height: 51px;
}
/* Hide PayPal description text in WooCommerce Blocks Checkout */
#radio-control-wc-payment-method-options-ppcp-gateway__content p:first-child {
    display: none;
}

/* 1. Make the container a Flexbox (Side-by-Side) */
ul.wc-block-components-express-payment__event-buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px; /* Adds space between the buttons */
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
}

/* 2. Make both buttons take up equal 50% width */
ul.wc-block-components-express-payment__event-buttons li {
    flex: 1 1 0 !important;
    width: 50% !important;
    margin: 0 !important;
    list-style: none !important;
    padding-bottom: 12px  !important;
}

/* 3. Force Apple Pay height to match PayPal (48px) */
/* Stripe often defaults to 56px, while PayPal is locked at 48px */
#express-payment-method-express_checkout_element_applePay .StripeElement,
#express-payment-method-express_checkout_element_applePay iframe {
    height: 55px !important;
    min-height: 55px !important;
}

/* Optional: Ensure vertical alignment is centered */
#express-payment-method-ppcp-gateway-paypal,
#express-payment-method-express_checkout_element_applePay {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* end */
.wp-block-post-excerpt__excerpt {
	font-weight: 700 !important;
}

.bliss-mini-cart-note {
    color: #0a8043;
    font-weight: bold;
    font-size: 15px;
}

/* Hide the icon/image in the Empty Cart message */
.with-empty-cart-icon.wc-block-cart__empty-cart__title::before{
    height: 0;
    margin: 0;
}


.wc-block-product-template__responsive {
    grid-gap: 9px;
}
/* fix weird pricing margin issue */ 
.wc-block-components-product-price.wc-block-grid__product-price {
	margin-left: 0 !important;
	padding-left: 0 !important;
}
   
   
a.reset_variations {
	display: none !important;
}

.wp-block-woocommerce-product-meta,
.single-product .product_meta,
.single-product .wc-block-product-meta {
  display: none !important;
}

.sku-after-price {
	font-size: 12px;
}

/* Product Description Typography */
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-Tabs-panel,
.woocommerce div.product .woocommerce-Tabs-panel p {
  font-weight: 300;
  letter-spacing: -0.5;
}

/* Optional: tab headings */
/* 
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.3px;
}
 */



/* product detail 2 images */
/* --- Force exactly two images side by side, each 50% width --- */

/* Remove the 512px cap & the clearfix on the block gallery */
.single-product .wp-block-woocommerce-product-image-gallery {
  max-width: none !important;
  width: 100% !important;
  clear: none !important;
}

/* Make the gallery a strict two-column grid (50% / 50%) */
.single-product .wp-block-woocommerce-product-image-gallery .wc-block-product-gallery__wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important; /* 50% / 50% */
  gap: 0; /* change to 1rem if you want spacing */
  width: 100%;
}

/* Normalize items/images */
.single-product .wc-block-product-gallery__wrapper > * { margin: 0 !important; }
.single-product .wc-block-product-gallery__wrapper img {
  width: 100% !important;
  height: auto !important;          /* same dimensions horizontally; natural height */
  object-fit: contain;               /* switch to 'cover' if you want equal-height tiles */
  display: block;
}

/* Show only the first two images */
.single-product .wc-block-product-gallery__wrapper > *:nth-child(n+3) { display: none !important; }

/* Mobile: stack */
@media (max-width: 768px){
  .single-product .wp-block-woocommerce-product-image-gallery .wc-block-product-gallery__wrapper {
    grid-template-columns: 1fr !important;
  }
}



/* Reset possible flex/slider behaviors */
.woocommerce div.product .woocommerce-product-gallery__wrapper {
	display: flex !important;
	flex-wrap: nowrap !important;
	justify-content: space-between;
	align-items: stretch;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
}

.woocommerce div.product .woocommerce-product-gallery__wrapper div {
	border-right: 4px solid white;
	border-bottom: 4px solid white;
}


/* Each image container: exactly 50% width */
.woocommerce div.product .woocommerce-product-gallery__image {
	width: 50% !important;
	flex: 0 0 50% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

/* Each image scales fully within its 50% container */
.woocommerce div.product .woocommerce-product-gallery__image img {
	width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
	display: block;
}

/* Hide zoom icon and thumbnails */
.woocommerce-product-gallery__trigger,
.woocommerce div.product .flex-control-thumbs,
.woocommerce div.product .woocommerce-product-thumbnails {
	display: none !important;
}

/* Only show the first two images */
/* 
.woocommerce div.product .woocommerce-product-gallery__image:nth-child(n+3) {
	display: none !important;
}
 */



/* --- Mobile: stack vertically --- */
@media (max-width: 1024px) {
	.woocommerce div.product .woocommerce-product-gallery__wrapper {
		flex-direction: column !important;
	}
	.woocommerce div.product .woocommerce-product-gallery__image {
		width: 100% !important;
		flex: 0 0 100% !important;
	}
}

/* archive template */
h1.indented-grid.wp-block-query-title {
	margin-left: 0 !important;
}

.indented-grid.woocommerce.wc-block-product-results-count {
	max-width: 1600px !important;
}


/* ===== Mobile menu overlay: full-screen, above header, no page scroll ===== */

/* Make the Navigation overlay cover the viewport */
.wp-block-navigation__responsive-container.is-menu-open {
  position: fixed !important;     /* escape header row constraints */
  inset: 0;                       /* top/right/bottom/left: 0 */
/*   width: 100vw; */
  height: 100dvh;                 /* viewport height incl. iOS bars */
  margin: 0;
  background: #fff;               /* match site design */
  z-index: 9999;                  /* above sticky header */
  overflow: auto;                 /* scroll inside menu if long */
}

/* Ensure the inner content stretches */
.wp-block-navigation__responsive-dialog,
.wp-block-navigation__responsive-container-content {
  height: 100%;
  max-height: none;
}

/* Lock background scrolling while menu is open (WP adds this class) */
html.has-modal-open,
body.has-modal-open {
  overflow: hidden;
}

/* Logged-in admin bar offset on small screens */
@media (max-width: 782px) {
  html.admin-bar .wp-block-navigation__responsive-container.is-menu-open {
    padding-top: 46px;
    height: calc(100dvh - 46px);
  }
}




/* Ensure the close icon text/SVG stays visible */
.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-close * {
  font-size: initial !important;   /* undo font-size:0 from global rules */
  color: inherit !important;       /* ensure currentColor works */
  opacity: 1 !important;
}

/* Make sure the SVG actually renders and is tappable */
.wp-block-navigation__responsive-container-close svg {
  display: inline-block !important;
  width: 24px;
  height: 24px;
  stroke: currentColor; /* some themes use stroke */
  fill: currentColor;   /* others use fill */
}

/* If it’s stacking behind the overlay, bump z-index just in case */
.wp-block-navigation__responsive-dialog { z-index: 9999; }
.wp-block-navigation__responsive-container-close { z-index: 10000; }


/* forms */
/* Applies to all Formidable input and textarea fields */
.frm_fields_container input[type=text],
.frm_fields_container input[type=email],
.frm_fields_container input[type=tel],
.frm_fields_container input[type=number],
.frm_fields_container input[type=url],
.frm_fields_container input[type=password],
.frm_fields_container select,
.frm_fields_container textarea {
  border: none !important; /* remove all borders */
  border-bottom: 2px solid #cccccc !important; /* bottom border only */
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
  padding: 8px 0;
  transition: border-color 0.3s ease;
}

/* Highlight on focus */
.frm_fields_container input:focus,
.frm_fields_container select:focus,
.frm_fields_container textarea:focus {
  border-bottom-color: #111827; /* your accent color */
  outline: none;
}

.frm_fields_container input::placeholder,
.frm_fields_container textarea::placeholder {
  color: #E5E5E5 !important;
}


.frm_fields_container  .frm_primary_label {
	letter-spacing: -2px;
}
button.button-primary.frm-button-primary.frm_continue_chat svg{
	display: none !important;
}


.frm-chat-progress {
	margin-bottom: 50px !important;
}

.bar[style*="width: 0%"] {
  background: #ffffff !important; /* red, for example */
}


.frm-chat-progress .frm-progress-bar > div:last-child {
    background: #fefefe !important;
}

.frm_fields_container span.frm_required {
	color: #000000 !important;
	font-size: 21px !important;
}


.frm-chat-wrapper,
.with_frm_style .frm_form_fields > fieldset {

	margin: 0  !important;
	padding: 0  !important;
}

.mc4wp-alert.mc4wp-success{
	margin-top: 15px;
}



/* Mobile focal point */
@media (max-width: 767px) {

	/* limit breadcrumb */



/* 1. Hide everything in the breadcrumb container */
/* This effectively removes the separators and the trailing "Celtic Cross..." text */
.woocommerce-breadcrumb {
    visibility: hidden;
    font-size: 0;
}

/* 2. Bring back the links */
.woocommerce-breadcrumb a {
    visibility: visible;
    font-size: 14px; /* Change to match your website's font size (e.g., 1rem) */
    text-decoration: none;
}

/* 3. Permanently remove the very first link (Home/Bliss Spiritual) */
.woocommerce-breadcrumb a:first-child {
    display: none;
}

/* 4. Since we hid the original separators, we must fake new ones */
.woocommerce-breadcrumb a::after {
    content: " / ";
    font-size: 14px; /* Match link size */
    visibility: visible; /* Ensure the pseudo-element is visible */
}

/* 5. Remove the separator from the last visible link so it doesn't look like "Shop / Category /" */
.woocommerce-breadcrumb a:last-of-type::after {
    content: "";
}


    
  .mobile-focal.grace-collection .wp-block-cover__image-background,
  .mobile-focal.grace-collection .wp-block-cover__video-background {
      object-position: 70% 0%; /* Mobile focal point */
  }


  .mobile-focal.cross-collection ,
  .mobile-focal.cross-collection {
      min-height: 540px !important; /* Mobile focal point */
  }
  .mobile-focal.cross-collection .wp-block-cover__image-background,
  .mobile-focal.cross-collection .wp-block-cover__video-background {
      object-position: 68% 0% !important; /* Mobile focal point */
  }
  
  
	.mobile-focal.gift-ideas p {

		background-color: rgba(20, 51, 3, 0.59);
		padding: 30px;
	}
	.mobile-focal.eternal-celtic-cross .wp-block-cover__image-background,
	.mobile-focal.eternal-celtic-cross .wp-block-cover__image-background img {
		object-position: 70% 100% !important;
	}


}


/* Small Mobile focal point */
@media (max-width: 480px) {

	.home-start {
		min-height: 500px !important;
		align-items: flex-start !important;
	}
	.home-start img {
		object-position: 25% 100% !important;
	}
	
	.home-start h2 {
		font-size: 28px !important;
		max-width: 280px;
	}
}



/* Sticky Add to Bag button on mobile - Simple & Variable Products (No Gift Cards) */
@media screen and (max-width: 768px) {
    
    /* Make the form container sticky */
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff;
        padding: 12px 15px;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        z-index: 9999;
        margin: 0;
        max-height: 50vh;
        overflow-y: auto;
    }
    
    /* Override the grid layout */
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form form.cart,
    body.single-product:not(.wc_gc_giftcard_product) .wp-block-woocommerce-add-to-cart-form form.cart {
        display: block !important;
        width: 100%;
        margin: 0;
    }
    
    /* Variations table full width */
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form .variations {
        width: 100% !important;
        margin-bottom: 10px;
    }
    
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form .variations tr {
        display: block;
        margin-bottom: 8px;
    }
    
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form .variations td {
        display: block;
        width: 100% !important;
        padding: 0;
    }
    
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form .variations td.label {
        margin-bottom: 4px;
    }
    
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form .variations select {
        width: 100% !important;
        padding: 10px;
    }
    
    /* Variable button wrapper */
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form .woocommerce-variation-add-to-cart {
        display: block !important;
        width: 100%;
    }
    
    /* Hide quantity */
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form .quantity {
        display: none !important;
    }
    
    /* Full width button - All products */
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form .single_add_to_cart_button {
        width: 100% !important;
        display: block !important;
        padding: 15px 20px;
        font-size: 16px;
        margin: 0;
        box-sizing: border-box;
    }
    
    /* Hide Stripe express checkout */
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form #wc-stripe-express-checkout-element,
    body.single-product:not(.wc_gc_giftcard_product) #wc-stripe-express-checkout__order-attribution-inputs {
        display: none !important;
    }
    
    /* Hide pseudo elements */
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form form.cart::before,
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form form.cart::after {
        display: none !important;
    }
    
    /* Reset variations link */
    body.single-product:not(.wc_gc_giftcard_product) .wc-block-add-to-cart-form .reset_variations {
        display: block;
        margin-top: 5px;
    }
    
    /* Add padding to bottom of page */
    body.single-product:not(.wc_gc_giftcard_product) {
        padding-bottom: 200px;
    }
    
    body.single-product:not(.wc_gc_giftcard_product) .woocommerce div.product form.cart {
        margin-bottom: 0;
    }
    
    /* variation btn size */
    body.single-product:not(.wc_gc_giftcard_product) .wc-variation-buttons .wc-var-btn {
        padding: 5px 7px !important;
        font-size: 15px !important;
    }
    
    body.single-product:not(.wc_gc_giftcard_product) .woocommerce table.variations tr td,
    body.single-product:not(.wc_gc_giftcard_product) .woocommerce table.variations tr th {
        padding-bottom: 0 !important;
    }
    
    body.single-product:not(.wc_gc_giftcard_product) .woocommerce table.variations tr th.label {
        padding-bottom: 4px !important;
    }
}
