/* =========================================================
   CSS Variables
   ========================================================= */
:root {
    /* Primary Colors */
    --primary: #7C4D8A;
    --primary-dark: #5a3366;
    --primary-light: #9b6aab;
    --accent: #E8A0BF;

    /* Secondary Colors (Used in HTML) */
    --green-primary: #09735c;
    --green-secondary: #1f7a63;
    --green-accent: #1bbf83;
    --green-hover: #198754;
    --dark-bg: #07112f;
    --light-text: #f1f7f3;
    --icon-dark: #0f1e4c;

    /* Base Colors */
    --dark: #1a1a2e;
    --text: #555770;
    --text-light: #888aa0;
    --white: #ffffff;
    --light-bg: #f9f5fc;
    --light-bg2: #f3edf8;
    --border: #e8dff0;

    /* Typography */
    --heading-font: 'Playfair Display', serif;
    --body-font: 'DM Sans', sans-serif;

    /* Effects */
    --transition: all 0.35s ease;
    --shadow: 0 10px 40px rgba(124, 77, 138, 0.12);
    --shadow-lg: 0 20px 60px rgba(124, 77, 138, 0.18);
    --radius: 12px;
    --radius-lg: 20px;
}

/* PRODUCT DETAILS PAGE SPECIFIC COLOR OVERRIDE (GREEN) */
.product-details-page {
    --primary: #09735c;
    --primary-dark: #075a48;
    --primary-light: #1f8b73;
    --shadow: 0 10px 40px rgba(9, 115, 92, 0.12);
    --shadow-lg: 0 20px 60px rgba(9, 115, 92, 0.18);
}

/* =========================================================
   Base
   ========================================================= */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    overflow-x: clip !important;
}

body {
    overflow-x: clip !important;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

a:hover {
    color: var(--primary);
}

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

img {
    max-width: 100%;
    height: auto;
    display: block;
}
ul li {
font-size:16px;
line-height:28px;
}


p {
font-size:16px;
line-height:28px;
}


/* =========================================================
   Buttons (Bootstrap-based)
   ========================================================= */
/* Custom color buttons - use Bootstrap .btn classes in HTML */
.btn-primary-custom {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white);
    font-weight: 600;
    border-radius: 50px;
    padding: 0.875rem 2rem;
}

.btn-primary-custom:hover {
    background: transparent;
    color: var(--primary);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(124, 77, 138, 0.3);
}

/* =========================================================
   Section Titles (use Bootstrap fs-* classes in HTML for sizing)
   ========================================================= */
.section-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--primary);
    margin-bottom: 16px;
}

.section-subtitle::before {
    content: '';
    width: 30px;
    height: 2px;
    background: var(--primary);
}

.section-title {
    font-size: 42px;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 15px;
    line-height: 45px;
}

.section-title span {
    color: var(--primary);
}

/* =========================================================
   Topbar (use Bootstrap d-none d-lg-block in HTML)
   ========================================================= */
.topbar
 {
    background: #09735c;
    padding: 5px 40px;
    font-size: 13px;
    color: #ffffff !important;
    border-radius: 0px 0px 0px 0px;
}
.top-info p {
    font-size: 14px;
    line-height: normal;
}

.topbar a {
    color: #ffffff;
}

.topbar a:hover {
    color: #fff;
}

.topbar .social-icon {
    background: var(--light-text);
    color: var(--icon-dark) !important;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

.topbar .social-icon:hover {
    color: var(--primary) !important;
}

.topbar .top-info {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #FFFFFF !important;
    font-size: 14px;
    line-height: 14px;
    font-weight: 500;
}

.topbar .top-info i {
    color: #FFFFFF !important;
    font-size: 12px;
}

/*-----------------------------------------------------------------*/

.hero {
    position: relative;
    background: url('../images/banner-main.webp') no-repeat center center/cover;
    color: #fff;
    padding: 50px 0;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgb(0 0 0 / 68%) 30%, rgb(0 0 0 / 0%) 100%);
}
.hero a.btn.btn-primary {
    background: #09735c;
    border-color: #09735c;
}

.hero-content

 {
    position: relative;
    z-index: 2;
    max-width: 600px;
}

.tag {
    background: #09735c;
    padding: 5px 12px;
    border-radius: 5px;
    font-size: 14px;
    display: inline-block;
    margin-bottom: 10px;
}

.hero h1 {
    font-size: 56px;
    font-weight: 700;
    line-height: 56px;
    text-transform: capitalize;
    margin-bottom: 20px;
}

.hero h1 span {
    color: #2dd4a8;
}

.hero p {
    color: #fff;

}

.features span {
    margin-right: 15px;
    font-size: 14px;
}

.btn-primary {
    padding: 12px 25px;
}

.btn-outline-light {
    padding: 12px 25px;
}

/* Stats Box */
.stats {
    position: relative;
    width: 100%;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 20px;
    margin: 30px 0 0;
}

.stats h4 {
    font-weight: 700;
}

/*-----------------------------------------------------------------------*/
.feature-section {
    background: linear-gradient(90deg, #075a48, #064d3d);
    padding: 30px 0;
    color: #fff;
    text-align: center;
}

.feature-box {
    padding: 10px 9px;
}

.feature-icon {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    font-size: 22px;
}

.feature-title {
    font-weight: 600;
    font-size: 16px;
}

.feature-text {
    font-size: 13px;
    color: #dbeaf3;
    margin-top: 5px;
}

.main-heading {
    text-align: center;
}

/* Top badge */
.main-heading-badge {
    display: inline-block;
    background: #d9e4ec;
    color: #075a48;
    padding: 8px 18px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

/* Heading */
.main-heading h2 {
    font-size: 42px;
    font-weight: 700;
    color: #0b1f33;
    margin-bottom: 15px;
    line-height: 52px;
}

/* Subtitle */
.main-heading p {
    max-width: 700px;
    margin: 0 auto;
    font-size: 17px;
    color: #5f6f81;
    line-height: 1.6;
}


/*---------------------------------------------------------------------------------------------*/

/* Medical Notice */

section.section-product-list {
    padding: 50px 0;
}

.main-btn a {
    background: #075a48;
    color: #fff;
    border-radius: 10px;
    padding: 10px 30px;
    width: auto;
    display: inline-block;
}

.main-btn {
    display: flex;
    justify-content: center;
    margin: 30px 0 0;
}

.section-product-list .notice-box {
    background: #e8f7f0;
    border: 1px solid #bcd3ff;
    border-radius: 15px;
    padding: 15px 20px;
    margin-bottom: 40px;
    font-size: 14px;
}

/* Card */
.section-product-list .product-card {
    border-radius: 20px;
    padding: 20px;
    background: #fff;
    height: 100%;
    transition: .3s;
    position: relative;
}

.section-product-list .product-card:hover {
    transform: translateY(-5px);
}

/* Colored Borders */
.section-product-list .border-blue {
    border: 2px solid #09735c30;
}

.section-product-list .border-green {
    border: 2px solid #19875430;
}

.section-product-list .border-purple {
    border: 2px solid #6f42c130;
}

.section-product-list .border-orange {
    border: 2px solid #fd7e1430;
}

/* Top Badge */
.section-product-list .top-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    font-size: 13px;
    padding: 6px 12px;
    border-radius: 20px;
    color: #fff;
}

.section-product-list .badge-blue {
    background: #09735c;
}

.section-product-list .badge-green {
    background: #198754;
}

.section-product-list .badge-purple {
    background: #6f42c1;
}

.section-product-list .badge-orange {
    background: #fd7e14;
}

/* Icon Box */
.section-product-list .icon-box {
    width: 90px;
    height: 90px;
    background: #075a48;
    border-radius: 20px;
    margin: 30px auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 28px;
    position: relative;
    left: auto;
    bottom: auto;
}

/* Tag */
.section-product-list .tag {
    background: #e8f7f0;
    display: inline-block;
    padding: 5px 10px;
    border-radius: 8px;
    font-size: 13px;
    color: #09735c;
}

/* Title */
.section-product-list .product-title {
    font-size: 18px;
    font-weight: 600;
    margin-top: 10px;
}

/* List */
.section-product-list .product-list {
    padding-left: 0;
    list-style: none;
    font-size: 14px;
    margin-top: 10px;
}

.section-product-list .product-list li {
    margin-bottom: 5px;
}

.section-product-list .product-list i {
    color: #198754;
    margin-right: 5px;
}

/* Rating */
.section-product-list .rating {
    color: #ffc107;
    font-size: 14px;
}

/* Price */
.section-product-list .price {
    font-size: 22px;
    font-weight: 700;
    color: #075a48;
}

.section-product-list .old-price {
    text-decoration: line-through;
    color: #888;
    font-size: 14px;
}

/* Button */
.section-product-list .btn-cart {
    background: #075a48;
    color: #fff;
    border-radius: 10px;
    padding: 10px;
    width: 100%;
}

.section-product-list .btn-cart:hover {
    background: #064d3d;
}

/*----------------------------------------------------------------------------*/

.process-section {
    padding: 60px 0;
}

/* Card */
.process-section .process-card {
    position: relative;
    padding: 30px;
    border-radius: 18px;
    height: 100%;
    border: 1px solid transparent;
}

/* Background variations */
.process-section .bg-step-1 {
    background: #e8f7f0;
    border-color: #c6d8ff;
}

.process-section .bg-step-2 {
    background: #e8f7f0;
    border-color: #bdebd5;
}

.process-section .bg-step-3 {
    background: #f2ecff;
    border-color: #d9c8ff;
}

.process-section .bg-step-4 {
    background: #fff4e6;
    border-color: #ffd8a8;
}

/* Icon box */
.process-section .icon-box {
    width: 55px;
    height: 55px;
    border-radius: 12px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    font-size: 20px;
    position: relative;
    left: auto;
    bottom: auto;
}

/* Title */
.process-section .process-title {
    font-size: 18px;
    font-weight: 600;
    margin-top: 15px;
}

/* Text */
.process-section .process-text {
    font-size: 14px;
    color: #5f6f81;
    margin-top: 10px;
}

/* Step number */
.process-section .step-number {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 32px;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.05);
}

/* Connector line (desktop only) */
.process-section .process-row {
    position: relative;
}

.process-section .process-row::before {
    content: "";
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    height: 2px;
    background: #e0e6ed;
    z-index: 0;
}

.process-section .process-card {
    position: relative;
    z-index: 1;
}


/*-----------------------------------------------------------------------------*/
section.section-eeat {
    padding: 50px 0;
    background: #fff;
}

/* Card Base */
.section-eeat .eeat-card {
    background: #fff;
    border-radius: 18px;
    padding: 25px;
    height: 100%;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.07);
}

/* Icon Letter */
.section-eeat .eeat-icon {
    width: 55px;
    height: 55px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 15px;
}

/* Colors */
.section-eeat .blue {
    background: #075a48;
}

.section-eeat .green {
    background: #198754;
}

.section-eeat .purple {
    background: #6f42c1;
}

.section-eeat .orange {
    background: #fd7e14;
}

/* Title */
.section-eeat .eeat-title {
    font-size: 18px;
    font-weight: 600;
}

/* List */
.section-eeat .eeat-list {
    list-style: none;
    padding-left: 0;
    margin-top: 10px;
}

.section-eeat .eeat-list li {
    margin-bottom: 8px;
    font-size: 14px;
    color: #5f6f81;
}

.section-eeat .eeat-list i {
    color: #198754;
    margin-right: 6px;
}

/* Bottom Cards */
.section-eeat .info-card {
    border-radius: 18px;
    padding: 25px;
    height: 100%;
}

/* Backgrounds */
.section-eeat .bg-soft-blue {
    background: #e8f7f0;
}

.section-eeat .bg-soft-green {
    background: #e8f7f0;
}

.section-eeat .bg-soft-purple {
    background: #f2ecff;
}

.section-eeat .bg-soft-orange {
    background: #fff4e6;
}

/* Icon box */
.section-eeat .info-icon {
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    margin-bottom: 10px;
}

/* Title */
.section-eeat .info-title {
    font-size: 17px;
    font-weight: 600;
}

/* Text */
.section-eeat .info-text {
    font-size: 14px;
    color: #5f6f81;
}


/*--------------------------------------------------------------------------------------------*/

/* Main Card */
.main-doctor-section .doctor-section {
    background: linear-gradient(135deg, #075a48, #064d3d);
    border-radius: 25px;
    padding: 40px;
    color: #fff;
}

/* Doctor Image */
.main-doctor-section .doc-img {
    width: 120px;
    height: 120px;
    border-radius: 15px;
    overflow: hidden;
    border: 4px solid rgba(255, 255, 255, 0.2);
}

.main-doctor-section .doc-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Subtitle */
.main-doctor-section .doc-label {
    font-size: 13px;
    letter-spacing: 1px;
    color: #a8d4f0;
    font-weight: 600;
}

/* Name */
.main-doctor-section .doc-name {
    font-size: 28px;
    font-weight: 700;
}

/* Role */
.main-doctor-section .doc-role {
    color: #6dd5ff;
    font-size: 15px;
    margin-bottom: 10px;
}

/* Quote */
.main-doctor-section .doc-text {
    font-size: 15px;
    color: #e6f4ff;
    line-height: 1.6;
}

/* Tags */
.main-doctor-section .doc-tags span {
    background: rgba(255, 255, 255, 0.15);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    margin-right: 10px;
    display: inline-block;
    margin-top: 10px;
}

/* Rating Box */
.main-doctor-section .rating-box {
    text-align: center;
}

.main-doctor-section .doc-intro {
    flex: 0 0 85%;
}

.main-doctor-section .rating-number {
    font-size: 40px;
    font-weight: 700;
}

.main-doctor-section .stars {
    color: #ffc107;
}

.main-doctor-section .rating-text {
    font-size: 13px;
    color: #cfe9ff;
}

/*-------------------------------------------------------------------------*/

/* Section Title */
.faq-section .section-title {
    font-weight: 600;
    font-size: 20px;
}

.faq-section .section-title i {
    color: #075a48;
}

/* Accordion */
.faq-section .accordion-button {
    background: #fff;
    border-radius: 10px !important;
    margin-bottom: 10px;
    font-weight: 500;
}

.faq-section .accordion-button:not(.collapsed) {
    background: #e8f7f0;
    color: #075a48;
}

.faq-section .accordion-item {
    border: none;
}

/* Sidebar Cards */
.faq-section .sidebar-card {
    background: #fff;
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
}

/* Blue Card */
.faq-section .review-card {
    background: #075a48;
    color: #fff;
}

.faq-section .review-card small {
    color: #cfe9ff;
}

/* Checklist */
.faq-section .checklist label {
    display: flex;
    margin-bottom: 8px;
    font-size: 14px;
    gap: 5px;
}

/* Disclaimer */
.faq-section .disclaimer {
    background: #fff4e6;
    border: 1px solid #ffd8a8;
    border-radius: 15px;
    padding: 15px;
    margin-top: 20px;
    font-size: 14px;
}

.faq-section .disclaimer strong {
    color: #d97706;
}

section.faq-section {
    padding: 60px 0;
}

section.faq-section .main-heading {
    margin-bottom: 30px;
}

.sidebar-card.review-card p {
    font-size: 14px;
}

.sidebar-card .d-block {
    font-size: 14px;
    font-weight: 500;
    color: #075a48;
}

.sidebar-card .d-block i {
    font-size: 10px;
    margin-left: 3px;
}

.sidebar-card ul li {
    font-size: 14px;
    color: #075a48;
}

.sidebar-card ul li i {
    font-size: 11px;
    margin-right: 4px;
}

/*----------------------------------------------------------------------*/

/* Trust Cards */
.trust-card-section .trust-card {
    background: #fff;
    border-radius: 18px;
    padding: 25px;
    text-align: center;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
    transition: .3s;
}

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

/* Icon */
.trust-card-section .trust-icon {
    width: 70px;
    height: 70px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 600;
    margin: 0 auto 10px;
}

/* Colors */
.trust-card-section .bg-blue {
    background: #2f5bd3;
}

.trust-card-section .bg-teal {
    background: #075a48;
}

.trust-card-section .bg-green {
    background: #198754;
}

.trust-card-section .bg-purple {
    background: #6f42c1;
}

.trust-card-section .bg-orange {
    background: #d97706;
}

.trust-card-section .bg-dark {
    background: #343a40;
}

/* Title */
.trust-card-section .trust-title {
    font-weight: 600;
    font-size: 12px;
    line-height: 15px;
}

/* Subtext */
.trust-card-section .trust-sub {
    font-size: 12px;
    color: #6c757d;
    line-height: 15px;
    min-height: 30px;
}

/* Divider */
.trust-card-section .divider {
    height: 1px;
    background: #e3e8ef;
    margin: 40px 0 20px;
}

section.trust-card-section {
    padding: 0 0 60px;
}

/* Payment */
.trust-card-section .payment-title {
    text-align: center;
    color: #6c757d;
    font-weight: 500;
    margin-bottom: 15px;
}

.trust-card-section .payment-methods {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.trust-card-section .payment-box {
    border: 1px solid #e3e8ef;
    border-radius: 12px;
    padding: 10px 20px;
    font-size: 14px;
    background: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
}



/* =========================================================
   Header / Navbar (use Bootstrap d-flex, gap utilities)
   ========================================================= */
.site-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: var(--white);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
    transition: var(--transition);
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 40px;
}

.site-logo img {
    height: 54px;
    width: auto;
}

.site-logo .logo-text {
    font-family: var(--heading-font);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--primary);
    letter-spacing: -1px;
}

/* Nav */
.main-nav {
    display: flex;
    align-items: center;
    gap: 4px;
}

.main-nav>li {
    position: relative;
}

.main-nav>li>a {
    padding: 12px 15px;
    font-size: 14px;
    font-weight: 600;
    color: #000000;
    transition: var(--transition);
    white-space: nowrap;
}

.main-nav>li>a:hover,
.main-nav>li.active>a {
    background-color: #09735c;
    color: var(--white);
}

.main-nav>li>a .caret {
    font-size: 10px;
}

/* Dropdown */
.dropdown-menu-custom {
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--white);
    min-width: 200px;
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    padding: 10px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: var(--transition);
    z-index: 100;
    border-top: 3px solid #09735c;
}

.main-nav>li:hover .dropdown-menu-custom {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-menu-custom li a {
    display: block;
    padding: 9px 20px;
    font-size: 13.5px;
    color: var(--text);
    font-weight: 500;
    transition: var(--transition);
}

.dropdown-menu-custom li a:hover {
    color: #09735c;
    padding-left: 28px;
    background: var(--light-bg);
}

/* Sub-dropdown */
.sub-dropdown {
    position: relative;
}

.sub-dropdown-menu {
    position: absolute;
    left: 100%;
    top: 0;
    background: var(--white);
    min-width: 180px;
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    padding: 10px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateX(8px);
    transition: var(--transition);
    border-top: 3px solid #09735c;
}

.sub-dropdown:hover .sub-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Mobile Toggle */
.mobile-toggle {
    display: none;
    background: var(--light-bg);
    border: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    border-radius: 8px;
    transition: var(--transition);
}

.mobile-toggle:hover {
    background: var(--primary);
}

.mobile-toggle:hover span {
    background: var(--white);
}


.mobile-toggle span {
    display: block;
    width: 25px;
    height: 2px;
    background: var(--dark);
    transition: var(--transition);
    border-radius: 2px;
}

/* =========================================================
   Hero Slider & Banner
   ========================================================= */
#heroSlider {
    border-radius: 40px !important;
    overflow: hidden !important;
}

#heroSlider .carousel-item {
    border-radius: 40px !important;
    overflow: hidden !important;
}

#heroSlider .banner-slide {
    border-radius: 40px !important;
    overflow: hidden !important;
}

.banner-slide {
    height: 550px !important;
    background-size: cover;
    background-position: center;
    position: relative;
    border-radius: 40px !important;
}

.banner-slide.slide-1 {
    background-image: url('../{css\,js\,images}/kmagra1_banner.png');
}

.banner-slide.slide-2 {
    background-image: url('../{css\,js\,images}/kmagra1_banner.png');
}

.overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 30%, rgba(0, 0, 0, 0.2) 100%);
    top: 0;
    left: 0;
}

.banner-content {
    max-width: 600px;
    z-index: 2;
}

/* Vertical Controls */
.vertical-controls {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vertical-controls button {
    width: 35px;
    height: 35px;
    border: none;
    background: white;
    border-radius: 10px;
    font-size: 18px;
    cursor: pointer;
    transition: 0.3s;
}

.vertical-controls button:hover {
    background: var(--green-hover);
    color: var(--white);
}

/* =========================================================
   Marquee - Premium Tag Strip
   ========================================================= */
.marquee {
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    /* padding: 60px 0; */

}

.marquee-track {
    display: inline-flex;
    align-items: center;
    gap: 100px;
    animation: scroll 50s linear infinite;
}

.marquee-track:hover {
    animation-play-state: paused;
}

.marquee-track:hover .rotate-icon {
    animation-play-state: paused;
}

.marquee-item {
    font-size: 100px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    height: 150px;
}

.gradient-text {
    background: linear-gradient(90deg, #09735c, #075a48);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.solid-text {
    color: #0f1e4c;
}

.rotate-icon {
    font-size: 100px;
    color: #0b1b3f;
    display: inline-block;
    animation: rotate 10s linear infinite;
    opacity: 0.8;
}

.rotate-icon img {
    width: 120px;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .marquee {
        padding: 5px 0;
    }

    .marquee-item {
        font-size: 40px;
        line-height: 50px;
        height: 50px;
    }

    .rotate-icon {
        font-size: 25px;
    }

    .marquee-track {
        gap: 30px;
    }
}

/* =========================================================
   Utility
   ========================================================= */
.text-primary-custom {
    color: var(--primary) !important;
}

.bg-primary-custom {
    background: var(--primary) !important;
}

.bg-light-custom {
    background: var(--light-bg) !important;
}

/* =========================================================
   Animations
   ========================================================= */
.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.fade-up.animated {
    opacity: 1;
    transform: translateY(0);
}

.fade-up:nth-child(2) {
    transition-delay: 0.1s;
}

.fade-up:nth-child(3) {
    transition-delay: 0.2s;
}

.fade-up:nth-child(4) {
    transition-delay: 0.3s;
}

/* Mobile nav background layer */
.mobile-nav-bg-layer {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
      background: rgba(0, 129, 186, 0.45);
    /* More transparent green */
    backdrop-filter: blur(10px);
    /* Premium blur effect */
    -webkit-backdrop-filter: blur(10px);
    z-index: 99998;
    transform: translateX(100%);
    transition: transform 0.6s cubic-bezier(0.77, 0.2, 0.05, 1.0);
    transition-delay: 0.4s;
    /* Closing delay - bg layer stays until menu is hidden */
}

.mobile-nav-bg-layer.open {
    transform: translateX(0);
    transition-delay: 0s;
    /* Opening delay - bg layer slides in first */
}

/* Updated Mobile nav */
.mobile-nav {
    position: fixed;
    top: 0;
    right: 0;
    left: auto;
    width: 85%;
    max-width: 360px;
    height: 100vh;
    background: var(--white);
    z-index: 99999;
    padding: 30px 24px;
    overflow-y: auto;
    box-shadow: -5px 0 30px rgba(0, 0, 0, 0.15);
    transform: translateX(101%);
    transition: transform 0.6s cubic-bezier(0.77, 0.2, 0.05, 1.0);
    transition-delay: 0s;
    /* Closing delay - menu slides out first */
}

.mobile-nav.open {
    transform: translateX(0);
    transition-delay: 0.4s;
    /* Opening delay - menu slides in after bg */
}



.mobile-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99998;
}

.mobile-overlay.open {
    display: block;
}

.mobile-nav-close {
       background-color: rgb(0, 129, 186);
    border: none;
    font-size: 20px;
    color: var(--white);
    cursor: pointer;
    margin-bottom: 24px;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    transition: var(--transition);
}

.mobile-nav-links li {
    border-bottom: 1px solid var(--border);
}

.mobile-nav-links a {
    display: block;
    padding: 13px 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--dark);
}

.mobile-nav-links a:hover {
    color: var(--primary);
}

/* Mobile Accordion Styles */
.mobile-nav-links .has-submenu>a {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mobile-nav-links .has-submenu i {
    font-size: 12px;
    transition: transform 0.3s ease;
}

.mobile-nav-links .has-submenu.active>a i {
    transform: rotate(180deg);
}

.mobile-nav-links .submenu {
    display: none;
    padding-left: 15px;
    list-style: none;
    border-left: 1px solid var(--border);
    margin-bottom: 5px;
}

.mobile-nav-links .submenu li {
    border-bottom: none;
}

.mobile-nav-links .submenu a {
    font-size: 14px;
    font-weight: 500;
    padding: 8px 0;
}

/* Header Responsive (< 991px) */
@media (max-width: 991px) {
    .main-nav {
        display: none !important;
    }

    .mobile-toggle {
        display: flex;
    }

    .header-inner {
        padding: 12px 0px;
    }

    .site-logo img {
        height: 48px;
    }
}



/* /////// */
/* Main button */
.custom-anim-btn {
    padding: 5px 5px 5px 20px;
    border-radius: 8px;
    background-color: #09735c !important;
    border-color: #09735c !important;
}

/* TEXT */
.custom-anim-btn .btn-text {
    transition: transform 0.6s ease, opacity 0.6s ease;
}

/* ICON BOX */
.custom-anim-btn .btn-icon {
    background: #fff;
    color: #000;
    border-radius: 6px;
    padding: 10px 15px;
    transition: all 0.6s ease;
    width: 38px;
    height: 38px;
    font-size: 14px;
}

/* ICON */
.custom-anim-btn .btn-icon i {
    transition: transform 0.6s ease, color 0.6s ease;
}

/* TEXT HIDE (UP) */
.custom-anim-btn:hover .btn-text {
    transform: translateY(-120%);
    opacity: 0;
}

/* NEW TEXT FROM DOWN */
.custom-anim-btn::after {
    content: attr(data-hover-text);
    position: absolute;
    left: 20px;
    bottom: -100%;
    color: #fff;
    transition: all 0.6s ease;
}

.custom-anim-btn:hover::after {
    bottom: 50%;
    transform: translateY(50%);
}

/* ICON ANIMATION */
.custom-anim-btn:hover .btn-icon {
    background: #07112f;
}

.custom-anim-btn:hover .btn-icon i {
    color: #fff;
    transform: translateX(6px);
}

/* SMOOTH REVERSE */
.custom-anim-btn:not(:hover) .btn-text {
    transform: translateY(0);
    opacity: 1;
}

/* Remove outline & focus ring */
.diamond-btn:focus,
.diamond-btn:active,
.diamond-btn:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* Button */
.diamond-btn {
    backdrop-filter: brightness(120%) contrast(100%) saturate(102%) blur(10px);
    border: none !important;
    /* Force no border */
}

/* Icon fast & smooth rotation */
.diamond-btn i {
    transition: transform 0.25s ease-in-out;
    display: inline-block;
    /* Ensure rotation works correctly */
}

/* Hover → clockwise */
.diamond-btn:hover i {
    transform: rotate(180deg);
}

/* Reset on leave */
.diamond-btn:not(:hover) i {
    transform: rotate(0deg);
}

/* Background */
.custom-offcanvas {
    background: var(--dark-bg);
    width: 380px;
    min-height: 100vh;
}

.custom-offcanvas .offcanvas-body {
    padding: 50px 50px 50px 50px !important;
    gap: 20px;
    color: var(--light-text);
    font-weight: 400;
    font-size: 1rem;
}

/* Close Button Style */
.custom-offcanvas .btn-close-custom {
    position: relative;
    display: flex;
    cursor: pointer;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 10px 35px 0px rgba(0, 0, 0, 0.1);
    backdrop-filter: brightness(120%) contrast(100%) saturate(102%) blur(10px) hue-rotate(0deg);
    border-radius: 5px;
    font-size: 26px;
    line-height: 1;
    border: 1px solid rgba(255, 255, 255, 0.06);
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    transition: var(--transition);
    overflow: hidden;
}

.custom-offcanvas .btn-close-custom i {
    display: inline-block;
    transition: transform 0.5s ease;
}

.custom-offcanvas .btn-close-custom:hover {
    background: var(--green-primary);
    color: var(--white);
}

.custom-offcanvas .btn-close-custom:hover i {
    transform: rotate(360deg);
}

.custom-offcanvas .btn-close-custom:not(:hover) i {
    transform: rotate(-360deg);
}

/* Offcanvas Text Styles */
.custom-offcanvas h4 {
    color: var(--light-text);
}

.custom-offcanvas .contact-title {
    color: #fff;
    line-height: 38px;
    font-weight: 400;
    font-style: normal;
    font-size: 28px;
}

.custom-offcanvas p,
.custom-offcanvas .contact-text {
    color: var(--light-text) !important;
    font-size: 16px;
    line-height: 1;
    opacity: 1;
}

.custom-offcanvas small {
    color: #d5d5d5 !important;
    font-size: 16px;
    line-height: 1;
    opacity: 0.7;
}

@media (max-width: 576px) {
    .custom-offcanvas {
        width: 100% !important;
    }

    .footer-wrapper {
        bottom: -50px;
    }
}

/* Icon circles styling */
.icon-circle {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    flex-shrink: 0;
     background: #09735c;
    border-radius: 100px;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-circle i {
    font-size: 20px;
}

/* Social icons */
.social-icon {
    width: 40px;
    height: 40px;
    background: var(--white);
    color: var(--dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: 0.3s;
}

.social-icon:hover {
    background: #040c21;
    color: var(--white);
}

.social-icon:hover i {
    color: #fff;
}

.banner-slide {
    height: 100vh;
    background-size: cover;
    background-position: center;
    position: relative;
}

.overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(274deg, #001a1e00 38%, #001a1e8a 70%, #001a1e), linear-gradient(1deg, #001a1e00 55%, #001a1e33 83%, #001a1eb5), linear-gradient(#001a1e00 47%, #001a1e33);
    top: 0;
    left: 0;
}

.banner-content {
    max-width: 800px;
    z-index: 2;
}

.banner-title {
    font-size: clamp(2.5rem, 6vw, 4.375rem);
    /* Fluid font size: 40px to 70px */
    line-height: 1.25;
    font-weight: 400;
    margin-bottom: 20px;
    color: var(--white);
    font-family: var(--heading-font);
}

/* Mobile specific heading size adjustment */
@media (max-width: 576px) {
    .banner-title {
        font-size: 2.125rem;
        /* ~34px */
        line-height: 1.3;
    }
}


/* Right Side Vertical Buttons */
.vertical-controls {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #fff;
    padding: 10px 7px;
    right: 0;
    border-radius: 10px 0px 0px 10px;
}

.vertical-controls button {
    width: 35px;
    height: 35px;
    border: none;
    background: white;
    border-radius: 10px;
    font-size: 18px;
    cursor: pointer;
    transition: 0.3s;
    filter: drop-shadow(0 20px 17.5px rgba(8, 29, 82, .13));
}

.vertical-controls button:hover {
    background: #09735c;
    color: var(--white);
}

/* SECTION */
.about {
    padding: 0 60px;
}

/* ABOUT SECTION SPECIFIC */
.about .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    max-width: 100%;
}

/* LEFT */
.left {
    flex: 1;
    max-width: 600px;
}

.about .left {
    width: 50%;
    max-width: none;
}

/* BADGE */
.badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 18px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.45;
    color: #0f1e4c;
    border-radius: 50px;
    box-shadow: rgb(204, 219, 232) 3px 3px 6px 0px inset, rgba(255, 255, 255, 0.5) -3px -3px 6px 1px inset;
    background-color: #ffffff;
    line-height: normal;
    margin-bottom: 5px;
}

/* DOT */
.dot {
    width: 8px;
    height: 8px;
    background: var(--green-secondary);
    border-radius: 50%;
    position: relative;
}

.banner-content h6 {
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 29px;
    letter-spacing: 1.5px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    backdrop-filter: blur(15px);
    padding: 7px 10px 7px 7px;
    max-width: max-content;
}

.banner-content h6 span {
    background-color: #09735c;
    color: #ffffff;
    font-size: 11px;
    line-height: 22px;
    padding: 0 6px;
    text-align: center;
    margin-right: 10px;
    border-radius: 4px;
    display: inline-block;
}

.dot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: #09735c;
    opacity: 0.6;
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }

    70% {
        transform: scale(2.5);
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

/* HEADING */
.text-anime-style {
    color: #1e2a4a;
    margin: 20px 0;
}

.text-anime-style .word {
    display: inline-block;
    opacity: 0;
    transform: translateY(30px);
}

.hero-heading span {
    font-weight: 600;
}

.title-sub {
    display: block;
    margin-top: 10px;
    color: #09735c;
    font-family: "Playfair Display", serif;
    font-style: italic;
}

/* DESCRIPTION */
.desc {
    font-size: 18px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 30px;
}

.banner-content p {
    color: #ffffff !important;
}

/* 🔥 DROP CAP */
.desc::first-letter {
    font-size: 65px;
    font-weight: 400;
    color: #09735c;
    float: left;
    line-height: 0.9;
    margin-right: 12px;
}

/* FEATURES */
.features-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

.brain img {
    width: 177px;
    flex-shrink: 0;
}

.features {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.features div {
    font-size: 16px;
    color: #333;
    position: relative;
    padding-left: 25px;
}

.features div::before {
    content: "✔";
    position: absolute;
    left: 0;
    color: #09735c;
}

/* RIGHT */
.right {
    flex: 1;
    position: relative;
    display: flex;
    justify-content: center;
}

.about .right {
    width: 50%;
}

/* IMAGE */
.main-img {
    width: 100%;
    max-width: 100%;
    height: 506px;
    object-fit: cover;
    border-radius: 25px;
}

/* FLOAT CARD */
.small-card {
    position: absolute;
    bottom: -20px;
    right: 0;
    background: #fff;
    padding: 12px;
    border-radius: 25px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}

.small-card img {
    width: 160px;
    height: 160px;
    object-fit: cover;
    border-radius: 20px;
}

/* RESPONSIVE ABOUT SECTION */
@media (max-width: 991px) {
    .about {
        padding: 0 20px;
    }

    .about .container {
        flex-direction: column;
        gap: 40px;
        align-items: flex-start;
    }

    .about .left,
    .about .right {
        width: 100%;
        max-width: none;
    }

    .features-wrapper {
        flex-direction: column;
        gap: 25px;
        align-items: flex-start;
    }

    .brain img {
        width: 140px;
    }

    .main-img {
        height: 380px;
    }

    .small-card {
        bottom: -15px;
        right: 10px;
    }

    .small-card img {
        width: 130px;
        height: 130px;
    }
}


/* SECTION */
.services {
    padding: 0 40px;
    text-align: center;
}

/* SLIDER */
.slider {
    overflow: hidden;
    margin-top: 50px;
    padding-bottom: 50px;
}

.slider-track {
    display: flex;
    gap: 30px;
    transition: transform 0.5s ease;
}

/* CARD */
.service-card {
    flex: 0 0 calc(25% - 22.5px);
    min-width: unset;
    background: #f5f7f9;
    border-radius: 30px;
    overflow: visible;
    position: relative;
    transition: 0.3s;
}

/* IMAGE */
.card-img {
    position: relative;
}

.card-img img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 30px 30px 0 0;
}

/* ICON */
.icon-box {
    position: absolute;
    bottom: 25px;
    left: 20px;
    width: 70px;
    height: 70px;
    background: #1f7a63;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #fff;
}

.icon-box img {
    width: 32px;
    height: 32px;
    filter: brightness(0) invert(1);
}

/* CONTENT */
.card-content {
    padding: 50px 20px 60px;
    position: relative;
    background: #f5f7f9;
    border-radius: 0 0 30px 30px;
    overflow: hidden;
    text-align: left;
}

.card-content::after {
    content: "";
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: 140px;
    height: 140px;
    background: #f5f5f5;
    border-radius: 50%;
}

.card-content h3 {
    font-size: 22px;
    color: #1e2a4a;
}

.card-content p {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
    line-height: 1.6;
}

/* ARROW BUTTON */
.arrow-btn {
    position: absolute;
    right: 5px;
    bottom: -30px;
    width: 65px;
    height: 65px;
    background: #0b1b3f;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    cursor: pointer;
    z-index: 5;
    transition: 0.3s;
}

/* HOVER */
.service-card:hover {
    transform: translateY(-8px);
}

.arrow-btn:hover {
    transform: scale(1.1);
}

.service-card:hover .arrow-btn {
    transform: translateY(-3px);
}

/* SLIDER DOTS */
.slider-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 50px;
}

.slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
    transition: all 0.35s ease;
    border: none;
    padding: 0;
}

.slider-dot.active {
    background: #09735c;
}

.featured-item.style-1 {
    padding: 65px 40px 40px 40px;
    border: 1px solid #dcdcdc;
    border-radius: 30px;
    height: 100%;
}

.featured-title h4 {
    margin-bottom: 15px;
    color: #0f1e4c;
}


/* =========================================================
   Psychology Expert Section
   ========================================================= */
.psychology-expert-section {
    padding: 0 60px;
    background: #ffffff;
}

/* BADGE */
.badge-expert {
    background: #f8f9ff;
    color: #040c21;
    border: 1px solid #e0e0e0;
    padding: 6px 18px;
    border-radius: 20px;
    font-size: 0.85rem;
    display: inline-block;
    margin-bottom: 25px;
}

/* TITLE */
.hero-title {
    color: #040c21;
    font-weight: 400;
    font-size: 3.8rem;
    line-height: 1.1;
    font-family: "Mona Sans";
}

.hero-title span {
    color: #09735c;
    font-style: italic;
    font-family: 'Playfair Display', serif;
}

/* OUTLINE TEXT */
.outline-text {
    font-family: "Rubik", Sans-serif;
    font-size: 100px;
    font-weight: 600;
    line-height: 80px;
    -webkit-text-stroke-width: 1px;
    stroke-width: 1px;
    -webkit-text-stroke-color: #270000;
    stroke: #270000;
    color: #FFFFFF;
}

/* BUTTON */
.btn-explore {
    background-color: #040c21;
    color: white;
    border-radius: 12px;
    padding: 12px 28px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-weight: 600;
    margin-top: 25px;
    transition: 0.3s;
}

.btn-explore .icon-box {
    background: white;
    color: #040c21;
    border-radius: 6px;
    margin-left: 15px;
    padding: 2px 10px;
    display: none;
}

.ic-cross i {
    font-size: 25px;
    color: #ffff;
}

.btn-explore:hover {
    background-color: #0b7359;
}

/* =========================================================
   DOCTOR CARD
   ========================================================= */

.doctor-card {
    cursor: pointer;
    border: none;
    transition: 0.3s;
}

.doctor-card:hover {
    transform: translateY(-8px);
}

/* IMAGE WRAPPER */
.img-wrapper {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    /* 🔥 IMPORTANT */
    background: #f3f4f6;
}

/* IMAGE */
.img-wrapper img {
    height: 100%;
    width: auto;
    object-fit: cover;
}

/* =========================================================
   SOCIAL MENU (HOVER)
   ========================================================= */

.social-menu {
    position: absolute;
    right: 15px;
    bottom: 90px;

    background: #09735c;
    padding: 14px 10px;
    border-radius: 30px;

    display: flex;
    flex-direction: column;
    gap: 12px;

    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;

    transition: all 0.35s ease;
    z-index: 10;
}

/* SHOW ON HOVER */
.doctor-card:hover .social-menu {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* ICONS */
.social-menu a {
    width: 38px;
    height: 38px;
    background: #fff;
    color: #0b7359;
    border-radius: 50%;

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

    font-size: 14px;

    transform: translateY(10px);
    opacity: 0;
    transition: 0.3s;
}

/* STAGGER EFFECT */
.doctor-card:hover .social-menu a {
    transform: translateY(0);
    opacity: 1;
}

.doctor-card:hover .social-menu a:nth-child(1) {
    transition-delay: 0.05s;
}

.doctor-card:hover .social-menu a:nth-child(2) {
    transition-delay: 0.1s;
}

.doctor-card:hover .social-menu a:nth-child(3) {
    transition-delay: 0.15s;
}

/* ICON HOVER */
.social-menu a:hover {
    transform: scale(1.1);
}

/* =========================================================
   SHARE BUTTON
   ========================================================= */

.share-cutout {
    position: absolute;
    right: 15px;
    bottom: 15px;

    width: 65px;
    height: 65px;
    background: #ffffff;
    border-radius: 50%;

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

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    z-index: 5;
}

.share-circle {
    width: 50px;
    height: 50px;
    background: #040c21;
    color: #fff;
    border-radius: 50%;

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

    font-size: 16px;
    transition: 0.3s;
}

.share-cutout:hover .share-circle {
    background: #040c21;
    transform: scale(1.1);
}

/* =========================================================
   TEXT
   ========================================================= */

.doctor-details {
    padding-top: 20px;
}

.doctor-details h4 {
    color: #040c21;
    margin-bottom: 5px;
}

.doctor-details p {
    color: #6c757d;
    font-size: 0.95rem;
}

/* =========================================================
   EQUAL HEIGHT FIX
   ========================================================= */

/* .row.g-4>div {
    display: flex;
} */

.doctor-card {
    flex: 1;
}

/* =========================================================
   SECTION LAYOUT - NEWS
   ========================================================= */

.news {
    padding: 0 60px;
    text-align: center;

}


/* =========================================================
   HEADING
   ========================================================= */

.news-title {
    color: #1e2a4a;
    margin: 20px 0 50px;
}

.news-title span {
    display: block;
    color: #09735c;
    font-family: "Playfair Display", serif;
    font-style: italic;
}

/* =========================================================
   GRID
   ========================================================= */

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* =========================================================
   CARD
   ========================================================= */

.news-card {
    text-align: left;
}

/* IMAGE */
.news-card img {
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
}

/* META */
.meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
}

/* TAG */
.tag {
    background: #f1f7f3;
    border-radius: 100px;
    padding: 7px 16px;
    font-size: 14px;
    line-height: 1.28em;
    text-transform: uppercase;
    font-weight: 500;
    color: #0f1e4c;
    transition: all 0.3s ease;
    display: inline-block;
}

.tag:hover {
    background: #09735c;
    color: #fff;
}

/* DATE */
.date {
    font-size: 14px;
    line-height: 1.28em;
    display: inline-block;
    color: #0f1e4c;
    text-transform: uppercase;
    font-weight: 500;
    margin-left: 25px;
}

/* TITLE */
.news-card h4 {
    margin-top: 15px;
    line-height: 1.4;
}

.news-card h4 a {
    color: #1e2a4a;
    transition: all 0.3s ease;
}

.news-card h4 a:hover {
    color: #09735c;
}

/* FEATURE SECTION (2nd section)*/
.features-sec {
    padding: 0;
    background: #ffff;
}

/* CARD */
.feature-card {
    background: #fff;
    border-radius: 20px;
    padding: 20px 20px;
    position: relative;
    border: 1px solid #dcdcdc;
    overflow: visible;
    transition: 0.3s;
    height: 100%;
    text-align: center;
}

.feature-card figure {
    margin: auto;
    text-align: center;
    display: inline-block;
}


.feature-card h4 {
    margin-bottom: 15px;
}

/* CURVE CUT */
.feature-card::after {
    content: "";
    position: absolute;
    right: -35px;
    bottom: -35px;
    width: 0px;
    height: 110px;
    background: #ffffff;
    border-radius: 50%;
}

.icon1 a {
    background: #09735c;
    width: 100%;
    display: inline-block;
    padding: 10px 0;
    border-radius: 10px;
    border: 1px solid #fff;
    color: #fff;
}

/* TEXT */
.feature-card h3 {
    font-size: 26px;
    color: #1e2a4a;
    line-height: 1.3;
    margin-bottom: 15px;
}

.feature-card p {
    color: #666;
    line-height: 1.6;
}

/* NUMBER BADGE */
.number {
    position: absolute;
    right: 2px;
    bottom: 10px;

    padding: 10px 18px;
    background: #e9efec;

    border-radius: 30px;
    /* 🔥 pill shape */
    font-size: 14px;
    font-weight: 600;
    color: #1e2a4a;

    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);
    z-index: 10;
}

/* DARK CARD */
.feature-card.dark {
    background: #040c21;
    color: #fff;
    border: none;
}

.feature-card.dark h3,
.feature-card.dark p {
    color: #fff;
}

.feature-card.dark .number {
    background: #e9efec;
    color: #1e2a4a;
}

/* GREEN CARD */
.feature-card.green {
    background: #09735c;
    color: #fff;
    border: none;
}

.feature-card.green h3,
.feature-card.green p {
    color: #fff;
}

/* HOVER */
.feature-card:hover {
    transform: translateY(-8px);
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .features-sec {
        flex-direction: column;
        align-items: center;
    }
}

.icon1 img {
    width: 60px;
    height: 60px;
    transition: transform 0.3s ease;
}

.feature-card:not(.dark):not(.green) .icon1 img {
    /* make it match design color for light cards */
    filter: brightness(0) saturate(100%) invert(15%) sepia(20%) saturate(1200%) hue-rotate(190deg);
}

.feature-card.dark .icon1 img,
.feature-card.green .icon1 img {
    /* white icons for dark/green cards */
    filter: brightness(0) invert(1);
}

.icon1 {
    position: static;
    bottom: 30px;
    /* 🔥 controls distance from bottom */
    left: 25px;
    /* align from left */
}

/* SECTION MENTAL HERO*/
.mental-hero {
    position: relative;

}

/* IMAGE */
.mental-hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.1s linear;
}

/* FLOAT ANIMATION */
@keyframes floatImage {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(-30px);
    }

    100% {
        transform: translateX(0);
    }
}

/* CARD */
.mental-hero-card {
    position: absolute;
    right: 80px;
    bottom: 60px;

    width: 380px;
    padding: 40px;
    background: #09735c;
    color: #fff;

    border-radius: 20px;
}

/* ICON */
.mental-hero-card .icon img {
    width: 40px;
    filter: brightness(0) invert(1);
    margin-bottom: 20px;
}

/* TEXT */
.mental-hero-card h3 {
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 25px;
}

/* COUNTER */
.counter {
    font-size: 60px;
    font-weight: 700;
}

/* =========================
   SLIDER
========================= */
.mental-slider {
    overflow: hidden;
}

.mental-track {
    display: flex;
    gap: 30px;
    transition: transform 0.5s ease;
}

/* =========================
   CARD
========================= */
.mental-card {
    min-width: 300px;
    width: 300px;
    flex: 0 0 auto;
    height: 420px;
    border-radius: 25px;
    overflow: hidden;
    position: relative;
}

.mental-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =========================
   GLASS OVERLAY (FIXED)
========================= */
.mental-overlay {
    background-color: rgba(255, 255, 255, 0.55);
    margin: 0 5% 5% 5%;
    padding: 8% 6% 8% 6%;
    border-radius: 15px 15px 15px 15px;
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    position: absolute;
    bottom: 0;
    width: 90%;
    text-align: left;
}


/* TAG */
.tag {
    display: inline-block;
    font-size: 13px;
    padding: 8px 16px;
    border-radius: 999px;

    background: linear-gradient(145deg, #ffffff, #e6ecf2);
    color: #16224a;

    margin-bottom: 14px;

    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

/* TITLE */
.mental-overlay h3 {
    font-size: 28px;
    /* 🔥 bigger like design */
    font-weight: 500;
    color: #16224a;
    line-height: 1.3;
}

/* =========================
   DOTS
========================= */
.mental-dots {
    margin-top: 30px;
    text-align: center;
}

.mental-dots span {
    width: 8px;
    height: 8px;
    background: #cfd6df;
    display: inline-block;
    border-radius: 50%;
    margin: 0 6px;
    cursor: pointer;
}

.mental-dots .active {
    background: #09735c;
}

/* =========================================================
   MENTAL WORK SECTION
   ========================================================= */

.mental-work {
    padding: 0 40px;
}

.mental-heading {
    color: #0f1e4c;
    font-size: 120px;
    line-height: 120px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 25px;
}

@media (max-width: 991px) {
    .mental-hero-img img {
        height: 550px;
    }

    .mental-hero-card {
        position: absolute !important;
        bottom: 30px;
        left: 30px;
        right: 30px;
        width: auto;
        padding: 30px;
        z-index: 10;
        margin: 0;
    }

    .mental-hero-card h3 {
        font-size: 1.35rem;
        line-height: 1.4;
    }

    .mental-hero-card .counter {
        font-size: 45px;
    }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 992px) {
    .news-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .news {
        padding: 0 20px;
    }





    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card img {
        height: 200px;
    }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 992px) {}

@media (max-width: 576px) {
    .psychology-expert-section {
        padding: 0 20px;
    }


}


/* IMAGE */
.card-img {
    position: relative;
}

.card-img img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 30px 30px 0 0;
}

/* ICON */
.icon-box {
    position: absolute;
    bottom: 25px;
    left: 20px;
    width: 70px;
    height: 70px;
    background: #09735c;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #fff;
}

.icon-box img {
    width: 32px;
    height: 32px;

    /* make icon white like design */
    filter: brightness(0) invert(1);
}

@media (max-width: 768px) {
    .icon-box img {
        width: 28px;
        height: 28px;
    }
}

@media (max-width: 576px) {
    .icon-box {
        width: 45px;
        height: 45px;
        bottom: 10px;
        left: 10px;
    }

    .icon-box img {
        width: 20px !important;
        height: 20px !important;
    }
}

/* CONTENT */
.card-content {
    padding: 50px 20px 60px;
    position: relative;
    background: #ffffff;
    border-radius: 0 0 30px 30px;
    overflow: hidden;
    text-align: left;
}

/* 🔥 CURVED CUT EFFECT */
.card-content::after {
    content: "";
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: 140px;
    height: 140px;
    background: #f5f5f5;
    border-radius: 50%;
}

/* TEXT */
.card-content h3 {
    font-size: 22px;
    color: #1e2a4a;
}

.card-content p {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
    line-height: 1.6;
}

/* 🔥 ARROW OUTSIDE CURVE */
.arrow-btn {
    position: absolute;
    right: 20px;
    bottom: 14px;

    width: 50px;
    height: 50px;
    background: #0b1b3f;
    color: #fff;
    border-radius: 50%;

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

    font-size: 20px;
    cursor: pointer;
    z-index: 5;

    transition: 0.3s;
}

/* HOVER */
.service-card:hover {
    transform: translateY(-8px);
}

.arrow-btn:hover {
    transform: scale(1.1);
}

.service-card:hover .arrow-btn {
    transform: translateY(-3px);
}

/* ========================= */
/* 📱 RESPONSIVE */
/* ========================= */

@media (max-width: 1024px) and (min-width: 769px) {
    .service-card {
        flex: 0 0 calc(33.333% - 20px);
    }
}

@media (max-width: 768px) {

    .services {
        padding: 0 20px;
    }



    .slider-track {
        gap: 20px;
    }

    .service-card {
        flex: 0 0 calc(50% - 10px);
        min-width: unset;
    }

    .card-img img {
        height: 180px;
    }

    .icon-box {
        width: 50px;
        height: 50px;
        bottom: 15px;
        left: 15px;
        border-radius: 12px;
    }

    .icon-box img {
        width: 24px !important;
        height: 24px !important;
    }

    .arrow-btn {
        width: 55px;
        height: 55px;
        bottom: 11px;
    }

    .slider {
        padding-bottom: 0px !important;
    }
}

@media (max-width: 576px) {
    .service-card {
        flex: 0 0 calc(100% - 0px);
        min-width: unset;
    }
}


/* =========================================================
   NEW APPOINTMENT SECTION
   ========================================================= */
.appointment-new-section {
    position: relative;
    background: #fff;
}

/* ================= TOP IMAGE ================= */
.appointment-new-section .hero-image {
    width: 100%;

    overflow: hidden;
    position: relative;
    border-radius: 40px 40px 0 0;
}

.appointment-new-section .hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* optional overlay */
.appointment-new-section .hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.25);
}

/* ================= LEFT ================= */
.appointment-new-section .info-section {
    background: #07112f;
    color: #fff;
    padding: 70px 100px 70px 20px;
}

.appointment-new-section .info-content {
    max-width: 500px;
}

.appointment-new-section .schedule-item {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #FFFFFF2E;
}

.border-radius-15 {
    border-radius: 15px;
}

.appointment-new-section .schedule-item:last-child {
    border-bottom: none;
}

.appointment-new-section .contact-item {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.appointment-new-section .contact-details h6 {
    color: #fff;
    font-size: 16px;
    margin-bottom: 8px;
    font-weight: 500;
    line-height: 1;
}

.appointment-new-section .contact-details p,
.appointment-new-section .contact-details a {
    color: #fff;
    font-size: 16px;
    text-decoration: none;
}

.appointment-new-section .icon-circle {
    width: 50px;
    height: 50px;
    background: #09735c;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-circle i {
    color: #fff !important;
}

.appointment-new-section .icon-circle i {
    color: #43AA8B;
    font-size: 18px;
}

/* ================= RIGHT ================= */
.appointment-new-section .form-section {
    position: relative;
    display: flex;
    justify-content: flex-end;

}

/* FORM CARD */
.appointment-new-section .form-card {
    background: #fff;
    border-radius: 30px 30px 0px 0px;
    padding: 100px 70px 100px 80px;
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.12);
    width: 100%;
    margin-top: -230px;
    /* 🔥 overlap */
    z-index: 2;
}

/* FORM */
.appointment-new-section .form-title {
    color: var(--dark);
    margin-bottom: 25px;
}

.appointment-new-section .highlight {
    color: #09735c;
    font-family: "Playfair Display", Sans-serif;
    font-style: italic;
}

.appointment-new-section .form-control,
.appointment-new-section .form-select,
.appointment-new-section textarea {
    border: 1px solid #dcdcdc;
    padding: 10px 20px;
    width: 100%;
    color: #0f1e4c;
    font-weight: 400;
    background: #ffffff;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.3s ease;
}

.appointment-new-section .form-control,
.appointment-new-section .form-select {
    min-height: 50px;
}

/* FOCUS STATE */
.appointment-new-section .form-control:focus,
.appointment-new-section .form-select:focus,
.appointment-new-section textarea:focus {
    box-shadow: none !important;
    outline: none !important;
    border-color: #09735c !important;
}

.appointment-new-section textarea {
    resize: none;
    padding-top: 15px;
}

/* BUTTON */
.appointment-new-section .btn-appointment {
    background: #09735c;
    color: #fff;
    padding: 14px 30px;
    border: none;
    border-radius: 8px;
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    transition: 0.3s;
    max-width: max-content;
}

.appointment-new-section .btn-appointment:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(67, 170, 139, 0.4);
}

.schedule-item span {
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 400;
}

/* RESPONSIVE APPOINTMENT SECTION */
@media (max-width: 991px) {
    .appointment-new-section {
        background: #07112f;
        /* Unified dark background */
    }

    .appointment-new-section .info-section {
        padding: 40px 0 0;
        /* Removed horizontal padding as container handles it */
    }

    .appointment-new-section .form-section {
        padding: 0 0 60px;
    }

    .appointment-new-section .info-content {
        max-width: 100%;
    }

    .appointment-new-section .form-card {
        margin: 30px 0 0;
        /* Removed horizontal margin as container handles it */
        padding: 40px 25px;
        border-radius: 30px;
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
    }

    .appointment-new-section .calendar-img {
        max-width: 180px;
        margin: 0 auto 25px;
        display: block;
    }

    .appointment-new-section .schedule-item {
        padding: 10px 25px;
    }

    .appointment-new-section .schedule-item span {
        font-size: 13px;
    }

    .appointment-new-section .info-section .pe-0 {
        padding-right: 0.75rem !important;
    }

    .appointment-new-section .contact-item {
        margin-top: 15px;
    }
}



/* =========================================================
   BACKGROUND
========================================================= */


/* ================= FOOTER BG ================= */
.footer-bg-clean {
    width: 100%;
    padding: 60px 0px 0px;

    background: #09735c;

    position: relative;
    margin-top: 0px;
}

/* ================= CONTENT ================= */
.footer-content {
    position: relative;
    z-index: 5;
}

/* ================= CARD ================= */
.footer-card {
    background: #ffffff00;
    border-radius: 12px;
    font-size: 14px;
    padding: 0px !important;
}

/* ================= TITLES ================= */
.footer-title {
    margin-bottom: 20px;
    color: #fff;
}

/* ================= LINKS ================= */
.footer-links li {
    margin-bottom: 10px;
}

.footer-links a {
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
}

.footer-links a:hover {
    text-decoration: underline;
}

/* ================= CONTACT ================= */
.contact-box .icon {
    width: 45px;
    height: 45px;
    background: #1f7a63;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

/* ================= BIG TEXT ================= */
.big-text {
    position: absolute;
    bottom: 60px;
    width: 100%;
    overflow: hidden;
    z-index: 0;
    opacity: 0.15;
}

.big-track {
    display: flex;
    width: max-content;
    animation: marquee 40s linear infinite;
}

.big-track span {
    font-size: 140px;
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
    padding-right: 60px;
}

.community {
    color: #f1f7f3 !important;
}

.emailbox input {
    padding: 10px 20px;
    width: 100%;
    height: 50px;
    border: 1px solid #dcdcdc;
    color: #0f1e4c;
    border-radius: 8px;
    font-size: 14px;
    background: #ffffff;
}

.contact-icon-circle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-color: #09735c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.contact-title {
    font-weight: 600;
    font-size: 14px;
    color: #C2BCBC !important;
}

.social-icons {
    padding-top: 32px;
}

.contact-text {
    color: #ffffff !important;
    font-size: 15px;
    margin: 0;
    text-decoration: none;
    font-weight: 500;
}

.socialbtn {
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #09735c !important;
}

@keyframes marquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

/* ================= COPYRIGHT ================= */
.footer-bottom {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    padding: 15px 80px;
    border-radius: 50px 50px 0 0;
    font-size: 16px;
    font-weight: 500;
    color: #0f1e4c;
    z-index: 6;
}

.footer-card p {
    font-size: 1rem;
    color: #fff;
}

.footer-card span {
    font-size: 14px;
    font-weight: 500;
    color: #444444;
}
ul#menu-medical-information {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
}
.footer-card p {
    padding-right: 50px;
}

.social-icons {
    padding-top: 32px;
    background: rgba(0, 0, 0, 0.12);
    padding: 20px 50px;
    border-radius: 15px;
    margin-top: 25px;
    margin-bottom: 30px;
}
/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 768px) {
    .big-track span {
        font-size: 70px;
    }
}

@media (max-width: 576px) {
    .big-track span {
        font-size: 50px;
    }

    .footer-bottom {
        font-size: 12px;
        padding: 10px 20px;
    }
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 991px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .contact-row {
        width: 100%;
        margin-left: 0;
    }

    .big-track span {
        font-size: 60px;
    }
}

.footer-h5 {
    font-size: 20px !important;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 991px) {
    .appointment-new-section .hero-image {
        height: 260px;
    }

    .appointment-new-section .form-card {
        margin: 20px 0 0;
        padding: 30px 20px;
    }

    .appointment-new-section .info-section {
        padding: 40px 0;
        /* Consistent with standard 30px container padding */
    }

    .appointment-new-section .form-section {
        justify-content: center;
    }


}



/* Scroll To Top Button */
.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background-color: #09735c;
    color: #ffffff;
    border: none;
    border-radius: 50%;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background-color 0.3s ease;
    z-index: 1000;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.scroll-to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-to-top:hover {
    background-color: #040c21;
    color: #ffffff;
    transform: translateY(-3px);
}

/* Base Section Spacing */
.section-space {
    padding-top: 60px;
    padding-bottom: 0px;
}

/* Adjustments for specific sections */
.features-sec.section-space {
    padding: 25px 0;
}
section.features-sec.section-space h2 {
    margin: 0 0 30px;
}
div#sliderDots {
    margin: 0;
}
section.services.section-space .slider {
    padding: 0;
}
.services.section-space {
    background-color: #f1f7f3;
    padding: 60px 30px;
    border-radius: 12px;
    margin-top: 60px;
    margin-bottom: 0px;
}

.mental-work.section-space {
    padding-top: 30px;
}


/* //////////////////// */

