/*Theme Accent Color is #ee4d28. Search and replace to change all at once. To chg Gforms radio, checkmarks color & field outline, go to functions.php and edit filter. Hover link is #ff5733. To change theme color of WooCom emails, go to WooCommerce > Settings > Emails.*/

/*Box & Form Field Outline Color is #cacaca. Search and replace to change all at once.*/

/*Testimonial and Product Review Stars are #f5c518.*/

/* --- Alignments --- */
img.alignright {float:right; margin:0 0 1em 1em}
img.alignleft {float:left; margin:0 1em 1em 0}
img.aligncenter {display: block; margin-left: auto; margin-right: auto}
a img.alignright {float:right; margin:0 0 1em 1em}
a img.alignleft {float:left; margin:0 1em 1em 0}
a img.aligncenter {display: block; margin-left: auto; margin-right: auto}

/* --- Swap Column Order on Mobile --- */

@media (max-width: 767px) {
  /* For the specific row, reverse the stacking order */
  .reverse-mobile-row {
    display: flex;
    flex-direction: column-reverse;
  }
}

/* --- Empty Space Adjustments for Mobile --- */

@media (max-width: 767px) {
  .vc_empty_space_32 {
    height: 32px !important;
  }
}

/* --- Top Bar --- */

.container-topbar {
    display: flex;
    align-items: center; /* Vertically center items */
    /* Optionally, if you want horizontal centering too: */
    /* justify-content: center; */
    min-height: 45px;
    padding: 0 15px;
}
.left, .right {
    width: 50%; /* Adjust width as needed */
}
.right { /* Optionally, to right justify text in right div: */
    display: flex;
    width: 50%; /* Adjust width as needed */
    justify-content: flex-end; /* Right justify content */
    align-items: center; /* Vertically center items */
    font-size: .85rem;
}
.left {
    display: flex;
    align-items: center;
    width: 50%;
    min-width: 300px;
}
.typing { /* Call attention to text in left div: */
    display: inline-block;
    width: 0;               /* Start hidden */
    overflow: hidden;       /* Hide the overflowing text */
    white-space: nowrap;    /* Prevent line breaks */
    animation: typing 3s steps(40, end) forwards;
}
@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 40ch; /* Adjust this value to match the text length */
  }
}
@media only screen and (max-width: 600px) { 
	.left, .right {
		display: block; /* Stacks Left Bar on top of Right Bar on Phones */
		width: 100% !important;
		text-align:center;
	}
	
	.container-topbar {
		display:block;
	}
}
@media only screen and (max-width: 767px) {
  a.ab-item[href*="wp-admin/profile.php"] { /* Remover User Avatar in Menu on Phones */
    display: none !important;
  }
}
/* --- Right Menu --- */

.menucontainer {
    position: relative; /* Ensure the menu container is positioned relatively */
}
.rightmenu {
    align-items: center; /* Vertically center items */
    /* Optionally, if you want horizontal centering too: */
    /* justify-content: center; */
}
#mobile-search-dropdown {
    display: none;              /* Hidden by default */
    position: absolute;
    top: 100%;                  /* Directly below the menu */
    right: 0;                   /* Ensures it aligns with the right edge */
    width: 20vw;                /* 20% of the viewport width */
    max-width: 300px;           /* Prevents it from being too wide on large screens */
    background-color: #000;
    padding: 15px;
    box-sizing: border-box;
    z-index: 999;
    min-height: 60px;
}
#mobile-search-dropdown form {
    display: block !important; /* Ensure the form is fully visible */
    width: 96%;
    margin: 0;
}
#mobile-search-dropdown input[type="text"] { /* Adjust search input to fit properly */
    width: calc(100% - 10px); /* Adjusts for padding */
    padding: 10px;
    font-size: 16px;
    border-radius: 4px;
}
#mobile-search-dropdown input[type="submit"] {
    display: none; /* Hide the submit button */
}
.rightmenu .search-toggle { /* Style the search toggle icon */
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

/* --- Menu 1 - Top Menu--- */

.menucontainer {
    padding: 7px 15px;
    align-items: center; /* Vertically center items */
    /* Optionally, if you want horizontal centering too: */
    /* justify-content: center; */
}
.custom-logo {
    padding-right: 10px;
}
.custom-logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}
.custom-logo-link:hover {
    border-bottom: none;
}
.topmenu li {
    position: relative; /* Ensure the second-level menu is positioned directly below the top-level item */
}
.topmenu > li > a {
    font-size: 0.8em;
}
.topmenu li ul {
    display: none; /* Hide the submenu by default */
    position: absolute;
    top: 100%;  /* directly below the top-level li */
    left: 0;
    background: black;
    padding: 0;
    margin: 0;
    z-index: 1000;
    width: max-content; /* Adjust if needed */
}
.topmenu li:hover ul {
    display: block; /* Show submenu on hover (or use click if preferred) */
}
.topmenu li ul li {
    display: block; /* Stack submenu items vertically */
}
.topmenu li ul li a { /* Style submenu links */
    display: block;
    padding: 0.65rem 10px; /* Adjust horizontal padding as desired */
    font-size: 0.8em;
    color: #fff;
    text-decoration: none;
}
.topmenu li ul li:nth-child(-n+2) a {
    border-top: none; /* Remove border for the first two submenu items */
}
.topmenu li ul li:nth-child(n+3) a {
    border-top: 1px solid #fff; /* Add a 1px white divider to submenu links from the third item onward */
}
.topmenu li ul li ul {
    position: static !important; /* Third-level submenu: remove default absolute positioning */
    margin-left: 15px; /* indent third level by 15px */
    display: block; /* stack items vertically */
    background: black; /* match background if needed */
    padding: 0;
}
.topmenu li ul li ul li a { /* Third-level link styling */
    display: block;
    padding: 0.65rem 10px; /* adjust as needed */
    font-size: 0.8em;
    color: #fff;
    text-decoration: none;
}

