/*
 Theme Name:   BoilerCop
 Theme URI:    https://boilercop.xsortal.com.com
 Description:  BoilerCop custom theme
 Author:       Mark Leavy
 Author URI:   https://boilercop.xsortal.com
 Template:     generatepress
 Version:      0.1
*/

/* ==========================================================================
   Design tokens — BoilerCop Style Guide
   Source of truth: BoilerCop-Style-Guide.pdf
   ========================================================================== */
:root {
  /* Fonts */
  --font-display: "Oswald", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-sans: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Core colours */
  --primary: #D94100;
  --primary-foreground: #FFFFFF;
  --background: #FAFAFA;
  --foreground: #181818;

  /* Secondary & neutrals */
  --secondary: #F5F5F5;
  --secondary-foreground: #181818;
  --muted: #F5F5F5;
  --muted-foreground: #717171;
  --accent: #F5F5F5;
  --accent-foreground: #181818;
  --card: #FFFFFF;
  --card-foreground: #181818;
  --border: rgba(24, 24, 24, 0.05);
  --input: rgba(24, 24, 24, 0.05);
  --ring: #D94100;

  /* Feature & status */
  --feature: #181818;
  --feature-foreground: #FAFAFA;
  --destructive: #E7000B;
  --destructive-foreground: #FAFAFA;

  /* Chart colours */
  --chart-1: #E85C04;
  --chart-2: #0D9488;
  --chart-3: #3B82F6;
  --chart-4: #F59E0B;
  --chart-5: #EF4444;

  /* Radius scale */
  --radius: 0.625rem;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-xl: 14px;
  --radius-2xl: 18px;
  --radius-3xl: 22px;

  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* ==========================================================================
   Self-hosted fonts
   ========================================================================== */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url('fonts/dm-sans-variable.woff2') format('woff2');
}

@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url('fonts/oswald-variable.woff2') format('woff2');
}

body.separate-containers .inside-article {
  padding: 0;
}
h1,
h2,
h3,
h4, h5, h6 {
  margin-bottom: 16px;
}
/* p {
  margin-bottom: 0;
} */

.site-logo {
  margin-bottom: 20px;
}

div.inside-header {
  padding-top: 40px;
  padding-bottom: 0;
}

div.site-footer a, div.site-footer a:visited {
  color: white;
  text-decoration: underline;
}

#bc-select-parts-submit {
  border:1px solid white;
}

/* .gb-query-loop-wrapper:empty:after {
    content: "No matching boiler parts found";
    margin: 0 auto 40px auto;
    font-size: 30px;
} */

.has-no-post-message .gb-query-loop-wrapper:not(:empty) + .no-post-message {
	display: none;
}


/*
Hide gravity forms required field red label
*/
.bc-gf-hide-required-label span.gfield_required {
  display: none;
}

/*
Remove all margins from element
*/
.bc-no-margins {
  margin: 0;
}

/*
Main menu - whatsapp icon official green
*/
/* li.menu-item i._mi.fa-whatsapp {
  color: #25D366;
  font-size: 2em;
} */
.gp-icon.shopping-cart svg {
  width: 2em;
  height: 2em;
  //top: 0.5em;
}

.main-navigation .menu-bar-item > a {
  line-height: inherit; 
}

/*
Home page find the right parts bg gradient
*/

div.gb-container.bc-hp-find-the-right-parts-container:before {
    background-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0.9) 50%,
    rgba(0, 0, 0, 0) 100%
), url(/wp-content/uploads/find_the_right_parts_hp_bg.webp);
}

/*
Expert Problem Solving image positioning and sizing
*/
div.container .bc-eps-lhs-img-1-container figure, div.container .bc-eps-lhs-img-1-container img {
margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

div.container .bc-eps-lhs-img-1-container img {
  object-fit: cover;
  display: block;
}


/*
Center the icon inside the 4 ways in icon container
*/
.bc-4waysin-container .icon-container {
  margin: auto;
  width: 50%;
}

/*
Hover over a 4wayin show clickable pointer
*/
/* .bc-4waysin-container:hover {
  cursor: pointer;
} */

.bc-logo-sc {
  cursor: pointer;
}

/*
Swiper
*/
.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 300px; /* Adjust as needed */
    background: #f9f9f9; /* Optional: for contrast */
}
.swiper-slide img, .swiper-slide video {
    display: block;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}
