/*
Theme Name: Shoptimizer Child Theme
Theme URI: 
Description: Child theme of Shoptimizer
Author: CommerceGurus
Author URI: 
Template: shoptimizer
Version: 8.1.4
License:         	GNU General Public License v2 or later
License URI:     	http://www.gnu.org/licenses/gpl-2.0.html
*/

#content {
    overflow-x: hidden;
}

#menu-top-menu{
    margin-top: 20px !important;
}

#page > .elementor-location-header {
    z-index: 102;
    position: relative;
}

#site-navigation{
    z-index: 900 !important;
    position:relative;
}

/* Sub Menu SVGs */
.woocommerce-MyAccount-navigation-link--nutritional-menu > a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><g class="fa-duotone-group"><path fill="currentColor" d="M183.1 235.3c19.6-113 73.8-178.8 91.3-197.7C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6c17.5 18.8 71.8 84.7 91.3 197.7c-22 13.5-42.1 29.9-59.7 48.7c-8.8 9.4-17.1 19.3-24.6 29.8c-3.8 5.2-7.4 10.6-10.8 16.1c-1.7 2.7-3.4 5.5-5 8.3s-3.2 5.6-4.8 8.6c-24.5-46-60.9-84.5-104.9-111.6z"></path><path fill="currentColor" d="M267.9 480l20.1 0 20.1 0C456.1 480 576 360.1 576 212.1c0-11.1-9-20.1-20.1-20.1l-9.9 0c-110.8 0-208.5 62-258 154.9C238.5 254 140.8 192 30 192l-9.9 0C9 192 0 201 0 212.1C0 360.1 119.9 480 267.9 480z"></path></g></svg>');
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><g class="fa-duotone-group"><path fill="currentColor" d="M183.1 235.3c19.6-113 73.8-178.8 91.3-197.7C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6c17.5 18.8 71.8 84.7 91.3 197.7c-22 13.5-42.1 29.9-59.7 48.7c-8.8 9.4-17.1 19.3-24.6 29.8c-3.8 5.2-7.4 10.6-10.8 16.1c-1.7 2.7-3.4 5.5-5 8.3s-3.2 5.6-4.8 8.6c-24.5-46-60.9-84.5-104.9-111.6z"></path><path fill="currentColor" d="M267.9 480l20.1 0 20.1 0C456.1 480 576 360.1 576 212.1c0-11.1-9-20.1-20.1-20.1l-9.9 0c-110.8 0-208.5 62-258 154.9C238.5 254 140.8 192 30 192l-9.9 0C9 192 0 201 0 212.1C0 360.1 119.9 480 267.9 480z"></path></g></svg>');
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-size: contain;
    background-color: currentColor;
    color: lightgray;
    margin-right: 0 !important;
}
.woocommerce-MyAccount-navigation-link--nutritional-menu > a:hover::before,
.woocommerce-MyAccount-navigation-link--nutritional-menu.is-active > a::before {
    background-color: #333;
}
.woocommerce-MyAccount-navigation-link--myfamilychemist-wallet > a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    mask-image: url('data:image/svg+xml;utf8,<svg class="svg-inline--fa fa-trophy trophyIcon" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="trophy" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" data-fa-i2svg=""><path fill="currentColor" d="M400 0L176 0c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8L24 64C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7c44.3 43.1 98.3 64.8 138.1 75.8c23.4 6.5 39.4 26 39.4 45.6c0 20.9-17 37.9-37.9 37.9L192 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-26.1 0C337 448 320 431 320 410.1c0-19.6 15.9-39.2 39.4-45.6c39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24L446.4 64c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112l84.4 0c9.1 90.1 29.2 150.3 51.9 190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1 254.3c-22.4 21.8-48.3 37.3-73.2 48.3c22.7-40.3 42.8-100.5 51.9-190.6l84.4 0c-5.1 66.3-31.1 111.2-63 142.3z"></path></svg>');
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg class="svg-inline--fa fa-trophy trophyIcon" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="trophy" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" data-fa-i2svg=""><path fill="currentColor" d="M400 0L176 0c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8L24 64C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7c44.3 43.1 98.3 64.8 138.1 75.8c23.4 6.5 39.4 26 39.4 45.6c0 20.9-17 37.9-37.9 37.9L192 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-26.1 0C337 448 320 431 320 410.1c0-19.6 15.9-39.2 39.4-45.6c39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24L446.4 64c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112l84.4 0c9.1 90.1 29.2 150.3 51.9 190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1 254.3c-22.4 21.8-48.3 37.3-73.2 48.3c22.7-40.3 42.8-100.5 51.9-190.6l84.4 0c-5.1 66.3-31.1 111.2-63 142.3z"></path></svg>');
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-size: contain;
    background-color: currentColor;
    background: #111;
    margin-right: 0 !important;
}
.woocommerce-MyAccount-navigation-link--reorder-treatment > a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    mask-image: url('data:image/svg+xml;utf8,<svg class="svg-inline--fa fa-heart" aria-hidden="true" focusable="false" data-prefix="far" data-icon="heart" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path fill="currentColor" d="M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8l0-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9c0 0 0 0 0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5l0 3.3c0 41.9-17.4 81.9-48.1 110.4L288.7 465.9l-2.5 2.3c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM239.1 145c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1s0 0 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5l0 3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7 431.2 268c20.9-19.4 32.8-46.7 32.8-75.2l0-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2c0 0 0 0-.1 .1s0 0-.1 .1l-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7z"></path></svg>');
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg class="svg-inline--fa fa-heart" aria-hidden="true" focusable="false" data-prefix="far" data-icon="heart" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path fill="currentColor" d="M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8l0-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9c0 0 0 0 0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5l0 3.3c0 41.9-17.4 81.9-48.1 110.4L288.7 465.9l-2.5 2.3c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM239.1 145c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1s0 0 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5l0 3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7 431.2 268c20.9-19.4 32.8-46.7 32.8-75.2l0-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2c0 0 0 0-.1 .1s0 0-.1 .1l-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7z"></path></svg>');
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-size: contain;
    background-color: currentColor;
    background: #111;
    margin-right: 0 !important;
}
.woocommerce-MyAccount-navigation-link--account-nhs-service > a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M222.6 43.2l-.1 4.8L288 48c53 0 96 43 96 96s-43 96-96 96l-40 0 0-80 40 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-40 0-28 0-4.5 144 40.5 0c53 0 96 43 96 96s-43 96-96 96l-16 0 0-80 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-43 0-3.1 99.5L208.5 495l0 1c-.3 8.9-7.6 16-16.5 16s-16.2-7.1-16.5-16l0-1-1-31L136 464c-22.1 0-40-17.9-40-40s17.9-40 40-40l36 0-1-32-19 0c-53 0-96-43-96-96c0-47.6 34.6-87.1 80-94.7l0 94.7c0 8.8 7.2 16 16 16l16.5 0L164 128l-28 0-13.4 0c-9 18.9-28.3 32-50.6 32l-16 0c-30.9 0-56-25.1-56-56S25.1 48 56 48l8 0 8 0 89.5 0-.1-4.8L161 32c0-.7 0-1.3 0-1.9c.5-16.6 14.1-30 31-30s30.5 13.4 31 30c0 .6 0 1.3 0 1.9l-.4 11.2zM64 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z"/></svg>');
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M222.6 43.2l-.1 4.8L288 48c53 0 96 43 96 96s-43 96-96 96l-40 0 0-80 40 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-40 0-28 0-4.5 144 40.5 0c53 0 96 43 96 96s-43 96-96 96l-16 0 0-80 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-43 0-3.1 99.5L208.5 495l0 1c-.3 8.9-7.6 16-16.5 16s-16.2-7.1-16.5-16l0-1-1-31L136 464c-22.1 0-40-17.9-40-40s17.9-40 40-40l36 0-1-32-19 0c-53 0-96-43-96-96c0-47.6 34.6-87.1 80-94.7l0 94.7c0 8.8 7.2 16 16 16l16.5 0L164 128l-28 0-13.4 0c-9 18.9-28.3 32-50.6 32l-16 0c-30.9 0-56-25.1-56-56S25.1 48 56 48l8 0 8 0 89.5 0-.1-4.8L161 32c0-.7 0-1.3 0-1.9c.5-16.6 14.1-30 31-30s30.5 13.4 31 30c0 .6 0 1.3 0 1.9l-.4 11.2zM64 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z"/></svg>');
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-size: contain;
    background-color: currentColor;
    background: #111;
    margin-right: 0 !important;
}

