/* Global box-sizing reset */
*, *:before, *:after {
    box-sizing: border-box;
}

/* Hide product tags, breadcrumn, short desc */
.product_meta .posted_in,
.product_meta .tagged_as,
.single .woocommerce-breadcrumb,
div.product-short-description {
    display: none;
}

/* Mobile view filter colour */
.category-filtering.category-filter-row.show-for-medium > a {
    background-color: #3e6ae1;
    border-radius: 2px;
    padding: 10px;
    color: #FFF;
}

/* Header text gradient */
.gradient-text {
    color: #171a20;
    background-image: var(--color-heading);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.gradient-text-1 {
    --color-heading: linear-gradient(90deg, rgba(170, 199, 243, 1) 16.73%, rgba(249, 229, 126, 1) 87.71%);
}
.gradient-text-2 {
    --color-heading: linear-gradient(270deg, rgba(170, 199, 243, 1) 16.73%, rgba(249, 229, 126, 1) 87.71%);
}

/* Checkout page error msg */
.woocommerce-error {
    font-size: 18px;
    background-color: #ADFF2F;
    padding: 10px;
}

/* Catagory top filter text */
.mobile-text {
    display: block;
    text-align: center;
    margin-bottom: 20px;
    font-weight: bold;
    color: #004de6;
    font-size: 16px;
}
.desktop-text {
    display: none;
    margin-bottom: 20px;
    color: #004de6;
    font-size: 16px;
}
@media (min-width: 850px) {
    .mobile-text {
        display: none;
    }
    .desktop-text {
        display: block;
    }
}

/* Contact form 7 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 textarea,
.wpcf7 select {
    width: 100%;
    max-width: 500px;
}

/* Remove duplicate checkout error msg */
.woocommerce-NoticeGroup-checkout .message-container {
    display: none;
}
.page-checkout > .woocommerce-info {
    display: none;
}
#wrapper > .woocommerce-info {
    display: none;
}

/* Change dropdown menu text */
#menu-item-60448 ul a,
#menu-item-51915 ul a,
#menu-item-54473 ul a,
#menu-item-54474 ul a,
#menu-item-54476 ul a,
#menu-item-48280 ul a {
    color: #171a20;
    font-size: 15px;
}

/* Footer link hover underline */
#text-17 a,
#text-18 a,
#text-tcpp a {
    position: relative;
    display: inline-block;
}
#text-17 a::before,
#text-18 a::before,
#text-tcpp a::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.3s ease;
}
#text-17 a:hover::before,
#text-18 a:hover::before,
#text-tcpp a:hover::before {
    transform: scaleX(1);
}

/* Green pulsing dot of in stock */
.product-info > .stock.in-stock,
.product-info .variations_form .stock.in-stock {
    position: relative;
    padding-left: 20px;
}
.product-info > .stock.in-stock:before,
.product-info .variations_form .stock.in-stock:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 9px;
    height: 9px;
    background: #54c63a;
    border-radius: 50%;
    animation: pulse 2s linear infinite;
}
.product-info .woosb-wrap.woosb-bundled .stock.in-stock:before {
    content: none;
}
@keyframes pulse {
    0% { transform: translateY(-50%) scale(1); opacity: 1; }
    100% { transform: translateY(-50%) scale(1.6); opacity: 0.3; }
}

/* Footer menu */
.footer-2 {
    font-size: 15px;
}
.footer-intro {
    font-size: 13px;
    line-height: 18px;
    width: 85%;
}
.absolute-footer {
    font-size: 14px;
}

/* Product page slogan */
.pg-slogan {
    font-size: 15px;
    color: #1e73be;
    list-style-type: square;
    letter-spacing: 0.2px;
}

/* Product page spec table */
.woocommerce-product-attributes-item__label {
width: 20%;
}
.woocommerce-product-attributes-item--attribute_pa_fitment .woocommerce-product-attributes-item__value {
font-weight: bold;
}
.woocommerce-product-attributes-item--attribute_pa_no-fit .woocommerce-product-attributes-item__value {
font-style: italic;
}

/* Background colour for one menu tab */
.nav > li.menu-highlight > a {
    background-color: #3e6ae1;
    color: #FFF;
    border-radius: 6px;
    padding: 11px 14px;
    margin-top: 15px;
    margin-bottom: 15px;
}
.nav > li.menu-highlight > a:hover {
    background-color: #004de6;
    color: #FFF;
}

/* Left side column filter */
.woocommerce-widget-layered-nav-list__item--chosen a {
    color: #004de6 !important;
    font-weight: bold !important;
}

/* Product ETA */
.ts-eta--single,
.ts-eta--description {
    font-size: 1.15em;
    font-weight: 600;
    color: #c0392b;
    margin: 0.5em 0;
}
.ts-eta--description .ts-eta-icon {
    margin-right: 0.25em;
}
.ts-eta--loop {
    font-size: 0.9em;
    color: #c0392b;
}

/* Book a service button */
.button_service {
    background-color: #3E6AE1;
    color: #ffffff;
    font-weight: bold;
    padding: 12px 24px;
    border-radius: 4px;
}
.button_service:hover {
    background-color: #004de6;
    color: #ffffff;
}