div.swiper-button-next,
div.swiper-button-prev {
    color: #1A4B6C;
    fill: #1A4B6C;
}



/*
TS forms
*/
.bc-find-form {
  display: flex;
  gap:10px;
  align-items: center;
}

.bc-find-form input[type="submit"] {
  margin: 0 0 12px 0;
  padding: 7px 20px;
  display: inline-flex;
  justify-content: center;
  width: 40%;
  font-size: 18px;
  background-color: var(--bc-main-blue);
  color: #ffffff;
  text-decoration: none;
}

.bc-find-form input[type="submit"]:hover,
.bc-find-form input[type="submit"]:active,
.bc-find-form input[type="submit"]:focus {
  background-color: var(--accent);
  color: #ffffff;
}

.bc-find-form-direction {
  flex-direction: column;
}

.bc-find-form-header-direction {
  flex-direction: row;
}

/*
Hide the labels on the expert upload form
*/
.bc-form-hide-label label.gform-field-label {
  display: none;
}

/*
Color the file upload rules
*/
.bc-form-expert-problem-solving .gform-field-label, .bc-form-expert-problem-solving .gform_fileupload_rules, .bc-form-expert-problem-solving .ginput_counter {
  color: white;
}

/*
Center the textarea placeholder
*/
/* .bc-form-expert-problem-solving .ginput_container_textarea {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.bc-form-expert-problem-solving .textarea {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.bc-form-expert-problem-solving .textarea::placeholder {
  text-align: center;
} */

.gform_wrapper ::placeholder {
    color: #999 !important;
    opacity: 1; /* Firefox */
}

/* Base styles for the select container */
.ts-wrapper {
  display: block;
  width: 100%;
  /* padding: 0.375rem 2.25rem 0.375rem 0.75rem; */
  margin-bottom: 12px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: var(--bc-main-blue);
  background-clip: padding-box;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.bc-find-form-row .ts-wrapper {
  margin: 0 12px;
}

.ts-wrapper .ts-control > input {
  min-width: auto;
}

/* Styles for the dropdown arrow */
.ts-wrapper .ts-control::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 11px;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #333;
  margin-top: -2.5px;
}

/* Styles for the dropdown */
.ts-dropdown {
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175);
}

/* Styles for dropdown options */
.ts-dropdown .option {
  padding: 0.25rem 1rem;
  color: #212529;
}

/* Hover and active states for options */
.ts-dropdown .active {
  color: #fff;
  background-color: #0d6efd;
}

/* Focus styles */
.ts-wrapper.focus {
  /* border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); */
}

.ts-wrapper.disabled .ts-control {
  opacity: 0.8;
}

/* Remove max-height and scrolling from Tom Select dropdowns */
.ts-dropdown .ts-dropdown-content {
  max-height: none !important;
  overflow-y: visible !important;
}

/*
Buttons
*/
input[type="submit"] {
  background-color: var(--bc-main-green);
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 16px 2px;
  cursor: pointer;
  border: none;
  border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

input[type="submit"]:hover {
  background-color: var(--bc-main-light-green);
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
}

input[type="submit"]:disabled {
  background-color: var(--contrast-3);
  color: var(--contrast-2);
  cursor: not-allowed;
  box-shadow: none;
}

/* Style the disabled button */
/* .button.add_to_cart_button.ajax_add_to_cart.add_to_cart_button_disabled {
  background-color: #ccc; /* Grey background to indicate disabled state */
  color: #777; /* Grey text color */
  cursor: not-allowed; /* Show not-allowed cursor on hover */
  pointer-events: none; /* Prevent any interaction */
  opacity: 0.6; /* Reduce opacity to indicate it's disabled */
} */

/* Optional: Additional hover and focus styles for better visual feedback */
/* .button.add_to_cart_button.ajax_add_to_cart.add_to_cart_button_disabled:hover,
.button.add_to_cart_button.ajax_add_to_cart.add_to_cart_button_disabled:focus {
  background-color: #ccc; /* Same background color on hover and focus */
  color: #777; /* Same text color on hover and focus */
  cursor: not-allowed; /* Maintain not-allowed cursor */
} */

/*
Product Loop
*/
.bc-query-loop-product figure.gb-block-image {
  margin-bottom: 0;
}

.bc-loop-price {
  font-weight: bold;
  font-size: 1.4em;
}