.elementor-widget-wrap{
    border-radius: 10px !important;
}

/* default theme override */
ul{
    margin: 0px;
    margin-left: 15px;
}

/* h tags */
h1, h2, h3 {
    font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"  !important;
    font-weight: 600 !important;
}
h1 {
    font-size: clamp(24px, 4vw, 32px) !important;
}
h2 {
    font-size: clamp(20px, 3vw, 24px) !important;
}
h3 {
    font-size: clamp(16px, 2.5vw, 18px) !important;
}

/* Modal Designs */
.active-page-node {
    background-color: #1e68c4 !important;
    transform: scale(1.2);
}
.page-node {
    border-radius: 50px; 
    padding: 10px; 
    background-color: #829F77; 
    color: white; 
    margin: 10px;
    font-size: 15px;
    line-height: 15px;
    padding-left: 15px;
    padding-right: 15px;
    font-weight: bold;
}
.page-wrapper {
    position: relative;
    padding-bottom: 20px;
    height: 70%;
    width: 100%;
    overflow-y: scroll;
}
.modal-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.modal-footer{
    position: absolute;
    bottom: 0;
    bottom: 10px;
    z-index: 999;
    width: 95%;
    background-color: white;
}

/* Checkbox Designs */
.checkbox.style-e {
    display: inline-block;
    position: relative;
    padding-left: 50px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.checkbox.style-e input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.checkbox.style-e input:checked ~ .checkbox__checkmark {
    background-color: #d4d2ce;
}
.checkbox.style-e input:checked ~ .checkbox__checkmark:after {
    left: 21px;
}
.checkbox.style-e:hover input ~ .checkbox__checkmark {
    background-color: #4F7DB5;
}
.checkbox.style-e:hover input:checked ~ .checkbox__checkmark {
    background-color: #d4d2ce;
}
.checkbox.style-e .checkbox__checkmark {
    position: absolute;
    top: 1px;
    left: 0;
    height: 22px;
    width: 40px;
    background-color: #007bff;
    transition: background-color 0.25s ease, transform 0.25s ease;
    border-radius: 11px;
    -webkit-transition: background-color 0.25s ease, transform 0.25s ease;
}
.checkbox.style-e .checkbox__checkmark:after {
    content: "";
    position: absolute;
    left: 3px;
    top: 3px;
    width: 16px;
    height: 16px;
    display: block;
    background-color: #fff;
    border-radius: 50%;
    transition: left 0.25s ease, transform 0.25s ease;
    -webkit-transition: left 0.25s ease, transform 0.25s ease;
}
.checkbox.style-e .checkbox__body {
    color: #333;
    line-height: 1.4;
    font-size: 15px;
    transition: color 0.25s ease;
    -webkit-transition: color 0.25s ease;
}

/* BMI cal */
.units, .height, .weight{
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.height-inputs, .weight-inputs{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 60%;
    padding-right: 8px;
}
.unit{
    display: flex;
    align-items: center;
    width: 30%;
}
.unit-radio{
    margin-right: 10px;
}
.bmi-input{
    padding: 10px;
    font-weight: bold;
    border-radius: 10px;
    margin-top: 5px;
    margin-bottom: 10px;
}
.bmi-value{
    font-weight: bold;
    color: #007bff;
}
.bmi-response{
    font-size: 20px;
    margin-top: 15px;
    text-align: center;
}
.bmi-title{
    width: 25%;
}
.bmi-header{
    width: 100%;
    font-size: 17px;
}
.bmi-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 45%;
}
.static-text {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: gray;
    font-size: 0.9em;
    pointer-events: none;
}

/* Widgets */
/* Small Calendar Widgets */
.small-cal-selected-call{
    color: white !important;
    background: #0e8dd7 !important;
}
.small-cal-unselected-call{
    color: #333;
    background: #f4f4f4;
}
.small-cal-disabled-call {
    background-color: #f0f0f0 !important;
    color: #bbb !important;
    pointer-events: none;
}

/* ELEMENTS*/
.hiw-title{
    font-weight: 450;                    
    padding-bottom: 15px;
    color: #05054b;
}
.hiw-title:after{
    content: ""; 
    display: block;
    border-bottom: 2px solid #05054b;
    width: 60%;
    margin: 0 auto;
    margin-top: 15px;
}
.hiw-inner-title{
    font-weight: bold;
    color: #05054b;
    margin-bottom: 5px;
}
._btn{ border-radius: 50px; }
.follow-reorder-actions{
    padding: 10px;
    padding-left: 20px;
    padding-right: 20px;
    background-color: #fcab40;
    margin: 10px;
    color: white;
    cursor: pointer;
    width: fit-content;
    border-radius: 20px;
}
.directBtnOverride{
    background-color: white !important;
    color: black !important;
    font-size: 20px !important;
}
.no-scroll {
    overflow: hidden;
}
.disabled-btn {
    pointer-events: none;
    opacity: 0.5;
    cursor: not-allowed;
}
.enabled-btn{
    cursor: pointer;
}

#dmca_widget_badge-3{
    width:100%;
}
.notify-tag{
    width: fit-content;
    padding: 5px 5px 5px 25px;
    clip-path: polygon(0% 100%, 10% 0%, 100% 0%, 100% 100%);
}
.action-btn{
    padding: 10px 30px 10px 30px;
    margin: 10px;
    text-align: center;
    border-radius: 10px;   
    background-color: #0067b2;
    color: white;
    cursor: pointer;
    width: fit-content;
    font-weight: bold;
}
.action-btn-reverse{
    padding: 10px 30px 10px 30px;
    margin: 10px;
    text-align: center;
    border-radius: 10px;   
    background-color: #f2f6ff;
    color: #0067b2;
    border: 1px solid#0067b2;
    cursor: pointer;
    width: fit-content;
}
.blankTxtInput{
    border: none;
}