/* --- Mobile Menu --- */

@media (max-width: 1199px) {
  .menucontainer, .topmenu {
    display: none !important; /* ONLY show on screens under 1200px */
}

#mobilemenu {
    display: block !important;
    background-color: #000;
    padding: 10px;
}

#mobilemenu i.fa-bars {
    color: #fff;
    font-size: 24px;
    cursor: pointer;
}

#mobilemenu a {
    text-decoration: none;
    font-size: 20px;
    color: black;
    line-height: 30px;
}

#mobilemenu li {
    list-style: none;
}

.topmenumobile ul.sub-menu {
    list-style: none;
}

.topmenumobile > li > a {
    font-weight: 500;
}

/* Interaction States for Mobile Menu Links */
.topmenumobile > li > a:hover,
.topmenumobile > li > a:focus,
.topmenumobile > li > a:active {
    background-color: transparent !important;
    color: #46b48c !important;
    border-bottom: 1px solid #cacaca;
}

.hiddenmobile li {
    list-style-type: none;
    line-height: 40px;
    border-bottom: 1px solid #cacaca; 
}

#mobilemenu .hiddenmobile li a:hover,
#mobilemenu .hiddenmobile li a:focus,
#mobilemenu .hiddenmobile li a:active {
    background-color: transparent !important;
    color: #46b48c !important;
    border-bottom: none !important;
}
} /* Closes media block */

/* --- Secondary Menu --- */

.secondarymenu a,
.secondarymenuright a {
    display: block;                  /* Make full block clickable */
    padding: 10px 15px;              /* Adjust spacing as needed */
    text-decoration: none !important;
    color: inherit;
    transition: background-color 0.3s, color 0.3s;
    font-size: 0.8em;
}

/* Hover / Focus / Active States */
#menu-secondary-menu a:hover,
#menu-secondary-menu a:focus,
#menu-secondary-menu a:active,
#menu-right-secondary-menu a:hover,
#menu-right-secondary-menu a:focus,
#menu-right-secondary-menu a:active {
    background-color: #46b48c;      /* green background on hover */
    color: #fff !important;         /* White text on hover */
    border-bottom: none !important; /* Remove underline or bottom border */
}

@media (max-width: 1199.98px) {
.secondarymenu,
.secondarymenuright {
    display: none !important; /* Hide on Screens 576px to 1199.98px */
  }
}

/* --- Typography --- */

body {  
    font-size: 16px;
    font-family: Open Sans, Helvetica, Arial, sans-serif !important;
    font-weight: 300;
    color: #000000 !important;   
    letter-spacing: 0.01em;
}
a {  
    font-weight: 500;
    color: #46b48d;
    text-decoration: none;
}
a:hover {  
    color: #38a575;
    border-bottom: 3px double #38a575; /* Double underline */
}
ul, ol, dl { 	
    font-size: 16px;
    line-height: 160%;
    color: #000000 !important;
}
ul, ol {
    margin-bottom: 1rem;
}
.wpb-plan-features ul {
    margin-bottom: 1rem;
}
li { 	
    font-size: 16px;
    color: #000000;
    line-height: 160%;
}
h1, h2, h3, h4, h5, h6 {
	font-family: Open Sans, Helvetica, Arial, sans-serif !important;
    color: #47669d;
}
h1 {
    font-size: 3.5rem;
    line-height: 1.1; 
    margin-top: 61px !important;
}
h2 {
    font-size: 3rem;
    line-height: 1.2; 
    margin-bottom: 25px;
}
h3 {
    font-size: 2.25rem;
    line-height: 1.1;
    margin-bottom: 20px;
}
h4 {
    font-size: 1.75rem;
    line-height: 1.2;
    margin-bottom: 20px;
}
h5 {
    font-size: 1.25rem;
    font-weight: 700 !important;
    line-height: 1.1;
    margin-bottom: 20px;
}
.pretext-home { /* Above H1 */
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: 0.01em;
    margin-bottom: 7px;
    padding-top:43px;
}
.blog { /* Hero H1 */
    font-size: 3.5rem;
    line-height: 1.1;
    margin-top: 20px !important;
    margin-bottom: 20px;
}
.home h1 { /* Hero H1 */
    font-size: 3.5rem;
    line-height: 1.1;
    margin-top: 20px !important;
    margin-bottom: 20px;
}
.home .intro-text-home { /* Below H1 */
    font-size: 1.5625rem;
    line-height: 1.6;
    color: #ffffff;
    margin-top: 0;
}
.headline-one-white { /* Looks like H1 but is P */
	font-family: Open Sans, Helvetica, Arial, sans-serif !important;
    color: #fff;    
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1.1; 
    margin-top: 55px !important;
}
.intro-text {
    font-size: 1.5625rem; /* Next line under H1's */
    line-height: 2.375rem;
}
.intro-text-underline { /* Intro Test with short underline */
    font-size: 1.5625rem; /* Next line under H1's */
    line-height: 2.375rem;
}
.intro-text-underline::after { /* Intro Test with short underline */
    content: "";
    display: block;
    width: 10%;         /* Adjust width as needed */
    height: 2px;         /* Thickness of the separator */
    background-color: #000;  /* Color of the separator */
    margin: 2px 0 0 0;   /* Top margin 2px; 0 on right, bottom, and left for left alignment */
}
.intro-text-white {
    font-size: 1.5625rem; /* Next line under H1's */
    line-height: 2.375rem;
    color: #fff;
}
.number-stat {
    font-size: 6.25rem;
    font-weight: 800;
    position: relative; /* Needed if positioning pseudo-element relative to this */
}
.number-stat::after {
    content: "";
    display: block;
    width: 100%;         /* Adjust width as needed */
    height: 2px;         /* Thickness of the separator */
    background-color: #000;  /* Color of the separator */
    margin: 2px auto 0; /* 10px top margin; centered horizontally */
}