.bc-loop-external-comments {
    display: block;
    font-size: 12px;
    background: #FFF8E7;
    color: #8a5d00;
    border: 0.5px solid #e8c96a;
    border-radius: 4px;
    padding: 5px 10px;
    margin-bottom: 8px;
    font-style: normal;
}

.bc-loop-external-comments::before {
    content: "\24D8\00A0";  /* ⓘ + non-breaking space */
    font-style: normal;
}

.bc-query-loop-price-separator {
    border: none;
    border-top: 1px solid #e8e8e8;
    margin: 12px 0;
}

/*
Hide the tabs on the single product page
*/
/* .woocommerce div.product div.woocommerce-tabs ul.tabs {
  display: none;
} */

/*
Keep the right hand side preview div same height as left div
*/
.find-parts-by-manufacturer_preview_image {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.find-parts-by-manufacturer_preview_image img {
  max-height: 100%;
  width: auto;
  height: auto;
  contain: inline-size;
}

/*
Woocommerce tweaks
*/
.product-type-simple p.price {
  margin: 20px 0;
}

.product_meta {
  margin-bottom: 40px;
}

/* Style custom fields to match WooCommerce meta styling */
/* Ensure consistent spacing between custom fields */
.product_meta .custom-field-value {
    font-weight: normal;
    color: #666;
}

/* Add slight spacing between each meta field */
.product_meta span[class*="custom-meta-"] {
    margin-bottom: 0.5em;
    display: block;
}

/* Remove bottom margin from the last custom field */
.product_meta span[class*="custom-meta-"]:last-of-type {
    margin-bottom: 0;
}

/* Optional: Style specific fields differently */
.custom-meta-product_code .custom-field-value {
    font-family: monospace;
    background: #f9f9f9;
    padding: 2px 4px;
    border-radius: 3px;
}

/* .custom-meta-manufacturer .custom-field-value {
    font-weight: 600;
    color: #2c3e50;
} */

#gform_confirmation_message_4 {
  background-color: #FAFAFA;
  padding: 40px;
}

.bc-google-search-container {
  position: relative;
  display: inline-block;
  width: 100%;
}

.gsc-input-box table {
  margin: 0;
}

.gsc-input-box table tr td input {
  height: 2em !important;
}

/* Return-to-chatbot box styling */
.bc-chatbot-return-box {
    background: #FEC111;
    padding: 25px 35px;
    margin: 25px 0;
    border-radius: 8px;
    color: #333;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.bc-chatbot-return-box h3 {
    margin: 0 0 10px;
    font-size: 22px;
    font-weight: 700;
    color: #000;
}

.bc-chatbot-return-text {
    font-size: 16px;
    margin-bottom: 20px;
    line-height: 1.5;
}

.bc-chatbot-return-button-wrapper {
    text-align: center;
}

.bc-chatbot-return-button {
    display: inline-block;
    background: #1a1a1a;
    color: #fff !important;
    padding: 12px 24px;
    font-size: 16px;
    border-radius: 6px;
    text-decoration: none !important;
    font-weight: 600;
    transition: background 0.2s ease-in-out;
}

.bc-chatbot-return-button:hover {
    background: #000;
}


/* Hide lightbox next/prev links */
.pswp__button--arrow--next, .pswp__button--arrow--prev {
    display: none !important;
}

/* Make the Add to Basket + View basket combo look sane */

