/*
Theme Name: TFC Theme
Theme URI: 
Description: TFC theme styless
Author: TFC
Author URI: 
Template: shoptimizer
Version: 8.1.6
License: TFCV1
License URI: https://www.thefamilychemist.co.uk/
*/

/* theme styles */
#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;
}
.col-full{
    width: 100% !important;
    max-width: none !important;
    padding: 0px !important;
    margin: 0px !important;
}

/* Override my-account menu inc - nav links, positoning ect all related to my-account nav */
.woocommerce-MyAccount-navigation ul li { border-bottom: none; }
.woocommerce-MyAccount-navigation ul li a { padding: 10px; }
.woocommerce-MyAccount-navigation ul li a::before { float: none; vertical-align: top; }
.woocommerce-MyAccount-navigation ul {
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
    margin: 0 !important;
    padding: 4px 2px 14px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
    display: none;
    height: 0;
}
.woocommerce-MyAccount-navigation-link {
    flex: none;
    scroll-snap-align: start;
}
.woocommerce-MyAccount-navigation-link > a {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: 10px 20px;
    border-radius: 999px;
    color: #4b5a6e;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.woocommerce-MyAccount-navigation-link > a:hover {
    background: rgba(46,77,123,0.12);
    color: #1E2D40;
    text-decoration: none;
}
.woocommerce-MyAccount-navigation-link.is-active > a {
    background: white !important;
    color: gray !important;
    border: 1px solid gray !important;
}
.woocommerce-MyAccount-navigation-link--customer-logout > a {
    background: rgba(201,87,47,0.08);
    color: #C9572F;
}
.woocommerce-MyAccount-navigation-link--customer-logout > a:hover {
    background: rgba(201,87,47,0.14);
    color: #C9572F;
}
.woocommerce-MyAccount-navigation {
    width: 92% !important;
    margin: 0 0 10px 10px !important;
    float: none;
}
.woocommerce-MyAccount-content {
    width: 100%;
    margin: 0;
    float: none;
    padding: 0 10px;
}
.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--myfamilychemist-wallet > a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    background-color: #000;
    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;
}
.woocommerce-MyAccount-navigation-link--referral-balance > 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 640 640"><!--!Font Awesome Free v7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M96 192C96 130.1 146.1 80 208 80C269.9 80 320 130.1 320 192C320 253.9 269.9 304 208 304C146.1 304 96 253.9 96 192zM32 528C32 430.8 110.8 352 208 352C305.2 352 384 430.8 384 528L384 534C384 557.2 365.2 576 342 576L74 576C50.8 576 32 557.2 32 534L32 528zM464 128C517 128 560 171 560 224C560 277 517 320 464 320C411 320 368 277 368 224C368 171 411 128 464 128zM464 368C543.5 368 608 432.5 608 512L608 534.4C608 557.4 589.4 576 566.4 576L421.6 576C428.2 563.5 432 549.2 432 534L432 528C432 476.5 414.6 429.1 385.5 391.3C408.1 376.6 435.1 368 464 368z"/></svg>');
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M96 192C96 130.1 146.1 80 208 80C269.9 80 320 130.1 320 192C320 253.9 269.9 304 208 304C146.1 304 96 253.9 96 192zM32 528C32 430.8 110.8 352 208 352C305.2 352 384 430.8 384 528L384 534C384 557.2 365.2 576 342 576L74 576C50.8 576 32 557.2 32 534L32 528zM464 128C517 128 560 171 560 224C560 277 517 320 464 320C411 320 368 277 368 224C368 171 411 128 464 128zM464 368C543.5 368 608 432.5 608 512L608 534.4C608 557.4 589.4 576 566.4 576L421.6 576C428.2 563.5 432 549.2 432 534L432 528C432 476.5 414.6 429.1 385.5 391.3C408.1 376.6 435.1 368 464 368z"/></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;
}
/* Overrides the parent theme's dollar-sign icon (assets/css/main/my-account.css)
   with FontAwesome's "arrows-rotate" glyph — matches the parent selector's
   specificity so this wins regardless of stylesheet load order. */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--subscriptions a::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    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 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160 352 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l111.5 0c0 0 0 0 0 0l.4 0c17.7 0 32-14.3 32-32l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1L16 432c0 17.7 14.3 32 32 32s32-14.3 32-32l0-35.1 17.6 17.5c0 0 0 0 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.8c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352l34.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48.4 288c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z"/></svg>');
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160 352 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l111.5 0c0 0 0 0 0 0l.4 0c17.7 0 32-14.3 32-32l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1L16 432c0 17.7 14.3 32 32 32s32-14.3 32-32l0-35.1 17.6 17.5c0 0 0 0 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.8c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352l34.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48.4 288c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z"/></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;
}
@media (min-width: 767px) {
    .woocommerce-MyAccount-navigation{ margin-bottom: 20px !important; }
    .woocommerce-MyAccount-navigation,
    .woocommerce-MyAccount-content{
        width: 80% !important;
        margin: 0 auto !important;
    }
}
@media only screen and (max-width: 991px) {
    .woocommerce-MyAccount-navigation-link > a {
        padding: 9px 16px;
        font-size: 13px;
    }
}