/* ATOMIC STYLING */
.row{
    display: flex;
    flex-direction: row;    
}
.col{
    display: flex;
    flex-direction: column;
}
.aicenter{ align-items: center; }
.aiend{ align-items: end; }
.jusify-center{ justify-content: center; }
.jusify-start{ justify-content: flex-start; }
.jusify-end{ justify-content: flex-end; }
.jusify-spacebetween{ justify-content: space-between; }
.jusify-spaceevenly{ justify-content: space-evenly; }
.flexwrap{ flex-wrap: wrap; }

.bold{ font-weight: bold; }
.txtcenter{ text-align: center; }
.bigtxt{ font-size: 30px !important; }
.mediumtxt{ font-size: 20px !important; }
.smalltxt{ font-size: 12px !important; }

.topwidth{ width: 100%; }
.minWidth { min-width: 330px; }

.round{ border-radius: 50px; }
.curvedborder{ border-radius: 10px; }

/* Clinical Team Elementor Block */

.tfc-team-wrap {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(1, 1fr);
    font-family: 'Work Sans';
}

.tfc-team {
    padding-top: 4px;
    padding-bottom: 12px;
}

.tfc-team__img {
    min-height:350px; 
    border-radius:20px 20px 0px 0px;
    background-size: cover;
    background-position: 50% 50%;
}
.tfc-team__info {
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
}
.tfc-team__info h4 {
    font-weight: 700;
    color: #12519E;
    margin-bottom: 8px;
    line-height: 1.1;
}

