/*
Theme Name: Hello Elementor Child
Template: hello-elementor
*/

/* PRODUCT DESCRIPTION WRAPPER */
.woocommerce-Tabs-panel--description {
    font-size: 16px;
    line-height: 1.7;
    color: #1f2933;
}

/* HEADINGS INSIDE DESCRIPTIONS */
.woocommerce-Tabs-panel--description h2,
.woocommerce-Tabs-panel--description h3 {
    margin-top: 32px;
    margin-bottom: 14px;
    font-size: 22px;
    font-weight: 700;
    color: #0f172a;
    border-bottom: 2px solid #13DED1;
    padding-bottom: 6px;
}

/* PARAGRAPHS */
.woocommerce-Tabs-panel--description p {
    margin-bottom: 16px;
}

/* BULLET LISTS */
.woocommerce-Tabs-panel--description ul {
    padding-left: 0;
    margin: 20px 0;
}

.woocommerce-Tabs-panel--description ul li {
    list-style: none;
    padding-left: 28px;
    margin-bottom: 10px;
    position: relative;
}

/* CUSTOM CHECK ICON */
.woocommerce-Tabs-panel--description ul li::before {
    content: "✔";
    position: absolute;
    left: 0;
    color: #13DED1;
    font-weight: bold;
}

/* SECTION BLOCK FEEL (for Part Exchange / Delivery etc) */
.woocommerce-Tabs-panel--description h3 {
    margin-top: 40px;
}

/* WARNING / IMPORTANT LINES */
.woocommerce-Tabs-panel--description strong {
    color: #0f172a;
}


/* =========================
   PRODUCT: Additional Information Table
   ========================= */

/* Container spacing */
.woocommerce-Tabs-panel--additional_information {
  padding-top: 10px;
}

/* Table base */
.woocommerce table.shop_attributes {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  font-size: 15px;
}

/* Row separators */
.woocommerce table.shop_attributes tr {
  border: 0;
}

/* Cells */
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  padding: 14px 16px;
  border: 0;
  vertical-align: middle;
}

/* Left column (labels) */
.woocommerce table.shop_attributes th {
  width: 34%;
  text-align: left;
  font-weight: 700;
  color: #0f172a;
  background: rgba(19, 222, 209, 0.10);
  border-right: 1px solid rgba(15, 23, 42, 0.08);
}

/* Right column (values) */
.woocommerce table.shop_attributes td {
  color: #1f2933;
  background: #fff;
}

/* Zebra striping (subtle) */
.woocommerce table.shop_attributes tr:nth-child(even) th {
  background: rgba(19, 222, 209, 0.14);
}
.woocommerce table.shop_attributes tr:nth-child(even) td {
  background: rgba(15, 23, 42, 0.02);
}

/* Value styling (kills the pink/italic look from theme) */
.woocommerce table.shop_attributes td,
.woocommerce table.shop_attributes td p {
  font-style: normal !important;
  color: #1f2933 !important;
  margin: 0;
}

/* Make values slightly stronger */
.woocommerce table.shop_attributes td {
  font-weight: 500;
}

/* Rounded corners behaviour */
.woocommerce table.shop_attributes tr:first-child th { border-top-left-radius: 10px; }
.woocommerce table.shop_attributes tr:first-child td { border-top-right-radius: 10px; }
.woocommerce table.shop_attributes tr:last-child th { border-bottom-left-radius: 10px; }
.woocommerce table.shop_attributes tr:last-child td { border-bottom-right-radius: 10px; }

/* Mobile: stack a bit better */
@media (max-width: 767px) {
  .woocommerce table.shop_attributes th,
  .woocommerce table.shop_attributes td {
    padding: 12px 12px;
    font-size: 14px;
  }
  .woocommerce table.shop_attributes th {
    width: 45%;
  }
}


/* WOOF filter text styling */
.woof .woof_list label {
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  font-weight: 500;
	line-height:20px;
  color: #1a1a1a;
  letter-spacing: 0.3px;
}
/* WOOF reset button */
button.woof_reset_search_form {
  background-color: #13DED1!important;
  font-family: 'Lato', sans-serif!important;;
	color:white!important;
  font-size: 16px!important;
  font-weight: 700!important;;
  letter-spacing: 0.6px!important;;
  padding: 10px 18px!important;;
  border-radius: 0px!important;
  border: none;
  cursor: pointer;
  transition: all 0.25s ease;
}