/* Desktop: stacked vertical sidebar instead of the horizontal scrolling
   pill row (mobile/tablet keep the row above) — the active page keeps its
   existing white/bordered highlight from .is-active > a. */
@media only screen and (min-width: 992px) {
    .woocommerce-MyAccount-navigation {
        width: 260px !important;
        margin: 0 30px 0 10% !important;
        float: left !important;
    }
    .woocommerce-MyAccount-content {
        width: calc(80% - 290px) !important;
        margin: 0 !important;
        float: left;
    }
    .woocommerce-MyAccount-navigation ul {
        flex-direction: column;
        align-items: stretch;
        overflow: visible;
        gap: 10px;
        background: #ECECEB;
        border-radius: 22px;
        padding: 10px;
    }
    .woocommerce-MyAccount-navigation-link {
        width: 100%;
    }
    .woocommerce-MyAccount-navigation-link > a {
        width: 100%;
        justify-content: flex-start;
        border-radius: 16px !important;
        padding: 14px 18px !important;
        color: #000 !important;
        font-weight: 400 !important;
    }
    /* 
       The active item "breaks" the block: white, shadowed, and stretched a
       little wider than its siblings so it visibly pops past the container's
       edge instead of just sitting in its own separate box. 
    */
    .woocommerce-MyAccount-navigation-link.is-active{
        margin-left: -10px;
        width: calc(100% + 20px);
        background: #ffffff;
    }
    .woocommerce-MyAccount-navigation-link.is-active > a {
        background: #FBFBFB !important;
        color: #000 !important;
        border: none !important;
        width: 100% !important;
        padding: 14px 25px !important;
        margin: 10px 0px !important;
        font-weight: 400 !important;
        border: 1px solid #ececeb !important;
    }
    .woocommerce-MyAccount-navigation-link--customer-logout > a {
        background: rgba(201,87,47,0.10) !important;
    }
}

/* default website elements and sections */ 
.tfc-header-top-wrapper{
    /* override for elementor pro plugin adding fixed into first header element on scroll */
    position: relative !important;
    top: 0 !important; 
}
header{
    position: sticky !important;
    top: 0;
}
body .site-content #customer_login {
    width: 80%;
    margin: 0 auto;
    float:none;
}
.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;
}

h1.tfc-title, h6.tfc-title {
    font-size: 1em !important;
    font-weight: 400 !important;
    color: #333332 !important;
}

h2 {
    font-size: clamp(20px, 3vw, 24px) !important;
}
h3 {
    font-size: clamp(16px, 2.5vw, 24px) !important;
}

strong {
    font-weight: 600;
}

/* Heading size utility classes — apply visual size without changing semantic tag */
:root {
    --size-h1: clamp(24px, 4vw, 32px);
    --size-h2: clamp(20px, 3vw, 24px);
    --size-h3: clamp(16px, 2.5vw, 18px);
}

.h1 { font-size: var(--size-h1) !important; font-weight: 600 !important; }
.h2 { font-size: var(--size-h2) !important; font-weight: 600 !important; }
.h3 { font-size: var(--size-h3) !important; font-weight: 600 !important; }

.page-wrapper {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  width: 80%;
  margin: 0 auto;
}
.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;
    z-index: 90;
}

/* 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: transparent !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;
}

/* 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{
    display: none;
    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{
    margin: 20px 0px;
    font-weight: 500;
    font-size: 16px;
}

.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 */

@keyframes tfc-zoom-in {
    from { opacity: 0; transform: scale(0.9); }
    to   { opacity: 1; transform: scale(1);   }
}
@keyframes tfc-zoom-out {
    from { opacity: 1; transform: scale(1);   }
    to   { opacity: 0; transform: scale(0.9); }
}

#custom-modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: transparent !important;
}

#custom-modal-box {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    animation: tfc-zoom-in 0.28s cubic-bezier(0.34, 1.1, 0.64, 1) both;
}

#custom-modal-box.is-closing {
    animation: tfc-zoom-out 0.22s ease-in both !important;
}

.modalMainContent {
    flex: 1;
    max-height: none !important;
    height: 100%;
    overflow-y: auto;
    padding-bottom: 0;
    margin-top: 75px;
}