.tfc-team__info p {
    margin: 0;
}

/* Small devices (mobile/tablets, 767px and below) */
@media only screen and (max-width: 766px) {

}

/* Medium devices (tablets/desktops, 768px and up) */
@media only screen and (min-width: 768px) {
    .tfc-team-wrap {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Large devices (large laptops and desktops, 1024px and up) */
@media only screen and (min-width: 1024px) {
    .tfc-team-wrap {
        padding-top: 20px;
        padding-bottom: 20px;
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
    }

    .tfc-team {
        padding-top: 8px;
        padding-bottom: 20px;
    }
}

/* NHS page styles */
#nhs-btn{
    background-color: #144373 !important;
    color: white !important;
    font-weight: 500 !important;
    width: 205px !important;
    height: 45px !important;
    border-radius: 10px !important;    
}
#alternative-nhs-btn{
    border: 1px solid #144373 !important;
    background-color: white !important;
    color: #144373 !important;
    font-weight: 400 !important;
    width: 205px !important;
    height: 45px !important;
    border-radius: 10px !important;  
}
#howitworks-vid-btn{
    border: 2px solid black;
    color: black !important;
    background-color: white !important;
    border-radius: 10px !important;
}

#nhs-colour-btns-green-alt,
#nhs-colour-btns-purple-alt,
#nhs-colour-btns-green,
#nhs-colour-btns-purple{
    background-color: white !important;
    color: black !important;
    width: 268px !important;
    height: 60px !important;
    align-content: center;
    cursor: default !important;
}
#nhs-colour-btns-green-alt,
#nhs-colour-btns-green{ border: 2px solid #58E7B9 !important; }
#nhs-colour-btns-purple-alt,
#nhs-colour-btns-purple{ border: 2px solid #C5A1F8 !important; }
#nhs-colour-btns-purple-alt:hover,
#nhs-colour-btns-purple:hover{
    color: white !important;
    background-color: #C5A1F8 !important;
}
#nhs-colour-btns-green-alt:hover,
#nhs-colour-btns-green:hover{
    color: white !important;
    background-color: #58E7B9 !important;
}
@media (max-width: 1024px) {
    #nhs-colour-btns-green-alt {
        border: 2px solid #C5A1F8 !important;
        background-color: white !important;
        color: black !important;
    }
    #nhs-colour-btns-green-alt:hover {
        background-color: #C5A1F8 !important;
        color: white !important;
    }
    #nhs-colour-btns-purple-alt {
        border: 2px solid #58E7B9 !important;
        background-color: white !important;
        color: black !important;
    }
    #nhs-colour-btns-purple-alt:hover {
        background-color: #58E7B9 !important;
        color: white !important;
    }
}