/* WOOF / iCheck checkbox: force white boxes */
.woof .icheckbox_square-blue {
  background: #fff !important;
  background-image: none !important; /* kills the sprite */
  border: 1px solid #cfd8dc !important;
  border-radius: 3px;
  box-shadow: none !important;
}

/* Checked state: teal fill */
.woof .icheckbox_square-blue.checked {
  background: #13DED1 !important;
  border-color: #13DED1 !important;
}

/* Draw our own tick (because sprite is removed) */
.woof .icheckbox_square-blue.checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 3.5px;
  width: 6px;
  height: 9px;
  border: 2px solid #fff;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg);
}

/* Make sure positioning works for the tick */
.woof .icheckbox_square-blue {
  position: relative;
}


/* =========================================
   HEADER ICON ALIGNMENT – FIXED
   Align Help Centre + Sign In + Basket
   ========================================= */

/* 1) HARD HIDE any cart subtotal/price (only inside cart toggle) */
.elementor-menu-cart__toggle .woocommerce-Price-amount,
.elementor-menu-cart__toggle .woocommerce-Price-currencySymbol,
.elementor-menu-cart__toggle [class*="price"],
.elementor-menu-cart__toggle [class*="subtotal"]{
  display: none !important;
}

/* 2) Give the 3 header widgets a consistent width + center */
.elementor-icon-box,
.elementor-widget-woocommerce-menu-cart{
  min-width: 110px !important;
  text-align: center !important;
}

/* 3) Center icon box contents properly */
.elementor-icon-box-wrapper{
  justify-content: center !important;
  text-align: center !important;
}

/* Remove default title spacing on icon boxes (this is usually the misalignment) */
.elementor-icon-box-title{
  margin: 6px 0 0 0 !important;
  line-height: 1.2 !important;
}

/* Remove any description spacing (if any exists) */
.elementor-icon-box-description{
  margin: 0 !important;
}

/* 4) Cart: stack icon + text vertically */
.elementor-menu-cart__toggle .elementor-menu-cart__toggle_button{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}

/* Ensure inner spans stack too */
.elementor-menu-cart__toggle .elementor-menu-cart__toggle_button > span{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* 5) Cart: show and style hidden “Basket” label */
.elementor-menu-cart__toggle .elementor-screen-only{
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin-top: 6px !important;

  font-family: "Lato", sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #092B39 !important;

  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
}

/* 6) Normalise icon sizes */
.elementor-menu-cart__toggle svg,
.elementor-icon-box-icon svg{
  width: 28px !important;
  height: 28px !important;
}

/* Remove default cart icon spacing */
.elementor-menu-cart__toggle .elementor-button-icon{
  margin: 0 !important;
}

/* 7) Bubble position */
.elementor-menu-cart__toggle .elementor-menu-cart__counter{
  top: -6px !important;
  right: -10px !important;
}

/* 8) Hover underline match */
.elementor-menu-cart__toggle:hover .elementor-screen-only,
.elementor-icon-box-wrapper:hover .elementor-icon-box-title{
  text-decoration: underline;
}

/* =========================================
   MY ACCOUNT – TITLE (entry-title)
   ========================================= */

.woocommerce-account .page-header{
  max-width: 1200px !important;
  margin: 60px auto 0 !important;
  padding: 0 20px !important;
}

.woocommerce-account .page-header .entry-title{
  font-family: "Lato", sans-serif !important;
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #092B39 !important;
  margin: 0 0 0px 0 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.3px !important;
  position: relative !important;
}

/* Accent underline */
.woocommerce-account .page-header .entry-title::after{
  content: "" !important;
  display: block !important;
  width: 54px !important;
  height: 4px !important;
  background: #0fcfc6 !important;
  border-radius: 4px !important;
  margin-top: 10px !important;
}


/* Remove underline from icon box titles on hover */
.elementor-widget-icon-box:hover .elementor-icon-box-title,
.elementor-widget-icon-box:hover .elementor-icon-box-title span {
    text-decoration: none !important;
}



/* ======================================================
   CART PAGE – CLEAN MATCH TO MY ACCOUNT (SAFE OVERRIDE)
   ====================================================== */