/* Put the contents of that button span in a column, not side-by-side */
/* Wrapper stays as you have it */
.gb-button.bc-query-loop-add-to-cart-button {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

/* Main button full width */
.gb-button.bc-query-loop-add-to-cart-button > a.button.add_to_cart_button {
    width: 100%;
}

/* Make "View basket" a clean secondary button */
.bc-query-loop-add-to-cart-button > a.added_to_cart.wc-forward {
    display: inline-flex;
    justify-content: center;
    align-items: center;

    width: 100%;
    padding: 10px 12px;

    background: #f6f7f7 !important;
    border: 1px solid #dcdcde !important;
    border-radius: 4px;

    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;

    color: #1d2327 !important;
}

/* Slight hover so it feels clickable */
.bc-query-loop-add-to-cart-button > a.added_to_cart.wc-forward:hover {
    background: #ffffff !important;
    border-color: #c3c4c7 !important;
}

/* Kill any theme "button" styling that might be leaking onto it */
.bc-query-loop-add-to-cart-button > a.added_to_cart.wc-forward.button {
    box-shadow: none !important;
}

/* Quantity already in basket */
.bc-in-cart-qty {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    text-align: center;
    color: #2e7d32; /* subtle green */
    font-weight: 600;
}

.gb-query-loop-pagination {
  margin-bottom: 80px;
}

.bc-find-form-intro {
  margin-bottom: 20px;
}

.flowchart-external-replacement-group {
  background-color: #FEC111;
  margin: 40px 80px;
  padding: 40px;
}

.bc-unavailable-cta {
  margin-top: .5rem;
  padding: .6rem .7rem;
  border-radius: 8px;
  background: #f2c04a;
  line-height: 1.2;
}

.bc-unavailable-cta__title {
  font-weight: 700;
  margin-bottom: .25rem;
  font-size: 0.95rem;
}

.bc-unavailable-cta__links {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: center;
  font-size: 0.9rem;
}

.bc-unavailable-cta__link {
  text-decoration: underline;
  font-weight: 600;
}

.bc-unavailable-cta__sep {
  opacity: .7;
}

.bc-unavailable-cta__actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:.4rem;
  align-items:center;
}

.bc-unavailable-cta__hint {
  margin:10px 0;
}

.bc-unavailable-cta__btn {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.35rem .55rem;
  border-radius:6px;
  background: rgba(255,255,255,.55);
  text-decoration:none;
  font-weight:700;
}

.bc-unavailable-cta__btn-icon {
  width:16px;
  height:16px;
  flex-shrink:0;
  display:block;
}

.bc-unavailable-cta__phone {
  font-weight:600;
  opacity:.9;
}


.bc-unavailable-contact-button {
  width: 100%;
  text-align: center;
}

.bc-unavailable-cta__back-wrap {
  width: 100%;
  text-align: center;
  margin-top: .3rem;
}

.bc-unavailable-cta__back {
  font-size: 0.85rem;
  font-weight: 600;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  opacity: .8;
  transition: opacity .15s;
}

.bc-unavailable-cta__back:hover {
  opacity: 1;
}

/* Fix google search borders */
.gsc-input, .gsc-search-button {
  border-width: 1px 1px 1px 1px;
}

.gsc-input-box > table {
  border-width: 0;
}

/* Hide google result time */
.gsc-result-info, .gsc-above-wrapper-area-container {
  display: none !important;
}

/* Right-align labels on the WooCommerce Thank You / Order Received page */
.woocommerce-order-details table tfoot th,
.woocommerce-order-details table tfoot td:first-child {
    text-align: right;
}

/* Upsell card meta to look like your single-product summary */
.bc-upsell-inner {
  text-align: left;
  border: 1px solid #f2f2f2;
  padding: 40px;
  margin-bottom: 40px;
}

.bc-upsell-related-text {
  margin-bottom: 20px;
}

.bc-upsell-button {
  text-align: center;
}

.bc-upsell-card,
.bc-upsell-card * {
  color: #111;
}

.bc-upsell-image {
  /* border: 1px solid #f2f2f2; */
  margin-bottom: 20px;
  text-align: center;
}

.bc-upsell-title {
  margin-bottom: 20px !important;
}

.bc-upsell-title a {
  color: #111;
  text-decoration: none;
  margin-bottom: 20px;
}

.bc-upsell-title a:hover {
  text-decoration: underline;
}

/* Optional: tidy up spacing */
.bc-upsell-meta .bc-upsell-row {
  display: grid;
  grid-template-columns: 140px 1fr; /* label | value */
  column-gap: 8px;
  margin: 2px 0;
  line-height: 1.35;
  align-items: start;
}

/* Make labels normal weight, values bold */
.bc-upsell-meta .bc-upsell-row span {
  font-weight: 400;
  white-space: nowrap;
}

.bc-upsell-meta .bc-upsell-row strong {
  font-weight: 700;
}

.bc-upsell-price {
  text-align: center;
  margin-top: 10px;
}

.bc-upsell-scroll-hint {
  text-align: center;
  font-size: 0.85rem;
  color: #888;
  margin-bottom: 8px;
}

.bc-upsell-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}

.bc-upsell-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ccc;
  transition: background 0.2s;
}

.bc-upsell-dot.active {
  background: #6CCF49;
}

.bc-upsell-actions .button {
  margin-top: 10px;
}

.products.columns-3 {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}

/* .bc-query-loop-price-with-currency {
  min-width: 100%;
} */

