/*
 Theme Name:   GMB Bricks Child
 Theme URI:    https://gmb.digital/
 Description:  Used to extend the Bricks theme.
 Author:       The Team @ Grow My Business
 Author URI:   https://gmb.digital/about
 Template:     bricks
 Version:      1.1
 Text Domain:  gmb
*/


/*
 * Prevent Horizontal Overflow
 */

 html {
	height: 100%;
}

body {
	min-height: 100%;
	overflow-x: hidden;
}

section.brxe-section {
    overflow-x: clip;
}

img {
	-webkit-user-select: none;
	user-select: none;
}

/*
 * Set Bold font weight to Semi-Bold
 */
strong {
	font-weight: 600;
}

/*
 * Prevent content of elements with ratio class from stretching (e.g. images)
 */
[class*="ratio-"] {
    object-fit: cover;
    object-position: center;
}

/*
 * Prevent buttons inner text and the nav menu items from wrapping
 */
.brxe-button,
.nav-menu {
    white-space: nowrap;
}

/*
 * Set 'scroll to' offset for elements with ids (for in-page linking)
 */
[id] {
    scroll-margin-top: calc(var(--spacing-lrg) * 1.5);
}

/*
 * Set content within .has-bg-image elements to z-index 2
 */
.has-bg-image > *:not(.bg-image) {
    z-index: 2;
}

/*
 * List Styles
 */
.brxe-text ul {
    padding-left: 2em;
}

.brxe-text ul li:not(:last-child) {
    margin-bottom: 0.3em;
}

/*
 * Enable overflow for shadows on table of contents
 */
.brxe-post-toc {
  overflow: visible;
}

/*
 * Gravity Forms Styles
 */

.gform_wrapper form {
    --btn-bg-color: var(--color-primary);
    --btn-text-color: var(--color-light);
    --text-color: var(--color-primary);
    --border-color: var(--color-light-grey);
    --field-bg-color: var(--color-light);
    --border-radius: var(--border-radius-sml);
    --border-width: 0.1rem;
}

.gform_wrapper  form.light,
.light-form .gform_wrapper form {
    --btn-bg-color: var(--color-primary);
    --btn-text-color: #231F20;
    --text-color: #231F20;
    --border-color: var(--color-grey);
    --field-bg-color: #e7e7e7;
}

.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper select {
    background-color: #e7e7e7 !important;
    color: #231F20;
    border: var(--border-width) solid var(--border-color);
    padding: 1.2rem 1.6rem !important;
    border-radius: var(--border-radius);
    color: #231F20;
    line-height: 2rem;
	font-size: 0.9em !important;
	font-weight: 500;
}

.gform_wrapper.gravity-theme label.gfield_label {
    font-size: 0.9em;
    font-weight: 500;
    color: var(--color-dark);
    margin-bottom: 0.4rem;
}

.gform_wrapper select {
    appearance: none;
    -webkit-appearance: none;
    background-size: 1rem auto;
    background-position: right 1rem top 50%;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEyIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xOTVfMTczOCkiPgo8cGF0aCBkPSJNMSAxLjVMNiA2LjVMMTEgMS41IiBzdHJva2U9IiMyMTIxMjEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTk1XzE3MzgiPgo8cmVjdCB3aWR0aD0iMTIiIGhlaWdodD0iOCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K);
}

.gform_wrapper  form.light select,
.light-form .gform_wrapper form select {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEyIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xOTVfMTczOCkiPgo8cGF0aCBkPSJNMSAxLjVMNiA2LjVMMTEgMS41IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTk1XzE3MzgiPgo8cmVjdCB3aWR0aD0iMTIiIGhlaWdodD0iOCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4);
}

.ginput_complex span {
    display: block !important;
}

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder,
.gform_wrapper select:not(:focus) {
    color: #231F20 !important;
}

body .gform_wrapper input:not([type="submit"]):not([type="button"]):focus,
body .gform_wrapper textarea:focus {
/*     border-color: var(--text-color) !important;
	color: var(--text-color) !important;
    outline: none; */
}

.gform_wrapper input[type="submit"] {
	width: 100%;
}

.gform_wrapper input[type="submit"],
.gform_wrapper input[type="button"] {
    background-color: #231F20 !important;
    color: var(--btn-text-color);
    border: none;
    
    text-align: center;
    padding: 0.8em 1.2em !important;
    
    cursor: pointer;
    transition: background 200ms ease;
	
/* 	text-transform: uppercase; */
	font-weight: 400;
/* 	font-family: "Barlow Condensed", sans-serif; */
	font-size: var(--font-size-base) !important;
}

