/** !
Theme Name: Omega Alpha
Theme URI: https://www.omega-alpha.com/
Description: Bespoke Theme for Omega Alpha using WordPress. Gutenberg compatible. Using Bootstrap 4 and Font Awesome 5.
Author: Elms Creative
Author URI: https://www.elmscreative.com/
Version: 1.0
Text Domain: elmscreative
*/

/* ==========================================================================
    Elements
   ========================================================================== */

html,
body {
    height: 100%;
}
html {
    background: #fff;
    overflow: auto;
}
body {
    background: none;
    color: #1a1a1a;
    font-family: "Fira Sans", Arial, Helvetica, sans-serif;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 0.5em;
    color: #1a1a1a;
    text-transform: capitalize;
    font-family: "Fira Sans", Arial, Helvetica, sans-serif !important;
    font-weight: 700;
    position: relative;
}

p {
    font-size: 0.975rem;
    line-height: 1.6;
}
p > strong {
    font-weight: 700;
    color: #1a1a1a;
}
ul,
ol {
    padding: 0 0 0 1.25em;
}
ul > li,
ol > li {
    font-size: 0.975rem;
    line-height: 1.8;
}
hr {
    border-top: #1a1a1a 1px solid;
}
svg {
    color: #002b51;
}
svg:hover {
    color: #1a1a1a;
}
span {
    color: #002b51;
}
span.required {
    color: #c70039;
}

label {
    margin-bottom: 0.25em !important;
    color: #1a1a1a !important;
    font-size: 12px !important;
    font-family: inherit !important;
    font-weight: 700 !important;
}
input[type="text"],
input[type="url"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea {
    height: auto !important;
    padding: 0.5em 0.75em !important;
    color: #151515 !important;
    font-family: "Fira Sans", Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    background-color: #e6e6e6 !important;
    -webkit-border-radius: 4px !important;
    -moz-border-radius: 4px !important;
    border-radius: 4px !important;
    border: 1px solid #e6e6e6 !important;
}
input[type="file"] {
    color: #151515 !important;
}
select {
    height: 45px !important;
    color: #151515 !important;
    padding: 0.5em 0.75em !important;
    font-family: "Fira Sans", Arial, Helvetica, sans-serif !important;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none !important;
    background-color: #e6e6e6 !important;
    -webkit-border-radius: 4px !important;
    -moz-border-radius: 4px !important;
    border-radius: 4px !important;
    border: 1px solid #e6e6e6 !important;
}
textarea {
    min-height: 145px !important;
    max-height: 145px !important;
    padding: 0.5em 0.75em !important;
    font-family: "Fira Sans", Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    background-color: #e6e6e6 !important;
    -webkit-border-radius: 4px !important;
    -moz-border-radius: 4px !important;
    border-radius: 4px !important;
    border: 1px solid #e6e6e6 !important;
}

input::placeholder,
textarea::placeholder,
select::placeholder {
    color: rgba(0, 0, 0, 0.75) !important;
    font-style: normal;
}

input[type="submit"] {
    width: auto !important;
    padding: 0.55em 2.25em !important;
    display: inline-block !important;
    font-size: 1rem !important;
    position: relative !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    color: #002b51 !important;
    text-align: center !important;
    text-transform: capitalize !important;
    -webkit-border-radius: 125px !important;
    -moz-border-radius: 125px !important;
    border-radius: 125px !important;
    border: #002b51 1px solid !important;
    -moz-transition: color 0s linear 0s !important;
    -webkit-transition: color 0s linear 0s !important;
    -o-transition: color 0s linear 0s !important;
    transition: color 0s linear 0s !important;
    background-color: transparent !important;
}
input[type="submit"]:hover {
    color: #fff !important;
    text-decoration: none !important;
    background: #002b51 !important;
    border: #002b51 1px solid !important;
}

.btn,
.wp-element-button,
.forminator-ui.forminator-design--flat .forminator-button-submit {
    width: auto !important;
    padding: 0.55em 2.25em !important;
    display: inline-block !important;
    font-size: 1rem !important;
    position: relative !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    color: #002b51 !important;
    text-align: center !important;
    text-transform: capitalize !important;
    -webkit-border-radius: 125px !important;
    -moz-border-radius: 125px !important;
    border-radius: 125px !important;
    border: #002b51 1px solid !important;
    -moz-transition: color 0s linear 0s !important;
    -webkit-transition: color 0s linear 0s !important;
    -o-transition: color 0s linear 0s !important;
    transition: color 0s linear 0s !important;
    background-color: transparent !important;
    -webkit-box-shadow: 0 0 0 0 rgba(50, 50, 50, 0) !important;
    -moz-box-shadow: 0 0 0 0 rgba(50, 50, 50, 0) !important;
    box-shadow: 0 0 0 0 rgba(50, 50, 50, 0) !important;
}
.btn:hover,
.wp-element-button:hover,
.forminator-ui.forminator-design--flat .forminator-button-submit:hover {
    color: #fff !important;
    text-decoration: none !important;
    background: #002b51 !important;
    border: #002b51 1px solid !important;
}
.btn:hover > svg,
.wp-element-button:hover > svg,
.forminator-ui.forminator-design--flat .forminator-button-submit:hover > svg {
    color: #fff !important;
}

/* ==========================================================================
		  Structure
		 ========================================================================== */

header {
    padding: 0.35em 0;
    justify-content: center;
    background-color: #002b51;
}
header p {
    color: #fff;
    font-size: 0.95rem;
}

nav.navbar {
    padding: 1em 2em;
}
.navbar-flex-container > .navbar-flex-item:first-child,
.navbar-flex-container > .navbar-flex-item:last-child {
    width: 200px;
}
.navbar-flex-container > .navbar-flex-item .shop-controls {
    justify-content: end;
    text-align: right;
}
.navbar-flex-container > .navbar-flex-item .shop-controls a > svg {
    font-size: 1.25rem;
}
.navbar-flex-container > .navbar-flex-item .shop-controls a > svg:hover {
    color: #86d6ff;
}

section#hero {
    padding: 0;
    position: relative;
    overflow: hidden;
    background-color: transparent;
}
section#hero.frontpage {
    padding: 10.5em 0;
}
section#hero h1 {
    font-size: 3.5rem;
}
section#hero p {
    margin-bottom: -0.35em;
    font-size: 0.95rem;
    font-weight: 500;
}
section#hero p > span {
    color: #002b51;
}

main#content {
    overflow: hidden;
}

section#breadcrumbs p#breadcrumbs {
    font-size: 0.9rem;
}
section#breadcrumbs p#breadcrumbs span {
    font-size: inherit;
}
section#breadcrumbs p#breadcrumbs svg {
    font-size: 0.8rem;
}