.tfc-top-shadow{ box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1); }

/* Main carousel wrapper */
.reverse-carousel-wrapper, 
.carousel-wrapper {
    width: 100%;
    position: relative;
    background: white;
    padding: 20px 0;
}
.reverse-carousel-container,
.carousel-container {
    display: flex;
    width: fit-content;
    transition: transform 0.1s ease-out;
}
.horizontal-scroll-card:hover {
    transform: translateY(-5px);
}
@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
@media (max-width: 768px) {
    .horizontal-scroll-card {
        flex: 0 0 250px;
        height: 150px;
        margin-right: 20px;
    }
    .carousel-wrapper {
        padding: 10px 0;
    }
}
.site-footer {
    position: relative;
    z-index: 100;
}

footer.copyright {
    z-index: 99;
    position: relative;
}

.site-footer .widget_nav_menu li {
    min-height: 26px;
}

.elementor-popup-modal{
    z-index: 200 !important;
}
.e-n-accordion-item-title{
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    padding: 20px !important;
}

.tp-widget-review{
    background-color: #ebf3fa !important;
}
.tp-widget-reviews{
    background-color: red !important;
}

@media (max-width: 768px) {
    #menu-item-8716 {
      margin-top: 70px;
    }
}

/* NHS contraception images */
.desktopImage {
    display: block !important;
}
.mobileImage {
    display: none !important;
}
@media (max-width: 1350px) {
    .desktopImage {
      display: none !important;
    }
    .mobileImage {
      display: block !important;
    }
}

/* NHS pill alt popups */
/* .nhs-alt1-popup-btn {
    background-color: #13519E !important;
    padding-left: 20px !important;   
    padding-right: 20px !important;   
} */
/*
#nhs-alt1-popup {
    width: 90%;
    margin: 0 auto;
}
@media (min-width: 768px) {
    #nhs-alt1-popup {
        width: 30%;
    }
} 
*/

/* NHS spinning txt pill badge */
.nhs-contraception-badge-circle {
	position: relative;
	width: 200px;
	height: 200px;
	border-radius: 100vmax;
	display: flex;
	align-items: center;
	justify-content: center;
}
.nhs-contraception-badge-logo {
	position: absolute;
	width: 140px;
	height: 140px;
	background: url("https://www.thefamilychemist.co.uk/wp-content/uploads/2025/08/Mask-group3.png");
	background-size: cover;
	border-radius: 100vmax;
	background-position: center;
}
.nhs-contraception-badge-logo-alt {
	position: absolute;
	width: 140px;
	height: 140px;
	background: url("https://www.thefamilychemist.co.uk/wp-content/uploads/2025/09/capsule-uti-1.png");
	background-size: cover;
	border-radius: 100vmax;
	background-position: center;
}
.nhs-contraception-badge-txt {
    display: none;
	position: absolute;
	width: 100%;
	height: 100%;
	font-family: monospace;
	color: #000;
	font-size: 17px;
	animation: textRotation 8s linear infinite;
}
@keyframes textRotation {
	to {
		transform: rotate(360deg);
	}
}
.nhs-contraception-badge-txt span {
	position: absolute;
	left: 50%;
	font-size: 1.2em;
	transform-origin: 0 100px;
}


/* New header fix */

body .tfc-header-longnav > .e-con-inner {
    height: auto !important;
} 

/* Landing page carousel fix */
/* 
.home .e-widget-swiper .swiper-slide {
    width: 100% !important;
}

@media only screen and (max-width: 1200px) {
    .home .e-widget-swiper .swiper {
        width: 100%;
    }
}

@media only screen and (min-width: 1200px) {
    .home .e-widget-swiper .swiper-wrapper {
        width: initial;
    }
} */

.home .swiper-slide,
.home .swiper-slide > .elementor-element {
    width: 260px !important;
}

.woocommerce-button,
.elementor-button{
    background-color: #275A94;
    color: white;
    border-radius: 10px;
}