.admin-bar .modalMainContent {
    margin-top: 80px;
}

@media (max-width: 767px) {
    .admin-bar .modalMainContent {
        margin-top: 100px;
    }
}

#tfc-assessment-chat-root{
    width: 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:#275a94;
    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 {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
  background: white;
  padding: 20px;
  border-radius: 10px;
  position: relative;
}

/* 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;
}

.elementor-menu-cart__wrapper{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* product card price shortcode */
.from-lowest-price {
    display: inline-block;
    text-align: center;
    line-height: 1.1;
}

.from-lowest-price-label,
.from-lowest-price-value {
    display: block;
}

.from-lowest-price-label {
    margin-bottom: 0.2em;
}

.from-lowest-price-value .woocommerce-Price-amount {
    white-space: nowrap;
}

@media (max-width: 767px) {
    /* assessment modal mobile */
    #custom-modal-box{
        border-radius: 0 !important;
        margin: 0 !important;
    }

    .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%;
    }
}

/*.modal-footer{
    z-index: 999;
    width: 95%;
    height: 80px;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-30px);
    }
    60% {
        transform: translateY(-15px);
    }
}*/


/**** Blog page ****/

/* Read time widget */
.tfc-read-time {
    font-weight: 500;
    color: #828282;
}

/* Sources/History widget */
.tfc-sh__title {
    font-weight: 600 !important;
    margin-bottom: 0.75rem;
    font-size: 18px;
}

/* TOC anchor scroll offset — accounts for fixed nav */
html {
    scroll-padding-top: 130px !important;
}

/* Post preview carousel — mobile only */
.post-preview-carousel__dots {
    display: none;
}

@media (max-width: 767px) {
    .post-preview-carousel .elementor-posts-container {
        display: flex !important;
        grid-template-columns: unset !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 16px;
        margin-right: -30px;
    }

    .post-preview-carousel .elementor-posts-container::-webkit-scrollbar {
        display: none;
    }

    .post-preview-carousel .elementor-post {
        flex: 0 0 85%;
        scroll-snap-align: start;
        min-width: 0;
    }

    .post-preview-carousel .elementor-post:last-child {
        margin-right: 20px;
    }

    .post-preview-carousel__dots {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        margin-top: 16px;
    }

    .post-preview-carousel__dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #ddd7cf;
        transition: background 0.2s ease;
    }

    .post-preview-carousel__dot.is-active {
        background: #000;
    }
}

/* Refined overrides of Elementor keyframe animations */
@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translate3d(0, -20px, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}
@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translate3d(-20px, 0, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}
@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translate3d(20px, 0, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translate3d(0, 20px, 0)
	}
	to {
		opacity: 1;
		transform: none
	}
}

@keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Hims style animations/hovers */

.hover-jump {
    transition: transform 120ms ease-out;
}

.hover-jump:hover {
    transform: scale(1.01);
}

/* Explore button — outlined pill with animated chevron */
.tfc-explore-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 25px;
    border: 1px solid #000;
    border-radius: 50px;
    background: transparent;
    color: #000;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
    justify-content: space-between;
    min-width: 180px;
}

.tfc-explore-btn .tfc-explore-btn__chevron {
    display: inline-flex;
    align-items: center;
    transition: transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.tfc-explore-btn:hover {
    background: #000;
    color: #fff;
}

.tfc-explore-btn:hover .tfc-explore-btn__chevron {
    transform: translateX(5px);
}

.tfc-explore-btn:active .tfc-explore-btn__chevron {
    transform: translateX(8px);
    transition-duration: 100ms;
}

/* ── Orforglipron banner ── */
.orforglipron-banner {
    width: min(1480px, 100%);
    min-height: 182px;
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    background-image: url("https://www.thefamilychemist.co.uk/wp-content/uploads/2026/08/foundayo_banner_weight_pill_box-1.jpg");
    background-size: cover;
    background-position: center;
    isolation: isolate;
}

.orforglipron-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.68) 38%, rgba(255,255,255,.22) 62%, rgba(255,255,255,.08) 100%);
    z-index: 0;
    pointer-events: none;
}

.orforglipron-content {
    display: flex;
    align-items: center;
    padding: 20px 50px;
    z-index: 9;
    position: relative;
}

/* ── Wegovy banner ── */
.wegovy-banner {
    width: min(1480px, 100%);
    min-height: 182px;
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    background-image: url("https://www.thefamilychemist.co.uk/wp-content/uploads/2026/06/wegovy-tablet-box_banner_image_pre-order.jpg");
    background-size: cover;
    background-position: center;
    isolation: isolate;
}