/* =========================================================
   GLOBAL MOBILE SPACING (STANDARD 30px OFFSET)
========================================================= */
@media (max-width: 991px) {

    /* Custom section padding utility for mobile */
    .px-mobile-30 {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .footer-content .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Reset horizontal padding for sections with potential full-width backgrounds */
    .psychology-expert-section,
    .appointment-new-section,
    .social-icons {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Sections that need inset content padding on mobile */
    .news,
    .mental-work,
    .mental-hero,
    .services {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }


    /* Global Minimal Section Spacing - Tighter for Mobile */
    .section-space {
        padding-top: 40px !important;
        padding-bottom: 0px !important;
    }

    /* Reset oversized section specific paddings/margins */
    .features-sec.section-space,
    .services.section-space {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }

    .mental-work.section-space {
        padding-top: 20px !important;
    }





    /* Standard Card Spacing - Prevent sticking on mobile */
    .feature-card,
    .service-card,
    .news-card,
    .doctor-card {
        margin-bottom: 25px !important;
    }

    /* Final اتھارٹی for mobile horizontal padding */
    .px-mobile-30,
    .section-space,
    .features-sec {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* Header & Navbar Standardized Padding */
    .header-middle {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }


    /* Main Titles & Hero Titles Standardized for Mobile (36px) */
    h1,
    h2,
    .banner-title,
    .news-title,
    .form-title,
    .mental-heading,
    .hero-title {
        font-size: 36px !important;
        line-height: 1.2 !important;
    }

    /* Navigation Logo & Controls */
    .mobile-logo,
    .mobile-controls {
        padding: 0 30px;
    }


    .news-grid {
        gap: 15px;
    }



    /* Mental Health Slider Responsiveness */
    .mental-work {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }


    .mental-card {
        min-width: calc(50% - 15px) !important;
        width: calc(50% - 15px) !important;
    }

    /* Mental Hero Overlay Match */
    .mental-hero {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Psychology Expert Section - Full Width Cards */
    .psychology-expert-section .col-md-6 {
        width: 100% !important;
        flex: 0 0 100% !important;
    }

    .doctor-card {
        margin-bottom: 30px;
    }

    /* Social Icons on Hover for Mobile/Tablets */
    .social-menu {
        bottom: 80px !important;
        right: 20px !important;
        opacity: 0;
        pointer-events: none;
        transition: all 0.4s ease-in-out;
    }

    .doctor-card:hover .social-menu {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }
}

@media (max-width: 768px) {
    .mental-card {
        min-width: 100% !important;
        width: 100% !important;
    }
}

/* =========================================================
   Custom Footer Curved Shape
   ========================================================= */
.footer-bottom-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.footer-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
}

.footer-box-wrapper {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    bottom: 0;
    width: 100%;
    background: #09735c;
}
.footer-box p {
    color: #fff;
}
.footer-box {

    padding: 10px 0;
    border-radius: 30px 30px 0 0;
    text-align: center;
    position: relative;
    z-index: 2;
}


@media (max-width: 991px) {
    .footer-wrapper {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Responsive */
@media (max-width: 576px) {
    .footer-box {
        padding: 15px 20px;
        font-size: 14px;
    }

    .shape-left,
    .shape-right {
        width: 40px;
        height: 40px;
    }

    .footer-box-wrapper {
        bottom: 0px;
    }
}

.footer_marquee .marquee-item {
    color: #ffff !important;

}

.footer_marquee .rotate-icon {
    color: #fff !important;
}

.footer_marquee .marquee {
    padding-top: 0;
    padding-bottom: 0;
    font-size: 100px;
}

.marquee-track.footer_marquee .marquee-item {
    font-size: 100px !important;
    height: 100px !important;
}

.footer_marquee_container {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    display: none;
}

.vertical-controls::before {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    position: absolute;
    border-radius: 20px;
    bottom: -34px;
    right: -26px;
    box-shadow: inset -34px -34px 0 0 var(--themeht-white-color);
    transform: rotate(-270deg);
}

.vertical-controls::after {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    position: absolute;
    border-radius: 20px;
    bottom: -34px;
    left: -26px;
    box-shadow: inset -34px -34px 0 0 var(--themeht-white-color);
    transform: rotate(2deg);
}



/* CATEGORY PAGE CSS START */

.topbar-custom {
    background: #cba135;
    border-radius: 0 0 20px 20px;
    margin-top: -20px;
    overflow: hidden;
    padding-top: 20px;
}

.topbar-text {
    margin: 0;
    text-align: center;
    color: #151515;
    font-size: 18px;
    margin-bottom: 0 !important;
    padding: 12px 0;
}

.topbar-text a {
    font-weight: 600;
    color: #000;
    text-decoration: underline;
}

/* optional smooth slide feel */
.carousel-item {
    transition: transform 0.6s ease-in-out;
}

.breadcrumbsWrapper {
    background: transparent;
    clear: both;
    float: none;
    margin-bottom: 0;
    text-transform: none;
}

.breadcrumbsWrapper>.innerBreadcrumbs {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    height: 50px;
}

.innerBreadcrumbs {
    clear: both;
    float: none;
    padding: 0px 60px;

    min-width: 32px;
    width: 100%;
}

.breadcrumbsWrapper .breadcrumbWrap {
    flex: 1 1 auto;
    width: auto;
}

.breadcrumbWrap {
    align-items: center;
    clear: both;
    display: flex;
    float: none;
    height: 100%;
    padding: 0;
    position: relative;
}

.breadcrumbsWrapper .breadcrumbWrap .breadcrumbs {
    display: flex;
    gap: .5em;
    justify-content: flex-start;
    width: 100%;
}

.breadcrumbWrap .breadcrumbs {
    clear: both;
    color: #151515;
    float: none;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

.breadcrumbWrap .breadcrumbs li {

    display: flex;
    font-size: 1rem;
    font-weight: 400;
    gap: .5em;
    letter-spacing: normal;
    line-height: normal;
    list-style-type: none;
    opacity: 1;
    position: relative;
    text-decoration: none;
    transition: opacity .2s linear, color .2s linear;
}

.breadcrumbWrap .breadcrumbs li a {

    opacity: 1;
    text-decoration: none;
}

.svgIcon {
    display: inline-block;
    height: 12px;
    position: relative;
    width: 18px;
}

/* 
Second and third section css start */
.category-section {
    margin: 30px 0;
}

.category-section .category-card {
    background: #eee;
    padding: 120px 60px;
    border-radius: 20px;
    text-align: center;
}

.category-section .category-card h2 {
    font-size: 32px !important;
    font-weight: 600;
    margin-bottom: 20px;
}

.left_allignment {
    padding-left: 40px;
    padding-right: 40px;
}

.category-section .category-card p {
    font-size: 15px;
    margin-bottom: 30px;
    line-height: 1.6;
}

/* BUTTON */
.category-section .cta-btn {
    display: inline-block;
    padding: 12px 28px;
    border: 2px solid #d8a73c;
    color: #d8a73c;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 500;
    transition: 0.3s;
}

.category-section .cta-btn:hover {
    background: #d8a73c;
    color: #fff;
}

/* RATING */
.category-section .rating {
    margin-top: 16px;
    font-size: 20px;
    font-weight: 600;
}

.category-section .rating .star {
    color: #00b67a;
    margin: 0 5px;
    font-size: 18px;
}

/* IMAGE */
.category-section .image-wrapper {
    border-radius: 25px;
    overflow: hidden;
}

.category-section .image-wrapper img {
    width: 100%;
    object-fit: cover;
    border-radius: 20px 20px 220px 20px;
    height: 480px;
}



/*----------------------------------------------------------------------------------------------*/

.category-treatment-section {
    padding: 100px 0px;
    text-align: left;
    background: #eee;
    border-radius: 20px;
}

.category-treatment-section h2 {
    font-size: 32px !important;
    font-weight: 600;
    margin-bottom: 5px;
    color: #000;
}

.category-treatment-section .subtitle {
    color: #666;
    margin-bottom: 30px;
}

/* Card */
.category-treatment-section .product-card {
    background: #fff;
    padding: 30px 25px;
    border-radius: 25px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    text-align: center;
    transition: 0.3s;
}

.category-treatment-section .product-card:hover {
    transform: translateY(-5px);
}

/* Image */
.category-treatment-section .product-img img {
    width: 180px;
    margin-bottom: 15px;
}

/* Title */
.category-treatment-section .product-card h3 {
    font-size: 18px;
    margin-bottom: 5px;
    font-weight: 600;
}

/* Price */
.category-treatment-section .price {
    margin-bottom: 15px;
}

.category-treatment-section .price span {
    color: #d39c2f;
    font-weight: 600;
}

/* Features */
.category-treatment-section .features {
    list-style: none;
    padding: 0;
    text-align: left;
    margin: 20px 0;
}

.category-treatment-section .features li {
    margin-bottom: 4px;
    /* color: #333; */
    position: relative;
    padding-left: 20px;
    /* text-align: center; */
}

.category-treatment-section .features li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #d39c2f;
}

.category-card h2,
.category-card p {
    color: #000 !important;
}

.rating {
    color: #000;
}

.category-treatment-section .container {
    display: block;
}

.category-treatment-section p {
    color: #000;
}

/* second and third section css close */


/* 
OVERVIEW SECTION CSS START */
.insomnia-section {
    padding: 40px 15px;
}

.insomnia-container {
    max-width: 900px;
    margin: auto;
}

.insomnia-title {
    font-size: 32px !important;
    font-weight: 600;
    color: #000;
}

.insomnia-heading {
    font-size: 18px;
    font-weight: 600;
    margin-top: 25px;
    margin-bottom: 10px;
    color: #000;
}

.insomnia-subheading {
    font-weight: 600;
    margin-top: 15px;
}

.insomnia-text {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 10px;
}

.insomnia-list {
    padding-left: 20px;
    margin-bottom: 15px;
    font-weight: 400;
}

.insomnia-list li {
    margin-bottom: 6px;
    font-size: 15px;
    color: #000;
    list-style-type: disc;
}

/* Responsive */
@media (max-width: 768px) {
    .insomnia-title {
        font-size: 24px;
    }

    .insomnia-heading {
        font-size: 16px;
    }

    .insomnia-text,
    .insomnia-list li {
        font-size: 14px;
    }

    .footer-title {
        margin-bottom: 10px;
    }
}

@media (max-width: 480px) {
    .insomnia-section {
        padding: 20px 10px;
    }
}

/* OVERVIEW SECTION CSS CLOSE */



/* HOW SECTION */
.how-section {
    background: #edebe7;
    padding: 100px 0;
}

.how-title {
    font-size: 40px !important;
    font-weight: 500;
    letter-spacing: normal;
    line-height: 1.2em;
    color: #000;
    margin-bottom: 20px;
}

.how-btn {
    display: inline-block;
    margin-top: 15px;
    padding: 10px 25px;
    border: 1px solid #c79c2e;
    border-radius: 30px;
    color: #c79c2e;
    text-decoration: none;
}

.how-row {
    margin-top: 40px;
}

.how-card {
    text-align: left;
    margin-bottom: 30px;
}

.how-img-wrap {
    position: relative;
}

.how-img {
    width: 100%;
    border-radius: 20px 20px 120px 20px;
}

.how-number {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #c79c2e;
    color: #000;
    padding: 5px 10px;
    border-radius: 8px;
    font-weight: bold;
    width: 45px;
    height: 45px;
    font-size: 25px;
    text-align: center;
}

.how-card h5 {
    margin-top: 15px;
    font-weight: 600;
    color: #000;
}

.how-card h5 {
    font-size: 17px;
    color: #000;
}


/* BLOG SECTION */
.blog-section {
    padding: 100px 0;
}

.blog-title {
    font-size: 32px !important;
    margin-bottom: 40px;
}

.blog-card {
    margin-bottom: 30px;
}

.blog-img {
    width: 100%;
    border-radius: 20px;
}

.blog-date {
    color: #cba135 !important;
    font-size: 1.1428571428571428rem;
    font-weight: 700;
    line-height: 1.25;
    padding-top: 1.5em !important;
    margin-bottom: .5em !important;
}

.blog-card h5 {
    color: #000;
    font-size: 1.35rem;
    line-height: 1.143;
}

.blog-btn {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 25px;
    border: 1px solid #c79c2e;
    border-radius: 30px;
    color: #c79c2e;
    text-decoration: none;
}

.how-section .container {
    display: block;
}

.blog-section .container {
    display: block;
}

/* RESPONSIVE */
@media (max-width: 991px) {

    .how-title,
    .blog-title {
        font-size: 28px;
    }

    .category-section,
    .category-treatment-section,
    .how-section,
    .blog-section {
        padding: 60px 15px !important;
    }

    .category-section h2 {
        font-size: 28px !important;
    }

    .category-section .category-card {
        padding: 60px 30px;
    }

    .category-section .image-wrapper img {
        height: auto !important;
        border-radius: 20px 20px 100px 20px;
    }

    .category-section .row {
        row-gap: 30px;
    }

    .custom-anim-btn {
        padding: 10px 20px;
        font-size: 14px;
    }
}

@media (max-width: 576px) {

    .how-title,
    .blog-title {
        font-size: 24px;
    }

    .category-section h2 {
        font-size: 24px !important;
    }

    .insomnia-title {
        font-size: 22px !important;
    }

    .how-card,
    .blog-card {
        text-align: center;
    }
}


/* NEWSLEETR AND SOME ASSITANCE SECTION CSS START  */

/* ===== Newsletter Section ===== */
.custom-newsletter {
    background: #cba135;
    margin-top: -20px;
    padding-block: 100px;
    position: relative;
    z-index: 10;
    text-align: center;
    border-radius: 0 0 20px 20px;
}

.custom-newsletter-title {
    color: #151515;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 21px;
}

.custom-newsletter-subtitle {
    font-size: 16px;
    color: #000;
    margin-bottom: 40px;
}

.custom-newsletter-form {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.custom-input {
    background: transparent;
    border: 2px solid #000;
    border-radius: 100px;
    height: 55px;
    font-size: 15px;

    max-width: 420px;
    width: calc(100vw - 50px);

    padding: 0px 16px;
}

.custom-input::placeholder {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    color: #000;
}

.custom-btn {
    padding: 14px 30px;
    border-radius: 50px;
    border: 2px solid #000;
    background: transparent;
    font-weight: 600;
    transition: 0.3s;
    font-size: 18px;
}

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

/* ===== Assistance Section ===== */
.custom-assistance {
    background: #151515;
    overflow: hidden;
    padding: 6em 0 7em;
    text-align: center;
}

.custom-assistance-title {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.07;
    margin-bottom: .75em;
    color: #cba135;
}

.custom-assistance-text {
    font-size: 1.15rem;
    line-height: 1.5;
    margin-bottom: 1.8em !important;
    max-width: 700px;
    text-align: center;
    color: #fff !important;
    margin: auto;
}

.custom-contact-btn {
    padding: 12px 28px;
    border-radius: 50px;
    border: 2px solid #c79a2b;
    background: transparent;
    color: #c79a2b;
    transition: 0.3s;
}

.custom-contact-btn:hover {
    background: #c79a2b;
    color: #000;
}

/* ===== Responsive ===== */
@media (max-width: 576px) {
    .custom-newsletter-title {
        font-size: 32px !important;
    }

    .custom-assistance-title {
        font-size: 32px !important;
    }

    .custom-assistance-text {
        font-size: 14px !important;
    }

    .custom-newsletter-subtitle {
        font-size: 15px;
        margin-bottom: 25px;
    }

    .custom-input {
        height: 50px;
        font-size: 14px;
    }

    .custom-newsletter {
        padding: 60px 15px;
    }

    .custom-assistance {
        padding: 60px 15px;
    }
}

.custom-newsletter .container,
.custom-assistance .container {
    display: block;
}

/* NEWSLETTER AND SOME ASSITANCE SECTION CSS CLOSE */
/* CATEGORY PAGE CSS CLOSE */



/* 
PRODUCT DETAILS PAGE STRUCTURAL OVERHAUL CSS START */

.product-page-main {
    padding: 60px 0 100px;
    background: #fdfbff;
}

/* LEFT COLUMN: NARRATIVE & VISUALS */
.product-visual-hero {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 40px;
    border: 1px solid var(--border);
    margin-bottom: 40px;
    box-shadow: var(--shadow);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.image-showcase {
    position: relative;
    width: 100%;
    text-align: center;
}

.image-showcase .hero-image {
    max-width: 80%;
    transition: var(--transition);
}

.product-visual-hero:hover .hero-image {
    transform: scale(1.03);
}

.badge-premium {
    position: absolute;
    top: 0px;
    left: 0px;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: #fff;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 0 0 20px 0;
    z-index: 5;
    box-shadow: 4px 4px 15px rgba(124, 77, 138, 0.2);
}

/* NARRATIVE FLOW */
.product-narrative-flow {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.narrative-section {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 50px;
    border: 1px solid var(--border);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
    transition: var(--transition);
}

.narrative-section:hover {
    border-color: var(--primary-light);
    transform: translateY(-5px);
    box-shadow: var(--shadow);
}

.narative-title {
    font-family: var(--heading-font);
    font-size: 32px;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 25px;
    position: relative;
    padding-left: 20px;
}

.narative-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 70%;
    background: var(--primary);
    border-radius: 10px;
}

.info-card-premium p {
    font-size: 17px;
    line-height: 1.8;
    color: var(--text);
    margin-bottom: 20px;
}

/* Ingredients Card */
.composition-grid-card {
    display: flex;
    align-items: center;
    gap: 25px;
    background: #fbf8ff;
    padding: 30px;
    border-radius: var(--radius);
    border: 1px solid var(--primary-light);
}

.comp-icon {
    width: 60px;
    height: 60px;
    background: var(--primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 24px;
}

.comp-text strong {
    display: block;
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 5px;
}

/* Uses Grid */
.uses-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.use-item {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    padding: 15px;
    border-radius: var(--radius);
    border-left: 3px solid var(--primary);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.use-item i {
    color: var(--primary);
    font-size: 14px;
}

/* RIGHT SIDEBAR COLUMN */
.sticky-action-sidebar {
    position: sticky;
    top: 100px;
    /* Offset for header */
}

.conversion-card-sidebar {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 35px;
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
    margin-bottom: 25px;
}

.sidebar-tags {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.hot-badge {
    background: #ffeeee;
    color: #e74c3c;
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
}

.rating-badge {
    background: #fff9e6;
    color: #f1c40f;
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
}

.sidebar-product-title {
    font-family: var(--heading-font);
    font-size: 36px;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 10px;
    line-height: 1.1;
}

.sidebar-prescription-alert {
    color: #e74c3c;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 25px;
}

.sidebar-pricing-block {
    display: flex;
    align-items: baseline;
    margin-bottom: 30px;
}

.sidebar-pricing-block .currency {
    font-size: 24px;
    font-weight: 700;
}

.sidebar-pricing-block .amount {
    font-size: 48px;
    font-weight: 700;
    margin: 0 5px;
}

.sidebar-pricing-block .taxes {
    font-size: 13px;
    color: var(--text-light);
}

.sidebar-select {
    height: 54px;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    font-weight: 600;
    padding-left: 20px;
}

.conversion-buttons {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 25px;
}

.btn-sidebar-primary {
    height: 60px;
    background: var(--primary);
    color: #fff;
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-weight: 700;
    font-size: 17px;
    transition: var(--transition);
}

.btn-sidebar-primary:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(124, 77, 138, 0.25);
    color: #fff;
}

.btn-sidebar-secondary {
    height: 60px;
    border: 2px solid var(--primary);
    color: var(--primary);
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-weight: 700;
    font-size: 17px;
    transition: var(--transition);
}

.btn-sidebar-secondary:hover {
    background: var(--primary);
    color: #fff;
    transform: translateY(-2px);
}

.sidebar-delivery-status {
    margin-top: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--primary-dark);
    font-weight: 500;
}

.sidebar-delivery-status i {
    font-size: 20px;
    color: var(--primary);
}

/* Trust Card */
.trust-signals-card-sidebar {
    background: #fbfbfc;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 30px;
    margin-bottom: 25px;
}

.trust-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 5px;
    color: var(--dark);
}


.trust-item {
    display: flex;
    gap: 15px;

}

.trust-icon {
    width: 40px;
    height: 40px;
    background: #fff;
    color: var(--primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.trust-text strong {
    display: block;
    font-size: 14px;
    color: var(--dark);
}

.trust-text p {
    font-size: 12px;
    margin: 0;
    color: var(--text-light);
}

.recent-pulse {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--text-light);
    padding-left: 10px;
}

.pulse-dot {
    width: 8px;
    height: 8px;
    background: #2ecc71;
    border-radius: 50%;
    box-shadow: 0 0 0 rgba(46, 204, 113, 0.4);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.7);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(46, 204, 113, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(46, 204, 113, 0);
    }
}

/* MOBILE BOTTOM BAR */
.mobile-fixed-action-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fff;
    padding: 15px 0;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    border-top: 1px solid var(--border);
}

.mob-price .m-cur {
    font-weight: 700;
    color: var(--primary);
}

.mob-price .m-amt {
    font-size: 24px;
    font-weight: 700;
    color: var(--primary);
}

.btn-mob-add-cart {
    width: 50px;
    height: 50px;
    background: #fdf8ff;
    color: var(--primary);
    border: 1px solid var(--primary-light);
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.btn-mob-buy-now {
    height: 50px;
    background: var(--primary);
    color: #fff;
    padding: 0 30px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    font-weight: 700;
}

/* Compact Section Refinement */
.section-compact {
    padding: 30px 40px !important;
}

.title-sm {
    font-size: 24px !important;
    margin-bottom: 20px !important;
}

.compact-faq .accordion-button {
    padding: 15px 20px !important;
    font-size: 15px !important;
}

.compact-faq .accordion-body {
    padding: 15px 20px !important;
}

/* Treatment Visual Styling */
.treatment-visual-card {
    background: #fdfbff;
    padding: 20px;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    transition: var(--transition);
}

.treatment-visual-card:hover {
    border-color: var(--primary-light);
    transform: scale(1.02);
}

/* Related Image Styling */
.related-image-frame {
    padding: 10px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.related-image-frame img {
    transition: var(--transition);
}

.related-image-frame:hover img {
    transform: scale(1.05);
}

/* Premium Accordion Styling for FAQ */
.premium-accordion .accordion-item {
    border: none;
    background: transparent;
    margin-bottom: 8px;
    /* Reduced space between items */
}

.premium-accordion .accordion-button {
    background: #fbfbfc;
    color: var(--dark);
    font-family: var(--body-font);
    font-weight: 600;
    /* Matching index page button weight */
    font-size: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius) !important;
    padding: 18px 25px;
    box-shadow: none;
}

.premium-accordion .accordion-button:not(.collapsed) {
    background: var(--light-bg);
    color: var(--primary);
    border-color: var(--primary-light);
    box-shadow: 0 4px 15px rgba(124, 77, 138, 0.05);
}

.premium-accordion .accordion-button::after {
    background-size: 16px;
    filter: grayscale(1);
    opacity: 0.5;
}

.premium-accordion .accordion-button:not(.collapsed)::after {
    filter: none;
    opacity: 1;
}

.premium-accordion .accordion-body {
    padding: 20px 25px;
    font-size: 15px;
    line-height: 1.8;
    color: var(--text);
    background: #fff;
    border: 1px solid var(--primary-light);
    border-top: none;
    border-radius: 0 0 var(--radius) var(--radius);
    margin-top: -5px;
}

/* SIDEBAR ACTIONS REFINEMENT */
.btn-sidebar-primary {
    height: 56px;
    background: var(--primary);
    color: #fff;
    border-radius: 50px;
    /* Matching index page rounded buttons */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-family: var(--body-font);
    font-weight: 600;
    font-size: 16px;
    transition: var(--transition);
    border: none;
}

.btn-sidebar-primary:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(124, 77, 138, 0.3);
    color: #fff;
}

.btn-sidebar-secondary {
    height: 56px;
    border: 2px solid var(--primary);
    color: var(--primary);
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-family: var(--body-font);
    font-weight: 600;
    font-size: 16px;
    transition: var(--transition);
}

.btn-sidebar-secondary:hover {
    background: var(--primary);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(124, 77, 138, 0.2);
}

/* RESPONSIVE STRUCTURE */
@media (max-width: 991px) {
    .product-page-main {
        padding: 40px 0 120px;
        /* More bottom padding for mobile bar */
    }

    .sticky-action-sidebar {
        position: static;
        margin-top: 40px;
    }

    .narrative-section {
        padding: 30px;
    }

    .narative-title {
        font-size: 26px;
    }

    .uses-grid {
        grid-template-columns: 1fr;
    }

    .sidebar-product-title {
        font-size: 32px;
    }
}

@media (max-width: 768px) {
    .product-visual-hero {
        padding: 20px;
    }

    .image-showcase .hero-image {
        max-width: 100%;
    }
}

/* PRODUCT DETAILS PAGE OVERHAUL CLOSE  */





/* PRODUCT DETAILS PAGE CSS  START */




.nlProduct_page {
    --green: #09735c;
    --green-dark: #006a99;
    --green-light: #f0faf6;
    --red: #e53935;
    --blue: #09735c;
    --amber: #f59e0b;
    --purple: #6a1b9a;
    background-color: #f4f6f9;
}

.nlProduct_page * {
    box-sizing: border-box;
}

.nlProduct_page a {
    text-decoration: none;
    color: inherit;
}

/* BREADCRUMB */
.nlProduct_page .breadcrumb-bar {
    background: #fff;
    /* border-bottom: 1px solid #e5e5e5; */
    padding: 8px 0;
    font-size: 12px;
}

.extra {
    font-size: clamp(18px, 3vw, 30px);
    font-weight: 800;
    color: #0f172b;
    line-height: 1.25;
}

.nlProduct_page .breadcrumb-bar a {
    color: #777;
}

.nlProduct_page .breadcrumb-bar a:hover {
    color: var(--green);
}

.reducer {
    font-size: 14px;
    color: #62748e;
}

.nlProduct_page .bc-sep {
    color: #ccc;
    margin: 0 5px;
}

/* CARD */
.nlProduct_page .card-white {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
}

/* BADGE PILLS */
.nlProduct_page .badge-pill {
    border-radius: 20px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.nlProduct_page .bp-fda {
    background: #ecfdf5;
    color: #007a55;
    border: 1px solid #a5d6a7;
}

.nlProduct_page .bp-pharm {
    background: #e8f7f0;
    color: #075a48;
    border: 1px solid #c7efdb;
}

.nlProduct_page .bp-otc {
    color: #bb4d00;
    background-color: #fffbeb;
    border: 1px solid #fee685;
}

/* PRODUCT IMAGE */
.nlProduct_page .product-main-img {
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    background: #fafafa;
}

.nlProduct_page .save-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: var(--red);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 9px;
    border-radius: 5px;
    z-index: 2;
}

.nlProduct_page .wishlist-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #ccc;
    cursor: pointer;
    z-index: 2;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    transition: all .2s;
}

.nlProduct_page .wishlist-btn:hover,
.nlProduct_page .wishlist-btn.on {
    color: var(--red);
}

.nlProduct_page #mainImg {

    object-fit: cover;
    width: 100%;
    display: block;
    transition: opacity .25s;
}

.faq_product {
    margin-top: 6rem;
}

.nlProduct_page .thumb-wrap {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.nlProduct_page .thumb-img {
    border: 2px solid #ddd;
    border-radius: 7px;
    cursor: pointer;
    width: 64px;
    height: 56px;
    object-fit: cover;
    transition: border-color .2s;
}

.nlProduct_page .thumb-img.on {
    border-color: var(--blue);
}

.nlProduct_page .thumb-img:hover {
    border-color: var(--green);
}

/* STARS */
.nlProduct_page .stars-gold {
    color: #ffb900;
    font-size: 18px;

}

.stars-gold i {
    padding-right: 5px;
}

.stars-gold.stars-gold2 {
    font-size: 15px;
}

/* PRICE */
.nlProduct_page .price-main {
    font-size: 30px;
    font-weight: 800;
    color: #111;
}

.reviews2 {
    font-size: 13px;

    color: #90a1b9;
}

.reviews3 {
    font-size: 13px;
    font-weight: 600;
    color: #09735c !important;

}

.priceBox {
    background-color: #fcf9fa;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 15px;

}

.raed_reviews b {
    font-size: 15px;
    color: #45556c;
}

.nlProduct_page .price-orig {
    color: #90a1b9;
    text-decoration: line-through;
    font-size: 18px;
}

.nlProduct_page .price-save {
    color: #e53935;
    font-size: 14px;
    font-weight: 600;


}

.nlProduct_page .price-per {
    color: #90a1b9;
    font-size: 12px;
}

.nlProduct_page .ship-free {
    color: #90a1b9;
    font-size: 12px;
    font-weight: 500;
}

.sub_quantity {
    font-size: 14px;
    font-weight: 700;
    color: #314158;
    margin-bottom: 6px;
}

.count_button {
    border: 1px solid #e2e8f0;
    max-width: max-content;
    padding: 5px;
    background-color: #fff;
    border-radius: 8px;
}

/* QTY */
.nlProduct_page .qty-btn {
    width: 36px;
    height: 36px;
    border: 1.5px solid #ccc;
    border-radius: 6px;
    background: #fff;
    font-size: 18px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #444;
    transition: all .15s;
}

.nlProduct_page .qty-btn:hover {
    border-color: var(--green);
    color: var(--green);
}

.nlProduct_page .qty-input {
    width: 50px;
    height: 36px;
    text-align: center;
    border: 1.5px solid #ccc;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 700;
}

.nlProduct_page .qty-max {
    font-size: 11px;
    color: #90a1b9;
    margin-top: 4px;
}

/* BUTTONS */
.nlProduct_page .btn-cart {
    background: var(--green);
    color: #fff;
    border: none;
    border-radius: 9px;
    padding: 13px 10px;
    font-size: 15px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: background .2s, transform .1s;
}

.nlProduct_page .btn-cart:hover {
    background: var(--green-dark);
    color: #fff;
    transform: translateY(-1px);
}

.nlProduct_page .btn-rx {
    background: #fff;
    color: var(--red);
    border: 2px solid var(--red);
    border-radius: 9px;
    padding: 11px 10px;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    transition: background .2s;
}

.nlProduct_page .btn-rx:hover {
    background: #fff5f5;
}

/* SHIPPING STRIP */
.nlProduct_page .ship-strip {
    background: #F1F5F9;
    border: 1px solid #F1F5F9;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    color: #075a48;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* FEATURE ROW */
.nlProduct_page .feat-row {
    display: flex;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    overflow: hidden;
    margin-top: 18px;
}

.nlProduct_page .feat-item {
    flex: 1;
    text-align: center;
    padding: 10px 5px;
    border-right: 1px solid #e5e5e5;
    font-size: 11px;
    color: #777;
}

.nlProduct_page .feat-item:last-child {
    border-right: none;
}

.nlProduct_page .feat-item i {
    display: block;
    font-size: 20px;
    margin-bottom: 4px;
}

.nlProduct_page .feat-item b {
    display: block;
    font-size: 11px;
    color: #333;
    font-weight: 600;
}

/* SAFETY BOX */
.nlProduct_page .safety-box {
    background: #fffde7;
    border: 1px solid #ffe082;
    border-radius: 10px;
    /* padding: 16px; */
}

.nlProduct_page .safety-hdr {
    color: #7B3307;
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #ffe082;
    background-color: #fef3c6;
    padding: 16px;
}

.safety-item strong {
    color: #7b3306 !important;
}

.safety_allignment {
    padding: 16px;
}

.nlProduct_page .safety-item {
    display: flex;
    gap: 9px;
    margin-bottom: 10px;
    font-size: 12.5px;
    line-height: 1.45;
}

.nlProduct_page .safety-item:last-of-type {
    margin-bottom: 0;
}

.nlProduct_page .si {
    flex-shrink: 0;
    font-size: 15px;
    margin-top: 1px;
}

.nlProduct_page .overdose-box {
    background: #ffebee;
    border: 1px solid #ef9a9a;
    border-radius: 7px;
    padding: 10px 12px;
    margin-top: 12px;
    font-size: 12px;
    color: #c62828;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.nlProduct_page .overdose-box i {
    font-size: 16px;
    flex-shrink: 0;
    margin-top: 1px;
}

.nlProduct_page .safety-note {
    color: #f57f17;
    font-size: 11px;
    font-style: italic;
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* TRUST BOX */
.nlProduct_page .trust-box {
    border: 1px solid #dce8e4;
    border-radius: 10px;
    overflow: hidden;
}

.nlProduct_page .trust-hdr {
    background: var(--green);
    color: #fff;
    padding: 11px 16px;
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.nlProduct_page .trust-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 11px 16px;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    transition: background .15s;
}

.nlProduct_page .trust-item:hover {
    background: #f9fffe;
}

.nlProduct_page .trust-item:last-child {
    border-bottom: none;
}

.nlProduct_page .ti-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 16px;
}

.nlProduct_page .trust-title {
    font-weight: 600;
    font-size: 13px;
    color: #222;
}

.nlProduct_page .trust-desc {
    font-size: 12px;
    color: #888;
    line-height: 1.4;
    margin-top: 2px;
}

/* TABS */
.nlProduct_page .tab-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.nlProduct_page .tab-scroll::-webkit-scrollbar {
    height: 0;
}

.nlProduct_page .product-tabs {
    flex-wrap: nowrap;
    min-width: max-content;
}

.nlProduct_page .product-tabs .nav-link {
    color: #666;
    font-size: 13px;
    padding: 9px 15px;
    border-radius: 7px 7px 0 0;
    background: #f5f5f5;
    border: 1px solid #ddd;
    margin-right: 4px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 5px;
}

.nlProduct_page .product-tabs .nav-link.active {
    background: #fff;
    color: var(--green);
    border-bottom-color: #fff;
    font-weight: 600;
}

.nlProduct_page .tab-area {
    border: 1px solid #ddd;
    border-radius: 0 8px 8px 8px;
    padding: 20px;
    font-size: 13px;
    background: #fff;
}

.nlProduct_page .tab-area ul {
    padding-left: 20px;
}

.nlProduct_page .tab-area li {
    margin-bottom: 7px;
    color: #444;
    line-height: 1.55;
}

/* REVIEWS */
.nlProduct_page .sec-title {
    font-weight: 700;
    font-size: 18px;
    color: #111;
    display: flex;
    align-items: center;
    gap: 8px;
}

.nlProduct_page .score-big {
    font-size: 52px;
    font-weight: 900;
    color: #111;
    line-height: 1;
}

.nlProduct_page .rbar-row {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 5px;
    font-size: 12px;
}

.nlProduct_page .rbar {
    flex: 1;
    height: 10px;
    background: #f0f0f0;
    border-radius: 5px;
    overflow: hidden;
}

.nlProduct_page .rbar-fill {
    height: 100%;
    background: var(--amber);
    border-radius: 5px;
}

.nlProduct_page .rbar-pct {
    width: 28px;
    color: #aaa;
}

.nlProduct_page .review-card {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 13px;
    background: #fff;
    transition: box-shadow .2s;
}

.nlProduct_page .review-card:hover {
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
}

.nlProduct_page .rav {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #fff;
    font-size: 15px;
    flex-shrink: 0;
}

.nlProduct_page .verified {
    color: var(--green);
    font-size: 11.5px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-weight: 500;
}

.nlProduct_page .rev-time {
    font-size: 11px;
    color: #bbb;
}

.nlProduct_page .rev-title {
    font-weight: 600;
    font-size: 15px;
    color: #45556c;
}

.nlProduct_page .rev-body {
    font-size: 15px;
    color: #45556c;
    line-height: 1.55;
}

.nlProduct_page .rev-action {
    color: #bbb;
    font-size: 12px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 5px;
    transition: all .15s;
}

.nlProduct_page .rev-action:hover {
    background: #f5f5f5;
    color: #555;
}

.nlProduct_page .rev-action.rep:hover {
    background: #fff0f0;
    color: var(--red);
}

.nlProduct_page .rev-foot {
    font-size: 13px;
    color: #000;
    font-style: italic;
    margin-top: 4px;
    line-height: 1.5;
}

/* FAQ */

/*
.nlProduct_page .faq-section .accordion-button {
    font-size: 16px;
    font-weight: 700;
    color: #1d293d;
    padding: 0px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.nlProduct_page .faq-section .accordion-button:not(.collapsed) {
    color: #000;
    background: var(--green-light);
    box-shadow: none;
}

.nlProduct_page .faq-section .accordion-button:focus {
    box-shadow: none;
}

.nlProduct_page .faq-section .accordion-body {
    font-size: 15px;
    color: #666;
    line-height: 1.6;
    padding: 14px 16px 16px 16px;
}

.nlProduct_page .faq-section .accordion-item {
    border-color: #ebebeb;
}

.nlProduct_page .faq-section .accordion {
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px;
}

.nlProduct_page .faq-icon {
    font-size: 16px;
    flex-shrink: 0;
}
*/

/* Remove card style */
.nlProduct_page .faq-section .accordion-item {
    border: 1px solid #e5e5e5 !important;
    border-radius: 6px !important;
    margin-bottom: 8px !important;
    overflow: hidden !important;
    background: #fff !important;
}

/* Question row */
.nlProduct_page .faq-section .accordion-button {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #222 !important;
    padding: 16px 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border: none !important;
    height: 50px;
}

/* Active (open) question */
.nlProduct_page .faq-section .accordion-button:not(.collapsed) {
    background: #dfecea !important;
    /* light green */
    color: #0f5132 !important;
    margin-bottom: 0 !important;
}

/* Remove blue focus */
.nlProduct_page .faq-section .accordion-button:focus {
    box-shadow: none !important;
}

/* Icon */
.nlProduct_page .faq-section .faq-icon {
    font-size: 16px !important;
    flex-shrink: 0 !important;
}

/* Answer section */
.nlProduct_page .faq-section .accordion-body {
    font-size: 13.5px !important;
    color: #555 !important;
    line-height: 1.6 !important;
    padding: 16px 18px !important;
    background: #ffffff !important;

}

/* Remove extra bg from collapse */
.nlProduct_page .faq-section .accordion-collapse {
    background: #fff !important;
}

/* Arrow clean */
.nlProduct_page .faq-section .accordion-button::after {
    filter: none !important;
}

/* MISC */
.nlProduct_page .divider {
    border: none;
    border-top: 1px solid #f0f0f0;
    margin: 24px 0;
}

.nlProduct_page .foot-note {

    border-top: 1px solid #f0f0f0;
    padding-top: 14px;
    margin-top: 14px;
    display: flex;
    gap: 6px;
    line-height: 1.5;

    font-size: 13px;
    color: #000;
    font-style: italic;
    margin-top: 4px;
    line-height: 1.5;
}

.nlProduct_page .view-all {
    color: var(--green);
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.nlProduct_page .view-all:hover {
    color: var(--green-dark);
}

.breadcrumb-bar a {
    color: #90a1b9 !important;
    transition: 0.3s;
}

.breadcrumb-bar a:hover {
    color: #09735c !important;
}

/* RESPONSIVE */
@media (max-width:991px) {
    .nlProduct_page .col-side {
        order: -1;
    }
}

@media (max-width:767px) {
    .nlProduct_page .card-white {
        padding: 14px;
    }

    .nlProduct_page .price-main {
        font-size: 24px;
    }

    .nlProduct_page #mainImg {
        height: 220px;
    }

    .nlProduct_page .btn-cart,
    .nlProduct_page .btn-rx {
        font-size: 13px;
        padding: 11px 13px;
    }

    .nlProduct_page .feat-item {
        font-size: 10px;
        padding: 8px 3px;
    }

    .nlProduct_page .feat-item i {
        font-size: 17px;
    }

    .nlProduct_page .score-big {
        font-size: 42px;
    }
}

@media (max-width:480px) {
    .nlProduct_page .btn-actions {
        flex-direction: column;
    }

    .nlProduct_page .btn-cart,
    .nlProduct_page .btn-rx {
        width: 100%;
        justify-content: center;
    }

    .nlProduct_page .feat-row {
        flex-wrap: wrap;
    }

    .nlProduct_page .feat-item {
        flex: 0 0 33.33%;
        border-bottom: 1px solid #e5e5e5;
    }
}

/* PRODUCT DETAILS PAGE CSS CLOSE  */



/* CART PAGE CSS START */

:root {
    --pc-primary: #09735c;
    --pc-primary-dark: #00629a;
    --pc-primary-light: #e6f4fb;
    --pc-primary-mid: #b3ddf0;
    --pc-accent: #00b4d8;
    --pc-surface: #ffffff;
    --pc-bg: #f0f6fa;
    --pc-border: #d6eaf5;
    --pc-text: #0d2b3e;
    --pc-muted: #6b8fa8;
    --pc-danger: #e63946;
    --pc-success: #2a9d8f;
    --pc-radius: 16px;
    --pc-shadow: 0 4px 32px rgba(0, 129, 186, .10);
    --font-head: 'Playfair Display', serif;
    --font-body: 'DM Sans', sans-serif;
}

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

/* Navbar */
.pc-navbar {
    background: var(--pc-surface);
    border-bottom: 1.5px solid var(--pc-border);
    padding: 14px 0;
    position: sticky;
    top: 0;
    z-index: 100;
}

.pc-navbar__brand {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 1.4rem;
    color: var(--pc-primary);
    text-decoration: none;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.pc-brand-dot {
    width: 9px;
    height: 9px;
    background: var(--pc-accent);
    border-radius: 50%;
    display: inline-block;
}

.pc-navbar__badge {
    background: var(--pc-primary);
    color: #fff;
    font-family: var(--font-head);
    font-size: .72rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.pc-back-link {
    text-decoration: none;
    color: var(--pc-muted);
    font-size: .9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Card */
.pc-card {
    background: var(--pc-surface);
    border-radius: var(--pc-radius);
    border: 1.5px solid var(--pc-border);
    box-shadow: var(--pc-shadow);
    overflow: hidden;
    animation: pc-fadeup .45s ease both;
}

@keyframes pc-fadeup {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Page title */
.pc-page-title {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: var(--pc-text);
    letter-spacing: -.5px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.pc-page-subtitle {
    color: #000;
    font-size: .95rem;
    margin-top: 4px;
}

/* Progress */
.pc-progress-steps {
    display: flex;
    justify-content: space-between;
    font-size: .72rem;
    font-weight: 700;
    margin-bottom: 8px;
}

.pc-progress-steps span {
    color: var(--pc-muted);
    display: flex;
    align-items: center;
    gap: 4px;
}

.pc-progress-steps span.active {
    color: var(--pc-primary);
}

.pc-progress-bar-outer {
    height: 6px;
    background: var(--pc-border);
    border-radius: 99px;
    overflow: hidden;
}

.pc-progress-bar-inner {
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--pc-primary), var(--pc-accent));
}

/* Product */
.pc-product-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 24px;
    flex-wrap: wrap;
}

.pc-product-icon {
    width: 60px;
    height: 60px;
    border-radius: 14px;
    background: var(--pc-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pc-product-info {
    flex: 1;
    min-width: 120px;
}

.pc-product-name {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--pc-text);
    margin: 0;
}

.pc-product-sub {
    color: #000;
    font-size: .82rem;
    margin: 2px 0 6px;
}

.pc-stock-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--pc-primary-light);
    color: #000;
    font-size: .7rem;
    font-weight: 700;
    border-radius: 6px;
    padding: 3px 8px;
}

.pc-product-price {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--pc-primary);
    white-space: nowrap;
}

.pc-product-total {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--pc-text);
    white-space: nowrap;
}

/* Stepper */
.pc-stepper {
    display: inline-flex;
    align-items: center;
    border: 2px solid var(--pc-primary);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 129, 186, 0.10);
}

.pc-stepper__btn {
    width: 38px;
    height: 38px;
    border: none;
    background: var(--pc-primary-light);
    color: var(--pc-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .18s, color .18s;
    flex-shrink: 0;
    font-size: 0.9rem;
    font-weight: 700;
}

.pc-stepper__btn:hover {
    background: var(--pc-primary);
    color: #fff;
}

.pc-stepper__btn--plus {
    background: var(--pc-primary);
    color: #fff;
    border-left: 2px solid var(--pc-primary);
}

.pc-stepper__btn--plus:hover {
    background: var(--pc-primary-dark);
}

.pc-stepper__val {
    min-width: 42px;
    text-align: center;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.98rem;
    color: var(--pc-text);
    border-left: 1.5px solid var(--pc-primary);
    border-right: 1.5px solid var(--pc-primary);
    padding: 0 6px;
    line-height: 38px;
    background: #fff;
}

@keyframes pc-bump {
    0% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.35)
    }

    100% {
        transform: scale(1)
    }
}

.pc-qty-bump {
    animation: pc-bump .25s ease;
}

/* Delete */
.pc-delete-btn {
    width: 36px;
    height: 36px;
    border: 1.5px solid #ffd1d4;
    background: #fff5f6;
    color: var(--pc-danger);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .18s, border-color .18s;
    flex-shrink: 0;
}

.pc-delete-btn:hover {
    background: #ffe0e3;
    border-color: #ffa8b0;
}

.pc-divider {
    border: none;
    border-top: 1.5px solid var(--pc-border);
    margin: 0;
}

/* Promo */
.pc-promo-section {
    padding: 18px 24px;
}

.pc-section-label {
    font-size: .8rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.pc-promo-input-wrap {
    display: flex;
    gap: 10px;
    align-items: center;
}

.pc-promo-input {
    flex: 1;
    border: 1.5px solid var(--pc-border);
    border-radius: 12px;
    padding: 11px 16px;
    font-family: var(--font-body);
    font-size: .92rem;
    color: var(--pc-text);
    background: var(--pc-bg);
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}

.pc-promo-input:focus {
    border-color: var(--pc-primary);
    box-shadow: 0 0 0 3px rgba(0, 129, 186, .12);
    background: #fff;
}

.pc-promo-input::placeholder {
    color: var(--pc-muted);
}

.pc-btn-apply {
    background: var(--pc-primary);
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 11px 22px;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: .9rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background .18s, transform .12s;
}

.pc-btn-apply:hover {
    background: var(--pc-primary-dark);
    transform: translateY(-1px);
}

.pc-promo-msg {
    font-size: .82rem;
    margin-top: 8px;
    font-weight: 600;
}

/* Promo banner */
.pc-promo-banner {
    margin: 0 24px 20px;
    background: linear-gradient(135deg, var(--pc-primary-light) 0%, #d4eefc 100%);
    border: 1.5px dashed var(--pc-primary-mid);
    border-radius: 12px;
    padding: 13px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.pc-promo-banner__text {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-head);
    font-weight: 600;
    font-size: .93rem;
    color: #000;
}

.pc-btn-code {
    background: var(--pc-primary);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 8px 18px;
    font-family: var(--font-head);
    font-weight: 800;
    font-size: .85rem;
    letter-spacing: .5px;
    cursor: pointer;
    transition: background .18s, transform .12s;
}

.pc-btn-code:hover {
    background: var(--pc-primary-dark);
    transform: translateY(-1px);
}

/* Trust */
.pc-trust-strip {
    padding: 16px 24px 22px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.pc-trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.pc-trust-icon {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: var(--pc-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
}

.pc-trust-label {
    font-size: 14px;
    font-weight: 600;
    color: #000;
    text-align: center;
    line-height: 1.3;
}

/* Nudge */
.pc-nudge {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
}

.pc-nudge-icon {
    background: var(--pc-primary-light);
    border-radius: 10px;
    padding: 9px 12px;
    flex-shrink: 0;
}

.pc-nudge-text {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: .9rem;
    color: var(--pc-text);
}

/* Summary */
.pc-summary-title {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--pc-text);
    padding: 20px 22px 14px;
    border-bottom: 1.5px solid var(--pc-border);
    display: flex;
    align-items: center;
    gap: 8px;
}

.pc-summary-body {
    padding: 18px 22px;
}

.pc-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.pc-summary-row__label {
    font-size: .9rem;
    color: #000;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 5px;
}

.pc-summary-row__val {
    font-family: var(--font-head);
    font-weight: 600;
    font-size: .92rem;
}

.pc-summary-total-box {
    background: var(--pc-primary-light);
    border: 1.5px solid var(--pc-primary-mid);
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 14px 0 16px;
}

.pc-summary-total-label {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 1rem;
    color: var(--pc-primary-dark);
}

.pc-summary-total-val {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 1.25rem;
    color: var(--pc-primary);
}

.pc-perk {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .82rem;
    color: #000;
    font-weight: 600;
    margin-bottom: 6px;
}

/* Buttons */
.pc-btn-checkout {
    width: 100%;
    background: linear-gradient(135deg, var(--pc-primary) 0%, var(--pc-accent) 100%);
    color: #fff;
    border: none;
    border-radius: 14px;
    padding: 14px 20px;
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 4px 20px rgba(0, 129, 186, .35);
    transition: opacity .18s, transform .15s, box-shadow .18s;
    margin-bottom: 10px;
}

.pc-btn-checkout:hover {
    opacity: .92;
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(0, 129, 186, .4);
}

.pc-btn-continue {
    width: 100%;
    background: transparent;
    color: var(--pc-primary);
    border: 1.5px solid var(--pc-border);
    border-radius: 14px;
    padding: 12px 20px;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: .92rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: background .18s, border-color .18s;
    margin-bottom: 18px;
}

.pc-btn-continue:hover {
    background: var(--pc-primary-light);
    border-color: var(--pc-primary-mid);
}

/* Payment */
.pc-payment-row {
    text-align: center;
}

.pc-payment-label {
    font-size: .75rem;
    color: var(--pc-muted);
    font-weight: 500;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.pc-payment-icons {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pc-pay-icon {
    background: var(--pc-bg);
    border: 1.5px solid var(--pc-border);
    border-radius: 8px;
    padding: 5px 12px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .3px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

/* Footer */
.pc-footer-strip {
    background: linear-gradient(90deg, var(--pc-primary-light) 0%, #fff 50%, var(--pc-primary-light) 100%);
    border-top: 1.5px solid var(--pc-border);
    padding: 18px 0;
}

.pc-footer-trust {
    display: flex;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}

.pc-footer-trust-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .85rem;
    font-weight: 600;
    color: var(--pc-primary-dark);
}

.pc-secure-note {
    text-align: center;
    font-size: .78rem;
    color: var(--pc-muted);
    font-weight: 500;
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

/* ============================================================
   CART PAGE — RESPONSIVE STYLES (All Devices)
   ============================================================ */

/* ── Large Tablets / Small Laptops (max 1199px) ── */
@media (max-width: 1199px) {
    .pc-trust-strip {
        grid-template-columns: repeat(4, 1fr);
        gap: 6px;
    }

    .pc-trust-label {
        font-size: 12px;
    }

    .pc-product-row {
        gap: 12px;
    }

    .pc-footer-trust {
        gap: 20px;
    }
}

/* ── Tablets (max 991px) ── */
@media (max-width: 991px) {
    .pc-page-title {
        font-size: 1.6rem;
    }

    .pc-product-row {
        padding: 16px 18px;
        gap: 10px;
    }

    .pc-product-icon {
        width: 52px;
        height: 52px;
    }

    .pc-product-name {
        font-size: 0.97rem;
    }

    .pc-promo-section {
        padding: 14px 18px;
    }

    .pc-promo-banner {
        margin: 0 18px 16px;
        padding: 11px 14px;
    }

    .pc-trust-strip {
        grid-template-columns: repeat(4, 1fr);
        padding: 12px 18px 18px;
        gap: 8px;
    }

    .pc-nudge {
        padding: 12px 16px;
        gap: 10px;
    }

    .pc-summary-title {
        padding: 16px 18px 12px;
        font-size: 0.98rem;
    }

    .pc-summary-body {
        padding: 14px 18px;
    }

    .pc-footer-trust {
        gap: 14px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .pc-footer-trust-item {
        font-size: 0.8rem;
    }
}

/* ── Large Phones (max 767px) ── */
@media (max-width: 767px) {

    /* Product row stacks icon + info in one row, stepper+total+delete in next */
    .pc-product-row {
        display: grid;
        grid-template-columns: 52px 1fr auto auto;
        grid-template-rows: auto auto;
        padding: 14px 16px;
        gap: 8px 10px;
        align-items: center;
    }

    .pc-product-icon {
        grid-column: 1;
        grid-row: 1;
        width: 52px;
        height: 52px;
    }

    .pc-product-info {
        grid-column: 2;
        grid-row: 1;
    }

    .pc-product-price {
        display: none !important;
    }

    .pc-stepper {
        grid-column: 1 / 3;
        grid-row: 2;
        justify-self: start;
    }

    .pc-product-total {
        grid-column: 3;
        grid-row: 2;
        font-size: 1rem;
    }

    .pc-delete-btn {
        grid-column: 4;
        grid-row: 1;
        align-self: start;
    }

    /* Trust: 2 columns */
    .pc-trust-strip {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        padding: 12px 16px 16px;
    }

    .pc-trust-label {
        font-size: 12px;
    }

    /* Promo banner stacks on mobile */
    .pc-promo-banner {
        flex-direction: column;
        align-items: flex-start;
        margin: 0 16px 14px;
        gap: 10px;
    }

    .pc-btn-code {
        width: 100%;
        text-align: center;
    }

    /* Page heading */
    .pc-page-title {
        font-size: 1.4rem;
    }

    .pc-page-subtitle {
        font-size: 0.88rem;
    }

    /* Nudge */
    .pc-nudge {
        gap: 10px;
        padding: 12px 14px;
    }

    .pc-nudge-text {
        font-size: 0.85rem;
    }

    /* Summary */
    .pc-summary-title {
        font-size: 0.95rem;
        padding: 14px 16px 10px;
    }

    .pc-summary-body {
        padding: 12px 16px;
    }

    .pc-summary-total-box {
        padding: 12px 14px;
    }

    .pc-summary-total-val {
        font-size: 1.15rem;
    }

    /* Checkout button */
    .pc-btn-checkout {
        padding: 13px 16px;
        font-size: 0.95rem;
    }

    /* Footer trust strip */
    .pc-footer-trust {
        gap: 12px;
    }

    .pc-footer-trust-item {
        font-size: 0.78rem;
        gap: 5px;
    }

    /* Secure note */
    .pc-secure-note {
        font-size: 0.72rem;
        margin-top: 8px;
    }

    /* Section padding */
    section.container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ── Small Phones (max 576px) ── */
@media (max-width: 576px) {

    /* Product row: icon+info full row, then controls row */
    .pc-product-row {
        grid-template-columns: 46px 1fr auto;
        grid-template-rows: auto auto;
        padding: 12px 14px;
        gap: 8px;
    }

    .pc-product-icon {
        width: 46px;
        height: 46px;
        border-radius: 10px;
    }

    .pc-product-info {
        grid-column: 2 / 4;
    }

    .pc-delete-btn {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
    }

    .pc-stepper {
        grid-column: 1 / 3;
        grid-row: 2;
    }

    .pc-product-total {
        grid-column: 3;
        grid-row: 2;
        font-size: 0.95rem;
        text-align: right;
    }

    /* Promo section */
    .pc-promo-section {
        padding: 12px 14px;
    }

    .pc-promo-input-wrap {
        flex-direction: column;
        gap: 8px;
    }

    .pc-btn-apply {
        width: 100%;
        padding: 11px 16px;
        text-align: center;
    }

    .pc-promo-input {
        width: 100%;
    }

    /* Promo banner */
    .pc-promo-banner {
        margin: 0 14px 12px;
        padding: 10px 12px;
    }

    .pc-promo-banner__text {
        font-size: 0.87rem;
    }

    /* Trust: keep 2 cols */
    .pc-trust-strip {
        grid-template-columns: repeat(2, 1fr);
        padding: 10px 14px 14px;
    }

    .pc-trust-icon {
        width: 38px;
        height: 38px;
        border-radius: 9px;
    }

    /* Summary */
    .pc-summary-row__label {
        font-size: 0.84rem;
    }

    .pc-summary-row__val {
        font-size: 0.86rem;
    }

    .pc-summary-total-label {
        font-size: 0.92rem;
    }

    .pc-summary-total-val {
        font-size: 1.1rem;
    }

    .pc-perk {
        font-size: 0.78rem;
    }

    /* Payment icons */
    .pc-payment-icons {
        gap: 10px;
        justify-content: center;
        flex-wrap: wrap;
    }

    .pc-pay-visa,
    .pc-pay-mastercard,
    .pc-pay-bitcoin {
        font-size: 1.7rem;
    }

    /* Footer trust: 2 columns grid */
    .pc-footer-trust {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        text-align: center;
    }

    .pc-footer-trust-item {
        justify-content: center;
        font-size: 0.76rem;
    }
}

/* ── Very Small Phones (max 480px) ── */
@media (max-width: 480px) {
    .pc-page-title {
        font-size: 1.25rem !important;
        gap: 6px;
    }

    /* Product icon smaller */
    .pc-product-icon {
        width: 42px;
        height: 42px;
    }

    .pc-product-name {
        font-size: 0.9rem;
    }

    .pc-product-sub {
        font-size: 0.76rem;
    }

    /* Stepper smaller */
    .pc-stepper__btn {
        width: 30px;
        height: 30px;
    }

    .pc-stepper__val {
        min-width: 28px;
        font-size: 0.88rem;
        line-height: 30px;
    }

    /* Delete btn */
    .pc-delete-btn {
        width: 30px;
        height: 30px;
    }

    /* Section label */
    .pc-section-label {
        font-size: 0.75rem;
    }

    /* Nudge */
    .pc-nudge-icon {
        padding: 7px 10px;
    }

    /* Checkout button */
    .pc-btn-checkout {
        font-size: 0.9rem;
        padding: 12px 14px;
    }

    .pc-btn-continue {
        font-size: 0.86rem;
        padding: 10px 14px;
    }

    /* Trust strip: 2 columns */
    .pc-trust-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .pc-trust-label {
        font-size: 11px;
    }
}

/* ── Tiny Phones (max 360px) ── */
@media (max-width: 360px) {
    .pc-page-title {
        font-size: 1.1rem;
    }

    .pc-product-row {
        padding: 10px 12px;
        gap: 6px;
    }

    .pc-product-icon {
        width: 38px;
        height: 38px;
    }

    .pc-product-name {
        font-size: 0.85rem;
    }

    .pc-promo-banner {
        margin: 0 12px 10px;
        padding: 9px 10px;
    }

    .pc-promo-banner__text {
        font-size: 0.82rem;
    }

    .pc-summary-title {
        font-size: 0.88rem;
        padding: 12px 14px 8px;
    }

    .pc-summary-body {
        padding: 10px 14px;
    }

    .pc-btn-checkout {
        font-size: 0.85rem;
        padding: 11px 12px;
    }

    .pc-summary-total-val {
        font-size: 1rem;
    }

    .pc-pay-visa,
    .pc-pay-mastercard,
    .pc-pay-bitcoin {
        font-size: 1.5rem;
    }
}

/* Icon Colors - no inline styles */
.pc-icon-primary {
    color: var(--pc-primary);
}

.pc-icon-success {
    color: var(--pc-success);
}

.pc-icon-danger {
    color: var(--pc-danger);
}

.pc-icon-muted {
    color: var(--pc-muted);
}

.pc-icon-sm {
    font-size: 0.7rem;
}

.pc-icon-md {
    font-size: 0.85rem;
}

.pc-icon-lg {
    font-size: 1.2rem;
}

.pc-icon-xl {
    font-size: 1.5rem;
}

.pc-icon-mr {
    margin-right: 8px;
}

.pc-icon-ml {
    margin-left: 5px;
}

/* Payment card icons */
.pc-pay-visa {
    color: #1a1f71;
    font-size: 1.8rem;
}

.pc-pay-mastercard {
    color: #eb001b;
    font-size: 1.8rem;
}

.pc-pay-amex {
    color: #007bc1;
    font-size: 1.8rem;
}

.pc-pay-apple {
    color: #000;
    font-size: 1.8rem;
}

.pc-pay-paypal {
    color: #003087;
    font-size: 1.8rem;
}

/* Footer strip colorful icons */
.pc-footer-icon-award {
    color: #f59e0b;
    font-size: 1.1rem;
}

.pc-footer-icon-lock {
    color: #10b981;
    font-size: 1.1rem;
}

.pc-footer-icon-check {
    color: #09735c;
    font-size: 1.1rem;
}

.pc-footer-icon-undo {
    color: #8b5cf6;
    font-size: 1.1rem;
}

/* Card padding utility */
.pc-card-pad {
    padding: 14px 20px;
}

/* Progress bar widths */
.pc-progress-33 {
    width: 33%;
}

.pc-progress-41 {
    width: 41%;
}

/* Nudge flex */
.pc-nudge-flex {
    flex: 1;
}

/* Progress height */
.pc-progress-sm {
    height: 5px;
}

/* Text colors */
.pc-text-muted {
    color: #000;
}

.pc-text-success {
    color: var(--pc-success);
}

/* Hide element */
.pc-hidden {
    display: none;
}

/* Text colors */
.pc-text-dark {
    color: #333;
}

.pc-text-primary {
    color: var(--pc-primary);
}

/* Strong text */
.pc-strong-primary {
    color: var(--pc-primary);
    font-weight: 700;
}

/* Footer icons */
.pc-footer-icon-1 {
    color: #f59e0b;
    font-size: 1.1rem;
}

.pc-footer-icon-2 {
    color: #10b981;
    font-size: 1.1rem;
}

.pc-footer-icon-3 {
    color: #09735c;
    font-size: 1.1rem;
}

.pc-footer-icon-4 {
    color: #8b5cf6;
    font-size: 1.1rem;
}

/* Payment shield icon */
.pc-shield-green {
    color: #28a745;
}

/* Lock green */
.pc-lock-green {
    color: #28a745;
}

/* Payment icons — Visa, Mastercard, Bitcoin */
.pc-pay-visa,
.pc-pay-mastercard,
.pc-pay-bitcoin {
    font-size: 2rem;
    line-height: 1;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.pc-pay-visa:hover,
.pc-pay-mastercard:hover,
.pc-pay-bitcoin:hover {
    transform: scale(1.15);
    opacity: 0.85;
}

.pc-pay-visa {
    color: #1a1f71;
}

.pc-pay-mastercard {
    color: #eb001b;
}

.pc-pay-bitcoin {
    color: #f7931a;
}

/* =========================================================
       MEDIRELIEF PRODUCT PAGE CSS
       ========================================================= */

/* Breadcrumb icons */
.bc-icon-sm {
    font-size: 10px;
}

/* Breadcrumb current text */
.bc-current {
    color: #333;
    font-weight: 500;
}

/* Shipping strip */
.ship-strip-icon {
    font-size: 22px;
}

.ship-strip-title {
    color: #075a48;
    font-weight: 600;
}

.ship-strip-text {
    color: #075a48;
    font-size: 12px;
}

.ship-strip-strong {
    color: #075a48;
    font-weight: 700;
}

/* Feature icons colors */
.feat-icon-blue {
    color: var(--blue);
}

.feat-icon-orange {
    color: #f57f17;
}

.feat-icon-purple {
    color: var(--purple);
}

.feat-icon-red {
    color: var(--red);
}

/* Product details heading */
.pd-heading {
    font-weight: 700;
    color: #111;
    margin-bottom: 14px;
}

/* Tab hidden */
.tab-hidden {
    display: none;
}

@media (max-width: 480px) {
    .pc-payment-icons {
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* 
CART PAGE CSS CLOSE */




/* CHECKOUT PAGE CSS START */

/* ── Variables (reuse site theme) ── */
.checkoutPage {
    background: #f4f7fb;
    min-height: 60vh;
}

/* ── Page Header & Title ── */
.ck-page-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.ck-page-title {
    font-family: var(--font-head);
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    font-weight: 800;
    color: var(--pc-text, #111);
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.ck-title-icon {
    color: #09735c;
    font-size: 1.4rem;
}

/* ── Checkout Steps ── */
.ck-steps {
    display: flex;
    align-items: center;
    gap: 0;
}

.ck-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.ck-step-circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e2e8f0;
    color: #9aa5b8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 700;
    transition: all 0.2s;
}

.ck-step span {
    font-size: 0.72rem;
    font-weight: 600;
    color: #9aa5b8;
}

.ck-step.done .ck-step-circle {
    background: #09735c;
    color: #fff;
}

.ck-step.done span {
    color: #000;
}

.ck-step.active .ck-step-circle {
    background: #09735c;
    color: #fff;
    box-shadow: 0 0 0 4px rgba(0, 129, 186, 0.18);
}

.ck-step.active span {
    color: #000;
    font-weight: 700;
}

.ck-step-line {
    width: 48px;
    height: 2px;
    background: #e2e8f0;
    margin: 0 4px;
    margin-bottom: 20px;
}

.ck-step-line.done {
    background: #09735c;
}

/* ── Card Base ── */
.ck-card {
    background: #fff;
    border-radius: 14px;
    border: 1.5px solid #e8eef5;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

/* ── Card Header ── */
.ck-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    background: linear-gradient(135deg, var(--primary, #09735c) 0%, #0097d6 100%);
    color: #fff;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.95rem;
}

.ck-hdr-icon {
    font-size: 1.1rem;
    opacity: 0.9;
}

/* ── Card Body ── */
.ck-card-body {
    padding: 18px 20px;
}

/* ── Summary: Item Row ── */
.ck-summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f4f8;
}

.ck-item-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ck-item-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(0, 129, 186, 0.10);
    color: #09735c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.ck-item-name {
    font-weight: 700;
    font-size: 0.9rem;
    color: #1a2332;
}

.ck-item-ref {
    font-size: 0.75rem;
    color: #000;
}

.ck-item-price {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.95rem;
    color: #09735c;
    white-space: nowrap;
}

/* ── Summary: Rows ── */
.ck-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f0f4f8;
}

.ck-row-label {
    font-size: 0.85rem;
    color: #000;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
}

.ck-row-val {
    font-weight: 600;
    font-size: 0.88rem;
    color: #1a2332;
}

.ck-promo-icon {
    color: #f59e0b;
}

.ck-promo-val {
    color: #9aa5b8;
    font-style: italic;
}

/* ── Summary: Total Row ── */
.ck-divider {
    border: none;
    border-top: 1.5px dashed #d1dce8;
    margin: 10px 0;
}

.ck-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
}

.ck-total-label {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.95rem;
    color: #1a2332;
}

.ck-total-val {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 1.3rem;
    color: #09735c;
}

/* ── Trust Badges ── */
.ck-badges-body {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ck-badge-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ck-badge-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.ck-badge-green {
    background: #e8f5e9;
    color: #2e7d32;
}

.ck-badge-blue {
    background: #e3f2fd;
    color: #09735c;
}

.ck-badge-purple {
    background: #f3e5f5;
    color: #7b1fa2;
}

.ck-badge-orange {
    background: #fff8e1;
    color: #f57f17;
}

.ck-badge-title {
    font-weight: 700;
    font-size: 0.88rem;
    color: #1a2332;
}

.ck-badge-sub {
    font-size: 0.76rem;
    color: #8a99b0;
    margin-top: 1px;
}

/* ── Form Card ── */
.ck-form {
    /* inherits ck-card */
}

/* ── Section Header (numbered) ── */
.ck-section-hdr {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px 24px 0px;
}

.ck-section-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
    display: none;
}

.ck-section-title {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 1rem;
    color: #1a2332;
    display: flex;
    align-items: center;
}

.ck-sec-icon {
    color: #09735c;
}

.ck-section-sub {
    font-size: 0.8rem;
    color: #8a99b0;
    margin-top: 2px;
}

/* ── Section Divider ── */
.ck-section-divider {

    margin: 0 24px;
}

/* ── Form Body ── */
.ck-form-body {
    padding: 16px 24px 30px;
}

/* ── Labels ── */
.ck-label {
    display: block;
    font-weight: 700;
    font-size: 1rem;
    color: #1a2332;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.ck-label i {
    color: #09735c;
    font-size: 0.8rem;
}

.ck-required {
    color: #e53935;
    font-weight: 700;
    margin-left: 2px;
}

.liversion {
    padding-top: 40px;
}

/* ── Inputs ── */
.ck-input {
    padding: 11px 14px;
    border: 1.5px solid #d1dce8;
    border-radius: 10px;
    font-size: 0.9rem;
    color: #1a2332;
    background: #f8fafc;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.ck-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 129, 186, 0.12);
    background: #fff;
    outline: none;
}

.ck-input::placeholder {
    color: #a0aec0;
}

/* ── Checkbox Row ── */
.ck-checkbox-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: #f4f7fb;
    border-radius: 10px;
    border: 1.5px solid #e8eef5;
}

.ck-check-input {
    width: 18px;
    height: 18px;
    accent-color: #09735c;
    cursor: pointer;
    flex-shrink: 0;
}

.ck-check-label {
    font-size: 0.87rem;
    font-weight: 600;
    color: #1a2332;
    cursor: pointer;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

.ck-check-label i {
    color: #09735c;
}

/* ── CTA Area ── */
.ck-cta-area {
    background: #f4f7fb;
    border-top: 1.5px solid #e8eef5;
}

/* ── Primary Button ── */
.ck-btn-primary {
    background: #09735c;
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 15px 24px;
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 6px 24px rgba(0, 129, 186, 0.35);
    transition: opacity 0.2s, transform 0.15s, box-shadow 0.2s;
    letter-spacing: 0.2px;
}

.ck-btn-primary:hover {
    opacity: 0.92;
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 129, 186, 0.42);
}

.ck-btn-primary:active {
    transform: translateY(0);
}

/* ── Footer Info Strip ── */
.ck-footer-info {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #000;
}

.ck-fi-icon {
    margin-right: 4px;
}

.ck-fi-green {
    color: #2e7d32;
}

.ck-fi-blue {
    color: #09735c;
}

.ck-fi-purple {
    color: #09735c;
}


/* CHECKOUT PAGE CSS CLOSE HERE */

.footer {
    background: #0b1f33;
    color: #cfe9ff;
    padding-top: 60px;
}

.footer h6 {
    color: #fff;
    font-weight: 600;
    margin-bottom: 15px;
}

.footer a {
    color: #a8c7e0;
    text-decoration: none;
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
}

.footer a:hover {
    color: #fff;
}

/* Logo */
.footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

.logo-box {
    width: 45px;
    height: 45px;
    background: #075a48;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Emergency Card */
.emergency-box {
    background: #132f4c;
    border-radius: 15px;
    padding: 15px;
    margin-top: 15px;
}

.emergency-box strong {
    font-size: 16px;
}

/* Disclaimer bar */
.disclaimer-bar {
    background: #081726;
    padding: 12px;
    font-size: 13px;
    color: #fbbf24;
    text-align: center;
    margin-top: 40px;
}

/* Bottom bar */
.footer-bottom {
    background: #071421;
    padding: 12px;
    font-size: 13px;
    color: #8aa9c4;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.footer-bottom span {
    margin: 5px 0;
}





/* BLOG PAGE CSS START FROM HERE  */

.bc-bar {
    background: #f5f5f5;
    border-bottom: 1px solid #e0e0e0;
    font-size: 14px;
    padding: 6px 0;
}

.bc-bar a {
    color: #1a6fba;
}

.bc-bar .bc-sep {
    color: #aaa;
    margin: 0 4px;
}

.page-wrap {
    max-width: 1160px;
    margin: 0 auto;
    padding: 22px 16px 60px;
}

.art-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: #111;
    line-height: 1.3;
    margin-bottom: 6px;
}

.art-overview {
    font-size: 17px;
    color: #444;
    margin-bottom: 14px;
    line-height: 1.65;
}

.med-bar {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #eaf4fb;
    border: 1px solid #b8d9f0;
    border-radius: 5px;
    padding: 10px 14px;
    margin-bottom: 12px;
}

.med-bar .av {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #1a6fba;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    flex-shrink: 0;
}

.med-bar .nm {
    font-weight: 700;
    color: #1a6fba;
    font-size: 16px;
}

.med-bar .rl {
    color: #555;
    font-size: 14px;
}

.bdg-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 14px;
    font-size: 13px;
}

.bdg-row .bi {
    display: flex;
    align-items: center;
    gap: 4px;
    background: #f0f0f0;
    border-radius: 3px;
    padding: 3px 8px;
    color: #444;
}

.bdg-row .bi i {
    color: #1a6fba;
}

.lr-bar {
    font-size: 14px;
    color: #666;
    background: #fafafa;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 6px 0;
    margin-bottom: 16px;
}

.lr-bar strong {
    color: #333;
}

.hero-box {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 18px;
    background: url('../images/blog_Hero.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 400px;
    display: flex;
    align-items: flex-end;
    position: relative;
}

.hero-box .hb-inner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-box .cap {
    font-size: 14px;
    color: rgba(255, 255, 255, .75);
    padding: 10px 14px;
    background: rgba(0, 0, 0, .35);
    width: 100%;
    position: relative;
    z-index: 2;
}

.kt-box {
    background: #f0f8ee;
    border: 1px solid #b2d8a8;
    border-radius: 6px;
    padding: 14px 18px;
    margin-bottom: 22px;
}

.kt-box .ktt {
    font-size: 16px;
    font-weight: 700;
    color: #2d6a2d;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 7px;
}

.kt-box ul {
    margin: 0;
    padding-left: 20px;
}

.kt-box ul li {
    font-size: 16px;
    color: #333;
    margin-bottom: 5px;
}

.kt-box ul li strong {
    color: #2d6a2d;
}

.sh2 {
    font-size: 1.6rem;
    font-weight: 700;
    color: #111;
    margin: 28px 0 12px;
    padding-bottom: 6px;
    border-bottom: 2px solid #e8e8e8;
}

.sh3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #111;
    margin: 20px 0 10px;
}

.bp {
    font-size: 16px;
    color: #333;
    line-height: 1.7;
    margin-bottom: 12px;
}

.bul {
    font-size: 16px;
    color: #333;
    line-height: 1.7;
    margin-bottom: 12px;
    padding-left: 22px;
}

.bul li {
    margin-bottom: 5px;
}

/* ANXIETY INFOGRAPHIC */
.aff-wrap {
    border-radius: 10px;
    overflow: hidden;
    margin: 20px 0;
    border: 1px solid #1e3a70;
}

.aff-header {
    background: #1a2e5c;
    color: #fff;
    padding: 14px 18px;
    text-align: center;
}

.aff-header .ah-title {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .5px;
    margin-bottom: 12px;
}

.aff-cols {
    display: flex;
}

.aff-col {
    flex: 1;
    background: #1e3a70;
}

.aff-col:first-child {
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.aff-it {
    padding: 11px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.aff-it:last-child {
    border-bottom: none;
}

.aff-it .aic {
    font-size: 18px;
    margin-bottom: 4px;
}

.aff-it h6 {
    font-size: 13px;
    font-weight: 700;
    color: #7ecef4;
    margin-bottom: 2px;
}

.aff-it p {
    font-size: 13px;
    color: rgba(255, 255, 255, .8);
    margin: 0;
    line-height: 1.45;
}

.aff-bottom {
    background: #1e2d5a;
    padding: 14px 16px;
}

.vc-box {
    background: #fff;
    border: 1.5px solid #b8d0f0;
    border-radius: 7px;
    padding: 12px;
}

.vc-title {
    font-size: 13px;
    font-weight: 700;
    color: #1a6fba;
    text-transform: uppercase;
    letter-spacing: .5px;
    text-align: center;
    margin-bottom: 10px;
}

.vc-s {
    background: #e8f2fb;
    border: 1px solid #aed0f0;
    border-radius: 4px;
    padding: 6px 10px;
    font-size: 13px;
    text-align: center;
    font-weight: 600;
    color: #1a3a6e;
    margin-bottom: 3px;
}

.vc-s.red {
    background: #fdecea;
    border-color: #f4a0a0;
    color: #c0392b;
}

.vc-ar {
    text-align: center;
    font-size: 16px;
    color: #1a6fba;
    line-height: 1;
    margin-bottom: 3px;
}

.trig-box {
    background: #162045;
    border-radius: 7px;
    padding: 12px;
}

.trig-box .tb-h {
    font-size: 13px;
    font-weight: 700;
    color: #7ecef4;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 7px;
}

.trig-box ul {
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    padding-left: 15px;
    margin: 0;
}

.trig-box ul li {
    margin-bottom: 3px;
    line-height: 1.45;
}

/* TREAT INFOGRAPHIC */
.tr-wrap {
    border-radius: 8px;
    overflow: hidden;
    margin: 22px 0;
    border: 1px solid #ccc;
}

.tr-head {
    background: #2c3e7a;
    color: #fff;
    text-align: center;
    padding: 9px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .5px;
}

.tr-cols {
    display: flex;
}

.tr-col {
    flex: 1;
    border-right: 1px solid #ddd;
}

.tr-col:last-child {
    border-right: none;
}

.tr-col-hd {
    padding: 8px 12px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 6px;
}

.tch-b {
    background: #1a6fba;
}

.tch-p {
    background: #6b3fa0;
}

.tch-g {
    background: #1e8a4a;
}

.tr-col-bd {
    padding: 11px 12px;
    font-size: 14px;
    background: #fff;
}

.tr-col-bd ul {
    padding-left: 15px;
    margin: 0;
}

.tr-col-bd ul li {
    margin-bottom: 4px;
    line-height: 1.45;
}

.tr-col-bd .sub {
    font-weight: 700;
    color: #333;
    font-size: 14px;
    margin: 7px 0 3px;
}

.mp {
    display: inline-block;
    background: #e8f2fb;
    color: #1a3a6e;
    border-radius: 3px;
    padding: 1px 6px;
    font-size: 13px;
    font-weight: 600;
    margin: 1px 1px 1px 0;
}

.mp.pu {
    background: #f0e8fb;
    color: #5b2d8e;
}

.mp.gn {
    background: #e8f8ee;
    color: #1e6b3a;
}

.tr-row2 {
    display: flex;
    border-top: 1px solid #ddd;
}

.tr-half {
    flex: 1;
    border-right: 1px solid #ddd;
}

.tr-half:last-child {
    border-right: none;
}

.trh-stress {
    background: #e67e22;
    color: #fff;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 5px;
}

.trh-when {
    background: #c0392b;
    color: #fff;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 5px;
}

.trb-stress {
    background: #fff7f0;
    padding: 11px 12px;
}

.trb-when {
    background: #fff0f0;
    padding: 11px 12px;
}

.sg {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.sg-it {
    background: #fff;
    border: 1px solid #f0c080;
    border-radius: 4px;
    padding: 7px 4px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: #333;
}

.sg-it i {
    display: block;
    font-size: 16px;
    color: #e67e22;
    margin-bottom: 3px;
}

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

.sk-ul li {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: 16px;
    padding: 4px 0;
    border-bottom: 1px solid #fdd;
    color: #333;
}

.sk-ul li:last-child {
    border-bottom: none;
}

.sk-ul li i {
    color: #c0392b;
    flex-shrink: 0;
    margin-top: 2px;
    font-size: 13px;
}

.tr-dis {
    background: #fff9e0;
    border-top: 1px solid #f0c040;
    padding: 10px 14px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.tr-dis i {
    color: #e6a800;
    margin-top: 2px;
    flex-shrink: 0;
}

.tr-dis span {
    font-size: 14px;
    color: #555;
}

/* TEXT SECTIONS */
.tb-ph {
    font-size: 16px;
    font-weight: 700;
    color: #c0392b;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

.tb-pp {
    font-size: 16px;
    font-weight: 700;
    color: #6b3fa0;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

/* DISCLAIMER */
.dis-box {
    background: #fff9e6;
    border: 1px solid #f0c040;
    border-radius: 6px;
    padding: 14px 18px;
    margin: 24px 0;
    color: #555;
}

.dis-box p {
    margin: 0;
    font-size: 16px;
    color: #555;
    line-height: 1.65;
}

.dis-box .dis-t {
    font-weight: 700;
    color: #856404;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

/* REFS */
.rf-list {
    list-style: decimal;
    padding-left: 20px;
    margin: 0;
}

.rf-list li {
    font-size: 16px;
    color: #555;
    margin-bottom: 7px;
}

.rf-list a {
    color: #1a6fba;
}

/* SIDEBAR */
.sb-stick {
    position: sticky;
    top: 16px;
}

.sbc {
    border: 1px solid #dde;
    border-radius: 7px;
    overflow: hidden;
    margin-bottom: 18px;
}

.sbch {
    padding: 10px 14px;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 7px;
}

.sbch-blue {
    background: #1a6fba;
    color: #fff;
}

.sbch-green {
    background: #2d7a2d;
    color: #fff;
}

.sbch-gray {
    background: #555;
    color: #fff;
}

.sbcb {
    padding: 13px 14px;
    background: #f4f5f6;

}

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

.toc-ul li {
    padding: 5px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 15px;
}

.toc-ul li:last-child {
    border-bottom: none;
}

.toc-ul a {
    color: #000;
}

.ed-it {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
}

.ed-it:last-child {
    margin-bottom: 0;
}

.activelist {
    color: #0a7c5b;
    font-weight: 600;
    position: relative;
}

li.activelist {
    border-left: 1px solid #0a7c5b;
    background: #eef7f5;
    padding: 3px 20px;
}

li.activelist::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0px;
    bottom: 1px;
    width: 1px;
    background: #0a7c5b;
    border-radius: 0px;
}

.ed-ic {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 15px;
}

.ed-bl {
    background: #ddeeff;
    color: #1a6fba;
}

.ed-gn {
    background: #ddf0dd;
    color: #2d7a2d;
}

.ed-or {
    background: #fff0dd;
    color: #c07020;
}

.ed-lb {
    font-size: 15px;
    font-weight: 700;
    color: #222;
    margin-bottom: 2px;
}

.ed-ds {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.45;
}

.ed-lk {
    font-size: 14px;
    color: #1a6fba;
    display: block;
    margin-top: 10px;
}

@media(max-width:991px) {
    .sb-stick {
        position: relative;
        top: 0;
        margin-top: 24px;
    }
}

@media(max-width:767px) {
    .art-title {
        font-size: 1.5rem !important;
    }

    .aff-cols {
        flex-direction: column;
    }

    .aff-col:first-child {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

    .tr-cols {
        flex-direction: column;
    }

    .tr-col {
        border-right: none;
        border-bottom: 1px solid #ddd;
    }

    .tr-col:last-child {
        border-bottom: none;
    }

    .tr-row2 {
        flex-direction: column;
    }

    .tr-half {
        border-right: none;
        border-bottom: 1px solid #ddd;
    }

    .tr-half:last-child {
        border-bottom: none;
    }

    .sg {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-bg-clean {
        padding: 100px 20px;
    }
}

/* BLOG PAGE CSS CLOSE HERE  */





/* ABOUT US CSS STRATS FROM HERE */

.content_page h1 {
    font-size: 32px;
    font-weight: 600;
    color: #000;
}

.content_page h2 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #09735c;
    line-height: 1.3;
}

.content_page p {
    font-size: 16px;
    line-height: 26px;
    color: #000;
    margin-bottom: 25px !important;

}

.disclaimer-box {
    background: #e6f4fa;
    border-left: 5px solid #09735c;
    padding: 20px;
    border-radius: 10px;
    margin-top: 20px;
}

/* ABOUT US CSS CLOSE HERE */



:root {
    --primary: #09735c;
    --accent: #13b58f;
    --accent2: #13b58f;
    --gold: #f0c040;
    --light-bg: #f4f7fb;
    --card-bg: #ffffff;
    --text-main: #1a1a2e;
    --text-muted: #6c757d;
    --border: #e2e8f0;
    --gradient-hero: linear-gradient(135deg, #09735c 0%, #0d8268 60%, #075a48 100%);
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


/* ── HERO BANNER ── */
.cat-hero {
    background: var(--gradient-hero);
    position: relative;
    overflow: hidden;
    padding: 60px 0 50px;
}

.cat-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.cat-hero::after {
    content: '';
    position: absolute;
    right: -60px;
    top: -60px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: rgba(0, 168, 255, .12);
    pointer-events: none;
}

.cat-hero .badge-pill {
    background: var(--accent2);
    color: #fff;
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-radius: 50px;
    padding: 5px 14px;
    display: inline-block;
    margin-bottom: 14px;
}

.cat-hero h1 {

    font-weight: 800;
    font-size: clamp(2rem, 5vw, 3.2rem);
    color: #fff;
    line-height: 1.15;
    margin-bottom: 14px;
}

.cat-hero h1 span {
    color: var(--gold);
}

.cat-hero p.lead {
    color: rgba(255, 255, 255, .8);
    font-size: clamp(.9rem, 2vw, 1.05rem);
    max-width: 560px;
    margin-bottom: 24px;
}

.trust-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.trust-badge {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .2);
    color: #fff;
    border-radius: 8px;
    padding: 7px 14px;
    font-size: .8rem;
    display: flex;
    align-items: center;
    gap: 6px;
    backdrop-filter: blur(4px);
}

.trust-badge i {
    color: var(--gold);
    font-size: .95rem;
}

/* ── BREADCRUMB ── */
.breadcrumb-wrap {
    background: #fff;
    border-bottom: 1px solid var(--border);
    padding: 10px 0;
    font-size: .82rem;
}

.breadcrumb {
    margin: 0;
}

.breadcrumb-item a {
    color: var(--primary);
    text-decoration: none;
}

.breadcrumb-item.active {
    color: var(--text-muted);
}

/* ── FILTER BAR ── */
.filter-bar {
    background: #fff;
    border-bottom: 1px solid var(--border);
    padding: 12px 0;
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 84px !important; /* Sticks below the header (header is 84px) */
    z-index: 100 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}

.filter-bar .inner {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.filter-chip {
    border: 1.5px solid var(--border);
    background: #fff;
    color: var(--text-muted);
    border-radius: 50px;
    padding: 5px 16px;
    font-size: .78rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
}

.filter-chip:hover,
.filter-chip.active {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

.result-count {
    color: var(--text-muted);
    font-size: .82rem;
    margin-left: auto;
    white-space: nowrap;
}

/* ── PRODUCT GRID ── */
.products-section {
    padding: 40px 0;
}

.category_faq.faq-section .section-title {


    font-weight: 700;
    font-size: clamp(1.3rem, 3vw, 1.8rem);
    color: var(--primary);
    margin-bottom: 6px;
}

.section-sub {
    color: var(--text-muted);
    font-size: .88rem;
    margin-bottom: 28px;
}

.product-card {
    background: var(--card-bg);
    border-radius: 16px;
    overflow: hidden;
    border: 1.5px solid var(--border);
    transition: transform .25s, box-shadow .25s;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(10, 61, 98, .13);
    border-color: var(--accent2);
}

.card-img-wrap {
    background: linear-gradient(135deg, #eaf4ff 0%, #f0f7ff 100%);
    position: relative;
    padding: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 170px;
}

.card-img-wrap img {
    max-height: 130px;
    max-width: 100%;
    object-fit: contain;
    transition: transform .3s;
}

.product-card:hover .card-img-wrap img {
    transform: scale(1.07);
}

.badge-tag {
    position: absolute;
    top: 12px;
    left: 12px;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    border-radius: 6px;
    padding: 3px 9px;
}

.badge-popular {
    background: var(--accent);
    color: #fff;
}

.badge-nieuw {
    background: var(--accent2);
    color: #fff;
}

.badge-aanbieding {
    background: var(--gold);
    color: #333;
}

.card-body {
    padding: 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.product-name {


    font-weight: 700;
    font-size: clamp(.9rem, 2vw, 1.05rem);
    color: var(--primary);
    margin-bottom: 4px;
    text-decoration: none;
    display: block;
}

.product-name:hover {
    color: var(--accent);
}

.product-dosage {
    font-size: .75rem;
    color: var(--text-muted);
    margin-bottom: 10px;
}

.star-row {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 10px;
}

.stars {
    color: var(--gold);
    font-size: .8rem;
    letter-spacing: 1px;
}

.review-count {
    font-size: .72rem;
    color: var(--text-muted);
}

.price-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 14px;
}

.price-vanaf {
    font-size: .72rem;
    color: var(--text-muted);
}

.price-main {
    font-weight: 700;
    font-size: 1.3rem;
    color: var(--accent);
}

.price-old {
    font-size: .8rem;
    color: var(--text-muted);
    text-decoration: line-through;
}

.quick-features {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}

.quick-features li {
    font-size: .76rem;
    color: #444;
    padding: 2px 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.quick-features li i {
    color: #28b463;
    font-size: .82rem;
    flex-shrink: 0;
}

.btn-bestel {
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 11px 20px;
    font-size: .85rem;
    font-weight: 600;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    transition: background .2s, transform .15s;
    margin-top: auto;
}

.btn-bestel:hover {
    background: var(--accent);
    color: #fff;
    transform: scale(1.02);
}

/* ── INFO STRIPS ── */
.info-strip {
    background: var(--primary);
    border-radius: 16px;
    padding: 30px;
    color: #fff;
    margin-bottom: 30px;
}

.info-strip h3 {


    font-weight: 700;
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.info-strip p {
    font-size: 16px;
    opacity: .85;
    margin: 0;
}

.stat-box {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 12px;
    padding: 18px;
    text-align: center;
}

.stat-num {


    font-size: 1.8rem;
    font-weight: 800;
    color: var(--gold);
    display: block;
}

.stat-label {
    font-size: .82rem;
    color: rgba(255, 255, 255, .88);
    letter-spacing: .2px;
}

/* ── CONTENT SECTION ── */
.content-section {
    background: #fff;
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 30px;
    border: 1.5px solid var(--border);
}

.content-section h2 {


    font-weight: 700;
    font-size: clamp(1.1rem, 2.5vw, 1.4rem);
    color: var(--primary);
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--light-bg);
    line-height: 45px;
}

.content-section p {
    font-size: 16px;
    color: #333;
    line-height: 1.75;
    margin-bottom: 12px;
}

.content-section ul {
    padding-left: 1.2rem;
    font-size: .92rem;
    color: #333;
}

.content-section ul li {
    margin-bottom: 5px;
    list-style-type: disc;
}

/* ── TABLE OF CONTENTS ── */
/* .sidebar-sticky removed from here to avoid conflict with specialized version at bottom */

.toc-card {
    background: var(--light-bg);
    border-radius: 14px;
    padding: 24px;
    border: 1.5px solid var(--border);
}

.toc-card h4 {


    font-weight: 700;
    font-size: 16px;
    color: var(--primary);
    margin-bottom: 14px;
}

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

.toc-list li {
    border-bottom: 1px solid var(--border);
}

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

.toc-list a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    font-size: 16px;
    color: var(--text-main);
    text-decoration: none;
    transition: color .2s;
}

.toc-list a:hover {
    color: var(--accent);
}

.toc-list a.toc-active {
    color: var(--accent);
    font-weight: 600;
}

.toc-list a.toc-active i {
    color: var(--accent);
}

.toc-list a i {
    color: var(--accent2);
    font-size: .7rem;
}

/* ── FAQ ── */
.category_faq.faq-section {
    margin-bottom: 30px;
}

.category_faq.faq-section .section-title {
    margin-bottom: 6px;
}

.category_faq.faq-section .accordion-button {

    height: 55px;
    font-weight: 600;
    font-size: 16px;
    color: var(--primary);
    background: #F4F7FB;
}

.category_faq.faq-section .accordion-button:not(.collapsed) {
    background: #eaf4ff;
    color: var(--primary);
}

.category_faq.faq-section .accordion-body {
    font-size: .88rem;
    color: #444;
    background: #F4F7FB;
}

/* ── DELIVERY BANNER ── */
.delivery-banner {
    background: linear-gradient(135deg, #e8f5e9, #f1f8e9);
    border: 1.5px solid #c8e6c9;
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 30px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.delivery-banner i {
    font-size: 2rem;
    color: #2e7d32;
    flex-shrink: 0;
}

.delivery-banner h5 {
    font-weight: 700;
    color: #2e7d32;
    font-size: 1rem;
    margin-bottom: 4px;
}

.delivery-banner p {
    font-size: .83rem;
    color: #388e3c;
    margin: 0;
}

.content-section ul li {
    font-size: 16px !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
    .cat-hero {
        padding: 40px 0 36px;
    }

    .toc-card {
        position: static;
        margin-bottom: 24px;
    }
}

@media (max-width: 767px) {
    .cat-hero {
        padding: 30px 0 28px;
    }

    .cat-hero::after {
        display: none;
    }

    .filter-bar .inner {
        gap: 7px;
    }

    .filter-chip {
        padding: 4px 12px;
        font-size: .73rem;
    }

    .content-section {
        padding: 22px 16px;
    }

    .info-strip {
        padding: 20px 16px;
    }

    .card-img-wrap {
        min-height: 140px;
        padding: 20px;
    }

    .result-count {
        display: none;
    }
}

@media (max-width: 479px) {
    body {
        font-size: 15px;
    }

    .cat-hero h1 {
        font-size: 1.7rem;
    }

    .product-card .card-body {
        padding: 14px;
    }
}

.categroy_mainPage .sidebar-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 140px !important; /* Offset for header + filter bar */
    height: fit-content !important;
    z-index: 999 !important;
}

.categroy_mainPage .row {
    align-items: stretch;
}


.guarantee-box-2 {
    border-color: var(--border) !important;
}

.guarantee-title-2 {
    color: var(--primary);
    font-size: 1rem;
}

.guarantee-icon-2 {
    font-size: 1rem;
    margin-top: 4px;
    flex-shrink: 0;
}

.guarantee-text-2 {
    font-size: 1rem;
    color: #444;
}

.guarantee-item-2 {
    line-height: 1.4;
}

/*CATEGORY PAGE CSS START FROM HERE */



/*CATEGORY page close */


/* HOW IT WORKS */
    .section-works {

      padding:  0 0 60px;
    }
    section.common-content-section {
    padding: 60px 0 30px;
}
    p.com-p {
    text-align: center;
    margin: 30px 0 0;
}
    .section-works .section-label {
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--teal);
      margin-bottom: 12px;
    }

.section-works .step-card {
    background-image: linear-gradient(to right, #ddf4ff, #f5f5f5);
    border-radius: 12px;
    padding: 25px 20px;
    border: 1px solid #d6e4e4;
    height: 100%;
    position: relative;
    transition: box-shadow 0.2s;
    text-align: center;
}
    .section-works .step-card:hover { box-shadow: 0 8px 32px rgba(13,27,42,0.08); }
.section-works .step-num {
    font-size: 70px;
    color: #09735c;
    line-height: 1;
    margin-bottom: 16px;
    font-weight: 700;
}
.section-works .step-card h3 {
    font-size: 24px;
    color: #000;
    margin-bottom: 10px;
    font-weight: 600;
}


  /* WHAT IS ED */
    .section-ed {
      padding: 50px 0;
  
    }
    section#wat-is-ed p {
    margin-bottom: 25px;
}
    .ed-highlight {
      background: var(--teal-pale);
      border-left: 3px solid var(--teal);
      border-radius: 0 10px 10px 0;
      padding: 24px 28px;
      margin-top: 32px;
    }
    .ed-highlight p { margin: 0; font-size: 0.95rem; color: var(--navy); }
    
    
     /* WHY US */
.section-why {
    padding: 60px 0;
    background: #e8f7f0;
}
    .why-card {
      display: flex;
      gap: 18px;
      align-items: flex-start;
      padding: 24px;
      background: var(--white);
      border-radius: 10px;
      border: 1px solid var(--border);
      height: 100%;
    }
    .why-icon {
      width: 44px;
      height: 44px;
      border-radius: 10px;
      background: var(--teal-pale);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
 .why-icon svg {
    width: 30px;
    height: 30px;
    stroke: #09735c;
}
  .why-card h4 {
    font-size: 22px;
    font-weight: 700;
    color: #09735c;
    margin-bottom: 6px;
}
    .why-card p { color: var(--muted); margin: 0; }
    
    
    .com-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 28px;
    background:#000;
    color:#fff;
    text-decoration:none;
    font-size:16px;
    font-weight:600;
    border-radius:50px;
    position:relative;
    overflow:hidden;
    transition:all .4s ease;
    box-shadow:0 8px 20px rgba(43,115,13,.25);
}

.com-btn::before{
    content:'';
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background:rgba(255,255,255,.15);
    transition:left .5s ease;
}

.com-btn:hover::before{
    left:100%;
}

.com-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(43,115,13,.35);
    color:#fff;
}

.com-btn i{
    transition:transform .4s ease;
}

.com-btn:hover i{
    transform:translateX(6px);
}

.com-btn span{
    position:relative;
    z-index:2;
}

.com-btn i{
    position:relative;
    z-index:2;
}

.section-label {
    background: #e8f7f0;
    display: inline-block;
    padding: 2px 15px;
    font-size: 12px;
    border-radius: 50px;
    font-weight: 600;
    color: #09735c;
}
.common-content h2 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 5px;
}
.common-content h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
}
.common-content .table {
    margin: 15px 0 25px;
}
.common-content p {
    margin: 0 0 25px;
}
figure.erectiestoornis
 {
    margin: 0;
    margin-left: 35px;
}
figure.erectiestoornis img {
    height: 560px;
    max-width: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
}

figure.Beschikbare {
    margin: 0;
    margin-right: 35px;
}
figure.Beschikbare img {
    height: 410px;
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 0 10px #ccc;
}



/* FAQ */
 .section-faq {
    padding: 60px 0;
    background: #aeaeae;
    background-image: linear-gradient(to right, #09735c, #005479);
}
.section-faq h2 {
    color: #fff;
    margin-bottom: 25px !important;
}
    .section-faq .accordion-button {
      font-weight: 500;
      color: var(--navy);
      background: var(--white);
      font-size: 0.95rem;
    }
    .section-faq .accordion-button:not(.collapsed) {
      color: var(--teal);
      background: var(--teal-pale);
      box-shadow: none;
    }
    .section-faq .accordion-button:focus { box-shadow: 0 0 0 3px rgba(26,107,107,0.15); }
    .section-faq .accordion-button::after {
      filter: hue-rotate(160deg);
    }
    .section-faq .accordion-item {
      border: 1px solid var(--border);
      border-radius: 8px !important;
      margin-bottom: 10px;
      overflow: hidden;
    }
    .section-faq .accordion-body { font-size: 0.9rem; color: var(--muted); }
    
    
/*------------------------------ Dis-Dr-Re   ------------------------------------*/

section.dis-dr-re {
    padding: 60px 0 0;
}

  /* Warning strip */
  .dis-dr-re .warning-strip {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: #faeeda;
    border-left: 3px solid #BA7517;
    border-radius: 0 8px 8px 0;
    padding: 14px 16px;
    margin-bottom: 1rem;
  }

.dis-dr-re .warning-strip svg {
    color: #BA7517;
    flex-shrink: 0;
    margin-top: 6px;
    width: 25px;
    height: 25px;
}

  .warning-strip p {
 
    color: #633806;
   
  }

.dis-dr-re .warning-strip p strong {
    font-weight: 500;
    color: #412402;
    display: block;
    margin-bottom: 2px;
    font-size: 20px;
    font-weight: 700;
}

  /* Cards */
  .dis-dr-re .card {
    background: #ffffff;
    border: 0.5px solid rgba(0,0,0,0.12);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
  }

  .dis-dr-re .section-label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #888780;
    margin-bottom: 10px;
  }

  /* Author */
  .dis-dr-re .author-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
  }

  .dis-dr-re .author-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #e6f1fb;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 15px;
    color: #185FA5;
    flex-shrink: 0;
  }

.dis-dr-re .author-name

 {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a18;
    margin-bottom: 4px;
}

  .dis-dr-re .author-bio {
    color: #5f5e5a;
  }

  /* References */
.dis-dr-re .ref-list {
    list-style: disc;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-left: 20px;
}

ul.ref-list li a {
    font-weight: 500;
    color: #09735c;
}

section.section-product-list .notice-box {
    margin: 20px 0 30px;
}

  .dis-dr-re .ref-body strong {
    font-size: 13px;
    font-weight: 500;
    color: #1a1a18;
    display: block;
    margin-bottom: 3px;
  }

  .dis-dr-re .ref-link {
    color: #185FA5;
    text-decoration: none;
    font-size: 12px;
    display: block;
    margin-top: 2px;
    word-break: break-all;
    line-height: 1.5;
  }

  .dis-dr-re .ref-link:hover {
    text-decoration: underline;
  }
  
  a.add-to-cart-btn {
    background: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 12px;
    border-radius: 10px;
    border: 2px solid #09735c;
    color: #09735c;
}

section.breadcrumb_bg {
    background: #f3fbff;
}
section.breadcrumb_bg ol
 {
    margin: 0;
    display: flex;
    list-style: none;
    gap: 5px;
    margin: 10px 0;
    align-items: center;
    padding: 0;
}
.page-content h2 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #09735c;
}
.page-content h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 5px;
}
.page-content p {
    margin: 0 0 25px;
}
.page-content ul{
       margin: 0 0 20px;
}
.page-content ul li {
    margin: 12px 0;
}
.page-content ul li {
    margin: 12px 0;
    background-image: url(../images/check.png);
    padding-left: 22px;
    background-repeat: no-repeat;
    background-position: 0px 7px;
    background-size: 14px;
}


/*------------------------------------------------------------------------*/


.author-box{
    display:flex;
    align-items:flex-start;
    gap:20px;
    padding:30px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:16px;
    margin:40px 0;
    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.author-box .author-icon{
    min-width:70px;
    width:70px;
    height:70px;
    border-radius:50%;
    background:#09735c;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:30px;
}

.author-box .author-label{
    display:inline-block;
    font-size:14px;
    font-weight:600;
    color:#09735c;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:8px;
}

.author-box .author-content h3{
    margin:0 0 12px;
    font-size:24px;
    font-weight:700;
    color:#111827;
}

.author-box .author-content p{
    margin:0;
    color:#4b5563;
    line-height:1.8;
    font-size:16px;
}

/*-------------------------------------------------*/

  .navbar .dropdown-menu{
        display:block;
        opacity:0;
        visibility:hidden;
        transform:translateY(15px);
        transition:all .35s ease;
        margin-top:0;
        border:none;
        border-radius:12px;
      overflow: hidden;
    }

    .navbar .dropdown:hover > .dropdown-menu{
        opacity:1;
        visibility:visible;
        transform:translateY(0);
    }

    /* Mega Menu */
    .mega-menu{
        width:100%;
        left:0;
        right:0;
        top:100%;
    }

    .mega-menu .row{
        animation:fadeMega .4s ease;
    }

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

    .dropdown-menu a{
        transition:all .3s ease;
    }

    .dropdown-menu a:hover{
        color:#09735c;
    }
     .navbar .dropdown-menu a:hover {
    color: #09735c;
    background-color: transparent;
}
ul.dropdown-menu li a {
    background-image: url(../images/check.png);
    background-repeat: no-repeat;
       background-position: 0px 12px;
    background-size: 14px;
    padding-left: 22px;
    margin-left: 12px;
}
    
    ul.navbar-nav.ms-auto li a {
    corner-bottom-left-shape: #fff;
    color: #000;
    font-size: 17px;
}
.disclaimer-box p {
    margin: 0;
}
.disclaimer-box {
    margin-bottom: 25px;
}
.references-box ul li a {
    font-weight: 500;
    color: #09735c;
}
.references-box ul li a {
    display: block;
}

/* Cart Page Premium Design */
.woocommerce-cart .site-main {
    max-width: 1300px;
    margin: 0 auto;
    padding: 50px 20px;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .woocommerce-cart-form {
    background: #fff;
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 10px 35px rgba(0,0,0,.08);
}

.woocommerce-cart .cart-collaterals {
    position: sticky;
    top: 30px;
}

/* Product Row */
.woocommerce-cart table.shop_table tr.cart_item {
    border-bottom: 1px solid #edf0f5;
}

.woocommerce-cart table.shop_table td {
    padding: 20px 10px;
}

.woocommerce-cart .product-thumbnail img {
    width: 90px;
    border-radius: 12px;
    background: #f8f9fb;
    padding: 5px;
}

/* Product Name */
.woocommerce-cart .product-name a {
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
    text-decoration: none;
}

.woocommerce-cart .product-name a:hover {
    color: #09735c;
}

/* Quantity Box */
.woocommerce .quantity {
    border: 1px solid #dbe2ea;
    border-radius: 12px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    background: #fff;
}

.woocommerce .quantity input.qty {
    border: none;
    width: 55px;
    text-align: center;
    font-weight: 600;
    background: transparent;
}

/* Totals Box */
.cart_totals {
    background: #fff;
    border-radius: 16px;
    padding: 25px;
}

.cart_totals h2 {
    font-size: 24px;
    margin-bottom: 20px;
}

/* Total Price */
.order-total .amount,
.cart-subtotal .amount {
    font-size: 24px;
    font-weight: 700;
    color: #0f172a;
}

/* Checkout Button */
.wc-proceed-to-checkout a.checkout-button {
    background: linear-gradient(135deg,#00a3ff,#0066ff);
    border-radius: 12px;
    padding: 18px 25px;
    font-size: 17px;
    font-weight: 700;
    text-transform: none;
    transition: .3s ease;
    box-shadow: 0 10px 25px rgba(0,102,255,.25);
}

.wc-proceed-to-checkout a.checkout-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 35px rgba(0,102,255,.35);
}

/* Coupon Area */
.woocommerce-cart .coupon {
    background: #f8fafc;
    padding: 15px;
    border-radius: 12px;
}

/* Remove Icon */
.woocommerce-cart a.remove {
    width: 34px;
    height: 34px;
    line-height: 32px;
    border-radius: 50%;
    background: #fff1f2;
    color: #dc2626 !important;
}

.woocommerce-cart a.remove:hover {
    background: #dc2626;
    color: #fff !important;
}

.product__main__content h2 {
    font-size: 22px;
    font-weight: 600;
    margin: 25px 0 5px;
    color: #09735c;
    
}
.product__main__content h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 5px;
    margin: 25px 0 5px;
}
.product__main__content p {
    margin:0 0 0px;
}
.product__main__content .tab-area ul {
    margin: 0 0 25px;
    padding-left: 5px;
}
.product__main__content .tab-area ul li {
    margin: 12px 0;
    background-image: url(../images/check.png);
    padding-left: 22px;
    background-repeat: no-repeat;
    background-position: 0px 7px;
    background-size: 14px;
}
.product__main__content .tab-area{
    font-size:16px;
    line-height:28px;
}


/* Mobile */
@media(max-width:768px){
    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .woocommerce-cart-form{
        padding:15px;
    }

    .woocommerce-cart .product-thumbnail img{
        width:70px;
    }

    .wc-proceed-to-checkout a.checkout-button{
        font-size:16px;
        padding:15px;
    }
}




/* CART PAGE */
/* ==========================
   CUSTOM CART DESIGN
========================== */
/* ===== PREMIUM CART ===== */
/* CART PAGE */
.woocommerce-cart .shop_table{
    border:none;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.woocommerce-cart .shop_table th{
    background:#f8f9fb;
    border:none;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.woocommerce-cart .shop_table td{
    border-top:1px solid #eee;
    vertical-align:middle;
}

.woocommerce-cart .product-thumbnail img{
    width:80px;
    border-radius:12px;
}

.woocommerce-cart .product-name a{
    font-weight:700;
    color:#222;
    text-decoration:none;
}

.woocommerce-cart .quantity .qty{
    width:80px;
    text-align:center;
    border-radius:10px;
}

.woocommerce-cart .remove{
    color:#dc3545 !important;
    font-size:24px;
}

.woocommerce-cart .button{
    border-radius:12px;
    padding:12px 24px;
}

/* Coupon Box */
.coupon{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.coupon input{
    min-width:220px;
    border-radius:12px;
}

/* Cart Total */
.cart-collaterals{
    margin-top:30px;
}

.cart_totals{
    background:#fff;
    border-radius:20px;
    padding:25px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.cart-card-row{
    transition:.3s;
}

.cart-card-row:hover{
    background:#fafafa;
}
.free-shipping-bar{
    margin-top:25px;
    background:#fff;
    padding:20px;
    border-radius:16px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.free-shipping-bar p{
    margin:10px 0 0;
    font-weight:600;
}

.progress{
    height:10px;
    border-radius:50px;
    background:#eee;
}

.progress-fill{
    height:100%;
    background:#198754;
    border-radius:50px;
}
.cart_totals h2{
    font-size:24px;
    margin-bottom:20px;
}

.wc-proceed-to-checkout a{
    width:100%;
    text-align:center;
    border-radius:14px !important;
    background:#09735c !important;
    padding:15px !important;
}
.update-cart-hidden{
    display:none;
}

/******checkout page*****/
/* Main Checkout Container */
.woocommerce-checkout .woocommerce{
    max-width:1400px;
    margin:auto;
}

/* Left & Right Cards */
.woocommerce-checkout-review-order,
.woocommerce-billing-fields,
.woocommerce-additional-fields{
    background:#fff;
    border-radius:20px;
    padding:25px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    border:1px solid #edf2f7;
}

/* Sticky Order Summary */
#order_review{
    position:sticky;
    top:20px;
}

/* Section Headings */
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading{
    font-size:22px;
    font-weight:700;
    margin-bottom:20px;
    color:#1e293b;
}

/* Input Fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
    height:52px;
    border-radius:12px;
    border:1px solid #dbe3ec;
    background:#fafcff;
    transition:.3s;
}

.woocommerce form .form-row textarea{
    min-height:120px;
}

.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
    border-color:#09735c;
    box-shadow:0 0 0 4px rgba(13,110,253,.12);
}

/* Order Table */
.shop_table{
    border:none !important;
}

.shop_table th{
    background:#f8fafc;
    font-weight:700;
}

.shop_table td,
.shop_table th{
    padding:15px !important;
}

/* Total Row */
.order-total{
    font-size:20px;
    font-weight:700;
}

/* Payment Box */
#payment{
    background:#fff !important;
    border-radius:20px;
    padding:20px;
    margin-top:20px;
    border:1px solid #edf2f7;
}

/* Payment Methods */
.wc_payment_method{
    padding:12px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    margin-bottom:10px;
}

/* Place Order Button */
#place_order{
    width:100%;
    height:58px;
    border-radius:14px !important;
    font-size:18px !important;
    font-weight:700 !important;
    background:#09735c !important;
    transition:.3s;
}

#place_order:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(13,110,253,.3);
}

/* Coupon */
.woocommerce-form-coupon-toggle .woocommerce-info{
    border-radius:12px;
}
.references-box a {
    color: #09735c;
    font-weight: 600;
}

/* Mobile */
@media(max-width:768px){

    #order_review{
        position:relative;
        top:auto;
        margin-top:20px;
    }

    .woocommerce-checkout-review-order,
    .woocommerce-billing-fields{
        padding:18px;
    }

}
body.woocommerce-checkout{
    background:#f4f7fb;
}


.upload_presc {
    background: #fff;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    /* max-width: 1000px; */
    margin: 0 0 25px;
}


.upload_presc h2

 {
    font-size: 28px;
    font-weight: 700;
    color: #0074a8;
    margin: 15px 0 10px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e8f4f9;
}

.upload_presc .form-row
 {
    display: flex;
    gap: 25px;
    margin-bottom: 0px;
}

.upload_presc .half{
    flex:1;
}

.upload_presc label{
    display:block;
    font-size:15px;
    font-weight:600;
    color:#333;
    margin-bottom:8px;
}

.upload_presc input[type="text"],
.upload_presc textarea,
.upload_presc input[type="file"]{
    width:100%;
    padding:14px 16px;
    border:1px solid #d7e1e8;
    border-radius:10px;
    background:#fff;
    font-size:15px;
    transition:all .3s ease;
    box-sizing:border-box;
}

.upload_presc textarea {
    min-height: 58px;
    resize: vertical;
    height: 58px;
}

.upload_presc input[type="text"]:focus,
.upload_presc textarea:focus,
.upload_presc input[type="file"]:focus{
    border-color:#0074a8;
    box-shadow:0 0 0 4px rgba(0,116,168,.12);
    outline:none;
}

.upload_presc .wpcf7-checkbox,
.upload_presc .wpcf7-radio{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin-bottom:12px;
}

.upload_presc .wpcf7-list-item{
    margin:0;
}

.upload_presc .wpcf7-list-item label{
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    font-weight:500;
    margin:0;
}

.upload_presc input[type="checkbox"],
.upload_presc input[type="radio"]{
    width:18px;
    height:18px;
    accent-color:#0074a8;
    cursor:pointer;
}

.upload_presc input[type="file"]{
    padding:12px;
    background:#f7fbfd;
}

.upload_presc input[type="file"]::file-selector-button{
    background:#0074a8;
    color:#fff;
    border:none;
    padding:10px 18px;
    border-radius:6px;
    margin-right:12px;
    cursor:pointer;
    transition:.3s;
}

.upload_presc input[type="file"]::file-selector-button:hover{
    background:#005f88;
}

.upload_presc > p:first-child{
    background:#f3fbff;
    border:1px solid #ccecf8;
    padding:15px 20px;
    border-radius:10px;
    margin-bottom:30px;
}

.upload_presc .wpcf7-submit{
    background:#0074a8 !important;
    color:#fff !important;
    border:none !important;
    padding:15px 40px !important;
    font-size:16px !important;
    font-weight:600 !important;
    border-radius:10px !important;
    cursor:pointer;
    transition:.3s;
    min-width:180px;
}

.upload_presc .wpcf7-submit:hover{
    background:#005f88 !important;
    transform:translateY(-2px);
}

.upload_presc .wpcf7-submit:disabled{
    background:#bfc8cf !important;
    cursor:not-allowed;
    transform:none;
}

.upload_presc .wpcf7-spinner{
    margin-left:15px;
}
.half p br {
    display: none;
}

@media(max-width:767px){

    .upload_presc{
        padding:25px;
    }

    .upload_presc .form-row{
        flex-direction:column;
        gap:20px;
    }

    .upload_presc h2{
        font-size:22px;
    }

    .upload_presc .wpcf7-submit{
        width:100%;
    }
}

/*****hide extera filed on success page*****/
.woocommerce-order-details,
.woocommerce-customer-details{
    display:none !important;
}
 
.woocommerce-order-overview,
.woocommerce-notice--success {
    display:none !important;
}

nav.custom-breadcrumbs {
    background: #09735c;
    display: inline-block;
    padding: 0 25px 2px;
    border-radius: 20px;
    color: #fff;
    font-size: 14px;
}

nav.custom-breadcrumbs i {
    font-size: 11px;
}

a.custom-logo-link img {
    max-height: 50px;
    width: auto;
}

/* ===== Consultation form (CF7) — premium styling ===== */
.consult-form { background: #fff; border: 1px solid #e3eeea; border-radius: 18px; padding: 26px 28px; box-shadow: 0 14px 38px rgba(9,115,92,.08); margin: 6px 0 26px; }
.consult-form::before { content: "\F4CB"; font-family: "bootstrap-icons"; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #e7f4ef; color: var(--primary); font-size: 22px; margin-bottom: 14px; }
.consult-form .consult-intro { font-size: 15px; line-height: 1.65; color: var(--text-soft, #5b6b7d); background: #f1f8f5; border: 1px solid #d7ede6; border-left: 4px solid var(--primary); border-radius: 0 10px 10px 0; padding: 13px 16px; margin: 0 0 22px; }
.consult-form .form-row { display: flex; gap: 16px; flex-wrap: wrap; }
.consult-form .form-row .half { flex: 1 1 240px; }
.consult-form > label, .consult-form .half label { display: block; font-size: 14px; font-weight: 600; color: var(--text-dark, #14233b); margin: 0 0 18px; }
.consult-form input[type="text"], .consult-form input[type="email"], .consult-form input[type="tel"], .consult-form input[type="number"], .consult-form textarea {
    width: 100%; margin-top: 7px; padding: 11px 14px; border: 1px solid #d7e3df; border-radius: 10px; font-size: 15px; font-family: inherit; color: #2b3a4b; background: #fff; transition: .18s; box-sizing: border-box;
}
.consult-form input:focus, .consult-form textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(9,115,92,.12); }
.consult-form textarea { min-height: 92px; resize: vertical; }
.consult-form .wpcf7-checkbox, .consult-form .wpcf7-radio { display: flex; flex-direction: column; gap: 8px; margin: 8px 0 20px; }
.consult-form .wpcf7-radio { flex-direction: row; flex-wrap: wrap; gap: 10px; }
.consult-form .wpcf7-radio .wpcf7-list-item { flex: 0 0 auto; }
.consult-form .wpcf7-radio .wpcf7-list-item label { min-width: 96px; justify-content: flex-start; }
.consult-form .wpcf7-list-item { margin: 0; }
.consult-form .wpcf7-list-item label { display: flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 400; color: #2b3a4b; margin: 0; padding: 11px 15px; border: 1px solid #e5eef3; border-radius: 10px; cursor: pointer; transition: .15s; }
.consult-form .wpcf7-list-item label:hover { border-color: var(--primary); background: #f4faf8; }
.consult-form .wpcf7-list-item input { accent-color: var(--primary); width: 18px; height: 18px; margin: 0; }
.consult-form .wpcf7-acceptance .wpcf7-list-item label { align-items: flex-start; background: #f6faf9; }
.consult-form .wpcf7-submit { background: var(--primary); color: #fff; border: none; border-radius: 11px; padding: 14px 32px; font-size: 16px; font-weight: 600; cursor: pointer; transition: .2s; margin-top: 6px; }
.consult-form .wpcf7-submit:hover { background: #075a48; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(9,115,92,.22); }
.consult-form .wpcf7-spinner { margin-left: 12px; }
.consult-form .wpcf7-not-valid-tip { color: #a32d2d; font-size: 12.5px; font-weight: 400; margin-top: 5px; }
.wpcf7 .wpcf7-response-output { border-radius: 10px; padding: 13px 16px; margin: 18px 0 0; font-size: 14px; line-height: 1.5; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #1d9e75; background: #e9f6f0; color: #075a48; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-color: #e24b4a; background: #fcecec; color: #a32d2d; }
@media (max-width: 575px) { .consult-form .form-row { gap: 0; } }

/* ===== Footer — premium polish ===== */
.footer-title { position: relative; padding-bottom: 12px; margin-bottom: 18px; }
.footer-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 3px; border-radius: 3px; background: #7fe3c4; }
.footer-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 36px; padding: 22px 0; margin: 48px auto 6px; border-top: 1px solid rgba(255,255,255,.10); border-bottom: 1px solid rgba(255,255,255,.10); }
.footer-trust-item { display: flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 500; color: #d3dde7; }
.footer-trust-item i { color: #6fc2ac; font-size: 18px; }
.footer-social { gap: 4px; }
.footer-social .contact-title { color: #d3dde7; font-size: 14px; }
.footer-social-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.08); color: #d3dde7; text-decoration: none; transition: .2s; }
.footer-social-icon:hover { background: #1f8b73; color: #fff; transform: translateY(-2px); }
@media (max-width: 767px) { .footer-trust { gap: 12px 22px; } .footer-social { justify-content: flex-start !important; margin-top: 14px; } }

/* ===== Premium header & mega-menu ===== */
.site-header { position: sticky; top: 0; z-index: 1030; background: #fff; }
.mega-menu { border-radius: 0 0 18px 18px; box-shadow: 0 20px 44px rgba(9,115,92,.12); padding: 0 !important; overflow: hidden; }
.mega-inner { padding: 26px 30px 22px; }
.mega-cols { display: grid; grid-template-columns: repeat(3, 1fr) 1.35fr; gap: 24px; align-items: start; }
.mega-col-head { display: flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 700; color: #14233b; text-decoration: none; margin-bottom: 12px; }
.mega-col-head:hover { color: var(--primary); }
.mega-ico { width: 28px; height: 28px; min-width: 28px; border-radius: 8px; background: #e7f4ef; display: inline-flex; align-items: center; justify-content: center; }
.mega-ico i { color: var(--primary); font-size: 16px; }
.mega-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.mega-col ul li { margin: 0; }
.mega-col ul li a { font-size: 13.5px; color: #5b6b7d; text-decoration: none; transition: .15s; display: inline-block; }
.mega-col ul li a:hover { color: var(--primary); transform: translateX(3px); }
.mega-col .mega-soon { font-size: 12.5px; color: #9bb0aa; font-style: italic; }
.mega-col .mega-more { font-size: 12.5px; font-weight: 600; color: var(--primary) !important; }
.mega-featured { display: flex; flex-direction: column; background: #eafaf5; border: 1px solid #cfe9df; border-radius: 14px; padding: 15px; text-decoration: none; }
.mega-feat-label { font-size: 11px; font-weight: 600; color: #0F6E56; margin-bottom: 8px; letter-spacing: .04em; }
.mega-feat-img { background: #fff; border-radius: 10px; padding: 8px; text-align: center; margin-bottom: 10px; }
.mega-feat-img img { max-height: 72px; width: auto; object-fit: contain; display: inline-block; }
.mega-feat-name { font-size: 14px; font-weight: 600; color: #14233b; line-height: 1.2; }
.mega-feat-price { font-size: 14px; font-weight: 700; color: #075a48; margin: 3px 0 11px; }
.mega-feat-price .woocommerce-Price-amount, .mega-feat-price ins { color: #075a48; }
.mega-feat-price del { color: #9bb0aa; font-size: 11px; font-weight: 400; }
.mega-feat-btn { background: var(--primary); color: #fff; font-size: 12.5px; font-weight: 600; text-align: center; padding: 9px; border-radius: 9px; margin-top: auto; }
.mega-featured:hover .mega-feat-btn { background: #075a48; }
.mega-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 30px; background: var(--primary); flex-wrap: wrap; }
.mega-foot-trust { font-size: 12.5px; color: #cdeee2; }
.mega-foot-trust i { color: #fff; margin-right: 5px; }
.mega-foot-all { font-size: 13px; font-weight: 600; color: #fff; text-decoration: none; }
.mega-foot-all:hover { text-decoration: underline; }
@media (max-width: 991px) {
    .site-header { position: static; }
    .mega-menu { box-shadow: none; border-radius: 0; }
    .mega-inner { padding: 10px 6px; }
    .mega-cols { grid-template-columns: 1fr; gap: 18px; }
    .mega-featured { order: -1; }
    .mega-foot { padding: 12px 6px; flex-direction: column; align-items: flex-start; }
}

/* ===== Related products on single product ===== */
.related-products-wrap { padding: 42px 0; background: #f7fbfa; margin-top: 34px; }
.related-products-title { font-size: 24px; font-weight: 700; color: var(--text-dark, #14233b); margin-bottom: 22px; }
.related-products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 18px; }
.rel-card { display: flex; flex-direction: column; border: 1px solid #e5eef3; border-radius: 16px; background: #fff; overflow: hidden; transition: .25s; }
.rel-card:hover { border-color: var(--primary); transform: translateY(-4px); box-shadow: 0 16px 34px rgba(9,115,92,.10); }
.rel-card-media { position: relative; display: block; padding: 16px; background: #f6faf9; text-align: center; }
.rel-card-media img { max-width: 100%; height: 150px; object-fit: contain; }
.rel-card-badge { position: absolute; top: 10px; left: 10px; background: #e7f4ef; color: #075a48; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 20px; }
.rel-card-body { display: flex; flex-direction: column; gap: 6px; padding: 14px; flex: 1; }
.rel-card-name { font-size: 15px; font-weight: 700; color: var(--text-dark, #14233b); text-decoration: none; line-height: 1.25; }
.rel-card-name:hover { color: var(--primary); }
.rel-card-dose { font-size: 12.5px; color: var(--text-soft, #8595a4); }
.rel-card-dose i { color: var(--primary); }
.rel-card-price { font-size: 16px; font-weight: 700; color: #075a48; }
.rel-card-price .woocommerce-Price-amount, .rel-card-price ins { color: #075a48; }
.rel-card-price del { color: #9bb0aa; font-weight: 400; font-size: 13px; }
.rel-card-btn { margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; background: var(--primary); color: #fff !important; font-size: 13.5px; font-weight: 600; padding: 10px; border-radius: 10px; text-decoration: none; transition: .2s; }
.rel-card-btn:hover { background: #075a48; }
@media (max-width: 600px) { .related-products-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } .rel-card-media img { height: 110px; } }

/* ============================================================
   CART + CHECKOUT — clean universal sans-serif (override Playfair serif)
   ============================================================ */
/* Redefine the heading-font variables for these subtrees so every
   var(--font-head)/var(--heading-font) rule resolves to sans-serif —
   this does NOT touch icon fonts (Font Awesome / Bootstrap Icons live on <i>). */
.woocommerce-cart-form, .checkoutPage {
    --font-head: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --heading-font: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
/* Force clean sans-serif on text elements only (NOT <i> icons) to beat any literal Playfair rules */
.woocommerce-cart-form :where(h1,h2,h3,h4,h5,h6,p,span,a,div,label,strong,b,em,td,th,li,input,button,select,textarea),
.checkoutPage :where(h1,h2,h3,h4,h5,h6,p,span,a,div,label,strong,b,em,td,th,li,input,button,select,textarea) {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* ============================================================
   PREMIUM CHECKOUT
   ============================================================ */
.checkoutPage { background: #f6f8fb; }
.checkoutPage .ck-head { text-align: center; margin-bottom: 18px; }
.checkoutPage .ck-title { font-size: 30px; font-weight: 800; color: #0b1f33; margin: 0 0 6px; }
.checkoutPage .ck-title i { color: #09735c; margin-right: 8px; }
.checkoutPage .ck-subtitle { color: #6b7280; font-size: 15px; margin: 0; }

.checkoutPage .ck-trust-strip {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 22px;
    background: #fff; border: 1px solid #e7ecf3; border-radius: 14px;
    padding: 14px 18px; margin: 0 auto 26px; max-width: 900px;
    box-shadow: 0 6px 20px rgba(16, 42, 67, .05);
}
.checkoutPage .ck-trust { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #334155; }
.checkoutPage .ck-trust i { color: #09735c; font-size: 15px; }

.checkoutPage .ck-card {
    background: #fff; border: 1px solid #e7ecf3; border-radius: 16px;
    padding: 26px 26px 22px; box-shadow: 0 8px 30px rgba(16, 42, 67, .06);
}
.checkoutPage .ck-step-head { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; color: #0b1f33; margin-bottom: 18px; }
.checkoutPage .ck-step-head--right { margin-bottom: 14px; }
.checkoutPage .ck-step-num { width: 28px; height: 28px; border-radius: 50%; background: #09735c; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; flex: none; }

/* hide WooCommerce's default billing/shipping H3 (we use our own step head) */
.checkoutPage .woocommerce-billing-fields > h3,
.checkoutPage .woocommerce-shipping-fields > h3 { display: none; }

/* form fields */
.checkoutPage .form-row { margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; }
.checkoutPage .form-row label { font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 6px; }
.checkoutPage .form-row .required { color: #dc2626; text-decoration: none; border: 0; }
.checkoutPage .form-row .optional { color: #9aa5b1; font-weight: 400; }
.checkoutPage .woocommerce-input-wrapper { width: 100%; }
.checkoutPage .input-text,
.checkoutPage select,
.checkoutPage .select2-container .select2-selection {
    width: 100%; min-height: 48px; border: 1px solid #d7dee8 !important; border-radius: 10px;
    padding: 11px 14px; font-size: 15px; color: #0b1f33; background: #fff; box-shadow: none;
    transition: border-color .2s, box-shadow .2s;
}
.checkoutPage textarea.input-text { min-height: 92px; }
.checkoutPage .input-text:focus,
.checkoutPage select:focus,
.checkoutPage .select2-container--focus .select2-selection,
.checkoutPage .select2-container--open .select2-selection {
    border-color: #09735c !important; box-shadow: 0 0 0 3px rgba(9, 115, 92, .12); outline: none;
}
.checkoutPage .select2-container .select2-selection--single { height: 48px; display: flex; align-items: center; }
.checkoutPage .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }

/* two-column field grid on wider screens */
@media (min-width: 768px) {
    .checkoutPage .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
    .checkoutPage .woocommerce-billing-fields__field-wrapper > .form-row-wide,
    .checkoutPage .woocommerce-billing-fields__field-wrapper > .form-row-full { grid-column: 1 / -1; }
}

/* ship-to-different-address + shipping fields — its own premium card (matches billing/notes) */
.checkoutPage .woocommerce-shipping-fields {
    background: #fff;
    border: 1px solid #edf2f7;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    padding: 18px 25px;
    margin: 20px 0 0;
}
.checkoutPage #ship-to-different-address {
    display: block !important;
    margin: 0; padding: 0; border-top: 0;
}
.checkoutPage #ship-to-different-address label {
    display: flex; align-items: center; gap: 11px; margin: 0; cursor: pointer;
    font-size: 14.5px; font-weight: 700; color: #0b1f33;
}
.checkoutPage #ship-to-different-address input[type="checkbox"] {
    width: 19px; height: 19px; flex: none; margin: 0; accent-color: #09735c; cursor: pointer;
}
.checkoutPage .shipping_address { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eef2f6; }
@media (min-width: 768px) {
    .checkoutPage .shipping_address .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
    .checkoutPage .shipping_address .woocommerce-shipping-fields__field-wrapper > .form-row-wide,
    .checkoutPage .shipping_address .woocommerce-shipping-fields__field-wrapper > .form-row-full { grid-column: 1 / -1; }
}
.checkoutPage .woocommerce-additional-fields > h3 { display: block !important; font-size: 14.5px; font-weight: 700; color: #0b1f33; margin: 0 0 12px; }
.checkoutPage #order_comments { min-height: 84px; }

/* order review card (ck- classes from review-order.php) */
.checkoutPage .ck-card.ck-summary { padding: 0; overflow: hidden; }
.checkoutPage .ck-card-header { background: #09735c; color: #fff; padding: 16px 20px; font-size: 16px; font-weight: 700; display: flex; align-items: center; gap: 10px; }
.checkoutPage .ck-card-body { padding: 18px 20px 20px; }
.checkoutPage .ck-summary-item { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px dashed #eceff3; }
.checkoutPage .ck-item-name { font-weight: 700; color: #0b1f33; font-size: 14px; }
.checkoutPage .ck-item-attr { font-size: 12px; color: #6b7280; margin-top: 2px; }
.checkoutPage .ck-item-qty { font-size: 12px; color: #6b7280; margin-top: 2px; }
.checkoutPage .ck-item-price { font-weight: 700; color: #09735c; white-space: nowrap; }
.checkoutPage .ck-summary-row { display: flex; justify-content: space-between; align-items: center; font-size: 14px; color: #475569; padding: 7px 0; }
.checkoutPage .ck-summary-row .amount { font-weight: 600; color: #0b1f33; }
.checkoutPage .ck-total-row { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; padding: 14px 16px; background: #eafaf5; border-radius: 12px; font-size: 18px; font-weight: 800; color: #0b1f33; }
.checkoutPage .ck-total-row .amount { color: #09735c; }
.checkoutPage .ck-summary-secure { margin-top: 14px; font-size: 12px; color: #6b7280; text-align: center; }
.checkoutPage .ck-summary-secure i { color: #09735c; }

/* payment methods */
.checkoutPage #payment { background: #fff; border: 1px solid #e7ecf3; border-radius: 16px; padding: 18px 20px; margin-top: 18px; box-shadow: 0 8px 30px rgba(16, 42, 67, .06); }
.checkoutPage #payment .payment_methods { list-style: none; margin: 0; padding: 0; }
.checkoutPage #payment li.wc_payment_method { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin: 0 0 12px; transition: border-color .2s, background .2s; }
.checkoutPage #payment li.wc_payment_method:has(input:checked) { border-color: #09735c; background: #f3fbf8; }
.checkoutPage #payment li.wc_payment_method > label { font-weight: 700; color: #0b1f33; margin: 0 0 0 6px; cursor: pointer; display: inline; }
.checkoutPage #payment .payment_box { background: #f8fafc; border-radius: 10px; padding: 12px 14px; font-size: 13px; color: #475569; margin-top: 10px; }
.checkoutPage #payment .payment_box::before { display: none; }
.checkoutPage #payment .payment_box p:last-child { margin-bottom: 0; }

/* terms + place order */
.checkoutPage .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: #475569; margin: 4px 0 10px; }
.checkoutPage #place_order,
.checkoutPage .place-order .button {
    width: 100%; background: #09735c !important; color: #fff !important; border: none !important;
    border-radius: 12px; padding: 16px; font-size: 17px; font-weight: 700; cursor: pointer;
    box-shadow: 0 10px 25px rgba(9, 115, 92, .28); transition: .25s; margin-top: 6px;
}
.checkoutPage #place_order:hover { background: #075a48 !important; transform: translateY(-2px); box-shadow: 0 15px 35px rgba(9, 115, 92, .38); }

.checkoutPage .woocommerce-error, .checkoutPage .woocommerce-message, .checkoutPage .woocommerce-info { border-radius: 10px; }

@media (max-width: 991px) {
    .checkoutPage .ck-step-head--right { margin-top: 8px; }
}

/* Medical author / reviewer card (product + category pages — E-A-T) */
.med-author-card { margin-top: 22px; }
.med-author-card .author-label { display: inline-flex; align-items: center; gap: 5px; }
.med-author-card .author-label i { color: #09735c; }

/* References / "Bronnen" panel — shared style (matches the info/guide pages) */
.refs-panel { margin-top: 22px; border: 1px solid #e5eef3; border-radius: 14px; overflow: hidden; }
.refs-panel .refs-head { background: #f6faf9; padding: 11px 16px; font-size: 13.5px; font-weight: 700; color: var(--text-dark, #14233b); border-bottom: 1px solid #e5eef3; }
.refs-panel .refs-head i { color: var(--primary); margin-right: 6px; }
.refs-panel .references-box { padding: 6px 16px 12px; counter-reset: ref; }
.refs-panel .references-box :is(h1,h2,h3,h4) { display: none; }
.refs-panel .references-box a, .refs-panel .references-box p { display: block; position: relative; padding: 9px 0 9px 28px; margin: 0; font-size: 14px; color: var(--primary); text-decoration: none; border-bottom: 1px solid #eef3f1; line-height: 1.5; }
.refs-panel .references-box a:last-child, .refs-panel .references-box p:last-child { border-bottom: 0; }
.refs-panel .references-box a::before, .refs-panel .references-box p::before { counter-increment: ref; content: counter(ref); position: absolute; left: 0; top: 9px; width: 18px; height: 18px; border-radius: 50%; background: #e7f4ef; color: #075a48; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.refs-panel .references-box a:hover { text-decoration: underline; }
/* ===== Product page polish (CD feedback 2026-06-24) ===== */
/* Image panel fills the column height with the product centred — no dead space below */
.nlProduct_page .card-white > .row { align-items: stretch; }
.nlProduct_page .card-white > .row > .col-md-5 { display: flex; flex-direction: column; }
.nlProduct_page .product-main-img { flex: 1 1 auto; min-height: 280px; display: flex; align-items: center; justify-content: center; padding: 24px; margin-bottom: 0 !important; }
.nlProduct_page .product-main-img img { max-width: 100%; max-height: 360px; width: auto; height: auto; object-fit: contain; display: block; }
/* Breathing room around the quantity stepper + buy button */
.nlProduct_page .variation-summary .quantity_box { margin-top: 24px; }
.nlProduct_page .variation-summary .sub_quantity { margin-bottom: 10px; font-size: 14px; font-weight: 700; }
.nlProduct_page .btn-add-main { margin-top: 16px; }
.nlProduct_page .ship-strip { margin-top: 18px; color: #075a48; }
.nlProduct_page .ship-strip-icon, .nlProduct_page .ship-strip-title, .nlProduct_page .ship-strip-text { color: #075a48; }
/* On-brand section heading (was near-black navy) */
.related-products-title { color: #0c3a30 !important; }
@media (max-width: 767px) { .nlProduct_page .product-main-img { min-height: 260px; } }

.woocommerce-checkout #payment ul.payment_methods li{ background-image:none; margin:10px 0}


/* ============================================================
   CONSOLIDATED INLINE STYLES (moved from template <style> blocks)
   Appended at end to preserve original cascade order.
   ============================================================ */

/* ---- from front-page.php (7 block(s)) ---- */
.how-it-works { padding: 72px 0; background:#ffffff; }
.how-it-works .container { }
.how-it-works .hiw-head { text-align:center; max-width:600px; margin:0 auto 50px; }
.how-it-works .hiw-badge { display:inline-flex; align-items:center; gap:7px; background:#e8f7f0; color:#075a48; font-size:13px; font-weight:600; padding:7px 16px; border-radius:999px; margin-bottom:16px; }
.how-it-works .hiw-badge .dot { width:8px; height:8px; border-radius:50%; background:#09735c; }
.how-it-works .hiw-head h2 { font-size:clamp(1.7rem,3vw,2.4rem); font-weight:800; color:#0b2a23; line-height:1.2; margin-bottom:12px; }
.how-it-works .hiw-head p { color:#5b6b66; font-size:16px; line-height:1.6; margin:0; }
.how-it-works .hiw-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.how-it-works .hiw-step { background:#fff; border:1px solid #e3efe9; border-radius:18px; padding:36px 26px 28px; text-align:center; position:relative; transition:.25s; }
.how-it-works .hiw-step:hover { border-color:#09735c; box-shadow:0 18px 40px rgba(9,115,92,.08); transform:translateY(-4px); }
.how-it-works .hiw-num { position:absolute; top:-18px; left:50%; transform:translateX(-50%); width:36px; height:36px; border-radius:50%; background:#09735c; color:#fff; font-weight:700; font-size:16px; display:flex; align-items:center; justify-content:center; }
.how-it-works .hiw-icon { width:66px; height:66px; border-radius:18px; background:#e8f7f0; display:flex; align-items:center; justify-content:center; margin:6px auto 18px; }
.how-it-works .hiw-icon i { font-size:30px; color:#09735c; }
.how-it-works .hiw-step h3 { font-size:19px; font-weight:700; color:#0b2a23; margin:0 0 9px; }
.how-it-works .hiw-step p { color:#5b6b66; font-size:14.5px; line-height:1.6; margin:0; }
.how-it-works .hiw-cta { text-align:center; margin-top:42px; }
.how-it-works .hiw-btn { display:inline-flex; align-items:center; gap:9px; background:#09735c; color:#fff !important; font-weight:600; font-size:16px; padding:15px 34px; border-radius:12px; text-decoration:none; box-shadow:0 10px 25px rgba(9,115,92,.25); transition:.25s; }
.how-it-works .hiw-btn:hover { background:#075a48; transform:translateY(-2px); box-shadow:0 15px 35px rgba(9,115,92,.35); }
@media (max-width: 991px) { .how-it-works { padding:52px 0; } .how-it-works .hiw-steps { grid-template-columns:1fr; gap:32px; } }
.ed-compare { padding: 70px 0; background: #e8f7f0; }
.ed-compare .container { }
.ed-compare .ec-head { text-align: center; max-width: 640px; margin: 0 auto 42px; }
.ed-compare .ec-badge { display:inline-flex; align-items:center; gap:7px; background:#ffffff; color:#075a48; font-size:13px; font-weight:600; padding:7px 16px; border-radius:999px; margin-bottom:16px; }
.ed-compare .ec-badge .dot { width:8px; height:8px; border-radius:50%; background:#09735c; }
.ed-compare .ec-head h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 800; color:#0b2a23; line-height:1.2; margin-bottom: 12px; }
.ed-compare .ec-head p { color:#5b6b66; font-size:16px; line-height:1.6; margin:0; }
.ed-compare .ec-cards { display:grid; grid-template-columns: repeat(3, 1fr); gap:22px; margin-bottom:38px; }
.ed-compare .ec-card { display:flex; flex-direction:column; background:#fff; border:1px solid #e3efe9; border-radius:18px; padding:28px 26px; text-decoration:none; transition:.25s; }
.ed-compare .ec-card:hover { border-color:#09735c; transform:translateY(-4px); box-shadow:0 18px 40px rgba(9,115,92,.10); }
.ed-compare .ec-icon { width:58px; height:58px; border-radius:16px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.ed-compare .ec-icon i { font-size:25px; }
.ed-compare .ec-card h3 { font-size:21px; font-weight:700; color:#0b2a23; margin:0 0 2px; }
.ed-compare .ec-card h3 .ec-brand { color:#8a9b95; font-size:14px; font-weight:500; }
.ed-compare .ec-card .ec-desc { color:#5b6b66; font-size:14.5px; line-height:1.6; margin:10px 0 16px; }
.ed-compare .ec-tag { display:inline-flex; align-items:center; gap:6px; background:#e8f7f0; color:#075a48; font-size:13px; font-weight:600; padding:6px 13px; border-radius:9px; align-self:flex-start; }
.ed-compare .ec-link { margin-top:auto; padding-top:18px; color:#09735c; font-weight:600; font-size:14.5px; display:inline-flex; align-items:center; gap:7px; }
.ed-compare .ec-link i { transition:.2s; }
.ed-compare .ec-card:hover .ec-link i { transform:translateX(4px); }
.ed-compare .ec-table-wrap { background:#fff; border:1px solid #e3efe9; border-radius:16px; overflow:hidden; margin-bottom:46px; }
.ed-compare table.ec-table { width:100%; border-collapse:collapse; margin:0; }
.ed-compare .ec-table thead th { background:#09735c; color:#fff; text-align:left; padding:15px 22px; font-size:15px; font-weight:600; }
.ed-compare .ec-table tbody td { padding:15px 22px; font-size:15px; color:#5b6b66; border-top:1px solid #eef4f1; }
.ed-compare .ec-table tbody tr:nth-child(even) { background:#f7fbfa; }
.ed-compare .ec-table tbody td:first-child { font-weight:700; color:#0b2a23; }
.ed-compare .ec-table tbody td:first-child i { margin-right:9px; width:18px; text-align:center; }
.ed-compare .ec-details { background:#fff; border:1px solid #e3efe9; border-radius:16px; padding:18px 30px 30px; }
.ed-compare .ec-details h2 { font-size:25px; font-weight:700; color:#0b2a23; margin-bottom:6px; }
.ed-compare .ec-detail { display:flex; gap:18px; padding:24px 0; border-top:1px solid #e9f0ed; }
.ed-compare .ec-detail .ec-dicon { flex:none; width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; }
.ed-compare .ec-detail .ec-dicon i { font-size:21px; }
.ed-compare .ec-detail h4 { font-size:19px; font-weight:700; color:#0b2a23; margin:3px 0 10px; }
.ed-compare .ec-detail p { color:#5b6b66; font-size:15px; line-height:1.7; margin:0 0 12px; }
.ed-compare .ec-detail p:last-child { margin-bottom:0; }
.ed-compare .ec-disclaimer { margin-top:6px; padding-top:22px; border-top:1px solid #e9f0ed; text-align:center; color:#8a9b95; font-size:14px; }
.ed-compare .ec-disclaimer i { color:#09735c; margin-right:5px; }
.ed-compare .ic-sild { background:#e8f1fc; } .ed-compare .ic-sild i { color:#2e6db4; }
.ed-compare .ic-tada { background:#fbf3e0; } .ed-compare .ic-tada i { color:#bf8a1e; }
.ed-compare .ic-vard { background:#fbe8da; } .ed-compare .ic-vard i { color:#c4671e; }
@media (max-width: 991px) {
  .ed-compare { padding: 50px 0; }
  .ed-compare .ec-cards { grid-template-columns:1fr; gap:16px; }
  .ed-compare .ec-table-wrap { overflow-x:auto; }
  .ed-compare .ec-table thead th, .ed-compare .ec-table tbody td { white-space:nowrap; }
}
.section-ed p { color:#5b6b66 !important; }
.section-works { padding-top: 55px; }
.section-ed .com-btn { background:#09735c !important; color:#fff !important; border-color:#09735c !important; }
.section-ed .com-btn:hover { background:#075a48 !important; border-color:#075a48 !important; }
.sx-causes { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:26px 0 30px; }
.sx-cause { display:flex; align-items:flex-start; gap:12px; }
.sx-cause .ic { flex:none; width:44px; height:44px; border-radius:12px; background:#e8f7f0; display:flex; align-items:center; justify-content:center; }
.sx-cause .ic i { font-size:19px; color:#09735c; }
.sx-cause h5 { font-size:15px; font-weight:700; color:#0b2a23; margin:0 0 2px; }
.sx-cause p { font-size:13px; color:#5b6b66 !important; margin:0 !important; line-height:1.45; }
.sx-safety { display:flex; gap:11px; align-items:flex-start; background:#e8f7f0; border-radius:12px; padding:14px 16px; font-size:14px; color:#0b2a23; margin:8px 0 22px; line-height:1.55; }
.sx-safety i { color:#09735c; font-size:18px; flex:none; margin-top:1px; }
@media(max-width:575px){ .sx-causes { grid-template-columns:1fr; } }
.com-note { display:flex; align-items:center; gap:11px; width:fit-content; max-width:100%; margin:38px auto 0; background:#ffffff; border:1px solid #dbe7e1; border-radius:12px; padding:14px 24px; color:#0b2a23; font-size:14.5px; line-height:1.5; box-shadow:0 8px 22px rgba(9,115,92,.07); }
.com-note i { color:#09735c; font-size:19px; flex:none; }
.section-faq { background: linear-gradient(125deg, #0a7a60 0%, #064034 100%); padding: 78px 0; }
.section-faq .faq-layout { display:grid; grid-template-columns: 0.82fr 1.18fr; gap:50px; align-items:start; }
.section-faq .faq-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.14); color:#fff; font-size:13px; font-weight:600; padding:7px 16px; border-radius:999px; margin-bottom:18px; }
.section-faq .faq-eyebrow .dot { width:8px; height:8px; border-radius:50%; background:#7fe3c4; }
.section-faq .faq-intro h2 { color:#ffffff; font-size:clamp(1.9rem,3vw,2.6rem); font-weight:800; line-height:1.15; margin:0 0 16px; }
.section-faq .faq-intro p { color:rgba(255,255,255,.82); font-size:15.5px; line-height:1.7; margin:0 0 26px; }
.section-faq .faq-cta { display:inline-flex; align-items:center; gap:9px; background:#ffffff; color:#075a48 !important; font-weight:600; font-size:15.5px; padding:14px 28px; border-radius:12px; text-decoration:none; transition:.25s; }
.section-faq .faq-cta:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.18); }
.section-faq .accordion { display:flex; flex-direction:column; gap:14px; --bs-accordion-border-color:transparent; }
.section-faq .accordion-item { background:#ffffff; border:none; border-radius:14px; overflow:hidden; box-shadow:0 6px 18px rgba(0,0,0,.07); }
.section-faq .accordion-header { margin:0; }
.section-faq .accordion-button { background:#ffffff; color:#0b2a23; font-weight:600; font-size:15.5px; line-height:1.5; padding:20px 24px; box-shadow:none !important; border-radius:14px; --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon); }
.section-faq .accordion-button:not(.collapsed) { color:#09735c; background:#ffffff; }
.section-faq .accordion-button:focus { box-shadow:none; border-color:transparent; }
.section-faq .accordion-body { padding:2px 24px 22px; color:#5b6b66; font-size:14.5px; line-height:1.75; }
@media (max-width: 991px) { .section-faq { padding:54px 0; } .section-faq .faq-layout { grid-template-columns:1fr; gap:30px; } .section-faq .faq-intro { text-align:center; } }
.dis-dr-re .container { max-width:920px; }
.dis-dr-re .med-disclaimer { background:#f7f9fb; border:1px solid #e3ebf0; border-radius:14px; padding:16px 20px; margin:0 0 22px; }
.dis-dr-re .med-disclaimer-head { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:#14233b; margin-bottom:8px; }
.dis-dr-re .med-disclaimer-head i { color:#b08400; font-size:17px; }
.dis-dr-re .med-disclaimer-body { font-size:13.5px; line-height:1.65; color:#5b6b7d; margin:0; }
.dis-dr-re .refs-panel { border:1px solid #e5eef3; border-radius:14px; overflow:hidden; }
.dis-dr-re .refs-head { background:#f6faf9; padding:11px 16px; font-size:13.5px; font-weight:700; color:#14233b; border-bottom:1px solid #e5eef3; }
.dis-dr-re .refs-head i { color:#09735c; margin-right:6px; }
.dis-dr-re .references-box { padding:6px 16px 12px; counter-reset:ref; }
.dis-dr-re .references-box a { display:block; position:relative; padding:9px 0 9px 28px; margin:0; font-size:14px; color:#09735c; text-decoration:none; border-bottom:1px solid #eef3f1; line-height:1.5; }
.dis-dr-re .references-box a:last-child { border-bottom:0; }
.dis-dr-re .references-box a::before { counter-increment:ref; content:counter(ref); position:absolute; left:0; top:9px; width:18px; height:18px; border-radius:50%; background:#e7f4ef; color:#075a48; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.dis-dr-re .references-box a:hover { text-decoration:underline; }
.news.section-space { padding-top:70px; padding-bottom:72px; }
.news .news-head { text-align:center; max-width:600px; margin:0 auto 44px; }
.news .nb-eyebrow { display:inline-flex; align-items:center; gap:7px; background:#e8f7f0; color:#075a48; font-size:13px; font-weight:600; padding:7px 16px; border-radius:999px; margin-bottom:16px; }
.news .nb-eyebrow .dot { width:8px; height:8px; border-radius:50%; background:#09735c; }
.news .news-head h2 { font-size:clamp(1.7rem,3vw,2.4rem); font-weight:800; color:#0b2a23; line-height:1.2; margin:0 0 12px; }
.news .news-head p { color:#5b6b66; font-size:16px; line-height:1.6; margin:0; }
.news .news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.news .news-card { background:#fff; border:1px solid #e3efe9; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; padding:0; transition:.25s; }
.news .news-card:hover { border-color:#09735c; box-shadow:0 18px 40px rgba(9,115,92,.08); transform:translateY(-4px); }
.news .nc-img { position:relative; aspect-ratio:16/10; overflow:hidden; }
.news .nc-img img { width:100%; height:100%; object-fit:cover; display:block; }
.news .nc-tag { position:absolute; top:12px; left:12px; background:#fff; color:#075a48; font-size:12px; font-weight:600; padding:5px 12px; border-radius:8px; text-decoration:none; }
.news .nc-body { padding:18px 20px 20px; display:flex; flex-direction:column; gap:10px; flex:1; }
.news .nc-body h4 { font-size:17px; font-weight:700; line-height:1.4; margin:0; }
.news .nc-body h4 a { color:#0b2a23; text-decoration:none; }
.news .nc-body h4 a:hover { color:#09735c; }
.news .nc-excerpt { font-size:14px; color:#5b6b66; line-height:1.6; margin:0; }
.news .nc-link { margin-top:auto; padding-top:4px; color:#09735c; font-weight:600; font-size:14px; display:inline-flex; align-items:center; gap:7px; text-decoration:none; }
.news .nc-link i { transition:.2s; }
.news .news-card:hover .nc-link i { transform:translateX(4px); }
@media(max-width:991px){ .news .news-grid { grid-template-columns:1fr; max-width:480px; } }

/* ---- from home.php (1 block(s)) ---- */
.blog-index { padding: 56px 0 72px; }
.blog-index .kb-head { text-align:center; max-width:640px; margin:0 auto 46px; }
.blog-index .kb-eyebrow { display:inline-flex; align-items:center; gap:7px; background:#e8f7f0; color:#075a48; font-size:13px; font-weight:600; padding:7px 16px; border-radius:999px; margin-bottom:16px; }
.blog-index .kb-eyebrow .dot { width:8px; height:8px; border-radius:50%; background:#09735c; }
.blog-index .kb-head h1 { font-size:clamp(2rem,3.4vw,2.8rem); font-weight:800; color:#0b2a23; line-height:1.15; margin:0 0 14px; }
.blog-index .kb-head p { color:#5b6b66; font-size:16.5px; line-height:1.65; margin:0; }
.blog-index .kb-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; max-width:1180px; margin:0 auto; }
.blog-index .kb-card { background:#fff; border:1px solid #e3efe9; border-radius:18px; overflow:hidden; display:flex; flex-direction:column; transition:.25s; }
.blog-index .kb-card:hover { border-color:#09735c; transform:translateY(-5px); box-shadow:0 20px 44px rgba(9,115,92,.10); }
.blog-index .kb-img { position:relative; aspect-ratio:16/10; overflow:hidden; background:#dfeee8; display:block; }
.blog-index .kb-img img { width:100%; height:100%; object-fit:cover; object-position:center 28%; }
.blog-index .kb-img .kb-noimg { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#9ec7b8; font-size:34px; }
.blog-index .kb-tag { position:absolute; top:12px; left:12px; background:#fff; color:#075a48; font-size:12px; font-weight:600; padding:5px 12px; border-radius:8px; text-decoration:none; }
.blog-index .kb-body { padding:20px 22px 22px; display:flex; flex-direction:column; gap:11px; flex:1; }
.blog-index .kb-meta { display:flex; align-items:center; gap:10px; font-size:12.5px; color:#9aa8a2; }
.blog-index .kb-meta i { color:#09735c; margin-right:4px; }
.blog-index .kb-body h2 { font-size:18px; font-weight:700; line-height:1.4; margin:0; }
.blog-index .kb-body h2 a { color:#0b2a23; text-decoration:none; }
.blog-index .kb-body h2 a:hover { color:#09735c; }
.blog-index .kb-excerpt { font-size:14px; color:#5b6b66; line-height:1.6; margin:0; }
.blog-index .kb-more { margin-top:auto; padding-top:4px; color:#09735c; font-weight:600; font-size:14px; display:inline-flex; align-items:center; gap:7px; text-decoration:none; }
.blog-index .kb-pager { display:flex; justify-content:center; margin-top:48px; }
.blog-index .kb-pager .page-numbers { display:inline-flex; min-width:42px; height:42px; align-items:center; justify-content:center; padding:0 12px; margin:0 4px; border:1px solid #e3efe9; border-radius:10px; color:#0b2a23; text-decoration:none; font-weight:600; }
.blog-index .kb-pager .page-numbers.current { background:#09735c; color:#fff; border-color:#09735c; }
.blog-index .kb-pager a.page-numbers:hover { border-color:#09735c; color:#09735c; }
.blog-index .kb-empty { text-align:center; color:#5b6b66; padding:40px 0; }
@media (max-width:991px){ .blog-index .kb-grid { grid-template-columns:repeat(2,1fr); max-width:640px; } }
@media (max-width:575px){ .blog-index .kb-grid { grid-template-columns:1fr; max-width:400px; } }

/* ---- from single.php (1 block(s)) ---- */
.bs2 { --w:760px; }
.bs2 .container { max-width: 1180px; }
.bs2-hero { padding: 46px 0 30px; }
.bs2-crumb { font-size:13px; color:#8a9b95; margin-bottom:20px; display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.bs2-crumb a { color:#09735c; text-decoration:none; } .bs2-crumb a:hover { text-decoration:underline; }
.bs2-crumb i { font-size:11px; color:#b6c4be; }
.bs2-cat { display:inline-block; background:#e8f7f0; color:#075a48; font-size:12.5px; font-weight:600; padding:6px 14px; border-radius:8px; text-decoration:none; margin-bottom:16px; }
.bs2-title { font-size:clamp(2rem,3.6vw,2.9rem); font-weight:800; color:#0b2a23; line-height:1.16; margin:0 0 18px; max-width:900px; }
.bs2-meta { display:flex; flex-wrap:wrap; gap:18px; color:#8a9b95; font-size:14px; }
.bs2-meta i { color:#09735c; margin-right:6px; }
.bs2-featured { margin:6px 0 0; }
.bs2-featured img { width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center 30%; border-radius:20px; display:block; }
.bs2-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:50px; align-items:start; padding:44px 0 72px; }
.bs2-main { min-width:0; }
.bs2-quick { background:#e8f7f0; border:1px solid #d3ece2; border-radius:16px; padding:22px 26px; margin:0 0 34px; }
.bs2-quick .qk-head { display:flex; align-items:center; gap:9px; font-size:15px; font-weight:700; color:#075a48; margin-bottom:10px; }
.bs2-quick .qk-head i { font-size:19px; }
.bs2-quick p { font-size:15.5px; line-height:1.7; color:#33433d; margin:0 0 12px; }
.bs2-quick .qk-meta { display:flex; flex-wrap:wrap; gap:8px; }
.bs2-quick .qk-chip { display:inline-flex; align-items:center; gap:6px; background:#fff; color:#075a48; font-size:12.5px; font-weight:600; padding:5px 12px; border-radius:8px; }
.bs2-body { font-size:17px; line-height:1.85; color:#3f4d48; }
.bs2-body > :first-child { margin-top:0; }
.bs2-body h2 { font-size:25px; font-weight:700; color:#0b2a23; margin:40px 0 14px; line-height:1.3; scroll-margin-top:110px; }
.bs2-body h3 { font-size:20px; font-weight:700; color:#0b2a23; margin:30px 0 10px; scroll-margin-top:110px; }
.bs2-body p { margin:0 0 18px; }
.bs2-body ul, .bs2-body ol { margin:0 0 20px; padding-left:22px; }
.bs2-body li { margin-bottom:10px; }
.bs2-body a { color:#09735c; } .bs2-body strong { color:#0b2a23; } .bs2-body em { color:#5b6b66; }
.bs2-disc { display:flex; gap:14px; background:#f7f9fb; border:1px solid #e3ebf0; border-radius:14px; padding:18px 20px; margin:40px 0 0; }
.bs2-disc i { color:#b08400; font-size:20px; flex:none; margin-top:1px; }
.bs2-disc div h4 { font-size:14px; font-weight:700; color:#14233b; margin:0 0 5px; }
.bs2-disc div p { font-size:13.5px; line-height:1.65; color:#5b6b7d; margin:0; }
.bs2-cta { margin:32px 0 0; background:linear-gradient(125deg,#0a7a60,#064034); border-radius:20px; padding:34px 36px; color:#fff; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
.bs2-cta .cta-txt h3 { color:#fff; font-size:22px; font-weight:700; margin:0 0 6px; }
.bs2-cta .cta-txt p { color:rgba(255,255,255,.85); font-size:15px; margin:0; }
.bs2-cta a { flex:none; background:#fff; color:#075a48 !important; font-weight:600; font-size:15.5px; padding:14px 28px; border-radius:12px; text-decoration:none; display:inline-flex; align-items:center; gap:9px; transition:.25s; }
.bs2-cta a:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,0,0,.22); }
.bs2-back { margin-top:30px; }
.bs2-back a { display:inline-flex; align-items:center; gap:8px; color:#09735c; font-weight:600; text-decoration:none; }
/* sidebar */
.bs2-side { position:sticky; top:96px; display:flex; flex-direction:column; gap:22px; }
.bs2-toc { background:#fff; border:1px solid #e3efe9; border-radius:16px; overflow:hidden; }
.bs2-toc > summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:16px 20px; font-size:14.5px; font-weight:700; color:#0b2a23; }
.bs2-toc > summary::-webkit-details-marker { display:none; }
.bs2-toc > summary .chev { transition:.2s; color:#09735c; }
.bs2-toc[open] > summary .chev { transform:rotate(180deg); }
.bs2-toc ol { list-style:none; margin:0; padding:0 14px 14px; }
.bs2-toc li { margin:0; }
.bs2-toc a { display:block; padding:7px 12px; border-radius:8px; font-size:13.5px; line-height:1.45; color:#5b6b66; text-decoration:none; border-left:2px solid transparent; transition:.15s; }
.bs2-toc a:hover { background:#f3faf7; color:#09735c; }
.bs2-toc a.lvl3 { padding-left:24px; font-size:13px; }
.bs2-toc a.active { color:#09735c; font-weight:600; background:#eef8f3; border-left-color:#09735c; }
.bs2-sidecta { background:#0b2a23; border-radius:16px; padding:24px; color:#fff; }
.bs2-sidecta h4 { color:#fff; font-size:17px; font-weight:700; margin:0 0 8px; }
.bs2-sidecta p { color:rgba(255,255,255,.8); font-size:13.5px; line-height:1.6; margin:0 0 16px; }
.bs2-sidecta a { display:inline-flex; align-items:center; gap:8px; background:#09735c; color:#fff; font-weight:600; font-size:14px; padding:11px 20px; border-radius:10px; text-decoration:none; }
.bs2-sidecta a:hover { background:#0a8a6e; }
/* related */
.bs2-related { background:#e8f7f0; padding:60px 0; }
.bs2-related h2 { text-align:center; font-size:26px; font-weight:800; color:#0b2a23; margin:0 0 34px; }
.bs2-rgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1100px; margin:0 auto; }
.bs2-rcard { background:#fff; border:1px solid #e3efe9; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:.25s; }
.bs2-rcard:hover { border-color:#09735c; transform:translateY(-4px); box-shadow:0 18px 40px rgba(9,115,92,.08); }
.bs2-rimg { aspect-ratio:16/10; overflow:hidden; background:#dfeee8; }
.bs2-rimg img { width:100%; height:100%; object-fit:cover; object-position:center 28%; }
.bs2-rbody { padding:18px 20px 20px; }
.bs2-rbody h3 { font-size:16.5px; font-weight:700; line-height:1.4; margin:0; }
.bs2-rbody h3 a { color:#0b2a23; text-decoration:none; } .bs2-rbody h3 a:hover { color:#09735c; }
@media (max-width:991px) {
  .bs2-layout { grid-template-columns:1fr; gap:28px; padding:30px 0 56px; }
  .bs2-side { position:static; order:-1; }
  .bs2-sidecta { display:none; }
  .bs2-toc { background:#f7fbfa; }
  .bs2-featured img { aspect-ratio:16/9; }
  .bs2-related { padding:46px 0; } .bs2-rgrid { grid-template-columns:repeat(2,1fr); max-width:640px; }
  .bs2-cta { flex-direction:column; align-items:flex-start; padding:26px; }
}
@media (max-width:575px) {
  .bs2-hero { padding:30px 0 22px; }
  .bs2-body { font-size:16px; } .bs2-body h2 { font-size:22px; } .bs2-body h3 { font-size:18px; }
  .bs2-quick { padding:18px 18px; } .bs2-cta { padding:22px; } .bs2-cta a { width:100%; justify-content:center; }
  .bs2-rgrid { grid-template-columns:1fr; max-width:380px; }
}

/* ---- from page-contact.php (1 block(s)) ---- */
.contact-page { padding: 56px 0 78px; }
.contact-page .cp-head { text-align:center; max-width:640px; margin:0 auto 50px; }
.contact-page .cp-eyebrow { display:inline-flex; align-items:center; gap:7px; background:#e8f7f0; color:#075a48; font-size:13px; font-weight:600; padding:7px 16px; border-radius:999px; margin-bottom:16px; }
.contact-page .cp-eyebrow .dot { width:8px; height:8px; border-radius:50%; background:#09735c; }
.contact-page .cp-head h1 { font-size:clamp(2rem,3.4vw,2.8rem); font-weight:800; color:#0b2a23; line-height:1.15; margin:0 0 14px; }
.contact-page .cp-head p { color:#5b6b66; font-size:16.5px; line-height:1.65; margin:0; }
.contact-page .cp-layout { display:grid; grid-template-columns:0.82fr 1.18fr; gap:48px; align-items:start; max-width:1100px; margin:0 auto; }
.contact-page .cp-item { display:flex; gap:16px; margin-bottom:24px; }
.contact-page .cp-icon { flex:none; width:48px; height:48px; border-radius:14px; background:#e8f7f0; display:flex; align-items:center; justify-content:center; }
.contact-page .cp-icon i { font-size:21px; color:#09735c; }
.contact-page .cp-item h4 { font-size:15.5px; font-weight:700; color:#0b2a23; margin:2px 0 4px; }
.contact-page .cp-item p { font-size:14.5px; color:#5b6b66; margin:0; line-height:1.55; }
.contact-page .cp-item a { color:#09735c; text-decoration:none; }
.contact-page .cp-item a:hover { text-decoration:underline; }
.contact-page .cp-note { display:flex; gap:11px; background:#e8f7f0; border-radius:12px; padding:16px 18px; font-size:13.5px; color:#0b2a23; line-height:1.55; margin-top:6px; }
.contact-page .cp-note i { color:#09735c; font-size:18px; flex:none; margin-top:1px; }
.contact-page .cp-form { background:#fff; border:1px solid #e3efe9; border-radius:18px; padding:36px; box-shadow:0 18px 50px rgba(9,115,92,.07); }
.contact-page .cp-form h3 { font-size:21px; font-weight:700; color:#0b2a23; margin:0 0 22px; }
.contact-page .cf7-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-page .cf7-f { margin:0 0 18px; }
.contact-page .cf7-f label { display:block; font-weight:600; font-size:14px; color:#0b2a23; margin-bottom:7px; }
.contact-page .wpcf7 input[type=text], .contact-page .wpcf7 input[type=email], .contact-page .wpcf7 textarea {
  width:100%; border:1px solid #d9e6e0; border-radius:10px; padding:12px 15px; font-size:15px; color:#0b2a23; background:#fbfdfc; transition:.2s; font-family:inherit; }
.contact-page .wpcf7 input:focus, .contact-page .wpcf7 textarea:focus { border-color:#09735c; outline:none; background:#fff; box-shadow:0 0 0 3px rgba(9,115,92,.12); }
.contact-page .wpcf7 textarea { resize:vertical; min-height:130px; }
.contact-page .cf7-consent { font-size:13px; color:#5b6b66; display:flex; align-items:flex-start; gap:4px; }
.contact-page .cf7-submit input[type=submit] { background:#09735c; color:#fff; border:none; padding:14px 34px; border-radius:12px; font-weight:600; font-size:15.5px; cursor:pointer; transition:.25s; }
.contact-page .cf7-submit input[type=submit]:hover { background:#075a48; transform:translateY(-2px); box-shadow:0 12px 28px rgba(9,115,92,.25); }
.contact-page .wpcf7-not-valid-tip { color:#c0392b; font-size:13px; margin-top:4px; }
.contact-page .wpcf7 .wpcf7-response-output { border-radius:10px; margin:18px 0 0; padding:12px 16px; font-size:14px; }
@media (max-width:991px){ .contact-page .cp-layout { grid-template-columns:1fr; gap:34px; } .contact-page .cp-form { padding:26px; } .contact-page .cf7-grid { grid-template-columns:1fr; gap:0; } }

/* ---- from extra-cat-page-guide.php (1 block(s)) ---- */
.guide-page { padding: 28px 0 50px; }

/* HERO */
.guide-hero {
    display: grid;
    grid-template-columns: 1.25fr 0.85fr;
    align-items: center;
    gap: 20px;
    background: linear-gradient(135deg, #effaf6 0%, #ffffff 100%);
    border: 1px solid #d7ede6;
    border-radius: 18px;
    padding: 26px 30px;
    margin-bottom: 28px;
}
.guide-hero h1 { font-size: 34px; font-weight: 700; color: var(--text-dark, #14233b); margin: 10px 0 12px; line-height: 1.15; }
.guide-hero-intro { font-size: 16px; line-height: 1.7; color: var(--text-soft, #5b6b7d); max-width: 62ch; }
.guide-hero-intro p:last-child { margin-bottom: 0; }
.guide-hero-media { text-align: right; }
.guide-hero-media img { width: 100%; max-width: 340px; height: auto; float:right; }

/* LAYOUT */
.guide-grid { display: grid; grid-template-columns: 270px 1fr; gap: 34px; align-items: start; }

/* SIDEBAR */
.guide-sidebar { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 16px; }
.guide-toc { border: 1px solid #e5eef3; border-radius: 14px; overflow: hidden; background: #fff; }
.guide-toc-head { background: #f6faf9; padding: 12px 16px; font-size: 13px; font-weight: 600; color: var(--text-soft, #5b6b7d); border-bottom: 1px solid #e5eef3; }
.guide-toc-head i { color: var(--primary); margin-right: 6px; }
.guide-toc ul { list-style: none; margin: 0; padding: 8px; }
.guide-toc a { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 9px; font-size: 14.5px; color: var(--text-dark, #14233b); text-decoration: none; transition: .2s; }
.guide-toc a:hover { background: #f1f7f5; }
.guide-toc a.active { background: #e7f4ef; color: var(--primary); font-weight: 600; }
.guide-toc a i { font-size: 13px; color: var(--primary); }

.guide-cta { background: var(--primary); border-radius: 14px; padding: 16px 18px; color: #fff; }
.guide-cta-title { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.guide-cta p { font-size: 13px; opacity: .85; margin: 0 0 12px; }
.guide-cta a { display: block; text-align: center; background: #fff; color: var(--primary); font-size: 14px; font-weight: 600; padding: 9px; border-radius: 9px; text-decoration: none; }

/* CONTENT — auto styling of the writer's content */
.guide-content .page-content { font-size: 16px; line-height: 1.8; color: #34434f; }
.guide-content .page-content > p:first-of-type { font-size: 18px; line-height: 1.7; color: #2b3a4b; }
.guide-content .page-content h2 {
    font-size: 23px; font-weight: 700; color: var(--text-dark, #14233b);
    margin: 34px 0 14px; padding-left: 14px; border-left: 4px solid var(--primary); line-height: 1.25;
}
.guide-content .page-content h3 { font-size: 18px; font-weight: 600; color: #075a48; margin: 24px 0 10px; }
.guide-content .page-content ul { list-style: none; padding-left: 4px; margin: 0 0 18px; }
.guide-content .page-content ul li { position: relative; padding-left: 26px; margin-bottom: 9px; }
.guide-content .page-content ul li::before {
    content: ""; position: absolute; left: 4px; top: 11px; width: 8px; height: 8px;
    border-radius: 50%; background: var(--primary);
}
.guide-content .page-content ol { padding-left: 20px; margin: 0 0 18px; }
.guide-content .page-content ol li { margin-bottom: 9px; }
.guide-content .page-content a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
.guide-content .page-content blockquote {
    margin: 22px 0; padding: 16px 20px; background: #f1f8f5; border-left: 4px solid var(--primary);
    border-radius: 0 10px 10px 0; font-style: normal; color: #2b3a4b;
}
.guide-content .page-content img { max-width: 100%; height: auto; border-radius: 12px; }
.guide-content .page-content table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 15px; }
.guide-content .page-content th { background: #eef7f3; color: #075a48; text-align: left; padding: 11px 14px; border: 1px solid #dcebe5; font-weight: 600; }
.guide-content .page-content td { padding: 11px 14px; border: 1px solid #e6eeea; }

/* OPTIONAL HIGHLIGHT BLOCKS ([highlight type=""]) */
.hl-box { border-radius: 12px; padding: 16px 18px; margin: 22px 0; border: 1px solid transparent; }
.hl-box .hl-title { font-size: 15px; font-weight: 700; margin-bottom: 7px; display: flex; align-items: center; gap: 8px; }
.hl-box .hl-body > :last-child { margin-bottom: 0; }
.hl-info { background: #eef6fb; border-color: #d3e7f4; }
.hl-info .hl-title { color: #185fa5; }
.hl-key { background: #e9f5f0; border-color: #cfe9df; }
.hl-key .hl-title { color: #075a48; }
.hl-tip { background: #fdf6e7; border-color: #f3e4c0; }
.hl-tip .hl-title { color: #854f0b; }
.hl-waarschuwing { background: #fcecec; border-color: #f4cccc; }
.hl-waarschuwing .hl-title { color: #a32d2d; }

/* Simple reusable highlight for a set of paragraphs: <div class="guide-highlight">…</div> */
.guide-content .guide-highlight {
    background: #e9f5f0; border: 1px solid #cfe9df; border-left: 4px solid var(--primary);
    border-radius: 0 12px 12px 0; padding: 16px 20px; margin: 22px 0;
}
.guide-content .guide-highlight > :last-child { margin-bottom: 0; }

/* RELATED CARDS */
.related-block { margin-top: 38px; }
.related-title { font-size: 16px; font-weight: 700; color: var(--text-dark, #14233b); margin-bottom: 14px; display: flex; align-items: center; gap: 8px; }
.related-title i { color: var(--primary); }
.related-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.related-card { position: relative; display: flex; align-items: center; gap: 12px; border: 1px solid #e5eef3; border-radius: 14px; padding: 14px 40px 14px 14px; text-decoration: none; background: #fff; transition: .25s; }
.related-card:hover { border-color: var(--primary); transform: translateY(-3px); box-shadow: 0 12px 26px rgba(9,115,92,.10); }
.rc-ico { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; background: #e7f4ef; display: flex; align-items: center; justify-content: center; }
.rc-ico i { font-size: 20px; color: var(--primary); }
.rc-title { display: block; font-size: 15px; font-weight: 600; color: var(--text-dark, #14233b); line-height: 1.2; }
.rc-sub { display: block; font-size: 12.5px; color: var(--text-soft, #8595a4); margin-top: 2px; }
.rc-go { position: absolute; top: 50%; right: 15px; transform: translateY(-50%); color: #c4d2da; font-size: 16px; transition: .25s; }
.related-card:hover .rc-go { color: var(--primary); right: 12px; }

/* PREMIUM ED PRODUCT GRID (pillar pages) */
.guide-content .page-content .ed-products { margin: 32px 0; }
.guide-content .page-content .ed-products-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.guide-content .page-content .ed-products-head h2 { margin: 0; padding: 0; border-left: 0; font-size: 22px; font-weight: 700; color: var(--text-dark, #14233b); }
.guide-content .page-content .ed-products a { text-decoration: none; }
.ed-products-all { font-size: 14px; font-weight: 600; color: var(--primary); white-space: nowrap; }
.ed-products-all:hover { text-decoration: underline !important; }
.ed-products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 16px; }
.ed-card { display: flex; flex-direction: column; border: 1px solid #e5eef3; border-radius: 16px; background: #fff; overflow: hidden; transition: .25s; }
.ed-card:hover { border-color: var(--primary); transform: translateY(-4px); box-shadow: 0 16px 34px rgba(9,115,92,.12); }
.ed-card-media { position: relative; display: block; padding: 16px; background: #f6faf9; text-align: center; }
.ed-card-media img { max-width: 100%; height: 140px; object-fit: contain; }
.ed-card-badge { position: absolute; top: 10px; left: 10px; background: #e7f4ef; color: #075a48; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 20px; }
.ed-card-body { display: flex; flex-direction: column; gap: 6px; padding: 14px; flex: 1; }
.ed-card-name { font-size: 15px; font-weight: 700; color: var(--text-dark, #14233b); line-height: 1.25; }
.ed-card-name:hover { color: var(--primary); }
.ed-card-dose { font-size: 12.5px; color: var(--text-soft, #8595a4); }
.ed-card-dose i { color: var(--primary); }
.ed-card-price { font-size: 16px; font-weight: 700; color: #075a48; margin-top: 2px; }
.ed-card-price .woocommerce-Price-amount, .ed-card-price ins { color: #075a48; }
.ed-card-price del { color: #9bb0aa; font-weight: 400; font-size: 13px; }
.ed-card-btn { margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; background: var(--primary); color: #fff !important; font-size: 13.5px; font-weight: 600; padding: 10px; border-radius: 10px; transition: .2s; }
.ed-card-btn:hover { background: #075a48; }
@media (max-width: 600px) { .ed-products-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } .ed-card-media img { height: 110px; } }

/* DISCLAIMER PANEL */
.med-disclaimer { background: #f7f9fb; border: 1px solid #e3ebf0; border-radius: 14px; padding: 16px 20px; margin: 34px 0 0; }
.med-disclaimer-head { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--text-dark, #14233b); margin-bottom: 8px; }
.med-disclaimer-head i { color: #b08400; font-size: 17px; }
.med-disclaimer-body { font-size: 13.5px; line-height: 1.65; color: var(--text-soft, #5b6b7d); }
.med-disclaimer-body :is(h1,h2,h3,h4) { display: none; }
.med-disclaimer-body :last-child { margin-bottom: 0; }

/* REVIEWER */
.reviewer-line { display: flex; align-items: center; gap: 8px; margin: 18px 0 0; font-size: 13.5px; color: var(--text-soft, #5b6b7d); }
.reviewer-line i { color: var(--primary); font-size: 16px; }
.reviewer-line strong { color: var(--text-dark, #14233b); font-weight: 600; }

/* REFERENCES */
.refs-panel { margin-top: 22px; border: 1px solid #e5eef3; border-radius: 14px; overflow: hidden; }
.refs-head { background: #f6faf9; padding: 11px 16px; font-size: 13.5px; font-weight: 700; color: var(--text-dark, #14233b); border-bottom: 1px solid #e5eef3; }
.refs-head i { color: var(--primary); margin-right: 6px; }
.references-box { padding: 6px 16px 12px; counter-reset: ref; }
.references-box :is(h1,h2,h3,h4) { display: none; }
.references-box a, .references-box p { display: block; position: relative; padding: 9px 0 9px 28px; margin: 0; font-size: 14px; color: var(--primary); text-decoration: none; border-bottom: 1px solid #eef3f1; line-height: 1.5; }
.references-box a:last-child, .references-box p:last-child { border-bottom: 0; }
.references-box a::before, .references-box p::before { counter-increment: ref; content: counter(ref); position: absolute; left: 0; top: 9px; width: 18px; height: 18px; border-radius: 50%; background: #e7f4ef; color: #075a48; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.references-box a:hover { text-decoration: underline; }

@media (max-width: 991px) {
    .guide-hero { grid-template-columns: 1fr; }
    .guide-hero-media { display: none; }
    .guide-grid { grid-template-columns: 1fr; }
    .guide-sidebar { position: static; }
    .guide-hero h1 { font-size: 27px; }
}

/* ---- from woocommerce\single-product.php (1 block(s)) ---- */
/* Premium Variation Buttons */
    .btn-add-main {
        width: 100%;
        height: 56px;
        border: none;
        border-radius: 12px;
        background: #09735c;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        transition: .3s;
        box-shadow: 0 10px 25px rgba(9, 115, 92, .28);
    }

    .btn-add-main:hover {
        transform: translateY(-2px);
        background: #075a48;
        box-shadow: 0 15px 35px rgba(9, 115, 92, .38);
    }

    .variant-options {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .variant-btn {
        min-width: 70px;
        height: 42px;
        padding: 0 12px;
        border: 1px solid #d9dee7;
        border-radius: 10px;
        background: #fff;
        cursor: pointer;
        font-weight: 600;
        transition: .25s;
    }

    .variant-btn:hover {
        border-color: #09735c;
    }

    .variant-btn.active {
        background: #09735c;
        color: #fff;
        border-color: #09735c;
    }

    .selected-price {
        font-size: 38px;
        font-weight: 700;
        margin: 20px 0 4px;
        color: #09735c;
    }

    .price-per-unit {
        font-size: 14px;
        color: #6b7280;
        font-weight: 600;
        margin: 0 0 14px;
        min-height: 18px;
    }

    .stock-line {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 13px;
        font-weight: 600;
        color: #0f7a4f;
        background: #e9f9f1;
        border: 1px solid #c7efdb;
        border-radius: 10px;
        padding: 9px 12px;
        margin-bottom: 16px;
    }

    .stock-line i {
        font-size: 15px;
    }

    .wc-hidden-form {
        position: absolute;
        left: -9999px;
        top: -9999px;
        opacity: 0;
    }

    /* Single-option variant attributes (e.g. one "Kracht") are hidden but still auto-selected */
    .variant-group-hidden { display: none !important; }

    /* 4 trust cards in a 2x2 grid directly under the product image */
    .nlProduct_page .feat-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-top: 16px;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        overflow: hidden;
    }
    .nlProduct_page .feat-grid .feat-item {
        flex: none;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        text-align: center;
        padding: 16px 10px;
        border-right: 1px solid #eef0f3;
        border-bottom: 1px solid #eef0f3;
        font-size: 12px;
        color: #475569;
    }
    .nlProduct_page .feat-grid .feat-item b { color: #0b1f33; }
    .nlProduct_page .feat-grid .feat-item i { font-size: 19px; }
    .nlProduct_page .feat-grid .feat-item:nth-child(2n) { border-right: 0; }
    .nlProduct_page .feat-grid .feat-item:nth-child(n+3) { border-bottom: 0; }

/* ---- from page-category-template.php (1 block(s)) ---- */
.toc-active {
        color: var(--primary);
        font-weight: 600;
    }

/* ---- from inc\faq-repeater.php (1 block(s)) ---- */
.faq-row{
    display:flex;
    gap:20px;
    border:1px solid #ddd;
    padding:15px;
    margin-bottom:15px;
    background:#fafafa;
    align-items:flex-start;
}

.faq-question{
    width:40%;
}

.faq-answer{
    width:60%;
}

.faq-question input,
.faq-answer textarea{
    width:100%;
}

.faq-remove{
    margin-top:10px;
}

/* ---- from footer.php (1 block(s)) ---- */
@media (max-width: 1199.98px) {
  /* layout: cart on the LEFT, logo centre, hamburger on the RIGHT */
  .site-header .header-inner { gap: 10px; }
  .site-header .header-inner > div { order: 1 !important; }
  .site-header .header-inner > .site-logo,
  .site-header .header-inner > .custom-logo-link { order: 2 !important; }
  .site-header .header-inner > .navbar { order: 3 !important; }
  /* compact cart: icon + count badge */
  .add-to-cart-btn { position: relative !important; padding: 9px 11px !important; gap: 0 !important; }
  .add-to-cart-btn i { font-size: 20px; }
  .add-to-cart-btn > div > strong { font-size: 0 !important; line-height: 0; }
  .add-to-cart-btn #cartCountDesktop { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 4px; background: #09735c; color: #fff !important; font-size: 11px; font-weight: 700; border-radius: 999px; display: flex; align-items: center; justify-content: center; line-height: 1; box-sizing: border-box; }
  /* hamburger that turns into an X when open */
  .navbar-toggler { border: 1px solid #d9e6e0 !important; border-radius: 9px !important; padding: 6px 9px !important; }
  .navbar-toggler:focus { box-shadow: none !important; }
  .navbar-toggler .navbar-toggler-icon { width: 24px; height: 24px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2309735c' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='4' y1='7' x2='20' y2='7'/%3E%3Cline x1='4' y1='12' x2='20' y2='12'/%3E%3Cline x1='4' y1='17' x2='20' y2='17'/%3E%3C/svg%3E") !important; }
  .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2309735c' stroke-width='2.4' stroke-linecap='round'%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3C/svg%3E") !important; }
  .site-header { position: relative; }
  .site-header .navbar { position: static; }
  .navbar-collapse { position:absolute !important; top:100% !important; left:0 !important; right:0 !important; width:100% !important; background:#fff !important; box-shadow:0 16px 40px rgba(0,0,0,.12); border-top:1px solid #eef3f1; max-height:calc(100vh - 130px); overflow-y:auto; z-index:1050; padding:8px 20px 18px !important; }
  .navbar-collapse .navbar-nav { width:100% !important; margin:0 !important; }
  .navbar-nav .mega-menu .mega-inner { width:100% !important; padding:0 !important; max-width:none !important; }
  .navbar-nav > .nav-item { border-bottom: 1px solid #eef3f1; }
  .navbar-nav > .nav-item > .nav-link { padding: 13px 6px !important; font-weight: 600; color:#0b2a23 !important; display:flex !important; align-items:center; justify-content:space-between; }
  .navbar-nav .dropdown-menu, .navbar-nav .mega-menu {
    display:none !important; position:static !important; transform:none !important; float:none;
    width:100% !important; min-width:0 !important; border:none !important; box-shadow:none !important;
    background:transparent !important; padding:0 0 8px 12px !important; margin:0 !important;
    visibility:visible !important; opacity:1 !important; height:auto !important; max-height:none !important;
  }
  .navbar-nav .nav-item.mob-open > .dropdown-menu, .navbar-nav .nav-item.mob-open > .mega-menu { display:block !important; }
  .navbar-nav .nav-item.mob-open > .dropdown-toggle::after { transform: rotate(180deg); }
  .navbar-nav .dropdown-item { visibility:visible !important; padding:8px 10px 8px 26px !important; background-position:2px center !important; font-size:14.5px !important; white-space:normal !important; color:#0b2a23 !important; }
  .navbar-nav .mega-menu .mega-cols { display:block !important; }
  .navbar-nav .mega-menu .mega-col { width:100% !important; margin-bottom:6px; }
  .navbar-nav .mega-menu .mega-col-head { font-weight:700; display:flex; align-items:center; gap:8px; padding:8px 0; color:#0b2a23; }
  .navbar-nav .mega-menu .mega-col ul { list-style:none; padding-left:10px; margin:0; }
  .navbar-nav .mega-menu .mega-col ul li a { display:block; padding:6px 4px; font-size:14px; color:#5b6b66; text-decoration:none; }
  .navbar-nav .mega-menu .mega-foot { padding:8px 0; }
}

.woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last{ width:100%;}
/* ============================================================
   THANKYOU / ORDER-RECEIVED PAGE (premium)
   ============================================================ */
.ty-page { background: #f6f8fb; padding: 40px 0 64px; }
.ty-page .container { max-width: 920px; }
.ty-hero { text-align: center; background: #fff; border: 1px solid #e7ecf3; border-radius: 20px; box-shadow: 0 12px 40px rgba(16,42,67,.07); padding: 40px 28px 30px; margin-bottom: 22px; }
.ty-badge { width: 76px; height: 76px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 38px; color: #fff; margin: 0 auto 18px; }
.ty-badge--ok { background: #09735c; box-shadow: 0 10px 26px rgba(9,115,92,.32); }
.ty-badge--fail { background: #dc2626; box-shadow: 0 10px 26px rgba(220,38,38,.28); }
.ty-received p { font-size: 22px; font-weight: 800; color: #0b1f33; margin: 0; line-height: 1.3; }
.ty-received .woocommerce-notice { display: block !important; background: none !important; padding: 0 !important; border: 0 !important; }
.ty-received .woocommerce-notice::before { display: none !important; }
.ty-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #eef2f6; }
.ty-trust span { font-size: 13px; font-weight: 600; color: #475569; display: inline-flex; align-items: center; gap: 7px; }
.ty-trust i { color: #09735c; }
.ty-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.ty-card { background: #fff; border: 1px solid #e7ecf3; border-radius: 18px; box-shadow: 0 8px 30px rgba(16,42,67,.05); padding: 22px 24px; }
.ty-card-head { display: flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 800; color: #0b1f33; margin-bottom: 16px; }
.ty-card-head i { color: #09735c; }
.ty-overview { display: block !important; list-style: none; margin: 0; padding: 0; }
.ty-overview li { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px dashed #eceff3; font-size: 14.5px; }
.ty-overview li:last-child { border-bottom: 0; }
.ty-overview li span { color: #6b7280; }
.ty-overview li strong { color: #0b1f33; font-weight: 700; text-align: right; }
.ty-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ty-steps li { display: flex; gap: 13px; padding: 9px 0; }
.ty-step-n { flex: none; width: 28px; height: 28px; border-radius: 50%; background: #e8f7f0; color: #075a48; font-weight: 800; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; }
.ty-steps strong { display: block; font-size: 14.5px; color: #0b1f33; }
.ty-steps p { margin: 2px 0 0; font-size: 13px; color: #6b7280; line-height: 1.5; }
.ty-payment-hook:not(:empty) { background: #fff; border: 1px solid #e7ecf3; border-radius: 18px; box-shadow: 0 8px 30px rgba(16,42,67,.05); padding: 22px 24px; margin-bottom: 18px; }
.ty-payment-hook:empty { display: none; }
.ty-details { padding: 24px; }
.ty-details h2 { font-size: 18px; font-weight: 800; color: #0b1f33; margin: 0 0 14px; }
.ty-details table.woocommerce-table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.ty-details table.woocommerce-table th, .ty-details table.woocommerce-table td { padding: 11px 12px; border-bottom: 1px solid #eef2f6; font-size: 14px; text-align: left; }
.ty-details table.woocommerce-table th { color: #6b7280; font-weight: 600; }
.ty-details .woocommerce-customer-details address { font-style: normal; font-size: 14px; color: #334155; line-height: 1.7; background: #f8fafc; border-radius: 12px; padding: 14px 16px; border: 1px solid #eef2f6; }
.ty-footer-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 22px; }
.ty-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: 12px; font-weight: 700; font-size: 15px; text-decoration: none; transition: .2s; }
.ty-btn--primary { background: #09735c; color: #fff; }
.ty-btn--primary:hover { background: #075a48; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(9,115,92,.25); }
.ty-btn--ghost { background: #fff; color: #09735c; border: 1px solid #cfe9df; }
.ty-btn--ghost:hover { background: #f3fbf8; }
@media (max-width: 767px) { .ty-grid, .ty-steps { grid-template-columns: 1fr; } .ty-hero { padding: 32px 20px 24px; } }
/* thankyou overview: kill the global check.png bleed on list items */
.ty-overview li, .ty-overview li > span, .ty-overview li > strong { background-image: none !important; padding-left: 0 !important; margin: 0; }
.ty-overview li::before, .ty-overview li::after { content: none !important; display: none !important; }
.ty-details .woocommerce-order-details table td, .ty-details .woocommerce-order-details table th { background-image: none !important; padding-left: 12px !important; }
.ty-payment-hook li, .ty-payment-hook td, .ty-payment-hook th { background-image: none !important; }
/* ============================================================
   404 PAGE (premium)
   ============================================================ */
.e404 { background: #f6f8fb; padding: 60px 0 80px; }
.e404 .container { max-width: 720px; }
.e404-card { background: #fff; border: 1px solid #e7ecf3; border-radius: 24px; box-shadow: 0 18px 50px rgba(16,42,67,.08); padding: 50px 40px; text-align: center; }
.e404-big { font-size: clamp(80px, 16vw, 140px); font-weight: 900; line-height: 1; background: linear-gradient(135deg, #09735c, #7fe3c4); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 6px; }
.e404-title { font-size: 28px; font-weight: 800; color: #0b1f33; margin: 0 0 12px; }
.e404-text { font-size: 16px; color: #5b6b7d; line-height: 1.65; margin: 0 auto 28px; max-width: 480px; }
.e404-search { display: flex; align-items: center; gap: 10px; background: #f8fafc; border: 1px solid #d9e6e0; border-radius: 14px; padding: 5px 5px 5px 16px; max-width: 480px; margin: 0 auto 26px; }
.e404-search i { color: #09735c; }
.e404-search input { flex: 1; border: 0; background: transparent; font-size: 15px; color: #0b1f33; outline: none; padding: 11px 0; }
.e404-search button { background: #09735c; color: #fff; border: 0; border-radius: 10px; padding: 11px 22px; font-weight: 700; font-size: 14.5px; cursor: pointer; transition: .2s; }
.e404-search button:hover { background: #075a48; }
.e404-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-bottom: 28px; }
.e404-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 24px; border-radius: 12px; font-weight: 700; font-size: 15px; text-decoration: none; transition: .2s; }
.e404-btn--primary { background: #09735c; color: #fff; }
.e404-btn--primary:hover { background: #075a48; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(9,115,92,.25); }
.e404-btn--ghost { background: #fff; color: #09735c; border: 1px solid #cfe9df; }
.e404-btn--ghost:hover { background: #f3fbf8; }
.e404-links { font-size: 14px; color: #6b7280; padding-top: 22px; border-top: 1px solid #eef2f6; }
.e404-links span { font-weight: 700; margin-right: 4px; color: #0b1f33; }
.e404-links a { color: #09735c; text-decoration: none; margin: 0 8px; font-weight: 600; }
.e404-links a:hover { text-decoration: underline; }
@media (max-width: 575px) { .e404-card { padding: 36px 22px; } }

/* ============================================================
   EMPTY CART (premium)
   ============================================================ */
.empty-cart { text-align: center; background: #fff; border: 1px solid #e7ecf3; border-radius: 20px; box-shadow: 0 12px 40px rgba(16,42,67,.06); padding: 48px 30px; max-width: 560px; margin: 12px auto 36px; }
.empty-cart .ec-icon { width: 84px; height: 84px; border-radius: 50%; background: #e8f7f0; color: #09735c; font-size: 38px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.empty-cart h2 { font-size: 24px; font-weight: 800; color: #0b1f33; margin: 0 0 10px; }
.empty-cart p { font-size: 15.5px; color: #5b6b7d; line-height: 1.65; margin: 0 auto 24px; max-width: 410px; }
.empty-cart .ec-btn { display: inline-flex; align-items: center; gap: 8px; background: #09735c; color: #fff; padding: 13px 28px; border-radius: 12px; font-weight: 700; font-size: 15px; text-decoration: none; transition: .2s; }
.empty-cart .ec-btn:hover { background: #075a48; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(9,115,92,.25); }
.empty-cart .ec-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 22px; margin-top: 28px; padding-top: 22px; border-top: 1px solid #eef2f6; }
.empty-cart .ec-trust span { font-size: 13px; font-weight: 600; color: #475569; display: inline-flex; align-items: center; gap: 7px; }
.empty-cart .ec-trust i { color: #09735c; }
/* ============================================================
   SEARCH RESULTS / NO RESULTS
   ============================================================ */
.search-results .e404-search { margin: 0 auto 38px; }
.kb-noresults { text-align: center; padding: 16px 0 40px; }
.kb-noresults .ec-icon { width: 84px; height: 84px; border-radius: 50%; background: #e8f7f0; color: #09735c; font-size: 36px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.kb-noresults p { color: #5b6b7d; font-size: 16px; margin-bottom: 18px; }
.kb-noresults .e404-links { border-top: 0; display: inline-block; padding-top: 0; }