/* --- PHP Page Typography and Div Styles: Single.php, Search.php, Category.php, etc --- */

h1.php-template-headline {
    font-size: 3.5rem;
    line-height: 1.1; 
    padding-top: 0px !important;
}
h1.singleheader {
    text-align: center; /* For Headline on Single.php */
    font-size: 3.5rem;
    line-height: 1.1; 
    margin-top: 26px !important;
}
.categories .blog-breadcrumb {
    color: #333; /* Controls Color of Blog & Right Triangle in Breadcrumbs on Single.php*/
    font-weight: 700; /* Make it slightly bold */
}
.categories .blog-breadcrumb:hover {
    color: #555; /* Slightly lighter gray on hover */
    transition: color 0.3s ease-in-out;
    text-decoration: none; /* Remove underline */
    border-bottom: none; /* Remove Double underline */
}
.categories a:not(.blog-breadcrumb) {
    color: #46b48c; /* Style category links */
    font-weight: 600;
    text-decoration: none; /* Remove underline */
    border-bottom: none; /* Remove Double underline */
}
.categories a:not(.blog-breadcrumb):hover {
    color: #38a575;
    text-decoration: none; /* Remove underline */
    border-bottom: none; /* Remove Double underline */
}
.categorylink a {
    text-decoration: none; /* Remove underline */
    border-bottom: none; /* Remove Double underline */
}
.categorylink:hover {
    text-decoration: none; /* Remove underline */
    border-bottom: none; /* Remove Double underline */
}
.search-form {
    padding-bottom: 25px; /* Puts padding under search form on Search.php */
}
.special-search {
    text-align: center; /* 404 Page */
    margin: 0 auto 60px;
}
.entry-content {
    color: #000000; /* Excerpt color on Search.php */
}
h1.snap {
    margin-top: 96px; /* 404 Page */
}
h5.try-again {
    font-size: 18px; /* 404 Page */
    font-weight: bold;
    color: #333; /* Adjust color as needed */
    text-align: center;
    margin-top: 20px;
    padding: 10px;
}

/* --- Side Bar Widget Typography --- */

h2.wp-block-heading {
    font-size: 1.25rem !important; /* Dive Into Blog Headline On Blog Side Bar */
    line-height: 1.2; 
    margin-bottom: 25px;
}
.intro-text-blog {
    font-size: 1rem; /* Intro after Dive Into Blog Headline On Blog Side Bar */ 
    line-height: 1.25rem;
}
.wp-block-search__label {
    font-weight: bold; /* Search Bar Label On Blog Side Bar */
    font-size: 14px;
    color: #333;
}
.wp-block-categories-list {
    list-style: none; /* Cat List On Blog Side Bar */
    padding-left: 0;
}
.wp-block-categories-list .cat-item::before {
    content: "▸"; /* Right Triangle */
    color: #000000; /* Adjust color if needed */
    font-size: 1.2em;
    font-weight: bold;
    margin-right: 8px;
    display: inline-block;
}
.wp-block-categories-list .cat-item:hover::before {
    color: #333; /* change color on hover */
}
.wp-block-categories-list .cat-item {
    padding-left: 5px;
}

/* --- Footer Typography --- */

.footer-row p {
    color: #fff; /* White text */
    font-size: 18px;
    font-weight: 700;
    margin: 0; /* Remove default margin */
    padding-bottom: 15px;
    text-transform: uppercase;
}
.footer-row a {
    color: #fff;
    font-size: 15px !important;
    font-weight: 400;
    text-decoration: none; /* Remove underline */
}
.footer-row a:hover {
    color: #62d2ba; /* Change to theme color on hover */
    font-size: 15px !important;
    text-decoration: none; /* Remove underline */
    transition: color 0.3s ease-in-out;
}

/* --- Footer Container --- */

footer {
    background: #47669d !important;
}

.footerwidgetcontainer {
    background: #47669d !important;
}

/* --- CopyrightContainer --- */

.copyrightcontainer {
    background: #1d2963 !important;
}

/* --- VC Button Flat - Classic Orange set to Theme Color with Hover/Focus and Active Styles. They match styles on WP and GF Buttons. --- */