/* C+D Products (shop controls) */
.cdprod-action{
    background-color: #275A94;
    color: white;
    margin: 10px;
    border-radius: 10px;
    padding: 10px;
    cursor: pointer;
}
.cdprod-action.disabled {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

/* Notifications */
.notification {
    position: fixed;
    top: 20px;
    right: -400px;
    width: 320px;
    padding: 16px;
    border-radius: 6px;
    color: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    z-index: 9999;
    transition: right 0.4s ease, opacity 0.4s ease;
    opacity: 0;
}
.notification p {
    margin: 8px 0 0;
    font-size: 14px;
}
.notification-success {
    background-color: #2f855a;
}
.notification-danger {
    background-color: #c53030;
}
.notification.show {
    right: 20px;
    opacity: 1;
}
.notification.hide {
    right: -400px;
    opacity: 0;
}

/* Forms */
.form-input-note{
    font-size: 12px;
    color: gray;
    font-style: italic;
}

/* Products / Product Card */
.tfc-card{
    background-color: white;
    border-radius: 10px;
    height: 388px;
    max-height: 388px;
    min-height: 388px;
    padding: 15px;
}

.tfc-add-to-basket{
    width: 72%;
    color: white;
    font-size: 20px;
    border-radius: 10px;
    background-color: #2B5993;
    text-align: center;
    padding: 5px;
    cursor: pointer;
}

.tfc-view-product {
    display: block; 
    width: 100%;
    margin-top: 6px;
}

.tfc-view-product button {
    width: 100%;
    color: #2B5993;
    font-size: 16px;
    border-radius: 10px;
    background-color: white;
    border: 1px solid #2B5993;
    text-align: center;
    padding: 5px;
    cursor: pointer;
}

.tfc-prod-card-price{
    font-size: 14px;
}

.tfc-product-cat-title{
    color: gray;
}

.tfc-product-cat-title,
.tfc-product-title{
    text-align: center;
}

.tfc-product-title{
    margin: 0px !important;
    margin:10px 0 6px 0;
    font-size:16px;
    font-weight: bold;
}

/* Modal */

.modalMainContent{
    overflow-y: auto;
    height: 100%;
}

/* Toast notifications */

.toast {
  position: fixed;
  top: 25px;
  right: 10px;
  border-radius: 12px;
  background: #fff;
  padding: 10px 30px 15px 15px;
  box-shadow: 0 6px 20px -5px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transform: translateX(calc(100% + 30px));
  transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.35);
  z-index: 999;
}

.toast.active {
  transform: translateX(0%);
  animation: slideIn 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.35);
}

.toast .toast-content {
  display: flex;
  align-items: center;
}

.toast-content .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 35px;
  min-width: 35px;
  background-color: #FFF;
  color: #2B5993;
  font-size: 20px;
  border-radius: 50%;
}

.toast.success .icon {
  color: #8DC26C;
}

.toast.error .icon {
  color: #DA5A40;
}

.toast-content .message {
  display: flex;
  flex-direction: column;
  margin: 0 20px;
}

.message .text {
  font-size: 16px;
  font-weight: 400;
  color: #666666;
}

.message .text.text-1 {
  font-weight: 600;
  color: #333;
}

.toast .close {
  position: absolute;
  top: 10px;
  right: 15px;
  padding: 5px;
  cursor: pointer;
  opacity: 0.7;
  background-color: transparent;
}

.toast .close:hover {
  opacity: 1;
}

.toast .progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  width: 100%;

}

.toast .progress:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 100%;
  background-color: #2B5993;
}

.toast.success .progress:before {
  background-color: #8DC26C;
}

.toast.error .progress:before {
  background-color: #DA5A40;
}

.progress.active:before {
  animation: progress 5s linear forwards;
}

@keyframes progress {
  100% {
    right: 100%;
  }
}

@keyframes slideIn {
  0% {
    transform: translateX(calc(100% + 30px));
  }
  100% {
    transform: translateX(0%);
  }
}

@media (min-width: 768px) {
  .toast {
      top: 25px;
      right: 30px;
      padding: 20px 35px 20px 25px;
  }
}

.wp-admin #taxonomy-legalStatus {
    width: 15%;
}    
    
/**
 * How it works
 */

.tfc-lp-hit-wrapper, .tfc-lp-hit-wrapper-mobile {
    background: #5482B7;
    background: linear-gradient(
      25deg,
      #CEE2F2, #5482B7, #2B5A93
    );
}

.wrapper-preload img, .wrapper-preload-mobile img {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 300px;
    width: auto;
}

@media (min-width: 1024px) {
    .wrapper-preload img, .wrapper-preload-mobile img {
        height: 550px;
    }
}

.tfc-image-pagination {
    position: absolute; 
    bottom: 20px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 3;
}