.bc-email-whatsapp-replacement {
  width: 70%;
  margin: 40px auto;
  padding: 40px 0;
}
.bc-email-whatsapp-replacement > div:first-of-type {
  text-align: center;
  margin-bottom: 20px;
}
.bc-email-whatsapp-single-product {
  margin-bottom: 40px;
}
.bc-email-whatsapp-parts {
  width: 70%;
  margin: 40px auto;
}
.bc-email-whatsapp-parts-inresults > div:first-of-type {
  text-align: center;
  margin-bottom: 20px;
}
.bc-email-whatsapp-parts > div:first-of-type {
  text-align: center;
  margin-bottom: 20px;
}

.bc-message {
    display: flex;
    align-items: flex-start;
    gap: 12px;

    padding: 14px 16px;
    margin: 1.5rem 0;

    border-radius: 6px;
    border: 1px solid transparent;

    font-size: 0.95rem;
    line-height: 1.4;
}

.bc-message__icon {
    font-size: 1.2rem;
    line-height: 1;
    margin-top: 2px;
}

.bc-message__content strong {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
}

.bc-message__content p {
    margin: 0;
}

/* Info variant */
.bc-message--info {
    background-color: #f5f8fa;
    border-color: #d7e3ec;
    color: #24323d;
}

/* Contact Us Confirmation */
.bc-contact-us {
    text-align: center;
    margin-bottom: 80px;
}

.bc-contact-us__actions {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    width: 50%;
}

a.button.bc-contact-us__button {
    background-color: #1a4b6c !important;
    color: #fff !important;
    border: 0 !important;
    width: 100% !important;
    padding: 1.1rem 1.5rem !important;
    font-size: 1.5rem !important;
    line-height: 1.1 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    /* gap handles spacing */
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-decoration: none !important;
}

a.button.bc-contact-us__button:hover {
    background-color: #1e73be !important;
    color: #fff !important;
}

/* Hide the cart shipping disclaimer text (fallback) */
.woocommerce-shipping-destination,
.woocommerce-shipping-calculator + p,
.woocommerce-shipping-totals .woocommerce-info {
  display: none !important;
}

.bc-continue-shopping button {
  color: white;
  background-color: var(--bc-main-green);
}

.search-form {
    display: none;
}

/* Base hit link should not impose link styling */
.bc-ac-hit {
  text-decoration: none;
  color: inherit;
}

/* Title should look like normal text, not a link */
.bc-ac-hit__title {
  color: #111;          /* or whatever your normal text colour is */
  text-decoration: none;
  cursor: default;     /* avoids "this looks clickable" feeling */
}

/* Prevent hover from re-introducing link styling */
.bc-ac-hit:hover .bc-ac-hit__title {
  text-decoration: none;
  color: #111;
}

.bc-ac-hit__now-use {
  margin-top: 20px;
  font-size: 0.9em;
  line-height: 1.35;
  color: #0b63ce; /* your blue */
}

.bc-ac-hit__now-use-link {
  text-decoration: underline;
  font-weight: 600;
  color: #0b63ce;
}

/* Flowchart card WhatsApp block */
.bc-flowchart-card__wa {
  margin-top: 10px;
}

.bc-flowchart-card__wa-note {
  font-size: 12px;
  line-height: 1.3;
  margin: 0 0 8px 0;
  color: #3b3b3b;
}

/* WhatsApp pill button */
.bc-whatsapp-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 7px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.12);
  text-decoration: none;
  font-weight: 700;
  background: #fff;
  color: #1f7a3a; /* not neon green */
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.bc-whatsapp-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(0,0,0,0.22);
  box-shadow: 0 6px 18px rgba(0,0,0,0.10);
}

.bc-whatsapp-btn__icon {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #25D366;
  color: #fff;
  flex: 0 0 34px;
}

.bc-whatsapp-btn__text {
  font-size: 16px;
  line-height: 1;
}

.bc-loop-wa {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 0.9em;
    margin-top: 20px;
}

.bc-loop-wa__note {
  margin-bottom: 10px;
}

.bc-whatsapp-btn .gb-icon svg {
    display: block;
}

.bc-loop-wa__single_product_page {
    margin-top: 18px;
    padding: 16px 18px;
    text-align: center;
    /* background: #f3faf6;
    border: 1px solid #d7eee0;
    border-radius: 12px; */
}