.vc_general.vc_btn3 {
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
    font-weight: 500;
}
.vc_btn3.vc_btn3-shape-rounded {
    border-radius: 4px;
}
.vc_btn3.vc_btn3-color-vista-blue.vc_btn3-style-flat {
    background-color: #46b48d !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
}
.vc_btn3.vc_btn3-color-vista-blue.vc_btn3-style-flat:hover {
    background-color: #3c9b79 !important; 
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
}
.vc_btn3.vc_btn3-color-vista-blue.vc_btn3-style-flat:active, .vc_btn3.vc_btn3-color-default.vc_btn3-style-flat:focus {
    background-color: #46b48d !important;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	outline: none !important;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}

.vc_btn3.vc_btn3-color-peacoc.vc_btn3-style-flat {
    background-color: #63bbc3 !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
}
.vc_btn3.vc_btn3-color-peacoc.vc_btn3-style-flat:hover {
    background-color: #55a1a8 !important; 
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
}
.vc_btn3.vc_btn3-color-peacoc.vc_btn3-style-flat:active, .vc_btn3.vc_btn3-color-default.vc_btn3-style-flat:focus {
    background-color: #5199a0 !important;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	outline: none !important;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}
.btn-with-headshot-left-brad { /* High Converting Left Aligned WPB CTA Button. Add more of these with different alignments & names below. */
    position: relative; /* Establishes a positioning context */
    overflow: visible;  /* Allows the pseudo-element to extend beyond the button */
    padding-left: 70px;  /* Adjust as needed for the headshot width plus some spacing */
}

/* Pseudo-element that displays the headshot image */
.btn-with-headshot-left-brad::before {
    content: "";
    position: absolute;
    margin-left: 41px;
    top: 50%;                   /* Vertically center the headshot */
    left: -40px;                /* Shift left by half the width (80px / 2) */
    width: 80px;
    height: 80px;
    border-radius: 50%;         /* Make it a circle */
    background-image: url("/wp-content/uploads/2025/02/testimonial-.jpg");
    background-size: cover;
    background-position: center;
    transform: translateY(-50%);
    border: 2px solid #fff;     /* Optional: white border around the headshot */
    z-index: 999;               /* Bring the headshot in front */
}

/* --- Gravity Forms: Using Orbital Theme under Settings. Buttons are Flat Style to match WPB buttons. Change to other styles as needed. --- */

input {
    font-family: Open Sans, Helvetica, Arial, sans-serif;
    font-size: 14px;
	border: 1px solid #cacaca !important;
}
.gfield textarea {
	border: 1px solid #cacaca !important;
}
.gfield select {
    font-family: Open Sans, Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #46b48c;
	border: 1px solid #cacaca !important;
}
.ginput_product_price {
    font-family: Open Sans, Helvetica, Arial, sans-serif;
    color: #46b48c !important;
}
.gform_wrapper.gravity-theme select {
    font-family: Open Sans, Helvetica, Arial, sans-serif;
    border-radius: 0px;
    background: #f7f7f7;
    font-size: 14px;
}
h3.gsection_title {
    font-family: Open Sans, Helvetica, Arial, sans-serif;
    color: #414546;
    font-size: 20px;
}
.gfield_label.gform-field-label {
    font-family: Open Sans, Helvetica, Arial, sans-serif;
    color: #414546;
    font-size: 16px;
}
.gform-field-label--type-inline {
    font-family: Open Sans, Helvetica, Arial, sans-serif;
    color: #414546;
    font-size: 16px;
}
.gfield_required, .gfield_required_text {
    font-family: Ubuntu;
    color: #b44675 !important;
}
.gform_wrapper .gfield input:focus,
.gform_wrapper .gfield textarea:focus,
.gform_wrapper .gfield select:focus {
    outline: none !important; /* Remove outline if using inset shadow */
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); /* Grey box-shadow */
}
.gf_progressbar_percentage {
    background-color: #63bbc3 !important;
}
.gform_next_button, #gform_submit_button_2, .gform_button {
    background-color: #46b48c !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
	font-weight: 500;
    border-radius: 4px !important;
}
.gform_next_button:hover, #gform_submit_button_2:hover, .gform_button:hover {
    background-color: #38a575 !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
	font-weight: 500;
    border-radius: 4px !important;
}
.gform_next_button:active, #gform_submit_button_2:active, .gform_button:active, .gform_next_button:focus, #gform_submit_button_2:focus, .gform_button:focus {
    background-color: #2a965e !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
	font-weight: 500;
    border-radius: 4px !important;
	outline: none;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}

/* --- WP Forms & Buttons - Buttons are Flat Style to match WPB Flat buttons. Change all buttons in WPB CSS to other styles as needed. --- */

/* Search Form on Search Results Page and Blog Cat Pages */
.search-form input[type="text"] {
    border-radius: 4px !important; 
	border: 1px solid #cacaca;
}
input[type="search"]:focus,
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus {
    outline: none !important;  /* Search Form on Search Results Page and Blog Cat Pages */
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}

/* Search Button on Search Results Page */
.search-form input[type="submit"] {
    background-color: #46b48c !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
	font-weight: 500;
    border-radius: 4px !important;
}
.search-form input[type="submit"]:hover {
    background-color: #38a575 !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
	font-weight: 500;
    border-radius: 4px !important;
}
.search-form input[type="submit"]:active, .search-form input[type="submit"]:focus {
    background-color: #2a965e !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
	font-weight: 500;
    border-radius: 4px !important;
	outline: none;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}

/* Search Widget Div */

.wp-block-search__inside-wrapper {
    margin-bottom: 20px; 
}
.wp-block-search__input {
    border-radius: 4px !important;
    border: 1px solid #cacaca;
}

/* Buttons: Used on Search Widget, WooComm Proceed to Checkout & Place Order Buttons, Crossells on Cart */

.wp-element-button {
    background-color: #46b48c !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
	font-weight: 500;
    border: none !important;
    border-radius: 4px !important;
}
.wp-element-button:hover {
    background-color: #38a575 !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
	font-weight: 500;
    border: none !important;
    border-radius: 4px !important;
}
.wp-element-button:active, .wp-element-button:focus {
    background-color: #2a965e !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
	font-weight: 500;
    border: none !important;
    border-radius: 4px !important;
	outline: none;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}

/* --- On Page WPB Elements or Raw HTML --- */

/* Controls Post Excerpt Length */

.blog-post-excerpt p {
    display: -webkit-box;         /* Enables the webkit box layout model */
    -webkit-box-orient: vertical; /* Specifies the box's orientation */
    overflow: hidden;             /* Hides content outside the defined area */
    -webkit-line-clamp: 5;        /* Limits to 5 lines */
    text-overflow: ellipsis;      /* Adds ellipsis (...) for overflow */
}
.blog-post-excerpt {  
    font-size: 13px; /* On Blog Roll Post Media Grid - Slide In from Left Edited Grid*/
}
.vc_gitem-post-data-source-post_excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 4; /* Number of lines to show on Basic Post Grid: Text First */
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.vc_tta-title-text { /* Tab Text on Tour Element */
    font-weight: bold;
}

/* WPB Accordion Element */
.vc_tta-title-text {
    font-size: 1.25rem;
    letter-spacing: 0.01em;
}

/* Raw HTML: Testimonial Block Styles */