.tfc-pagination-bullet {
    display: block;
    width: 10px;
    height: 10px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    margin: 0 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.tfc-pagination-bullet.tfc-active-bullet {
    background-color: #fff;
    transform: scale(1.2);
}

.tfc-pagination-bullet:hover {
    background-color: rgba(255, 255, 255, 0.8);
}

.tfc-add-to-basket.disabled {
    background: #ccc !important;
    cursor: not-allowed !important;
    opacity: 0.7  !important;
    pointer-events: none  !important;
}

.reorder-row .odRow{
    padding:10px;
    background-color:#f5f5f5;
    margin-bottom:10px;
}

.odRowInner{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:10px 0 10px 0;
    align-items:center;
}

@media (prefers-color-scheme: dark) {
    .woocommerce-checkout .icon,
    .woocommerce-checkout .woocommerce-input-wrapper::before {
        color: #ffffff !important;
    }
    .woocommerce-checkout svg {
        fill: #ffffff !important;
    }
}

.singleReorderTreatment{
    width:100%;
    background-color:#f5f5f5;
    border-radius:5px;
    padding:25px;
    margin-bottom:10px;
}

.lastOrder{
    display:block;
    font-size:16px;
    font-weight:700;
    margin-bottom:10px;
}

.startReorderConsultation,
.reorderButton{
    background-color:#61CE70;
    color:white;
    padding:10px;
    border:none;
    border-radius:5px;
    font-weight:700;
    cursor:pointer;
}

.close-modal{
    top:10px;
    right:10px;
    cursor:pointer;
    color:#007bff;
    font-size:20px;
}

.bmi-fields{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:10px;
}

.bmi-fields input{
    padding:10px;
    border:1px solid #ccc;
    border-radius:5px;
}
.reorderResponse {
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}
.reorderInner {
    background-color: white;
    padding: 20px;
    border-radius: 30px;
    width: 100%;
    height: 100%;
    max-width: 800px;
    max-height: 700px;
    box-sizing: border-box;
}
/* Media Queries for devices with a max-width of 800px */
@media (max-width: 600px) {
    .reorderInner {
        top:0;
        padding: 15px; /* Slightly less padding on smaller screens */
        max-width: 90%; /* Make the modal a bit narrower on smaller devices */
        margin: 10px; /* Adds margin to avoid touching the screen edges */
    }
    .modal-footer{
        margin-left: -15px !important;
    }
}
.variation-attribute {
    margin-bottom: 10px;
}
.variation-attribute h5 {
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 17px;
}
.attribute-option {
    display: inline-block;
    padding: 8px 15px;
    margin-right: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    border: 2px solid #ddd;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 14px;
}
.attribute-option:hover {
    background-color: #f0f0f0;
}
.attribute-option.selected {
    background-color: #275A94;
    color: white;
    border-color: #275A94;
}
.confirmation-boxes {
    margin-top: 10px;
    margin-bottom: 20px;
}
.confirmation-boxes label {
    display: block;
    margin-bottom: 15px;
    font-size: 14px;
}
.reorder-submit {
    background-color: #28a745;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s ease;
}
.reorder-submit:hover {
    background-color: #218838;
}

.odRowInner select{
    width:auto;
    max-width:100%;
    background-color:white;
}
.reorder-row span{
    display:block;
    margin-right:10px;
}

.odRowInner button{
    background-color:#61CE70;
    color:white;
    padding:5px 20px 5px 20px;
    font-weight:700;
    position:relative;
    top:-3px;
}

.GPSearch{
    max-width:100%!important;
    width:100%!important;
    flex:auto!important;
}

.gpSearch input{
    width:100%!important;
    border:1px solid #ccc!important;
    background-color:white;
    padding:10px;
    border-radius:5px;
}

.gpSearch input::placeholder{
    color:#ccc;
}

.gpSearch input:active{
    border:1px solid #007bff!important;
    background-color:white;
}

    .reorder-row input[type="radio"] {

        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #ccc;
        outline: none;
        transition: border-color 0.3s ease-in-out;
        margin-left:20px;
        position:relative;
        top:5px;
    }

    .reorder-row input[type="radio"]:checked {
        border-color: #007bff;
        background-color: #007bff;
    }

.resultTitle span{
    display:block;
    margin-bottom:10px;
}

.rtTitle{
    font-size:20px;
    font-weight:700;
}

.rtSub{
    font-size:16px;
    font-weight:400;
}

.gplist ul{
    list-style:none;
    padding:0;
    margin:0;
}

.gpItem {
    padding:10px;
    list-style:none;
    background-color:#f5f5f5;
    margin-bottom:10px;
    transition:.3s ease-in-out;
    cursor:pointer;
}

.activeGPItem{
    background-color:#c5a1f8;
    color:white;
}

.gpTitle{
    display:block;
    font-size:18px;
    font-weight:700;
    margin-bottom:5px;
}

.gpAddress{
    display:block;
    font-size:15px;
    font-weight:400;
}

.basketNavigation{
    position:relative;
}

.basketNavigation .cart-count{
    position:absolute;
    top:0px;
    left:5px;
    background-color:rgba(197,161,248,.5);
    color:black;
    border-radius:50%;
    height:50px;
    width:50px;
    padding-left:10px;
    padding-top:10px;
    font-weight:900;
}

.submitGPCustom:disabled {
    background-color: #ccc;
    color: #666;
    cursor: not-allowed;
}

.doctorNoFind{
    width:100%;
    margin:15px 0 15px 0;
    position:relative;
    span{
        display:block;
        font-weight:700;
        color:#007bff;
        text-decoration:underline;
        margin-bottom:10px;
        cursor:pointer;
    }
    .doctorCustomInput{
        width:100%;
        margin:10px 0 10px 0;
        input{
            width:100%;
            padding:10px;
            border:1px solid #ccc;
            border-radius:5px;
            margin:0 0 10px 0;
        }
        button{
            background-color:#61CE70;
            color:white;
            padding:10px;
            border:none;
            border-radius:5px;
            font-weight:700;
            cursor:pointer;
        }
    }
}
.patient-details-sep{
    margin-top: 15px;     
    border-top: 1px solid #eeeeee;
    padding-top: 10px;
}
.append-bottom-margin{
    margin-bottom: 30px;
}
.hide-optional-text .optional{
    display: none;
}
.woocommerce-billing-fields h3 {
    margin: 0 !important;
    margin-bottom: 15px !important;
}
#billing_gp_address_field{
    padding-bottom: 15px;
    border-bottom: 1px solid #eeeeee;
}
.custom-description{
    display: flex; 
    align-items: center; 
    color: gray; 
    font-size: 14px;
    margin-top: 2px;
}