.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="button"]:hover {
    background: color-mix(in srgb, var(--btn-bg-color), var(--color-dark) 10%);
}

.gform_required_legend,
.gform_wrapper .gform_heading {
	display: none;
}

.gform_wrapper .gform_footer {
    padding: 0 !important;
}

.gform_wrapper .gform_footer input {
    margin-bottom: 0 !important;
}

.gform_wrapper .gfield--type-html {
    font-size: 0.85em;
}

.gform_ajax_spinner {
    margin-left: 2rem;
}

.gfield_validation_message {
    display: none;
}

select.light option,
.light-form select option {
    background-color: var(--btn-bg-color);
    color: var(--btn-text-color);
}


/* Custom Field Styling */
.wcpa_field_label {
	color: #fff !important;
	font-size: 18px !important;
}

.wcpa_field {
	background-color: rgba(0,0,0,0) !important;
	border-radius: 0px !important;
	border: 1px solid #fff !important;
	color: #fff !important;
	font-size: 18px !important;
}

.wcpa_file_style .awpca_custom_file {
	background-color: rgba(0,0,0,0) !important;
	border: 0px !important;
}

.wcpa_file_style .wcpa_choose_button {
	background-color: rgba(0,0,0,0) !important;
}

/* Add to Quote STYLING */
.wc-proceed-to-checkout {
	display: flex;
	gap: 22px;
}

.wc-proceed-to-checkout #ywraq_cart_quote.button, .wc-proceed-to-checkout #ywraq_checkout_quote_button.button {
	width: unset;
	background-color: #1594bf;
}

#yith-ywraq-default-form input, #yith-ywraq-default-form textarea {
	background-color: #e7e7e7;
	border-color: #e7e7e7;
	color: #23201f;
}

#yith-ywraq-default-form input[type="submit"] {
	background-color: #23201f !important;
	color: #fff !important;
	width: 100%;
	border: 0px solid #23201f;
	text-align: center;
	padding: 12px 6px;
}

#yith-ywraq-default-form label {
	color: #23201f !important;
}

/* Styling Add to Cart buttons */
/* Make the variations form a vertical flex stack */
.variations_form.cart {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Flatten the inner wrapper so its children can be reordered relative to the table */
.variations_form.cart .single_variation_wrap {
  display: contents; /* lets its children participate as direct flex items */
}

/* ORDER: 1) Description (and price/stock block) at the top */
.variations_form.cart .woocommerce-variation.single_variation {
  order: 1;
}

/* ORDER: 2) Attribute selectors table next */
.variations_form.cart table.variations {
  order: 2;
}

/* ORDER: 3) Add-to-cart group (qty + buttons) at the bottom */
.variations_form.cart .woocommerce-variation-add-to-cart {
  order: 3;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
}

/* Keep quantity + buttons visually grouped */
.variations_form.cart .woocommerce-variation-add-to-cart .quantity {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}

/* Optional: make the button full-width on mobile */
@media (max-width: 640px) {
  .variations_form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button,
  .variations_form.cart .woocommerce-variation-add-to-cart .buy-now,
  .variations_form.cart .woocommerce-variation-add-to-cart .button {
    width: 100%;
  }
}

table.variations, table.variations tr {
	border: 0px !important;
}

table.variations tr {
	display: flex;
	align-items: center;
	flex-grow: grow;
	margin-bottom: 16px;
}

table.variations tr th {
	width: 50%;
}

table.variations tr th.label {
	padding: 0px;
}

table.variations tr td.value {
	padding: 0px;
}

div.quantity {
	position: relative !important;
	z-index: 1;
}

span.plus {
	z-index: 1000;
	position: absolute;
	right: 0;
	top: 0;
}

span.minus {
	z-index: 1000;
	position: absolute;
	right: 0;
	bottom: 0;
}

span.action {
	border: 0px !important;
}

.woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: nowrap;
	gap: 16px !important;
}

#brxe-gemilh > form > div.single_variation_wrap > div.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled > button {
	margin: 0px !important;
/* 	width: 100%; */
	flex: 1;
	height: -webkit-fill-available;
	border-radius: 2px;
	
}

form.cart .quantity, form.woocommerce-cart-form .quantity {
	width: 70px;
	border-radius: 2px;
}

.quantity input[type="number"] {
	padding-left: 8px !important;
}

/* Hide the default "Clear" link if you want it tidier (optional) */
.variations_form.cart a.reset_variations { display: none !important; }