/* ---------- Base layout & spacing ---------- */
body.woocommerce-cart .site-main{
  padding: 80px 0 !important;
  font-family: 'Lato', Arial, sans-serif !important;
}

/* Page title */
body.woocommerce-cart .entry-title{
  font-family: 'Lato', Arial, sans-serif !important;
  font-weight: 800 !important;
  color: #0a2a33 !important;
  margin-bottom: 40px !important;
  position: relative;
}

/* Title underline (match account page) */
body.woocommerce-cart .entry-title:after{
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  background: #00c2b3;
  margin-top: 10px;
}

/* ---------- Product list ---------- */
body.woocommerce-cart .wc-block-cart-items{
  font-family: 'Lato', Arial, sans-serif !important;
}

body.woocommerce-cart .wc-block-components-product-name{
  color: #0a2a33 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-product-name:hover{
  color: #00c2b3 !important;
  text-decoration: underline;
}

body.woocommerce-cart .wc-block-cart-item{
  border-top: 1px solid #e5e7eb !important;
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}

body.woocommerce-cart .wc-block-cart-item:first-child{
  border-top: none !important;
}

/* ---------- Quantity controls (DO NOT TOUCH) ---------- */
body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .wc-block-components-quantity-selector *{
  background: initial !important;
  color: initial !important;
  border-radius: initial !important;
  box-shadow: none !important;
}

/* ---------- Basket totals (RIGHT column) ---------- */
body.woocommerce-cart .wc-block-cart__sidebar{
  background: #f7fafb !important;
  padding: 30px !important;
}

body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-coupon__heading{
  font-family: 'Lato', Arial, sans-serif !important;
  font-weight: 700 !important;
  color: #0a2a33 !important;
}

body.woocommerce-cart .wc-block-components-totals-item__value{
  font-family: 'Lato', Arial, sans-serif !important;
  color: #0a2a33 !important;
}

/* Estimated total */
body.woocommerce-cart .wc-block-components-totals-footer-item{
  font-weight: 800 !important;
  font-size: 18px !important;
  color: #0a2a33 !important;
}