section#newsletter {
    position: relative;
    background: url("assets/images/newsletter-bg.jpg") center no-repeat;
    background-size: cover;
}
section#newsletter::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}
section#newsletter > .container {
    position: relative;
    z-index: 5;
}
section#newsletter h3,
section#newsletter p,
section#newsletter label {
    color: #fff !important;
}
section#newsletter .forminator-button-submit {
    color: #fff !important;
    border: #fff 1px solid !important;
    background-color: transparent !important;
}
section#newsletter .forminator-button-submit:hover {
    color: #fff !important;
    background: #002b51 !important;
    border: #002b51 1px solid !important;
}

section#pre {
    padding: 1em;
    background-color: #dcf0ff;
}
section#pre .social {
    justify-content: space-between;
}
section#pre .social > div {
    text-align: center;
    color: #002b51;
}
section#pre .social > div > a {
    font-weight: normal;
    font-size: 1rem;
}
section#pre .social > div > svg {
    font-size: 1.5rem;
    position: relative;
    top: 3px;
}
section#pre .social > div:nth-child(2) {
    border-left: #c7d8e6 1px solid;
    border-right: #c7d8e6 1px solid;
}

footer {
    padding: 4.5em 1em;
    background-color: #002b51;
}
footer .img-footer-logo {
    margin-right: 2em;
}
footer h5,
footer h6,
footer p {
    color: #fff;
    font-weight: 500;
}
footer h6 {
    font-size: 0.95rem;
}
footer p.credit {
    margin-bottom: 0;
    text-align: center;
    font-size: 0.9rem;
}
footer a:active,
footer a:visited,
footer a:link,
footer a[href^="tel"] {
    color: #fff;
    text-decoration: none;
}
footer a:hover,
footer a[href^="tel"]:hover {
    text-decoration: none;
    color: #ccc;
    text-decoration: none;
}

footer#ext {
    padding: 1em;
    background-color: #002b51;
    border-top: #54718a 1px solid;
}
footer#ext .powered {
    justify-content: space-between;
}
footer#ext .powered > div {
    font-size: 0.9rem;
    color: #fff;
}

/* ==========================================================================
		  Links and Navigation
		 ========================================================================== */

a {
    font-weight: 700;
    text-decoration: none;
    -moz-transition: color 0.1s linear 0.1s;
    -webkit-transition: color 0.1s linear 0.1s;
    -o-transition: color 0.1s linear 0.1s;
    transition: color 0.1s linear 0.1s;
}
a:active,
a:visited,
a:link,
a[href^="tel"] {
    color: #1a1a1a;
}
a:hover,
a[href^="tel"]:hover {
    text-decoration: none;
    color: #002b51;
}
a.nostyle:active,
a.nostyle:visited,
a.nostyle:link {
    color: inherit;
    text-decoration: none;
}
.nostyle:hover {
    color: inherit;
    text-decoration: none;
}
.btn-link:hover {
    color: #002b51;
}
.btn.moving {
    position: relative;
    transition: all 0.3s ease;
}
.thin-link {
    font-weight: normal;
}

#primary {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
}
#primary > li {
    margin: 0;
    padding: 0.5em 1em;
    display: inline-block;
    list-style: none;
}
#primary > li > a {
    margin: 0;
    padding: 0;
    color: #1a1a1a;
    font-size: 1rem;
    text-transform: capitalize;
    font-family: "Fira Sans", Arial, Helvetica, sans-serif !important;
    font-weight: 500;
    display: inline-block;
    text-decoration: none;
}
#primary > li > a:hover {
    color: #86d6ff;
}
#primary > li.active > a {
    color: #86d6ff;
    font-weight: 500;
}
#primary > li.current-menu-item > a,
#primary > li.current-page-ancestor > a {
    color: #86d6ff;
    font-weight: 500;
}
#primary > li > a {
    transition: font-size 0.3s ease;
}

.dropdown-menu {
    padding: 0.5em 0 !important;
}
.dropdown-menu > li {
    width: 100% !important;
}
.dropdown-menu > li > a {
    width: 100% !important;
    padding: 0.5em 1.25em !important;
    font-size: 0.95rem !important;
    text-transform: capitalize !important;
    font-weight: 500;
    display: block !important;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:active {
    color: #86d6ff !important;
    background-color: #fff !important;
}

#sitemap,
#categories,
#account {
    margin: 0;
    padding: 0;
}
#sitemap > li,
#categories > li,
#account > li {
    margin: 0;
    padding: 0.05em 0;
    display: inline-block;
    list-style: none;
}
#sitemap > li > a,
#categories > li > a,
#account > li > a {
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 0.9rem;
    text-transform: capitalize;
    font-family: "Fira Sans", Arial, Helvetica, sans-serif !important;
    font-weight: 400;
    display: inline-block;
    text-decoration: none;
}
#sitemap > li > a:hover,
#categories > li > a:hover,
#account > li > a:hover {
    color: #ccc;
}
#sitemap > li.active a,
#categories > li.active a,
#account > li.active a {
    color: inherit;
    font-weight: 600;
}
#sitemap > li > a,
#categories > li > a,
#account > li > a {
    transition: font-size 0.3s ease;
}

#back-to-top {
    display: none;
    position: fixed;
    bottom: 12px;
    right: 20px;
    z-index: 99;
    border: none;
    outline: none;
    padding: 6px 10px;
    background-color: #002b51;
    color: white;
    cursor: pointer;
    border-radius: 50%;
    font-size: 18px;
    transition: background-color 0.3s;
}
#back-to-top > svg {
    position: relative;
    top: 2px;
    color: #fff;
}
#back-to-top:hover {
    color: #ccc;
    background-color: #002b51;
}
#back-to-top:hover > svg {
    color: #ccc;
}