.image-text-container {
    display: flex;
    align-items: center; /* Vertically center the image and text */
}
.image-text-container img {
    width: 100px;
    height: 100px;
    border-radius: 50%;    /* Creates a circle */
    object-fit: cover;     /* Covers container without distortion */
    margin-right: 15px;
}

.image-text-container-beside {
    display: flex;
    flex-direction: column;
    height: 100%; /* or a specific height */
    position: relative;
    align-items: center; /* Vertically center the image and text */
}
.image-text-container img {
    width: 100px;
    height: 100px;
    border-radius: 50%;    /* Creates a circle */
    object-fit: cover;     /* Covers container without distortion */
    margin-right: 15px;
}

body .vc_column_container.vertical-center > .vc_column-inner { /* Vertically center content in WPB column. Add vertical-center as col CSS Style. */
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;  /* Optional: centers horizontally too */
    min-height: 350px !important;      /* Set an appropriate min-height */
    box-sizing: border-box !important;
}

/* WPB: Blockquote Styling */
html body .wpb_wrapper blockquote {
    margin-left: auto !important;
    margin-right: auto !important;
}
.wpb_wrapper blockquote {
    position: relative !important;
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #333 !important;
    background: #f9f9f9 !important;
    padding: 40px 50px !important;
    border-left: 5px solid #e8e8e9 !important;
    margin: 30px auto !important;
	  margin-left: 0px !important; /* Remove 15px indent on the left */
    line-height: 1.6 !important;
    max-width: 800px !important;
}
.wpb_wrapper blockquote::before {
    font-family: "Font Awesome 5 Free" !important;
    content: "\f10d" !important;
    font-weight: 900 !important;
    font-size: 3.5rem !important;
    color: #e8e8e9 !important;
    position: absolute !important;
    top: -2px !important;
    left: 16px !important;
}
.wpb_wrapper blockquote p {
    display: inline-block !important; /* Ensure paragraph text is styled correctly */
    margin-top: -10px !important; /* Overlaps the icon slightly */
    padding-left: 15px !important;
    z-index: 1 !important;
    position: relative !important;
}

/* Testimonial Slider - Borrows some styles from blockquote above, like quote icon, left grey edge, etc */

.testimonial-slider {
    max-width: 800px;
    margin: 0 auto;
}
.testimonial-slide {
    text-align: center;
    padding: 20px;
}
.testimonial-title {
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: bold;
    color: #47669d;
    margin-bottom: 10px;
}
.testimonial-quote {
    font-size: 1rem;
    font-style: italic;
    line-height: 1.5;
    margin-bottom: 20px;
}
html body .testimonial-slider .testimonial-quote {
    padding-left: 62px !important;
}
.testimonial-author {
    display: flex;
    align-items: center;
    justify-content: center;
}
.testimonial-headshot {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin-right: 15px;
    object-fit: cover;
}
.author-info {
    text-align: left;
}
.author-name {
    font-weight: bold;
    margin: 0;
}
.author-title {
    margin: 0;
    font-size: 0.9rem;
    color: #666;
}

/* Testimonial Call-Out Box */

.testimonial-box {
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    max-width: 500px;
    margin: 0 auto; /* center horizontally */
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative; /* Required for the triangle */
}
.testimonial-box::after { /* Add a triangle at the bottom center */
    content: "";
    position: absolute;
    bottom: -9px;      /* Adjust to control vertical position */
    left: 50%;          /* Center horizontally */
    transform: translateX(-50%);
    border-width: 10px 10px 0 10px;  /* Triangle size (top, right, bottom, left) */
    border-style: solid;
    border-color: #fff transparent transparent transparent; /* White triangle */
}
.testimonial-title { /* Title */
    font-size: 1rem;
    font-weight: bold;
    margin: 0;
    position: relative;
    line-height: 1.2;
}
.testimonial-stars {
    color: #f5c518; /* yellow */
    font-size: 1rem;
}
.testimonial-text {
    font-size: 1rem;
    line-height: 1.4;
    color: #000;
    margin: 0;
}
.testimonial-author {
    font-size: 0.9rem;
    font-style: italic;
    color: #333;
    margin: 0;
}

/* WPB: Hoverbox H2 */
.vc-hoverbox-block-inner.vc-hoverbox-back-inner h2 {
    font-size: 2rem !important;
    color: #000000;
}
.vc-hoverbox-block-inner.vc-hoverbox-front-inner h2 {
    font-size: 2.5rem !important;
    font-weight: 900px;
    color: #000000;
}

/* WPB: Accordian H4 */
.vc_toggle_title h4 {
    font-size: 1rem !important;
    color: #000000;
}

/* WPB: Video Widget Title H2 */
.wpb_wrapper h2.wpb_heading.wpb_video_heading {
    font-size: 1rem !important;
    color: #000000;
}

/* WBP: Separator with Text */
.vc_separator.vc_sep_color_vista_blue .vc_sep_line {
    border-color: #46b48c !important;
}
.vc_separator.vc_sep_color_sky .vc_sep_line {
    border-color: #47669d !important;
}
.vc_separator h4 {
    font-size: 1.75rem !important;
}

/* RAW HTML Separator with Icon */
.separator-with-icon {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 20px auto; /* center the separator */
    width: 50%; /* takes up 50% of the container's width */
}
.separator-with-icon::before,
.separator-with-icon::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid #000;
}
.separator-with-icon::before {
    margin-right: 10px;
}
.separator-with-icon::after {
    margin-left: 10px;
}
.separator-with-icon i {
    font-size: 20px; /* adjust size as needed */
    color: #fff;     /* adjust color as needed */
}
.icon-bg-circle { /* A 40x40 circular background behind the icon */
    background-color: #333;   /* Shape color */
    color: #fff;             /* Icon color */
    border-radius: 50%;      /* Makes the background a perfect circle */
    width: 40px;             /* Set fixed width/height for consistent shape */
    height: 40px;            /* Match width */
    display: inline-flex;    /* Use flex to center icon inside the background */
    align-items: center;
    justify-content: center;
    text-align: center;      /* Just in case, ensures icon is centered horizontally */
}