.bc-loop-wa__single_product_page .bc-loop-wa__note {
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 1.5;
    color: #2e3d35;
}

/* .bc-loop-wa__single_product_page .bc-whatsapp-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #25d366;
    color: #fff;
    border-radius: 24px;
    font-weight: 600;
    font-size: 14
} */
  
section.up-sells.upsells.products {
  display: inline-block;
}

span.page-numbers.gb-block-is-current {
  background-color: #6CCF49;
}

/* 1 result - full width */
.wp-block-generateblocks-grid .gb-post-template:only-child {
    width: 100%;
}

/* 2 results - half width each */
.wp-block-generateblocks-grid .gb-post-template:first-child:nth-last-child(2),
.wp-block-generateblocks-grid .gb-post-template:first-child:nth-last-child(2) ~ .gb-post-template {
    width: 50%;
}

/* 4 results - still 2x2 rather than awkward 3+1 */
.wp-block-generateblocks-grid .gb-post-template:first-child:nth-last-child(4),
.wp-block-generateblocks-grid .gb-post-template:first-child:nth-last-child(4) ~ .gb-post-template {
    width: 50%;
}

.bc-part-text-box {
  background-color: #F5A623;
  border: 2px solid #C0392B;
  padding: 2px;
}

.ts-wrapper .ts-control {
    position: relative;
    padding-right: 2rem;
}

.ts-wrapper .ts-control .clear-button {
    position: absolute;
    right: 1.5rem !important;
    top: 40%;
    transform: translateY(-40%);
    margin: 0;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    font-size: 22px;
}

/* ============================================
   Parts pagination — option 2 (pill style) v3
   To revert: remove everything between these
   comment markers.
   Selectors are ID-free — safe across dev/live.
   ============================================ */

.gb-query-loop-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex-wrap: wrap;
  padding: 12px 0;
}

/* Hide pagination entirely when showing all posts
   (no .page-numbers elements present = View All state) */
.gb-query-loop-pagination:not(:has(.page-numbers)) {
  display: none !important;
}

/* Reset all buttons/links — start from zero */
.gb-query-loop-pagination .gb-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  background-color: transparent !important;
  border: none !important;
  color: #444444 !important;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  box-shadow: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.gb-query-loop-pagination .gb-button:hover {
  background-color: #f0f0f0 !important;
  color: #1a1a1a !important;
}

/* Previous & Next — targeted by absence of .page-numbers class
   rather than :first-of-type/:last-of-type (which breaks on page 1
   when Previous is absent and a page number becomes last ) */
.gb-query-loop-pagination a.gb-button:not(.page-numbers) {
  width: auto !important;
  padding: 0 16px !important;
  border-radius: 20px !important;
  background-color: #3B6D11 !important;
  color: #ffffff !important;
  font-weight: 500;
  gap: 6px;
}

.gb-query-loop-pagination a.gb-button:not(.page-numbers):hover {
  background-color: #27500A !important;
  color: #ffffff !important;
}

/* Previous — left margin + left chevron */
.gb-query-loop-pagination a.gb-button:not(.page-numbers):first-of-type {
  margin-right: 8px;
}

.gb-query-loop-pagination a.gb-button:not(.page-numbers):first-of-type::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(45deg);
  flex-shrink: 0;
}

/* Next — right margin + right chevron
   Uses :last-of-type safely here because :not(.page-numbers)
   ensures only Prev/Next are in scope */
.gb-query-loop-pagination a.gb-button:not(.page-numbers):last-of-type {
  margin-left: 8px;
}

.gb-query-loop-pagination a.gb-button:not(.page-numbers):last-of-type::after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 2px solid #ffffff;
  border-top: 2px solid #ffffff;
  transform: rotate(45deg);
  flex-shrink: 0;
}

/* Current page highlight */
.gb-query-loop-pagination .gb-block-is-current {
  background-color: #EAF3DE !important;
  color: #3B6D11 !important;
  border: 1.5px solid #639922 !important;
  font-weight: 500 !important;
  pointer-events: none;
  box-shadow: none !important;
}

/* View All — the  element, separated with left margin */
.gb-query-loop-pagination button.gb-button {
  width: auto !important;
  padding: 0 18px !important;
  border-radius: 20px !important;
  background-color: transparent !important;
  border: 1.5px solid #639922 !important;
  color: #3B6D11 !important;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  margin-left: 16px;
}