.wegovy-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.68) 38%, rgba(255,255,255,.22) 62%, rgba(255,255,255,.08) 100%);
    z-index: 0;
    pointer-events: none;
}

.wegovy-content {
    display: flex;
    align-items: center;
    padding: 20px 50px;
    z-index: 9;
    position: relative;
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    color: var(--purple-dark);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.pill-icon {
    width: 28px;
    height: 15px;
    border-radius: 999px;
    border: 3px solid var(--purple);
    transform: rotate(-20deg);
    position: relative;
    background: rgba(140, 99, 255, .08);
    box-shadow: 0 4px 14px rgba(140, 99, 255, .18);
}

.pill-icon::after {
    content: "";
    position: absolute;
    top: 2px;
    bottom: 2px;
    left: 48%;
    width: 3px;
    border-radius: 99px;
    background: var(--purple);
}

.wegovypill-title {
    margin: 0;
    font-size: 30px !important;
    line-height: .92;
    letter-spacing: -.075em;
    font-weight: 950;
    color: var(--ink);
}

.wegovypill-title .purple {
    color: var(--purple);
}

.wegovypill-desc {
    margin: 8px 0 0;
    color: var(--soft-ink);
    font-size: 17px;
    font-weight: 500;
}

.benefits {
    display: flex;
    justify-content: space-evenly;
    gap: 20px;
}

.benefit {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    color: var(--ink);
    font-size: 14px;
    font-weight: 550;
    line-height: 1.18;
}

.benefit-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: var(--purple-dark);
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(93, 57, 216, .18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
    font-size: 18px;
}

.signup-area {
    display: flex;
    width: fit-content;
}

.copy {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: fit-content;
}

.signup-button,
.submit-button {
    width: 100% !important;
    border: 0 !important;
    border-radius: 999px !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px !important;
    padding: 5px 40px !important;
    color: #fff !important;
    font-size: 16px !important;
    background: linear-gradient(135deg, #83844e, #95945d 100%) !important;
    transition: transform .2s ease, filter .2s ease !important;
}

.signup-button:hover,
.submit-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
}

.arrow {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--purple-dark);
    background: #fff;
    font-size: 18px;
    box-shadow: inset 0 -5px 10px rgba(55,31,113,.1);
}

.email-form {
    display: none;
    gap: 8px;
    padding: 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(96,64,201,.16);
    box-shadow: 0 12px 22px rgba(114, 75, 223, .12);
}

.email-form.active { display: flex; }
.signup-button.hidden { display: none; }

.email-form input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    padding: 0 10px;
    color: var(--ink);
    font-size: 14px;
    font-weight: 600;
}

.submit-button {
    width: auto;
    min-height: 44px;
    padding: 0 16px;
    font-size: 14px;
    justify-content: center;
}

.status-message {
    margin-top: 9px;
    color: var(--purple-dark);
    font-size: 13px;
    font-weight: 700;
    min-height: 18px;
    text-align: center;
}

.privacy {
    margin-top: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    color: #4d4863;
    font-size: 13px;
    font-weight: 650;
}

.email-add-wegovy-input {
    width: unset !important;
}

@media (max-width: 1100px) {
    .signup-area { justify-self: start; }
}

@media (max-width: 640px) {
    .benefits {
        display: none;
    }
    .wegovy-banner {
        padding: 20px;
        margin: 10px;
        width: calc(100% - 20px);
        min-height: unset;
        background: linear-gradient(
            90deg,
            #f4f2eb 0%,
            #f7f6f1 35%,
            #f3f1e8 70%,
            #ece8d8 100%
        );
    }
    .wegovy-content {
        padding: 0px 10px;
    }
    .submit-button {
        width: 40% !important;
    }
    .email-add-wegovy-input {
        width: 100% !important;
    }
    .wegovypill-desc {
        margin: 0px;
    }
    .wegovypill-title { font-size: 20px !important; }
    .wegovypill-desc { font-size: 16px; }
    .benefit-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }
    .signup-area { width: 100%; }
    .email-form { border-radius: 20px; flex-direction: column; }
    .email-form input {
        min-height: 44px;
        background: rgba(140,99,255,.08);
        border-radius: 14px;
    }
    .submit-button { width: 100%; }
}

.wegovy-banner .mc4wp-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding: 10px 16px;
    border-radius: 12px;
    background: rgba(140, 99, 255, .1);
    border: 1px solid rgba(140, 99, 255, .25);
}

.wegovy-banner .mc4wp-alert::before {
    content: "\f058";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 16px;
    color: #5f39d8;
    flex-shrink: 0;
}

.wegovy-banner .mc4wp-alert p {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #5f39d8;
}