/* WBP: Transitions a whole column vertically to match Blog Cat Boxes and Team 2 Boxes */

.transition-box { /* Apply to columns in the row */
    box-sizing: border-box;         /* Include padding in overall size */
    transition: transform 0.3s ease;  /* Smooth vertical transition */
    border: 1px solid #ccc;           /* Single outline around the whole div */
    background-color: #f9f9f9;
    padding: 10px;                  /* 10px inner padding */
    border-radius: 4px;
    overflow: hidden;               /* Prevent content from spilling out during hover */
    margin-left: 15px !important;
    margin-right: 15px !important;
    max-width: 403px;                  /* Constrain to fit all on one row, incl margins */
}
.transition-box:hover { 
    transform: translateY(-10px); /* Hover effect: move vertically only */
}

/* Core Extend: Team Element */
.team_image {
    display: flex;
    justify-content: center; /* Horizontally center */
    align-items: center;     /* Vertically center */
}
.team_image img {
    width: 100%;
    height: auto;
    display: block;
}

/* 2C Premium Plugin Team Element: Social Icons in HTML in Addtional Info */

.social-icons-team-member {
    display: flex !important;
    justify-content: left;
    align-items: left;
    flex-wrap: nowrap;
    gap: 15px; /* Space between icons */
}
.social-icons {
    display: flex !important;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    gap: 15px; /* Space between icons */
}

.social-icons a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
}
.social-icons a,
.social-icons a:link,
.social-icons a:visited,
.social-icons a:hover,
.social-icons a:active {
    text-decoration: none !important;
    border: none !important;
    display: inline-block !important;
}
.social-icons a i {
    transition: color 0.3s ease;
}

/* Hover effects with brand colors */
.social-icons a:hover i.fa-linkedin {
    color: #0077b5 !important;
}
.social-icons a:hover i.fa-x-twitter {
    color: #000000 !important;
}
.social-icons a:hover i.fa-instagram {
    color: #E1306C !important;
}
.social-icons a:hover i.fa-youtube {
    color: #FF0000 !important;
}
.social-icons a:hover i.fa-facebook {
    color: #1877F2 !important;
}
.social-icons a:hover i.fa-pinterest {
    color: #BD081C !important;
}

/* Core Extend: Counter */
.count_data {
    font-size: 5rem; /* Adjust size as needed */
    font-weight: 900; /* Extra bold */
    color: #000; /* Black text */
    letter-spacing: 0.01em;
}


/* --- WooCommerce Elements & Buttons - Buttons are Flat Style to match WPB Flat buttons. Change all buttons in WPB CSS to other styles as needed. Remove styles below if not using WooCommerce.--- */

/* WooCommerce: Product Block Styles */
.woocommerce ul.products li.product a:hover {
    border-bottom: none; /* Remove a (link) double underline on prod display box on Shop or Cats */
}
.wc-block-grid__product .wc-block-grid__product-link:hover {
    border-bottom: none; /* Remove a (link) double underline on prod display box on Empty Cart */
}
.wc-block-components-product-rating-stars__stars {
    color: #f5c518;
}

/* Product Box Buttons in WPB WooComm Product Display Elements (Best Sellers, etc) & on Empty Cart Prod Display */

.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
    line-height: 0.75 !important; /* override inherited line-height */
}
.wp-block-button.wc-block-components-product-button .wp-block-button__link {
    font-size: 14px !important;
}
a.button, a.wp-block-button__link, a.block-button__link {
    background-color: #46b48c !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px !important;
	font-weight: 500 !important;
    border: none;
    border-radius: 4px !important;
}
a.button:hover, a.wp-block-button__link:hover, a.block-button__link:hover {
    background-color: #38a575 !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px !important;
	font-weight: 500 !important;
    border: none;
    border-radius: 4px !important;
}
a.button:active, a.button:focus, a.wp-block-button__link:active, a.wp-block-button__link:focus, a.block-button__link:active, a.block-button__link:focus {
    background-color: #2a965e !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px !important;
	font-weight: 500 !important;
    border: none;
    border-radius: 4px !important;
	outline: none;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}

/* WooCommerce: Product Price Styles */

.product-price p.price del,
.product-price p.price del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price del,
.wc-block-grid__product-price del,
.wc-block-grid__product-price del .woocommerce-Price-amount {
    color: #666 !important; /* Strike-through regular price on Shop, SingleProduct.php, Empty Cart Display on Cart page. */
    font-weight: 500;
}
.product-price p.price ins,
.product-price p.price ins .woocommerce-Price-amount,
.woocommerce ul.products li.product .price ins,
.wc-block-grid__product-price ins,
.wc-block-grid__product-price ins .woocommerce-Price-amount,
.price > .woocommerce-Price-amount,
.price .woocommerce-Price-amount {
    color: #000 !important; /* Sale price on Shop, SingleProduct.php, Empty Cart Display on Cart page. */
    text-decoration: none !important;
    font-weight:600;
}
.product-price { /* Prod Price on SingleProduct.php */
    font-size: 22px;
    color: #000;
    font-weight: 700;
    margin-bottom: 15px;
}
.wc-block-components-product-name {
    font-weight: 700!important; /* Prod Price on Cross-sells on Cart page. */
}

/* --- WooCommerce: SingleProduct.php Styles --- */