/* Make room on the right for the stacked controls */
div.quantity .qty,
div.quantity input[type="number"] {
  padding-right: 40px; /* adjust if your buttons are wider */
}

/* Shared button chrome */
div.quantity span.plus,
div.quantity span.minus {
  --chev-size: 10px;       /* chevron side length */
  --chev-thickness: 2px;   /* line thickness */
  --btn-w: 36px;
  --btn-h: 28px;

  width: var(--btn-w);
  height: var(--btn-h);
  display: grid;
  place-items: center;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;

  /* Optional: subtle hit-area background */
  background: transparent;
  border-radius: 6px;
}

/* Keep your absolute positioning from existing CSS */
div.quantity span.plus { right: 0; top: 0; }
div.quantity span.minus { right: 0; bottom: 0; }

/* Hide the existing inline SVG icons */
div.quantity span.plus > svg,
div.quantity span.minus > svg {
  display: none !important;
}

/* Draw the chevron with a pseudo-element (no extra HTML) */
div.quantity span.plus::before,
div.quantity span.minus::before {
  content: "";
  width: 6px;
  height: 6px;
  border-style: solid;
  border-width: var(--chev-thickness) var(--chev-thickness) 0 0;
  border-color: currentColor;
  display: block;
}

/* Direction: up for plus, down for minus */
div.quantity span.plus::before  { transform: rotate(-45deg); }  /* ∧ */
div.quantity span.minus::before { transform: rotate(135deg); }  /* ∨ */

/* Hover/active feedback (optional but nice) */
div.quantity span.plus:hover,
div.quantity span.minus:hover {
  background: rgba(0,0,0,0.06);
}

div.quantity span.plus:active,
div.quantity span.minus:active {
  transform: translateY(1px);
}

/* Disabled state support if you toggle a class */
div.quantity span.plus.is-disabled,
div.quantity span.minus.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}


/* Cart Quantity on Nav */
#brxe-gmiffg { position: relative; }
#brxe-gmiffg::after {
  content: attr(data-count);         /* JS sets data-count */
  position: absolute;
  top: -6px; 
  right: -6px;
  min-width: 1.25em;
  height: 1.25em;
  line-height: 1.25em;
  padding: 0 0.3em;
  font-size: 12px;
  text-align: center;
  border-radius: 999px;
  background: #ef3749;               /* style however you like */
  color: #fff;
  font-weight: 700;
  pointer-events: none;
}

/* WooCommerce Form Styles */
form[class*="woocommerce"],
form[class*="woocommerce"] * {
    font-size: var(--font-size-base);
    font-weight: 500;
}

form[class*="woocommerce"] input,
form[class*="woocommerce"] textarea,
form[class*="woocommerce"] select {
    font-size: 0.9em;
    color: var(
    --color-dark);
    border-radius: var(
    --border-radius-sml);
    height: auto;
    min-height: 0;
    line-height: 1;
    border: none;
    background: var(--color-light-grey);
    padding-block: 0 !important;
    padding-inline: 0 !important;
    padding: 1.1em 1.4em !important;
}

form[class*="woocommerce"] input::placeholder,
form[class*="woocommerce"] textarea::placeholder,
form[class*="woocommerce"] select::placeholder {
    color: rgba(0,0,0,0.4);
}

ul.woocommerce-shipping-methods input[type=radio]+label {
    font-size: var(--font-size-base);
    color: var(--color-dark);
}

.cart-collaterals table tbody tr {
    vertical-align: top;
}

#ywraq_cart_quote.button, #ywraq_checkout_quote_button.button {
    border: none !important;
    background: var(--color-dark) !important;
    transition: background-color 200ms ease;
}

#ywraq_cart_quote.button:hover, #ywraq_checkout_quote_button.button:hover {
    background: #444141 !important;
}

form#yith-ywraq-default-form label {
    font-size: 0.9em;
}

form#yith-ywraq-default-form input, form#yith-ywraq-default-form textarea, form#yith-ywraq-default-form select {
    border-radius: var(--border-radius-sml);
    background: var(--color-light-grey);
    border: none !important;
    font-size: 0.9em;
    font-weight: 500;
    line-height: 1;
    padding: 1.2em 1.4em !important;
    text-transform: none !important;
}

form#yith-ywraq-default-form, form#yith-ywraq-default-form * {
    font-size: var(--font-size-base);
}

.yith-ywraq-mail-form-wrapper .form-row {
    margin-bottom: 0.8em;
}

form#yith-ywraq-default-form span.ywraq_error {
    font-size: 0.8em;
}

body .woocommerce-variation.single_variation {
    display: none !important;
}