.elementor-clearfix{width:100%; overflow-x:auto;}

table.cart td.product-remove a.remove{
    transform:scale(1.5);
}

/* Marketing ad styles */

.tfc-marketing-ad {
    width: 100%;
    margin: 0px;
    box-sizing: border-box;
}

.tfc-marketing-ad-desktop {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    gap: 28px;
    align-items: center;
}

.tfc-marketing-ad-mobile {
    display: none;
}
.tfc-marketing-ad-media{
    z-index: 9;
}
.tfc-marketing-ad-media img,
.tfc-marketing-ad-badge-image img {
    width: 100%;
    height: auto;
    display: block;
}

.tfc-marketing-ad-content{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 391px;
    max-width: 391px;
    min-width: 391px;
}

.tfc-marketing-ad-content h2 {
    margin-top: 0;
    font-size: 34px;
    line-height: 1.15;
    margin-bottom: 0px;
}

.tfc-marketing-ad-copysub{
    text-align: center;
}

.tfc-marketing-ad-banner {
    display: inline-block;
    padding: 8px 0px;
    border-radius: 999px;
    margin-bottom: 16px;
    font-size: 14px;
    font-weight: 600;
    font-size: 18px;
    position: absolute;
    margin-left: 35%;
    margin-top: 2.5%;
    width: 30%;
    text-align: center;
    z-index: 9;
}

.tfc-marketing-content-wrapper-mobile{
    width: 95%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    height: 550px;
    gap: 20px;
    border-top-left-radius: 20px;    
    border-top-right-radius: 20px;    
}

.tfc-marketing-content-wrapper{
    width: 230%;
    height: 89%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-left: -65%;
    margin-right: -65%;
    margin-top: 10%;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.tfc-marketing-ad-title{
    font-size: 50px !important;
}

.tfc-marketing-ad-button {
    display: inline-block;
    padding: 8px 50px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
}

.tfc-marketing-ad-related-products {
    margin-top: 36px;
}

@media (max-width: 767px) {
    .tfc-marketing-content-wrapper-mobile {
        padding-top: 50px;
    }
    .tfc-marketing-ad-desktop {
        display: none;
    }
    .tfc-marketing-ad-media{
        height: 250px;
        max-height: 250px;
        min-height: 250px;
        margin-top: -261px;
    }
    .tfc-marketing-ad-mobile {
        display: grid;
        gap: 20px;
        margin-top: 30px;
    }
    .tfc-marketing-ad-content{
        width: 100%;
        max-width: none;
    }
    .tfc-marketing-ad-content h2 {
        font-size: 28px;
    }
    .tfc-marketing-ad-banner{
        padding: 8px 20px;
        font-size: 16px;
        text-align: center;
        margin-top: -20px;
        margin-bottom: 0px;
        width: 70%;
        margin-left: 15%;
    }
}