/* ---------- Checkout button (colour only) ---------- */
body.woocommerce-cart .wc-block-cart__submit-button{
  background: #00c2b3 !important;
  color: #ffffff !important;
  font-family: 'Lato', Arial, sans-serif !important;
  font-weight: 700 !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover{
  background: #00a99d !important;
}

/* ---------- Bottom spacing ---------- */
body.woocommerce-cart .wc-block-cart{
  margin-bottom: 60px !important;
}

/* ======================================================
   CHECKOUT – TYPOGRAPHY + SPACING ONLY (SAFE)
   NO borders, NO backgrounds, NO radius, NO shadows
   ====================================================== */

:root{
  --swr-teal: #00c2b3;
  --swr-dark: #0a2a33;
}

/* Page spacing */
body.woocommerce-checkout .site-main{
  padding-top: 60px !important;
  padding-bottom: 60px !important;
  font-family: "Lato", Arial, sans-serif !important;
}

/* Force Lato everywhere inside checkout */
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-checkout *{
  font-family: "Lato", Arial, sans-serif !important;
}

/* Main page title */
body.woocommerce-checkout .entry-title{
  color: var(--swr-dark) !important;
  font-weight: 800 !important;
  margin-bottom: 20px !important;
  position: relative;
  display: inline-block;
}

/* Teal underline (same as Cart / Account) */
body.woocommerce-checkout .entry-title:after{
  content:"";
  display:block;
  width: 40px;
  height: 3px;
  background: var(--swr-teal);
  margin-top: 10px;
}

/* Section headings (Contact / Delivery / Payment) */
body.woocommerce-checkout
.wc-block-components-checkout-step__title,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3{
  font-weight: 800 !important;
  margin-bottom: 16px !important;
}

/* Improve vertical rhythm between blocks */
body.woocommerce-checkout .wc-block-components-checkout-step{
  margin-bottom: 40px !important;
}

/* Labels + helper text */
body.woocommerce-checkout label,
body.woocommerce-checkout .wc-block-components-text{
  color: var(--swr-dark) !important;
}

/* Inputs – text only (NO visual styling changes) */
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea{
  font-family: "Lato", Arial, sans-serif !important;
}

/* Product names in Order Summary */
body.woocommerce-checkout .wc-block-components-product-name{
  color: var(--swr-dark) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.woocommerce-checkout .wc-block-components-product-name:hover{
  color: var(--swr-teal) !important;
  text-decoration: underline !important;
}

/* Primary buttons – colour only */
body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button{
  background: var(--swr-teal) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Bottom spacing before footer */
body.woocommerce-checkout .wc-block-checkout{
  margin-bottom: 60px !important;
}

/* ================================
   PRODUCT FILTER (WOOF) – TITLES ONLY
   ================================ */

/* Main filter heading: "Product Filter" */
.woof_container h4,
.woof_container h3 {
  font-family: 'Lato', Arial, sans-serif !important;
  font-weight: 800 !important;
  color: var(--swr-dark) !important;
  margin-bottom: 12px;
}

/* Section titles: Price, Product categories, Search, etc */
.woof_container .woof_container_inner > h4,
.woof_container .woof_container_inner > h3 {
  font-family: 'Lato', Arial, sans-serif !important;
  font-weight: 800 !important;
  color: var(--swr-dark) !important;
  text-transform: none !important;
		font-size:18px;

}

/* Ensure labels inside filter sections inherit Lato */
.woof_container label {
  font-family: 'Lato', Arial, sans-serif !important;
}


/* =========================================
   PRODUCT FILTER (WOOF) — INPUTS (LATO)
   Search box + dropdown (Chosen)
   ========================================= */

/* Search input + placeholder */
.woof_container input[type="search"],
.woof_container .woof_husky_txt-input{
  font-family: "Lato", Arial, sans-serif !important;
  font-weight: 400 !important;
}

/* If your theme styles placeholders separately */
.woof_container input[type="search"]::placeholder,
.woof_container .woof_husky_txt-input::placeholder{
  font-family: "Lato", Arial, sans-serif !important;
  font-weight: 400 !important;
}

/* Chosen dropdown (the visible “select”) */
.woof_container .chosen-container,
.woof_container .chosen-container *{
  font-family: "Lato", Arial, sans-serif !important;
}

/* Dropdown selected value + results list */
.woof_container .chosen-container .chosen-single,
.woof_container .chosen-container .chosen-single span,
.woof_container .chosen-container .chosen-results,
.woof_container .chosen-container .chosen-results li{
  font-family: "Lato", Arial, sans-serif !important;
  font-weight: 400 !important;
}

/* =========================================
   REMOVE WOOF AUTO FORM BUTTON (BLUE ICON)
   ========================================= */

.woof_btn_default,
.woof_show_auto_form{
  display: none !important;
}

/* Centre the products row when there are only 1–2 items */
body.woocommerce-page ul.products,
body.woocommerce-page .woocommerce ul.products,
body.woocommerce-page .woof_shortcode_output ul.products{
  justify-content: center !important; /* centres the grid track area */
}

/* Optional: stop the single product being too wide */
body.woocommerce-page ul.products > li.product,
body.woocommerce-page .woocommerce ul.products > li.product,
body.woocommerce-page .woof_shortcode_output ul.products > li.product{
  max-width: 360px; /* adjust if you want */
}


.legal-page { margin: 0 auto; }
.legal-hero p { font-size: 1.05rem; line-height: 1.7; }
.legal-toc { background: rgba(255,255,255,0.04); padding: 18px; border-radius: 12px; }
.legal-toc ol { margin: 0; padding-left: 18px; }
.legal-contact-card { padding: 16px; border: 1px solid rgba(255,255,255,0.15); border-radius: 12px; }
.legal-page h2 { margin-top: 28px; }
.legal-page ul li { margin-bottom: 8px; }


/* safer than global */
.site-main p a,
.site-main li a{
  color: inherit;
}


/* =========================================
   N-MENU: WHITE + HOVER + ACTIVE (BODY-BASED)
   Fix: Elementor marks Home as current everywhere
   ========================================= */

/* Default: white */
header .elementor-widget-n-menu .e-n-menu-title-text{
  color:#fff !important;
}

/* Hover: teal */
header .elementor-widget-n-menu a:hover .e-n-menu-title-text{
  color:#00c2b3 !important;
}

/* IMPORTANT: ignore Elementor "current" completely */
header .elementor-widget-n-menu .e-n-menu-title.e-current .e-n-menu-title-text,
header .elementor-widget-n-menu a[aria-current="page"] .e-n-menu-title-text{
  color:#fff !important;
}

/* =====================
   ACTIVE STATES (set by body classes)
   ===================== */

/* HOME — CHANGE 999 TO YOUR REAL HOMEPAGE PAGE ID */
body.page-id-13 header .elementor-widget-n-menu a[href="https://southwestrenewablesltd.co.uk/"] .e-n-menu-title-text,
body.page-id-13 header .elementor-widget-n-menu a[href="https://southwestrenewablesltd.co.uk"] .e-n-menu-title-text{
  color:#00c2b3 !important;
}

/* SHOP (shop + categories + products) */
body.post-type-archive-product header .elementor-widget-n-menu a[href*="/shop/"] .e-n-menu-title-text,
body.tax-product_cat header .elementor-widget-n-menu a[href*="/shop/"] .e-n-menu-title-text,
body.single-product header .elementor-widget-n-menu a[href*="/shop/"] .e-n-menu-title-text{
  color:#00c2b3 !important;
}

/* RENEWABLE REPAIRS */
body.page-id-389 header .elementor-widget-n-menu a[href*="/renewable-repairs/"] .e-n-menu-title-text{
  color:#00c2b3 !important;
}

/* SELL YOUR RENEWABLES */
body.page-id-542 header .elementor-widget-n-menu a[href*="/sell-solar-inverters-uk/"] .e-n-menu-title-text{
  color:#00c2b3 !important;
}

/* NEWS & BLOGS */
body.page-id-278 header .elementor-widget-n-menu a[href*="/news-blogs/"] .e-n-menu-title-text{
  color:#00c2b3 !important;
}

/* CONTACT */
body.page-id-44 header .elementor-widget-n-menu a[href*="/contact-us/"] .e-n-menu-title-text{
  color:#00c2b3 !important;
}

/* =========================================
   MY ACCOUNT – Only use nav/content grid when LOGGED IN
   ========================================= */

@media (min-width: 901px){
  body.woocommerce-account.logged-in .woocommerce{
    display: grid !important;
    grid-template-columns: 260px 1fr !important;
    gap: 28px !important;
    align-items: start !important;

    width: 100% !important;
    max-width: 1300px !important;
    margin: 50px auto !important;
    padding: 0 20px !important;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
    grid-column: 1 !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;

    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.08) !important;
    padding: 22px !important;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
    grid-column: 2 !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    min-width: 0 !important;

    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.08) !important;
    padding: 34px !important;
  }
}

/* Logged out: keep normal flow + fix login/register columns */
@media (min-width: 901px){
  body.woocommerce-account:not(.logged-in) .woocommerce{
    display: block !important;
    max-width: 900px !important;
    margin: 50px auto !important;
    padding: 0 20px !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce .u-columns{
    display: flex !important;
    gap: 28px !important;
    align-items: flex-start !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce .u-column2{
    width: 50% !important;
    max-width: 50% !important;
  }
}

/* Mobile: stack login/register nicely */
@media (max-width: 900px){
  body.woocommerce-account:not(.logged-in) .woocommerce .u-columns{
    display: block !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce .u-column2{
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* =========================================
   Addresses page: Billing + Shipping cards side-by-side
   ========================================= */

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: start !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{
  background: #f7f9fa !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  border-radius: 14px !important;
  padding: 22px !important;
  width: 100% !important;
}

@media (max-width: 900px){
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
    grid-template-columns: 1fr !important;
  }
}

/* Force Billing + Shipping side by side */
@media (min-width: 768px){

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
    display: flex !important;
    gap: 24px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{
    flex: 1 1 50% !important;
    max-width: 50% !important;
  }

}

/* Mobile: stack cleanly */
@media (max-width: 767px){
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
    display: block !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }
}


/* Remove underline from My Account nav links */
.woocommerce-account .woocommerce-MyAccount-navigation a{
  text-decoration: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  text-decoration: none !important;
}

/* Reduce gap under "My account" title */
.woocommerce-account .page-header{
  margin-bottom: 20px !important;  /* reduce from default large gap */
}

.woocommerce-account .woocommerce{
  margin-top: 20px !important;     /* tighten content spacing */
}

/* My Account – improve left nav spacing */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style: none !important;   /* remove bullets */
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin-bottom: 14px !important;   /* space between links */
}

.woocommerce-account .woocommerce-MyAccount-navigation a{
  display: block !important;
  padding: 12px 16px !important;   /* more internal spacing */
  border-radius: 8px !important;
  font-weight: 600 !important;
}

/* Active link styling – My Account nav */
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
  background: #0fcfc6 !important;   /* your teal */
  color: #ffffff !important;
  border-radius: 8px !important;
}

/* Optional: smooth hover transition */
.woocommerce-account .woocommerce-MyAccount-navigation a{
  transition: all 0.2s ease;
}


/* Header – Phone & My Account typography */
header .elementor-widget-icon-box .elementor-icon-box-title,
header .elementor-widget-icon-box .elementor-icon-box-title a{
  font-family: "Lato", sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #092B39 !important;
}

/* Header Basket – match My Account / Phone typography exactly */
header .elementor-menu-cart__toggle_button .elementor-screen-only{
  font-family: "Lato", sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #092B39 !important;

  /* keep it behaving like normal text */
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: nowrap !important;
}

/* Optional: ensure Basket link itself doesn’t underline */
header .elementor-menu-cart__toggle_button{
  text-decoration: none !important;
}

/* Optional: keep icon + label spacing identical to icon boxes */
header .elementor-menu-cart__toggle_button{
  gap: 6px !important; /* match your icon box title gap */
}


/* Make links inherit body text styling */
p a,
.entry-content a,
a {
  color: inherit;
  text-decoration: none; /* optional – removes underline */
}

/* Keep hover effect subtle */
p a:hover,
.entry-content a:hover,
a:hover {
  color: inherit;
}


.hero-badge {
    position: relative;
}

.hero-badge::after {
    content: "UK STOCK\A TESTED\A & VERIFIED";
    white-space: pre;
    position: absolute;

    /* Move further LEFT */
    top: 0px;
    right: 400px; /* Increase this to move further left */

    width: 150px;
    height: 150px;

    background: #5ac5b5;
    color: #ffffff;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;

    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.6px;

   padding: 30px; /* Real breathing space */

    box-shadow: 0 15px 35px rgba(0,0,0,0.25);
}


/* =====================================================
   MY ACCOUNT (LOGGED OUT) – Fix Login/Register layout
   ===================================================== */

/* Only applies when the login form exists */
body.woocommerce-account .woocommerce form.woocommerce-form-login{
  max-width: none !important;
}

/* Make the two columns behave properly */
@media (min-width: 901px){
  body.woocommerce-account .woocommerce:has(form.woocommerce-form-login) .u-columns{
    display: flex !important;
    gap: 28px !important;
    align-items: flex-start !important;
  }

  body.woocommerce-account .woocommerce:has(form.woocommerce-form-login) .u-column1,
  body.woocommerce-account .woocommerce:has(form.woocommerce-form-login) .u-column2{
    width: 50% !important;
    max-width: 50% !important;
  }

  /* Make sure wrapper isn't being grid-squeezed */
  body.woocommerce-account .woocommerce:has(form.woocommerce-form-login){
    display: block !important;
    max-width: 900px !important;
    margin: 50px auto !important;
    padding: 0 20px !important;
  }
}

/* Mobile stack */
@media (max-width: 900px){
  body.woocommerce-account .woocommerce:has(form.woocommerce-form-login) .u-columns{
    display: block !important;
  }

  body.woocommerce-account .woocommerce:has(form.woocommerce-form-login) .u-column1,
  body.woocommerce-account .woocommerce:has(form.woocommerce-form-login) .u-column2{
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ================================
   SWR BLOG POST STYLING (targets HTML widget with class: swr-blog)
   ================================ */

.swr-blog h1{
  font-size: 38px;
  font-weight: 750;
  line-height: 1.15;
  margin: 0 0 18px 0;
  letter-spacing: -0.02em;
}

.swr-blog h2{
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  margin: 34px 0 12px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid #e6eef2;
}

.swr-blog p{
  font-size: 17px;
  line-height: 1.75;
  margin: 0 0 16px 0;
}

.swr-blog hr{
  border: 0;
  height: 1px;
  background: #e6eef2;
  margin: 26px 0;
}

.swr-blog ul{
  margin: 12px 0 18px 22px;
  padding: 0;
}

.swr-blog li{
  margin: 0 0 8px 0;
  line-height: 1.7;
}

.swr-blog a{
  color: #0e7490;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(14,116,144,0.35);
}

.swr-blog a:hover{
  border-bottom-color: rgba(14,116,144,0.9);
}

/* Tip / callout box */
.swr-blog .solar-tip{
  background: #f4fbff;
  border-left: 4px solid #13DED1;
  padding: 18px;
  margin: 22px 0;
  font-size: 16px;
  line-height: 1.7;
  border-radius: 10px;
}


/* ===== SWR Category Sections (Top / Middle / FAQ) ===== */
.tax-product_cat {
  font-family: "Lato", sans-serif;
}

.tax-product_cat .elementor-widget-archive-description{
  margin: 0 auto 40px;
  color: #54595F;
  line-height: 1.8;
}

/* Middle band (wrap your ACF middle content in .swr-middle) */
.swr-middle{
  color: white;
}

.swr-middle h2{
  color:#ffffff;
  margin:0 0 12px;
  font-size: 34px;
  font-weight: 800;
}

.swr-middle p{
  color:#ffffff;
  line-height: 1.7;
  margin: 0 0 22px;
	font-size:18px;
}

/* 3 cards inside middle */
.swr-reasons{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 20px;
}

.swr-reason{
		margin-top:40px;

}

.swr-reason h3{
  margin:0 0 8px;
  font-size: 18px;
  font-weight: 800;
  color:#13DED1;
}

.swr-reason p{
  margin:0;
  color: rgba(255,255,255,0.85);
		font-size:18px;

}

/* =========================
   SWR - Product Category FAQs
   Applies only on Woo product category archive pages
   ========================= */

.tax-product_cat .swr-faq{
  font-family: "Lato", sans-serif;
}

.tax-product_cat .swr-faq__inner{
  margin: 0 auto;
}

.tax-product_cat .swr-faq__kicker{
  font-size: 16px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 700;
  color: #13DED1; /* Accent */
  margin-bottom: 20px;
}

.tax-product_cat .swr-faq__title{
  font-size: 48px;
  line-height: 1.1;
  font-weight: 900;
  color: #092B39; /* Primary */
  margin: 0 0 40px;
}

.tax-product_cat .swr-faq__grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
}

.tax-product_cat .swr-faq__item{
  background: #EEEEED; /* Custom */
  overflow: hidden;
}

.tax-product_cat .swr-faq__q{
  list-style: none;
  cursor: pointer;
  padding: 22px 56px 22px 22px;
  font-weight: 700;
  	  color:#13DED1;

  font-size: 20px;
  position: relative;
}

.tax-product_cat .swr-faq__q::-webkit-details-marker{
  display: none;
}

/* plus / minus icon */
.tax-product_cat .swr-faq__q::after{
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: 22px;
  font-weight: 900;
  color: #092B39;
 
}

.tax-product_cat details[open] > .swr-faq__q::after{
  content: "–";
	  color:#13DED1;

}

.tax-product_cat .swr-faq__a{
  padding: 0 22px 22px;
  color: #092B39; /* Primary */
  font-size: 18px;
  line-height: 1.7;
}

.tax-product_cat .swr-faq__a p{
  margin: 0;
}

/* Mobile */
@media (max-width: 900px){
  .tax-product_cat .swr-faq__title{ font-size: 34px; }
  .tax-product_cat .swr-faq__grid{ grid-template-columns: 1fr; }
  .tax-product_cat .swr-faq__q{ font-size: 18px; }
}

/* mobile */
@media (max-width: 900px){
  .swr-reasons{ grid-template-columns: 1fr; }
  .swr-middle h2{ font-size: 26px; }
}


/* ===========================
   SWR - Middle Section + Icons
   =========================== */

.swr-middle{
  font-family: Lato, Arial, sans-serif;
}

.swr-middle h2{
  margin: 0 0 10px;
}

.swr-middle p{
  margin: 0 0 26px;
  line-height: 1.6;
}

/* 3 columns */
.swr-reasons{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.swr-reason{
  position: relative;
}

.swr-reason h3{
  margin: 0 0 8px;
}

.swr-reason p{
  margin: 0;
}

/* Icon container */
.swr-icon{
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  margin: 0 0 14px;
  background: rgba(19,222,209,0.15);
  color: #13DED1;
}

/* The actual icon "shape" is a masked pseudo element */
.swr-icon::before{
  content:"";
  width: 24px;
  height: 24px;
  display:block;
  background: currentColor;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

/* Icon: shield/check */
.swr-i-tested::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L4 6v6c0 5 3.5 9.5 8 10 4.5-.5 8-5 8-10V6l-8-4z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L4 6v6c0 5 3.5 9.5 8 10 4.5-.5 8-5 8-10V6l-8-4z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}

/* Icon: truck */
.swr-i-delivery::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 3h15v13H1z'/%3E%3Cpath d='M16 8h4l3 4v4h-7z'/%3E%3Cpath d='M6 21a2.5 2.5 0 110-5 2.5 2.5 0 010 5zm13 0a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 3h15v13H1z'/%3E%3Cpath d='M16 8h4l3 4v4h-7z'/%3E%3Cpath d='M6 21a2.5 2.5 0 110-5 2.5 2.5 0 010 5zm13 0a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/%3E%3C/svg%3E");
}

/* Icon: wrench */
/* Icon: microchip (circuit board) */
/* Icon: circuit board (bold + readable) */
/* Icon: simple bold spanner */
/* Icon: spanner (clear, bold) */
.swr-i-repair::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.3 20.3l-6.1-6.1a7 7 0 01-8.8-8.8l3.1 3.1 2.2-2.2-3.1-3.1a7 7 0 018.8 8.8l6.1 6.1a1.4 1.4 0 01-2 2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.3 20.3l-6.1-6.1a7 7 0 01-8.8-8.8l3.1 3.1 2.2-2.2-3.1-3.1a7 7 0 018.8 8.8l6.1 6.1a1.4 1.4 0 01-2 2z'/%3E%3C/svg%3E");
  
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 90% 90%;
  mask-size: 90% 90%;
}
/* Responsive */
@media (max-width: 900px){
  .swr-reasons{ grid-template-columns: 1fr; }
}

/* Front-end only: search widget styling */
body:not(.elementor-editor-active) .elementor-search-form__container{
  display:flex !important;
  border-radius:6px !important;
  overflow:hidden !important;
}

body:not(.elementor-editor-active) .elementor-search-form__input{
  background:#f3f4f6 !important;
  border:0 !important;
  padding:14px 16px !important;
  font-size:16px !important;
  min-width:0 !important;
  flex:1 !important;
}

body:not(.elementor-editor-active) .elementor-search-form__submit{
  background:#0D1D4A !important; /* change if needed */
  border:0 !important;
  padding:0 18px !important;
  width:60px !important;
  flex-shrink:0 !important;
}

body:not(.elementor-editor-active) .elementor-search-form__submit i{
  color:#fff !important;
  font-size:18px !important;
}


/* FAQ SECTION */
.category-faqs {

 
  

}

.category-faqs h2 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 30px;
  color: #0D1D4A;
  text-align: center;
}

.category-faqs-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 36px;
}

.faq-item {
  padding: 0 0 22px;
  border-bottom: 1px solid rgba(13, 29, 74, 0.12);
}

.faq-item h3 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 12px;
  color: #13DED1;
  position: relative;
  padding-left: 22px;
}

.faq-item h3::before {
  content: "—";
  position: absolute;
  left: 0;
  top: 0;
  color: #13DED1;
  font-weight: 700;
}

.faq-item p {
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
  color: #4f5f6f;
}

/* MOBILE */
@media (max-width: 767px) {
  .category-faqs {
    padding: 35px 18px;
  }

  .category-faqs h2 {
    font-size: 26px;
    margin-bottom: 24px;
    text-align: left;
  }

  .category-faqs-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .faq-item h3 {
    font-size: 19px;
  }

  .faq-item p {
    font-size: 15px;
  }
}

.sticky-filter{
    position: sticky;
    top: 100px;
    align-self: flex-start;
}

.shop-intro a {
    text-decoration: underline;
    color: #13DED1; /* your teal brand colour */
    font-weight: 500;
}

.shop-intro a:hover {
    text-decoration: underline;
    color: #0d1d4a; /* darker hover colour */
}