body.mobile-nav-open {
    overflow: hidden;
}
.navbar-toggler {
    padding: 0.25rem 0.5rem;
    margin: 0 auto;
    text-align: left;
    display: block;
    position: relative;
    z-index: 10;
    border: none;
}
.navbar-toggler:focus {
    box-shadow: none;
}
.navbar-toggler > svg {
    color: #002b51;
}
.navbar-toggler > svg:hover {
    color: #86d6ff;
}
.mobile-nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #002b51;
    z-index: 99999 !important;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    overflow-y: auto;
}
.mobile-nav-overlay.active {
    transform: translateX(0) !important;
    display: block !important;
    visibility: visible !important;
}
.mobile-nav-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5em 1em;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.mobile-nav-logo img {
    max-width: 90px;
}
.mobile-nav-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0.5rem;
}
.mobile-nav-close > svg {
    color: #fff;
}
.mobile-nav-close > svg:hover {
    color: #86d6ff;
}
.mobile-nav-content {
    padding: 1em 1.5em;
    color: #fff;
}
.mobile-nav-content > h4 {
    color: inherit;
}
.mobile-nav-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
.mobile-nav-item {
    margin-bottom: 0;
}
.mobile-nav-item > a {
    color: #fff;
}
.mobile-nav-item > a:hover {
    color: #86d6ff;
}
.mobile-nav-item > a > svg {
    color: #fff;
}
.mobile-nav-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    text-decoration: none;
    padding: 0.5em 0;
    font-size: 1rem;
    font-weight: 500;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: color 0.3s ease;
}
.mobile-nav-link:hover {
    color: #86d6ff;
    text-decoration: none;
}
.mobile-nav-link.has-dropdown svg {
    transition: transform 0.3s ease;
}
.mobile-nav-link.has-dropdown.active svg {
    transform: rotate(90deg);
}
.mobile-nav-submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: #002b51;
    margin: 0 -1.5em;
    padding: 0 1.5em;
}
.mobile-nav-submenu.active {
    max-height: 800px;
}
.mobile-nav-submenu-section {
    padding: 1.5em 0;
}
.mobile-nav-submenu-title {
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 1rem;
}
.mobile-nav-submenu-item {
    display: block;
    color: #fff !important;
    text-decoration: none;
    padding: 0.5rem 0;
    font-size: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: color 0.3s ease;
}
.mobile-nav-submenu-item:hover {
    color: #86d6ff !important;
    text-decoration: none;
}
.mobile-nav-cta {
    margin-top: 0;
    padding-top: 0;
}
.mobile-nav-cta .btn {
    width: 100% !important;
    background: #002b51;
    border: none;
    color: white;
    font-weight: 600;
    border-radius: 8px;
    transition: transform 0.2s ease;
}
.mobile-nav-socials {
    margin-top: 2rem;
    justify-content: center;
    display: flex;
    gap: 1rem;
}
.mobile-nav-social > svg {
    color: #fff;
    font-size: 1.2rem;
    transition: color 0.3s ease;
}
.mobile-nav-social:hover > svg {
    color: #86d6ff;
}

/* ==========================================================================
		  Misc
		 ========================================================================== */

.section {
    padding: 5em 0;
    position: relative;
    z-index: 5;
}
.section-mini {
    padding: 2.5em 0;
    position: relative;
    z-index: 5;
}
.section-very-mini {
    padding: 1em 0;
    position: relative;
    z-index: 5;
}
.section-none {
    padding: 0;
    position: relative;
    z-index: 5;
}

.light-blue-bg {
    background-color: #dcf0ff;
}

.img-rounded {
    -webkit-border-radius: 10px !important;
    -moz-border-radius: 10px !important;
    border-radius: 10px !important;
}

.carousel-item .media {
    max-width: 80%;
    margin: 0 auto;
    padding: 0 40px;
}
.carousel-control-prev,
.carousel-control-next {
    width: 10%;
}

#forminator-module-82 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    align-items: end !important;
}
#forminator-module-82 .forminator-row {
    flex: 1 !important;
    min-width: 200px !important;
}
#forminator-module-82 .forminator-row-last {
    flex: 0 0 auto !important;
}
#forminator-module-82 .forminator-field {
    margin-bottom: 0 !important;
}

.card.card-form {
    background-color: transparent;
    border: none;
}
.card.card-form > .card-body {
    padding: 0 0 0 3em;
}

.card.card-faq {
    background-color: transparent;
    border: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.card.card-faq .card-header {
    padding: 0.75rem 0.5em;
    background-color: transparent;
    border-left: none;
    border-right: none;
    border-top: 1px solid rgba(0, 0, 0, 0.125);
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.card.card-faq .card-header > h6 > a {
    padding-right: 40px;
}
.card.card-faq > div > h6 > a {
    padding-right: 40px;
}

.collapsible-link::before {
    content: "";
    width: 14px;
    height: 2px;
    background: #002b51;
    position: absolute;
    top: calc(50% - 1px);
    right: 1rem;
    display: block;
    transition: all 0.3s;
}
.collapsible-link::after {
    content: "";
    width: 2px;
    height: 14px;
    background: #002b51;
    position: absolute;
    top: calc(50% - 7px);
    right: calc(1rem + 6px);
    display: block;
    transition: all 0.3s;
}
.collapsible-link[aria-expanded="true"]::after {
    transform: rotate(90deg) translateX(-1px);
}
.collapsible-link[aria-expanded="true"]::before {
    transform: rotate(180deg);
}

.category-card {
    color: #fff;
    min-height: 80px;
    transition: all 0.3s ease;
    border: none;
    -webkit-border-radius: 20px !important;
    -moz-border-radius: 20px !important;
    border-radius: 20px !important;
}
.category-card:hover {
    transform: translateY(-2px);
    text-decoration: none !important;
}
.category-card > h5 {
    color: #fff;
}
.bg-blue-dark {
    background-color: #002b51 !important;
}
.bg-blue-light {
    background-color: #00457c !important;
}

.nav-pills .nav-link {
    color: #6c757d;
    background: transparent;
    border: 1px solid #dee2e6;
    border-radius: 50px;
    padding: 8px 20px;
    margin: 0 5px;
    transition: all 0.3s ease;
}

.nav-pills .nav-link.active {
    background-color: #002b51;
    border-color: #002b51;
    color: white;
}

.nav-pills .nav-link:hover:not(.active) {
    background-color: #f8f9fa;
    border-color: #86d6ff;
    color: #86d6ff;
}

.product-card {
    transition: all 0.3s ease;
    background-color: #fff;
    border-color: #e9ecef !important;
    border-radius: 0.3rem !important;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
    border-color: #002b51 !important;
}

.add-to-cart {
    margin-bottom: 0.5em;
}
.product-title a:hover {
    color: #002b51 !important;
}

.add-to-cart:hover {
    background-color: #002b51;
    color: white;
}

@media (max-width: 768px) {
    .nav-pills .nav-link {
        margin: 2px;
        padding: 6px 15px;
        font-size: 0.9rem;
    }
}

.img-block {
    padding: 2em 0;
}

.testimonials-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 50px;
}
.testimonials-title {
    font-size: 2rem;
    font-weight: 700;
    color: #151515;
    margin: 0;
}
.testimonial-card {
    background: white;
    border-radius: 12px;
    padding: 30px 25px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: none;
}
.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}
.stars-rating {
    margin-bottom: 0.45em;
}
.stars-rating .star {
    font-size: 1.1rem;
    margin-right: 1px;
}
.stars-rating .star.filled {
    color: #ffc107;
}
.stars-rating .star.empty {
    color: #e4e5e9;
}
.testimonial-text {
    color: #666;
    line-height: 1.6;
    margin-bottom: 0.25em;
    font-size: 0.95rem;
}
.customer-info {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
}
.customer-avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #002b51;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 1.1rem;
}
.customer-details h6 {
    margin: 0;
    color: #151515;
    font-weight: 600;
    font-size: 1rem;
}
.customer-location {
    color: #888;
    font-size: 0.85rem;
    margin: 2px 0 0 0;
}

@media (max-width: 768px) {
    .testimonials-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .testimonials-title {
        font-size: 1.6rem;
    }

    .light-blue-bg {
        padding: 50px 0;
    }

    .testimonial-card {
        margin-bottom: 20px;
    }
}