.gb-query-loop-pagination button.gb-button:hover {
  background-color: #EAF3DE !important;
  color: #3B6D11 !important;
}

/* ============================================
   End parts pagination — option 2 v3
   ============================================ */

  /* .bc-parts-page-label {
  display: block;
  font-size: 24px;
  font-weight: 400;
  color: #333;
} */

.bc-parts-page-label {
  margin-bottom: 0.75rem;
  font-size: 24px;
}

.bc-parts-page-label__breadcrumb {
  font-weight: 700;
}

.bc-parts-page-label__separator {
  color: #999;
}

.bc-parts-page-label__count {
  color: #888;
  font-size: 0.9em;
}

.bc-parts-separator {
    border: none;
    border-top: 1px solid #eee;
    margin: 8px 0 30px;
}

.bc-after-price-text {
  font-style: italic;
}

.single-product .summary .price .woocommerce-Price-amount, .bc-upsell-price .woocommerce-Price-amount.amount{
    font-size: 2rem;
}

/* ============================================
   Manufacturer boilers page (carousel cards)
   ============================================ */

.manufacturer-boilers-page {
    /* padding: 20px; */
}

.boilers-select-label {
    font-size: 12px;
    color: #888;
    margin: 12px 0 6px;
    letter-spacing: 0.3px;
}

.boilers-scroll-hint {
    font-size: 11px;
    color: #aaa;
    font-style: italic;
    margin: 0 0 8px;
}

.boilers-grid {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    gap: 12px;
    margin-top: 20px;
    padding-top: 6px;
    padding-bottom: 8px;
    scrollbar-width: thin;
}

.boilers-grid--single .boiler-image img {
    height: 240px;
}

.boilers-grid--single .boiler-card {
    flex: 0 0 200px;
    min-width: 200px;
}

/* Find Parts button hidden on boiler cards */
.boiler-actions {
    display: none;
}

.boiler-card {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    text-align: center;
    flex: 0 0 160px;
    min-width: 160px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.boiler-card:hover {
    border-color: #0073aa;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
    transition: all 0.2s ease;
}

.boilers-grid-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    right: 48px;
    width: 60px;
    height: 100%;
    background: linear-gradient(to right, transparent, #fff);
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.boilers-grid-wrapper.at-end::after {
    opacity: 0;
}

a.boiler-card {
    text-decoration: none;
    color: inherit;
}

.boiler-image img {
    max-width: 100%;
    height: 120px;
    object-fit: contain;
    border-radius: 4px;
    transition: transform 0.2s ease;
}

.boiler-image figure {
    overflow: hidden;
    margin: 0;
    cursor: crosshair;
}

.boiler-image figure img {
    width: 100%;
    height: auto;
    display: block;
    transform-origin: 0 0;
    transition: transform 0.1s ease;
}

.boiler-image figure img:hover {
    transform: scale(1.15);
}

.boiler-info {
    margin: 15px 0;
}

.boiler-info h3 {
    margin: 0 0 10px 0;
    color: #333;
    font-size: 1.2em;
}

.boiler-range {
    margin: 5px 0;
    color: #666;
    font-size: 0.9em;
}

.select-button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #0073aa;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    transition: background-color 0.3s;
}

.select-button:hover {
    background-color: #005a87;
    color: white;
}

.boilers-grid-wrapper {
    position: relative;
    padding: 0 48px;
}

.bc-carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #ddd;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #333;
    z-index: 10;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
    transition: opacity 0.2s;
}

.bc-carousel-btn:hover {
    /* border-color: #0073aa; */
    color: #ffffff;
    background-color: #3B6D11;
}

.bc-carousel-btn-prev { left: 0; }
.bc-carousel-btn-next { right: 0; }

.bc-carousel-btn.hidden { opacity: 0; pointer-events: none; }

.bc-fp-logos-grid figure {
  min-width: 260px;
}

.product-loop-custom-fields .loop-custom-field, .woocommerce ul.products li.product .woocommerce-loop-product__title {
  text-align: left;
  line-height: 24px;
}

.woocommerce-loop-product__title {
  font-size: 18px;
}

.woocommerce ul.products li.product .price .amount > bdi {
    font-weight: bold;
    font-size: 1.4em;
}

.single-product .woocommerce-breadcrumb a {
    pointer-events: none;
    cursor: default;
    color: inherit;
    text-decoration: none;
}