.single-product-gallery {
    display: flex; /* Product Gallery Layout */
    align-items: flex-start;
    gap: 15px;
    margin-top: 46px !important;
}
.single-product-gallery {
    margin-right: auto;
}
.product-thumbnails {
    display: flex; /* Thumbnail Container */
    flex-direction: column;
    gap: 10px;
    max-width: 100px;
}
.product-thumbnails img {
    cursor: pointer; /* Thumbnail Images */
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: border 0.3s ease-in-out, opacity 0.3s ease-in-out;
    width: 100%;
}
.product-thumbnails img.active {
    border: 2px solid #63bbc3; /* Active Thumbnail */
    opacity: 0.7;
}
.product-main-image {
    flex-grow: 1; /* Main Product Image */
    max-width: 600px;  /* Increase container width to 600px */
}
.product-main-image img {
    width: 600px;       /* Fixed width */
    height: auto;       /* Adjust height automatically to preserve aspect ratio */
    max-height: 600px;   /* Ensure the height never exceeds 600px */
    border-radius: 4px;
    transition: opacity 0.3s ease-in-out;
}
/* Mobile Responsiveness of Image Gallery */

@media screen and (max-width: 768px) {
    .single-product-gallery {
        flex-direction: column;
        align-items: center;
    }
    .product-thumbnails {
        flex-direction: row;
        max-width: unset;
        justify-content: center;
    }
    .product-thumbnails img {
        max-width: 80px;
    }
}
.single-product-container {
    max-width: 1300px;
    margin: auto;
    padding: 40px 20px;
}
.single-product-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: center;
}
.single-product-image {
    flex: 1;
    max-width: 500px;
}
.single-product-details {
    flex: 1;
    max-width: 500px;
}
.product-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 10px;
    margin-top: 43px !important;
}
.quantity input.qty {
    border-radius: 4px !important; /* WooCoommerce quantity input field */
    border: 1px solid #cacaca !important; 
    padding: 5px; /* Adjust padding for better spacing */
    font-size: 16px;
    width: 60px; /* Adjust width as needed */
    text-align: center;
    outline: none; /* Remove default focus outline */
    transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.quantity input.qty:focus {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey glow */
    border-color: #999 !important;
}
.quantity {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}
select[name="attribute_pa_size"] {
    border-radius: 4px !important; /* WooCommerce Attributes Drop-down */
    border: 1px solid #cacaca !important;
    padding: 8px 10px !important;
    margin: 0 10px !important;
    font-size: 14px !important;
    background-color: #fff !important;
    color: #333 !important;
    appearance: none !important; /* Removes default browser styling */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    cursor: pointer !important;
}
select[name="attribute_pa_size"]:focus {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
    outline: none !important; /* Removes default outline */
}
.product-add-to-cart {
    margin-top: 20px;
}
.alt {
    background-color: #46b48c !important; /* Add to Cart Button */
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em!important;
	font-size: 14px !important;
    border-radius: 4px !important;
}
.alt:hover {
    background-color: #38a575 !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px!important;
    border-radius: 4px !important;
}
.alt:active, alt:focus {
    background-color: #2a965e !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px !important;
    border-radius: 4px !important;
	outline: none;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}
.stock {
    text-transform: uppercase; /* Stock Message on SingleProduct.php */
    color: #63bbc3;
    font-weight: 600;
    font-size: 14px;
    transition: color 0.4s ease-in-out; /* Smooth transition */
    border: 2px dotted transparent; /* Initially transparent */
    padding: 2px 5px; /* Adds space between text and border */
}
.stock:hover {
    color: #666; /* Hover color */
    border: 2px dotted #666; /* Adds a dotted border on hover */
}
a.button.product_type_simple.out-of-stock-button,
a.wp-block-button__link.out-of-stock-button, .wp-element-button.out-of-stock-button {
    background-color: #666 !important; /* Target buttons with OUT OF STOCK text */
    color: #fff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border: none;
    border-radius: 4px !important;
    opacity: 0.7 !important; /* Dimmed effect */
}
a.button.product_type_simple.out-of-stock-button:hover, a.wp-block-button__link.out-of-stock-button:hover {
    background-color: #565050 !important; 
    color: #fff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border: none;
    border-radius: 4px !important;
    opacity: 0.7 !important; /* Dimmed effect */
}
a.button.product_type_simple.out-of-stock-button:active, a.button.product_type_simple.out-of-stock-button:focus, a.wp-block-button__link.out-of-stock-button:active, a.wp-block-button__link.out-of-stock-button:focus {
    background-color: #564a4a !important; 
    color: #fff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border: none;
    border-radius: 4px !important;
    opacity: 0.7 !important; /* Dimmed effect */
}
a.added_to_cart {
    margin-left: .5em; /* View Cart Text Link by Add to Cart Button on SingleProduct.php */
    text-transform: capitalize;
}

/* Cross Sells on Cart */

.cross-sells {
  display: none !important;
}


/* --- WooCommerce Product Tabs on SingleProduct.php --- */

.custom-product-tabs {
    margin-top: 40px;
}
.custom-tab-buttons {
    display: flex;
    gap: 10px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 20px;
}
.custom-tab {
    background: #eee;
    border: none;
    border-bottom: 2px solid #ddd !important;
    border-radius: 5px 5px 0 0;
    padding: 12px 18px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease-in-out;
}
.custom-tab.active {
    background: #63bbc3 !important; 
    color: #fff !important;
}
.custom-tab-content {
    background: #fff;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
}
.custom-tab-pane {
    display: none;
}
.custom-tab-pane.active {
    display: block;
}
.custom-tab:focus {
    outline: none !important;
}
.comment-form-comment {
    font-size: 1.25rem; /* Your Review Title on Reviews Tab */
    line-height: 1.2;
    font-weight: 500;
    margin-bottom: 20px;
}

.custom-tab {
  -webkit-appearance: none !important; /* kill iOS button style */
  appearance: none !important;
  color: #000 !important;              /* force black text */
}


/* WooCommerce Comments/Reviews on Reviews Tab on SingleProduct.php */

li.review {
    list-style: none !important; /* --- Reviews Tab - Remove bullet and add left padding where bullet was before each review --- */
    position: relative;
    padding-left: 1.5em; /* Reserve space for your symbol */
}
li.review::before {
    content: "★ " !important; /* Star symbol with a trailing space */
    color: #f5c518 !important; /* Adjust the star color */
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.2em !important; /* Adjust size as needed */
}
textarea#comment {
    width: 100%; /* WooCommerce Comments/Reviews */
    border-radius: 4px !important;
    border: 1px solid #cacaca !important;
    padding: 10px;
    font-size: 16px;
    resize: vertical; /* Allow vertical resizing only */
    outline: none; /* Remove default focus outline */
    transition: box-shadow 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
textarea#comment:focus {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey glow */
}
input[type="submit"].submit {
    background-color: #46b48c !important; /* Submit Review button */
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
    border-radius: 4px !important;
    padding: 10px 20px !important; /* Ensures proper spacing */
    cursor: pointer !important; /* Makes it clear it's clickable */
}
input[type="submit"].submit:hover {
    background-color: #38a575 !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
    border-radius: 4px !important;
}
input[type="submit"].submit:active, input[type="submit"].submit:focus {
    background-color: #2a965e !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.04em !important;
	font-size: 14px;
    border-radius: 4px !important;
	outline: none;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}