.testimonials-intro-card {
    background: #002b51;
    color: white;
    border-radius: 12px;
    padding: 40px 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.testimonials-intro-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

.intro-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    color: white;
}

.intro-text {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 30px;
    color: rgba(255, 255, 255, 0.9);
    flex-grow: 1;
}

.intro-stats {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.stat-item {
    text-align: center;
    flex: 1;
}

.stat-number {
    font-size: 1.8rem;
    font-weight: 700;
    color: white;
    line-height: 1;
    margin-bottom: 5px;
}

.stat-label {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 500;
}

/* Ensure testimonial cards match the intro card height */
.testimonial-card {
    background: white;
    border-radius: 12px;
    padding: 30px 25px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
    border: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.testimonial-text {
    color: #666;
    line-height: 1.6;
    margin-bottom: 25px;
    font-size: 0.95rem;
    flex-grow: 1;
}

.stars-rating {
    margin-bottom: 20px;
    display: flex;
    gap: 2px;
}

.stars-rating .star {
    font-size: 1.1rem;
    margin-right: 2px;
}

.stars-rating .star.filled {
    color: #ffc107;
}

.customer-info {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
}

.customer-avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #002b51;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.customer-details h6 {
    margin: 0;
    color: #151515;
    font-weight: 600;
    font-size: 1rem;
}

.customer-location {
    color: #888;
    font-size: 0.85rem;
    margin: 2px 0 0 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .intro-stats {
        flex-direction: column;
        gap: 15px;
    }

    .stat-item {
        text-align: left;
    }

    .intro-title {
        font-size: 1.3rem;
    }

    .stat-number {
        font-size: 1.5rem;
    }
}

@media (max-width: 576px) {
    .testimonials-intro-card {
        padding: 30px 20px;
    }

    .intro-stats {
        flex-direction: row;
    }
}

.stat-card {
    background: white;
    border-radius: 12px;
    padding: 30px 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
}

.stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.stat-icon {
    font-size: 2.5rem;
    color: #86d6ff;
    margin-bottom: 20px;
}

.stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}

.stat-label {
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    margin: 0;
}

/* Research Highlights */
.research-highlights .highlight-item {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 15px;
    border-left: 4px solid #86d6ff;
}

/* Clinical Results */
.clinical-results {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.result-item {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
}

.result-percentage {
    font-size: 2rem;
    font-weight: 700;
    color: #00457c;
    min-width: 80px;
}

.result-description {
    color: #666;
    font-size: 1rem;
}

/* Ingredient Cards */
.ingredient-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
}

.ingredient-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.ingredient-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.ingredient-content {
    padding: 25px;
}

.ingredient-content h4 {
    color: #151515;
    font-weight: 600;
    margin-bottom: 10px;
}

.ingredient-benefit {
    color: #666;
    font-size: 0.95rem;
    margin-bottom: 20px;
}

.ingredient-stats .stat {
    background: #f8f9fa;
    padding: 10px 15px;
    border-radius: 6px;
    margin-bottom: 8px;
    font-size: 0.9rem;
    color: #555;
}

.ingredient-stats .stat strong {
    color: #86d6ff;
}

/* Quality Certifications */
.certification-list {
    list-style: none;
    padding: 0;
}

.certification-list li {
    padding: 8px 0;
    font-size: 1rem;
}

.certification-list li i {
    margin-right: 10px;
}

/* Partnership Logos */
.partnership-logo {
    padding: 20px;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
}

.partnership-logo:hover {
    transform: translateY(-3px);
}