.single-product .product_meta .posted_in:not([class*="custom-meta"]) {
    display: none;
}

.ts-wrapper.single.focus {
  z-index: 999;
}


button.single_add_to_cart_button {
  background-color: #4EA72E !important;
}
button.single_add_to_cart_button:hover {
  background-color: #6CCF49 !important;
}


@media (max-width: 768px) {
  /* CSS in here for mobile only */

  body .main-navigation button.menu-toggle {
    display: none;
  }

  .entry-content {
    padding: 0 10px;
  }
  .inside-header {
    padding-left: 10px;
    padding-right: 10px;
  }
  
  #bc-autocomplete::placeholder {
    font-size: 14px;
  }

  #bc-autocomplete::-webkit-input-placeholder {
      font-size: 14px;
  }

  #bc-autocomplete::-moz-placeholder {
      font-size: 14px;
  }

  #bc-autocomplete:-ms-input-placeholder {
      font-size: 14px;
  }

  .bc-4waysin-container .icon-container {
    width: 70% !important;
  }
  
  #bc-select-parts-submit {
    width: 100%;
  }
  div.summary.entry-summary, div.wc-block-cart {
    padding: 0 10px;
  }
  a.button.bc-contact-us__button {
      min-width: 0 !important;
      width: 100% !important;
      font-size: 1.6rem !important;
  }
  .bc-unavailable-cta {
    width: 90%;
  }
  .products.columns-3 {
    grid-template-columns: repeat(1,minmax(0,1fr)) !important;
  }
  .bc-upsell-meta .bc-upsell-row {
    grid-template-columns: 100px 1fr; /* label | value */
  }

  /* Horizontal scroller for upsell products when there are 2 or more */
  section.up-sells.upsells.products {
    display: block !important;
    width: 100%;
  }

  .up-sells ul.products:has(.bc-upsell-card ~ .bc-upsell-card) {
    display: flex !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 12px;
    padding-bottom: 16px;
  }

  .up-sells ul.products:has(.bc-upsell-card ~ .bc-upsell-card) .bc-upsell-card {
    min-width: 78vw;
    flex-shrink: 0;
    scroll-snap-align: start;
  }

  #bc-find-parts-form {
      flex-direction: column;
  }

  .bc-find-form-header-direction {
      flex-direction: column;
  }
  .bc-searchbar {
    display: flex;
    flex-direction: column;
  }

  .bc-searchbar__powered {
    margin-top: 8px;
  }
  .gb-query-loop-pagination {
    flex-wrap: wrap;
    justify-content: center;
    gap: 3px;
    row-gap: 10px;
  }

  /* Push View All onto its own centred row */
  .gb-query-loop-pagination button.gb-button {
    flex-basis: 100%;
    justify-content: center;
    margin-left: 0 !important;
    margin-top: 2px;
  }

  /* Prev/Next pills — tightened to prevent wrapping when both are present */
  .gb-query-loop-pagination a.gb-button:not(.page-numbers):first-of-type,
  .gb-query-loop-pagination a.gb-button:not(.page-numbers):last-of-type {
    padding: 0 10px;
    font-size: 12px;
    flex-shrink: 1;
  }

  /* Tighten page number circles slightly */
  .gb-query-loop-pagination a.gb-button.page-numbers {
    width: 30px;
    height: 30px;
    font-size: 12px;
    min-width: 0;
    flex-shrink: 1;
  }
  
  .woocommerce div.product h1.product_title {
    font-size: 1.7rem;
  }

  .gb-container.gb-query-loop-pagination {
    justify-content: space-between;
  }

  
  /* Hide pages that are NOT: immediately adjacent to current, last, or dots */
  .gb-query-loop-pagination .page-numbers:not(.dots):not(.gb-block-is-current):not(:has(+ .gb-block-is-current)):not(.gb-block-is-current + .page-numbers):not(a.page-numbers:last-of-type) {
    display: none;
  }

  .bc-carousel-btn { display: none; }

  .gb-button.bc-query-loop-add-to-cart-button a {
    padding: 10px 0;
  }

  .add-to-cart-panel form.cart, .woocommerce div.product.do-quantity-buttons form.cart {
    justify-content: center;
    gap: 10px;
  }

  .woocommerce div.product form.cart .button {
    margin-left: 20px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  /* CSS in here for tablet only */
}
@media (min-width: 1025px) {
  /* CSS in here for desktop only */
}