/* WooCommerce: Cat Display Sorting Dropdown */

.woocommerce-ordering select {
    border-radius: 4px !important;
	border: 1px solid #cacaca;
    padding: .5rem 1rem;
    width: 100%;
    height: 100%;
    max-width: 24.5625rem;
    max-height: 3rem;
}

/* --- WooCommerce Sale Badge Styling --- */

.wc-block-cart .wc-block-components-product-sale-badge,
.wc-block-cart .wc-block-cart-items__product-onsale,
.wc-block-grid .wc-block-grid__product-onsale,
.onsale {
    background: #63bbc3 !important; 
    border: 1px solid #43454b !important;
    border-radius: 4px !important;
    color: #fff !important;
    display: inline-block !important;
    font-size: 0.875em !important;
    font-weight: 600 !important;
    padding: .25em .75em;
    position: absolute;
    right: 4px;
    text-align: center;
    text-transform: uppercase;
    top: 4px;
    width: auto;
    z-index: 9;
}
.woocommerce span.onsale {
    min-height: unset; /* On Shop Page */
    min-width: unset;
    padding: .25em .75em;
    position: absolute;
    right: 4px;
    font-size: 0.875em !important;
    font-weight: 600 !important;
    line-height: unset;
}

/* --- WooCommerce Empty Cart Display on Cart Page--- */

.wc-block-cart__empty-cart__title.with-empty-cart-icon::before { 
    visibility: hidden !important; /* Remove Font Awesome Sad Face */
    display: none !important;
}
.wp-block-separator.has-alpha-channel-opacity.is-style-dots {
    display: none !important; /* Remove dot dot dot */
    visibility: hidden !important;
}
h2.wp-block-heading {
    text-transform: capitalize;
}

/* --- WooCommerce Side Cart Flyout --- */

.wc-block-components-button {
    font-weight: 300;
}

/* --- WooCommerce Checkout Page --- */

.wc-block-checkout__login-prompt::after {
    content: "\00BB"; /* Unicode for arrow before Login Link*/
    font-size: 23px;
    color: #b44675;
    margin-left: 5px;
}
.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt {
    float: right;
    font-size: 1.50em !important;
    margin-top: -24px;
    text-transform: capitalize;
}
h2.wc-block-components-checkout-step__title {
    text-transform: capitalize;
}
.wc-block-components-checkbox label {
    font-weight: 700; /* Checkbox to create account*/
}
.wc-blocks-components-select .wc-blocks-components-select__select {
	border: 1px solid #cacaca !important; /* Dropdowns on WooCommerce Checkout Page */
}

/* --- WooCommerce Messages --- */

.woocommerce-message {
    margin-top: 20px !important; /* Added to Cart Message on SingleProduct.php */
    background-color: #f9f9f9;
    color: #000;
    border-top: none;
    outline: none !important;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}
.wc-block-components-notice-banner.is-error {
    background-color: #f6f5f8 !important;
    border-color: #cc1818;
    outline: none !important;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}
.wc-block-components-notice-banner.is-info {
    background-color: #f6f5f8 !important;
    border-color: #cacaca;
    outline: none !important;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}
.wc-block-components-notice-banner.is-success {
    background-color: #f6f5f8 !important;
    border-color: #4ab866;
    outline: none !important;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}
.wc-block-components-notice-banner.is-warning {
    background-color: #f6f5f8 !important;
    border-color: #f0b849;
    outline: none !important;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
}
.wc-block-components-shipping-rates-control__no-shipping-address-message::before {
    font-family: "Font Awesome 6 Free"; /* Add Shipping Addy Message on Checkout */
    font-weight: 900;
    content: "\f06a"; /* Unicode for fa-exclamation-circle */
    font-size: 13px; 
    color: #cc1818;
    margin-right: 5px;
}
.wc-block-components-shipping-rates-control__no-shipping-address-message {
    border-top: none;
    outline: none !important;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important; /* Grey box-shadow */
    background-color: #f6f5f8 !important;
    color: #515151 !important;
}

/* Woo Shop Page Mini-Cart Widget Product Count Styles */
.wc-block-mini-cart__quantity-badge { /* Ensure the quantity badge container is positioned relatively */
    position: relative;
    display: inline-block;
}
.wc-block-mini-cart__quantity-badge .wc-block-mini-cart__badge { /* Position the badge absolutely relative to the icon */
    position: absolute;
    top: -5px;   /* Adjust as needed */
    right: -5px; /* Adjust as needed */
    background-color: #63bbc3; /* Or your preferred color */
    color: #fff;
    border-radius: 50%;
    padding: 2px 6px;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    z-index: 10; /* Make sure it sits on top of the icon */
}