.partnership-logo img {
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.partnership-logo:hover img {
    opacity: 1;
}

/* Compliance Cards */
.compliance-card {
    background: white;
    padding: 30px 20px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease;
    height: 100%;
}

.compliance-card:hover {
    transform: translateY(-5px);
}

.compliance-icon {
    font-size: 2.5rem;
    color: #00457c;
    margin-bottom: 20px;
}

.compliance-card h5 {
    color: #151515;
    font-weight: 600;
    margin-bottom: 15px;
}

.compliance-card p {
    color: #666;
    font-size: 0.95rem;
    margin: 0;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .result-item {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    .stat-number {
        font-size: 2rem;
    }

    .stat-icon {
        font-size: 2rem;
    }

    .clinical-results {
        gap: 15px;
    }

    .compliance-icon {
        font-size: 2rem;
    }
}

.benefit-card {
    background: white;
    padding: 40px 30px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    height: 100%;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.benefit-icon {
    font-size: 3rem;
    color: #002b51;
    margin-bottom: 25px;
}

.benefit-card h4 {
    color: #151515;
    font-weight: 600;
    margin-bottom: 20px;
}

.benefit-card p {
    color: #666;
    margin-bottom: 25px;
    line-height: 1.6;
}

.benefit-list {
    list-style: none;
    padding: 0;
    text-align: left;
}

.benefit-list li {
    padding: 8px 0;
    color: #666;
    border-bottom: 1px solid #f0f0f0;
}

.benefit-list li:last-child {
    border-bottom: none;
}

.benefit-list li:before {
    content: "✓";
    color: #28a745;
    font-weight: bold;
    margin-right: 10px;
}

/* Eligibility Categories */
.category-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
}

.category-icon {
    font-size: 2rem;
    color: #002b51;
    margin-right: 20px;
    margin-top: 5px;
    min-width: 50px;
}

.category-content h5 {
    color: #151515;
    font-weight: 600;
    margin-bottom: 10px;
}

.category-content p {
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* Requirements Cards */
.requirement-card {
    background: white;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    height: 100%;
}

.requirement-card h5 {
    color: #151515;
    font-weight: 600;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}

.requirement-list {
    list-style: none;
    padding: 0;
}

.requirement-list li {
    padding: 10px 0;
    color: #666;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
    padding-left: 25px;
}

.requirement-list li:last-child {
    border-bottom: none;
}

.requirement-list li:before {
    content: "•";
    color: #002b51;
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* Process Steps */
.process-step {
    padding: 20px;
}

.step-number {
    width: 50px;
    height: 50px;
    background: #002b51;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0 auto 15px;
}

.process-step h6 {
    color: #151515;
    font-weight: 600;
    margin-bottom: 10px;
}

.process-step p {
    color: #666;
    font-size: 0.9rem;
    margin: 0;
}

/* Registration Form */
.registration-container {
    background: white;
    padding: 50px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.registration-form-wrapper {
    background: #f8f9fa;
    padding: 40px;
    border-radius: 8px;
}

/* Wholesale Registration Form Styling */
.wwp_wholesaler_registration_form {
    max-width: 100%;
}

.wwp_wholesaler_registration_form h2 {
    color: #333;
    font-size: 1.4rem;
    font-weight: 600;
    margin: 40px 0 25px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #86d6ff;
    position: relative;
}

.wwp_wholesaler_registration_form h2:first-of-type {
    margin-top: 30px;
}

.wwp_wholesaler_registration_form h2::before {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 50px;
    height: 2px;
    background: #86d6ff;
}

/* Form Row Styling */
.wwp_form_css_row {
    margin-bottom: 25px !important;
    width: 100% !important;
}

.wwp_wholesaler_registration_form .woocommerce-form-row {
    width: 100% !important;
    margin-bottom: 25px !important;
}

/* Label Styling */
.wwp_wholesaler_registration_form label {
    display: block;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.wwp_wholesaler_registration_form label .required {
    color: #dc3545;
    margin-left: 3px;
}

.wwp_wholesaler_registration_form label .optional {
    color: #6c757d;
    font-weight: 400;
    font-size: 0.85rem;
    margin-left: 5px;
}

/* Input Field Styling */
.wwp_wholesaler_registration_form input[type="text"],
.wwp_wholesaler_registration_form input[type="email"],
.wwp_wholesaler_registration_form input[type="password"],
.wwp_wholesaler_registration_form input[type="tel"],
.wwp_wholesaler_registration_form input[type="file"],
.wwp_wholesaler_registration_form select,
.wwp_wholesaler_registration_form textarea {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 6px !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    color: #495057 !important;
    background-color: #fff !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
    box-sizing: border-box !important;
}

.wwp_wholesaler_registration_form input[type="text"]:focus,
.wwp_wholesaler_registration_form input[type="email"]:focus,
.wwp_wholesaler_registration_form input[type="password"]:focus,
.wwp_wholesaler_registration_form input[type="tel"]:focus,
.wwp_wholesaler_registration_form input[type="file"]:focus,
.wwp_wholesaler_registration_form select:focus,
.wwp_wholesaler_registration_form textarea:focus {
    border-color: #86d6ff !important;
    outline: 0 !important;
    box-shadow: 0 0 0 0.2rem rgba(74, 144, 226, 0.25) !important;
}

/* File Upload Styling */
.wwp_wholesaler_registration_form input[type="file"] {
    padding: 8px 12px !important;
    background-color: #f8f9fa !important;
    border: 2px dashed #dee2e6 !important;
    cursor: pointer !important;
}

.wwp_wholesaler_registration_form input[type="file"]:hover {
    border-color: #86d6ff !important;
    background-color: #e3f2fd !important;
}

/* Checkbox Styling */
.wwp_wholesaler_registration_form input[type="checkbox"] {
    width: auto !important;
    margin-right: 10px !important;
    transform: scale(1.2) !important;
    accent-color: #86d6ff !important;
}

.wwp_wholesaler_registration_form input[type="checkbox"] + label {
    display: inline !important;
    margin-left: 5px !important;
    cursor: pointer !important;
}

/* Submit Button Styling */
.wwp_wholesaler_registration_form .woocommerce-Button,
.wwp_wholesaler_registration_form .button,
.wwp_wholesaler_registration_form input[type="submit"] {
    width: 100% !important;
    margin-top: 30px !important;
}

/* Form Grid Layout for Better Organization */
.wwp_wholesaler_registration_form {
    display: block;
}

/* Two Column Layout for Name Fields */
@media (min-width: 768px) {
    .wwp_wholesaler_registration_form {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }

    /* Create two-column layout for first/last name */
    .wwp_form_css_row:has(#wwp_wholesaler_fname),
    .wwp_form_css_row:has(#wwp_wholesaler_lname) {
        display: inline-block;
        width: calc(50% - 10px) !important;
        margin-right: 20px;
    }

    .wwp_form_css_row:has(#wwp_wholesaler_lname) {
        margin-right: 0;
    }
}

/* Address Section Styling */
.wwp_wholesaler_registration_form .parent {
    margin: 20px 0;
}

/* Shipping Address Toggle */
#wholesaler_shipping_address {
    display: none;
    margin-top: 20px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 6px;
    border-left: 4px solid #86d6ff;
}

/* Error Styling */
.wwp_wholesaler_registration_form .woocommerce-error,
.wwp_wholesaler_registration_form .error {
    background-color: #f8d7da !important;
    color: #721c24 !important;
    padding: 12px 15px !important;
    border: 1px solid #f5c6cb !important;
    border-radius: 6px !important;
    margin-bottom: 20px !important;
}

/* Success Styling */
.wwp_wholesaler_registration_form .woocommerce-message,
.wwp_wholesaler_registration_form .success {
    background-color: #d4edda !important;
    color: #155724 !important;
    padding: 12px 15px !important;
    border: 1px solid #c3e6cb !important;
    border-radius: 6px !important;
    margin-bottom: 20px !important;
}

/* Form Section Visual Separation */
.wwp_wholesaler_registration_form h2 + .wwp_form_css_row {
    margin-top: 25px !important;
}

/* Responsive Design */
@media (max-width: 767px) {
    .registration-container {
        padding: 30px 20px;
    }

    .registration-form-wrapper {
        padding: 20px;
    }

    .wwp_wholesaler_registration_form h2 {
        font-size: 1.2rem;
        margin: 30px 0 20px 0;
    }

    .wwp_form_css_row:has(#wwp_wholesaler_fname),
    .wwp_form_css_row:has(#wwp_wholesaler_lname) {
        width: 100% !important;
        margin-right: 0 !important;
    }
}

/* Custom styling for better visual hierarchy */
.wwp_wholesaler_registration_form .wwp_form_css_row:first-child {
    margin-top: 0 !important;
}

/* Tax ID and File Upload Special Styling */
.wwp_form_css_row:has(#wwp_wholesaler_tax_id) {
    background: #fff3cd;
    padding: 20px;
    border-radius: 6px;
    border-left: 4px solid #ffc107;
}

.wwp_form_css_row:has(#wwp_wholesaler_file_upload) {
    background: #e2e3e5;
    padding: 20px;
    border-radius: 6px;
    border-left: 4px solid #6c757d;
}

.wwp_form_css_row:has(#wwp_wholesaler_file_upload) label::after {
    content: " (Business registration, insurance docs, etc.)";
    font-weight: 400;
    color: #6c757d;
    font-size: 0.85rem;
}

.registration-footer {
    border-top: 1px solid #dee2e6;
    padding-top: 30px;
}

/* Contact Methods */
.contact-method {
    padding: 30px 20px;
}

.contact-icon {
    font-size: 2.5rem;
    color: #86d6ff;
    margin-bottom: 20px;
}

.contact-method h5 {
    color: #333;
    font-weight: 600;
    margin-bottom: 15px;
}

.contact-info {
    font-size: 1.1rem;
    font-weight: 600;
    color: #86d6ff;
    margin-bottom: 5px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .registration-container {
        padding: 30px 20px;
    }

    .registration-form-wrapper {
        padding: 20px;
    }

    .category-item {
        flex-direction: column;
        text-align: center;
    }

    .category-icon {
        margin-right: 0;
        margin-bottom: 15px;
    }

    .benefit-card {
        padding: 30px 20px;
    }
}

.text-primary {
    color: #86d6ff !important;
}

#science-hero .stat-number {
    color: #002b51;
}
#science-hero .stat-label {
    color: #151515;
}

body.privacy-policy main ul,
body.privacy-policy main ol {
    padding: 0 0 0 2.25em !important;
}

/* ==========================================================================
		  WooCommerce
		 ========================================================================== */

.wp-block-woocommerce-coming-soon {
    background-color: #002b51 !important;
    color: #fff !important;
}
.coming-soon-cover .wp-block-cover__background {
    opacity: 0.8 !important;
}
.wp-block-site-title,
.wp-block-site-title a {
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 600 !important;
}
.woocommerce-coming-soon-banner {
    color: #fff !important;
    font-size: 54px !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}
.wp-block-social-links .wp-social-link {
    background-color: #002b51 !important;
    border-radius: 50% !important;
}
.wp-block-social-links svg {
    fill: #002b51 !important;
}
.wp-block-loginout {
    width: auto !important;
    padding: 0.55em 2.25em !important;
    display: inline-block !important;
    font-size: 1rem !important;
    position: relative !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    color: #fff !important;
    text-align: center !important;
    text-transform: capitalize !important;
    -webkit-border-radius: 125px !important;
    -moz-border-radius: 125px !important;
    border-radius: 125px !important;
    border: #fff 1px solid !important;
    -moz-transition: color 0s linear 0s !important;
    -webkit-transition: color 0s linear 0s !important;
    -o-transition: color 0s linear 0s !important;
    transition: color 0s linear 0s !important;
    background-color: transparent !important;
}
.wp-block-loginout:hover {
    color: #002b51 !important;
    text-decoration: none !important;
    background: #fff !important;
    border: #fff 1px solid !important;
}
.wp-block-loginout a {
    color: inherit !important;
    text-decoration: none !important;
}
.woocommerce-coming-soon-header {
    background-color: #002b51 !important;
    margin-bottom: 60px !important;
}
.woocommerce-coming-soon-banner-container {
    gap: 40px !important;
}
.wp-block-woocommerce-coming-soon {
    background-color: #002b51 !important;
}
.woocommerce-coming-soon-header {
    background-color: #002b51 !important;
}
.woocommerce-coming-soon-banner {
    animation: fadeInUp 1s ease-out !important;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.dgwt-wcas-ico-magnifier,
.dgwt-wcas-ico-magnifier-handler,
html:not(.dgwt-wcas-overlay-mobile-on)
    .dgwt-wcas-search-wrapp.dgwt-wcas-layout-icon {
    margin-top: -2px !important;
}

.woocommerce .woocommerce-result-count-and-sorting,
.woocommerce-ordering-wrapper {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 2rem !important;
    padding: 0 !important;
}

.woocommerce .archive-description + .woocommerce-notices-wrapper + * {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 2rem !important;
}

.woocommerce .woocommerce-result-count {
    color: #151515 !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    margin: 0.5em 0 !important;
    padding: 0 !important;
}

.woocommerce .woocommerce-ordering {
    margin: 0 0 2em !important;
    position: relative !important;
}

.woocommerce .woocommerce-ordering select,
.woocommerce .orderby {
    background-color: #ffffff !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    padding: 8px 35px 8px 12px !important;
    font-size: 0.9rem !important;
    color: #151515 !important;
    cursor: pointer !important;
    min-width: 140px !important;
    height: 38px !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml !important;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%#1515153' d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 12px 12px !important;
}

.woocommerce .woocommerce-ordering select:focus {
    outline: none !important;
    border-color: #002b51 !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button {
    width: auto !important;
    padding: 0.55em 2.25em !important;
    display: inline-block !important;
    font-size: 1rem !important;
    position: relative !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    color: #002b51 !important;
    text-align: center !important;
    text-transform: capitalize !important;
    -webkit-border-radius: 125px !important;
    -moz-border-radius: 125px !important;
    border-radius: 125px !important;
    border: #002b51 1px solid !important;
    -moz-transition: color 0s linear 0s !important;
    -webkit-transition: color 0s linear 0s !important;
    -o-transition: color 0s linear 0s !important;
    transition: color 0s linear 0s !important;
    background-color: transparent !important;
    -webkit-box-shadow: 0 0 0 0 rgba(50, 50, 50, 0) !important;
    -moz-box-shadow: 0 0 0 0 rgba(50, 50, 50, 0) !important;
    box-shadow: 0 0 0 0 rgba(50, 50, 50, 0) !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button:hover {
    color: #fff !important;
    text-decoration: none !important;
    background: #002b51 !important;
    border: #002b51 1px solid !important;
}

/* Custom CSS to make WooCommerce tabs look like homepage pills */
/* Add this to your theme's style.css or custom CSS */

.woocommerce-tabs.wc-tabs-wrapper {
    margin-top: 3rem;
}

/* Tab Navigation - Make it look like Bootstrap pills */
.woocommerce-tabs ul.tabs.wc-tabs {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 1em 0 !important;
    border: none !important;
    background: none !important;
}

.woocommerce-tabs ul.tabs.wc-tabs::before {
    display: none !important;
}

/* Individual tab styling to match homepage pills */
.woocommerce-tabs ul.tabs.wc-tabs li {
    background: none !important;
    border: none !important;
    margin: 0 5px 10px 5px !important;
    border-radius: 0 !important;
    position: relative !important;
    overflow: visible !important;
}

.woocommerce-tabs ul.tabs.wc-tabs li::before,
.woocommerce-tabs ul.tabs.wc-tabs li::after {
    display: none !important;
}

/* Tab links - exactly like homepage nav-pills */
.woocommerce-tabs ul.tabs.wc-tabs li a {
    background: transparent !important;
    color: #6c757d !important;
    border: 2px solid transparent !important;
    border-radius: 25px !important;
    padding: 8px 20px !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    font-weight: 500 !important;
    position: relative !important;
    z-index: 2 !important;
    box-shadow: none !important;
}

/* Hover state to match homepage */
.woocommerce-tabs ul.tabs.wc-tabs li a:hover {
    color: #002b51 !important;
    background-color: rgba(0, 123, 255, 0.1) !important;
    border-color: rgba(0, 123, 255, 0.2) !important;
}

/* Active tab state to match homepage */
.woocommerce-tabs ul.tabs.wc-tabs li.active a,
.woocommerce-tabs ul.tabs.wc-tabs li a:focus {
    background-color: #002b51 !important;
    border-color: #002b51 !important;
    color: white !important;
    box-shadow: none !important;
}

/* Tab content panels - styled like homepage cards */
.woocommerce-tabs .woocommerce-Tabs-panel {
    border: none !important;
    padding: 0 !important;
    background: none !important;
}

/* Content wrapper styling */
.woocommerce-tabs .woocommerce-Tabs-panel .composition-content,
.woocommerce-tabs .woocommerce-Tabs-panel .instructions-content {
    max-width: 800px;
    margin: 0 auto;
    background-color: #f8f9fa;
    padding: 2rem;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border-left: 4px solid #002b51;
}

/* Typography improvements */
.woocommerce-tabs .woocommerce-Tabs-panel .composition-content p:first-child,
.woocommerce-tabs .woocommerce-Tabs-panel .instructions-content p:first-child {
    font-size: 1.1em;
    font-weight: 500;
    color: inherit;
    margin-bottom: 1.5rem;
}

.woocommerce-tabs .woocommerce-Tabs-panel .composition-content p,
.woocommerce-tabs .woocommerce-Tabs-panel .instructions-content p {
    margin-bottom: 1rem;
    line-height: 1.6;
    color: inherit;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .woocommerce-tabs ul.tabs.wc-tabs {
        margin-bottom: 2rem !important;
    }

    .woocommerce-tabs ul.tabs.wc-tabs li a {
        padding: 8px 16px !important;
        font-size: 0.9em !important;
        margin: 2px !important;
    }

    .woocommerce-tabs .woocommerce-Tabs-panel .composition-content,
    .woocommerce-tabs .woocommerce-Tabs-panel .instructions-content {
        padding: 1.5rem !important;
        margin: 0 15px !important;
    }
}

/* Optional: Add smooth transition when switching tabs */
.woocommerce-tabs .woocommerce-Tabs-panel {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.woocommerce-tabs .woocommerce-Tabs-panel:not([style*="display: none"]) {
    opacity: 1;
}

.woocommerce .quantity .qty {
    width: 60px !important;
    text-align: center !important;
    height: 38px !important;
    margin-right: 10px !important;
}

span.badge {
    top: 0;
    right: 0;
    font-size: 0.7rem;
    min-width: 1.2rem;
    height: 1.2rem;
    line-height: 0.9rem;
    color: #fff;
    background-color: #00457c;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce-input-wrapper {
    width: 100% !important;
    display: block !important;
}

.woocommerce ul.order_details {
    margin: 0 0 2em !important;
    padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    padding: 0 0.1em !important;
}
.composition-content table.woocommerce-product-attributes {
    margin-bottom: 0 !important;
}
.woocommerce-product-attributes-item__value > p {
    margin-bottom: 0 !important;
}
.woocommerce div.product form.cart .variations label {
    margin: 0.55em 0 !important;
    font-size: 1rem !important;
}
.woocommerce .products.row {
    clear: both !important;
}

/* ==========================================================================
		  Cookie Consent
		 ========================================================================== */

.cc-window {
    opacity: 1;
    transition: opacity 1s ease;
}
.cc-window.cc-invisible {
    opacity: 0;
}
.cc-animate.cc-revoke {
    transition: transform 1s ease;
}
.cc-animate.cc-revoke.cc-top {
    transform: translateY(-2em);
}
.cc-animate.cc-revoke.cc-bottom {
    transform: translateY(2em);
}
.cc-animate.cc-revoke.cc-active.cc-bottom,
.cc-animate.cc-revoke.cc-active.cc-top,
.cc-revoke:hover {
    transform: translateY(0);
}
.cc-grower {
    max-height: 0;
    overflow: hidden;
    transition: max-height 1s;
}
.cc-link,
.cc-revoke:hover {
    text-decoration: underline;
}
.cc-revoke,
.cc-window {
    position: fixed;
    overflow: hidden;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.5em;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    z-index: 9999;
}
.cc-window.cc-static {
    position: static;
}
.cc-window.cc-floating {
    padding: 2em;
    max-width: 24em;
    -ms-flex-direction: column;
    flex-direction: column;
}
.cc-window.cc-banner {
    padding: 1em 1.8em;
    width: 100%;
    -ms-flex-direction: row;
    flex-direction: row;
}
.cc-revoke {
    padding: 0.5em;
}
.cc-header {
    font-size: 18px;
    font-weight: 700;
}
.cc-btn,
.cc-close,
.cc-link,
.cc-revoke {
    cursor: pointer;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.cc-link {
    opacity: 0.8;
    display: inline-block;
    padding: 0.2em;
}
.cc-link:hover {
    opacity: 1;
}
.cc-link:active,
.cc-link:visited {
    color: initial;
}
.cc-btn {
    display: block;
    padding: 0.5em 0.75em;
    font-size: 0.9em;
    font-weight: 600;
    border-width: 2px;
    border-style: solid;
    text-align: center;
    white-space: nowrap;
}
.cc-banner .cc-btn:last-child {
    min-width: 140px;
}
.cc-highlight .cc-btn:first-child {
    background-color: transparent;
    border-color: transparent;
}
.cc-highlight .cc-btn:first-child:focus,
.cc-highlight .cc-btn:first-child:hover {
    background-color: transparent;
    text-decoration: underline;
}
.cc-close {
    display: block;
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    font-size: 1.6em;
    opacity: 0.9;
    line-height: 0.75;
}
.cc-close:focus,
.cc-close:hover {
    opacity: 1;
}
.cc-revoke.cc-top {
    top: 0;
    left: 3em;
    border-bottom-left-radius: 0.5em;
    border-bottom-right-radius: 0.5em;
}
.cc-revoke.cc-bottom {
    bottom: 0;
    left: 3em;
    border-top-left-radius: 0.5em;
    border-top-right-radius: 0.5em;
}
.cc-revoke.cc-left {
    left: 3em;
    right: unset;
}
.cc-revoke.cc-right {
    right: 3em;
    left: unset;
}
.cc-top {
    top: 1em;
}
.cc-left {
    left: 1em;
}
.cc-right {
    right: 1em;
}
.cc-bottom {
    bottom: 0;
}
.cc-floating > .cc-link {
    margin-bottom: 1em;
}
.cc-floating .cc-message {
    display: block;
    margin-bottom: 1em;
}
.cc-window.cc-floating .cc-compliance {
    -ms-flex: 1;
    flex: 1;
}
.cc-window.cc-banner {
    -ms-flex-align: center;
    align-items: center;
}
.cc-banner.cc-top {
    left: 0;
    right: 0;
    top: 0;
}
.cc-banner.cc-bottom {
    left: 0;
    right: 0;
    bottom: 0;
}
.cc-banner .cc-message {
    -ms-flex: 1;
    flex: 1;
    font-size: 0.9em;
}
.cc-compliance {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: justify;
    align-content: space-between;
}
.cc-compliance > .cc-btn {
    -ms-flex: 1;
    flex: 1;
}
.cc-btn + .cc-btn {
    margin-left: 0.5em;
}
.cc-message {
    color: #1a1a1a;
}
.cc-btn {
    color: #002b51 !important;
    text-decoration: none !important;
    -webkit-border-radius: 125px !important;
    -moz-border-radius: 125px !important;
    border-radius: 125px !important;
    background-color: transparent !important;
    border: #002b51 1px solid;
}
.cc-btn:hover {
    color: #fff !important;
    text-decoration: none !important;
    background-color: #002b51 !important;
    border: #002b51 1px solid;
}
.cc-btn > svg {
    display: none;
}

.cc-floating.cc-theme-classic {
    padding: 1.2em;
    border-radius: 5px;
}
.cc-floating.cc-type-info.cc-theme-classic .cc-compliance {
    text-align: center;
    display: inline;
    -ms-flex: none;
    flex: none;
}
.cc-theme-classic .cc-btn {
    border-radius: 5px;
}
.cc-theme-classic .cc-btn:last-child {
    min-width: 140px;
}
.cc-floating.cc-type-info.cc-theme-classic .cc-btn {
    display: inline-block;
}
.cc-theme-edgeless.cc-window {
    padding: 0;
}
.cc-floating.cc-theme-edgeless .cc-message {
    margin: 2em 2em 1.5em;
}
.cc-banner.cc-theme-edgeless .cc-btn {
    margin: 0;
    padding: 0.8em 1.8em;
    height: 100%;
}
.cc-banner.cc-theme-edgeless .cc-message {
    margin-left: 1em;
}
.cc-floating.cc-theme-edgeless .cc-btn + .cc-btn {
    margin-left: 0;
}

/* ==========================================================================
		  Google Recapatcha V3
		 ========================================================================== */

.grecaptcha-badge {
    display: none !important;
}

/* ==========================================================================
		  Media Queries: iPad
		 ========================================================================== */

/* iPad [landscape] */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
}

/* iPad [portrait] */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
}

/* iPad 3/4 [landscape] */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) {
}

/* iPad 3/4 [portrait] */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2) {
}

/* ==========================================================================
		  Bootstrap Queries
		 ========================================================================== */

@media (max-width: 575.98px) {
    .cc-window.cc-floating {
        padding: 1em !important;
    }
    .cc-floating .cc-message {
        font-size: 0.8rem !important;
    }
    nav.navbar {
        padding: 1em;
    }
    .desktop-social {
        display: none;
    }
    .carousel-item .media {
        padding: 0;
    }
    .carousel-item {
        padding: 0 40px;
    }
    .carousel-control-prev,
    .carousel-control-next {
        width: 10%;
    }
    #forminator-module-82 {
        display: block !important;
    }
    #forminator-module-82 .forminator-row {
        margin-bottom: 15px !important;
    }
    .mobile-nav-overlay {
        display: none;
    }
    .woocommerce-coming-soon-banner {
        font-size: 36px !important;
        margin-bottom: 30px !important;
    }
    .wp-block-site-title {
        font-size: 20px !important;
    }
    .wp-block-social-links {
        gap: 10px !important;
    }
    .menus-parent {
        margin-bottom: 2em;
    }
    .navbar-flex-container > .navbar-flex-item:first-child,
    .navbar-flex-container > .navbar-flex-item:last-child {
        width: 150px;
    }
    .category-card {
        min-height: 60px;
    }
    header p {
        font-size: 0.85rem;
    }
    .card.card-form > .card-body {
        padding: 2em 0;
    }
    .btn,
    .wp-element-button,
    .forminator-ui.forminator-design--flat .forminator-button-submit,
    .add-to-cart {
        padding: 0.55em 1em !important;
        font-size: 0.85em !important;
    }
    footer .img-footer-logo {
        margin-right: 0;
        max-width: 200px;
        margin-bottom: 2em;
    }
    footer#ext {
        text-align: center;
    }
    section#hero h1 {
        font-size: 2.5rem;
    }
    .section,
    .section-mini {
        padding: 2em 0;
    }
    .about-img-block {
        margin-bottom: 1em;
    }
    .woocommerce-products-grid {
        clear: both !important;
    }
    .larger-text {
        font-size: 1.75rem;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .cc-window.cc-floating {
        padding: 1em !important;
    }
    .cc-floating .cc-message {
        font-size: 0.8rem !important;
    }
    nav.navbar {
        padding: 1em;
    }
    .desktop-social {
        display: none;
    }
    .carousel-item .media {
        padding: 0;
    }
    .carousel-item {
        padding: 0 40px;
    }
    .carousel-control-prev,
    .carousel-control-next {
        width: 10%;
    }
    #forminator-module-82 {
        display: block !important;
    }
    #forminator-module-82 .forminator-row {
        margin-bottom: 15px !important;
    }
    .mobile-nav-overlay {
        display: none;
    }
    .woocommerce-coming-soon-banner {
        font-size: 36px !important;
        margin-bottom: 30px !important;
    }
    .wp-block-site-title {
        font-size: 20px !important;
    }
    .wp-block-social-links {
        gap: 10px !important;
    }
    .menus-parent {
        margin-bottom: 2em;
    }
    .navbar-flex-container > .navbar-flex-item:first-child,
    .navbar-flex-container > .navbar-flex-item:last-child {
        width: 150px;
    }
    .category-card {
        min-height: 60px;
    }
    header p {
        font-size: 0.85rem;
    }
    .card.card-form > .card-body {
        padding: 2em 0;
    }
    .btn,
    .wp-element-button,
    .forminator-ui.forminator-design--flat .forminator-button-submit,
    .add-to-cart {
        padding: 0.55em 1em !important;
        font-size: 0.85em !important;
    }
    footer .img-footer-logo {
        margin-right: 0;
        max-width: 200px;
        margin-bottom: 2em;
    }
    footer#ext {
        text-align: center;
    }
    section#hero h1 {
        font-size: 2.5rem;
    }
    .section,
    .section-mini {
        padding: 2em 0;
    }
    .about-img-block {
        margin-bottom: 1em;
    }
    .woocommerce-products-grid {
        clear: both !important;
    }
    .larger-text {
        font-size: 1.75rem;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .desktop-social {
        display: none;
    }
    .carousel-item .media {
        padding: 0 30px;
    }
    .carousel-item {
        padding: 0 40px;
    }
    .carousel-control-prev,
    .carousel-control-next {
        width: 10%;
    }
    .mobile-nav-overlay {
        display: none;
    }
    .menus-parent {
        margin-bottom: 2em;
    }
    header p {
        font-size: 0.85rem;
    }
    .card.card-form > .card-body {
        padding: 2em 0;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .mobile-social {
        display: none;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .mobile-social {
        display: none;
    }
}

@media (min-width: 1400px) {
    .mobile-social {
        display: none;
    }
}

/* ==========================================================================
		  Print
		 ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #151515 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    a,
    a:visited {
        text-decoration: underline;
    }
    a[href]:after {
        content: " (" attr(href) ")";
    }
    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    thead {
        display: table-header-group;
    }
    tr,
    img {
        page-break-inside: avoid;
    }
    img {
        max-width: 100% !important;
    }
    @page {
        margin: 0.5cm;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
}
