.elementor-kit-3730{--e-global-color-primary:#2F4FA1;--e-global-color-secondary:#2FB7A3;--e-global-color-text:#1F2933;--e-global-color-accent:#F7FAFC;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-3730 button,.elementor-kit-3730 input[type="button"],.elementor-kit-3730 input[type="submit"],.elementor-kit-3730 .elementor-button{background-color:var( --e-global-color-secondary );color:var( --e-global-color-accent );}.elementor-kit-3730 button:hover,.elementor-kit-3730 button:focus,.elementor-kit-3730 input[type="button"]:hover,.elementor-kit-3730 input[type="button"]:focus,.elementor-kit-3730 input[type="submit"]:hover,.elementor-kit-3730 input[type="submit"]:focus,.elementor-kit-3730 .elementor-button:hover,.elementor-kit-3730 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-accent );}.elementor-kit-3730 e-page-transition{background-color:#FFBC7D;}.elementor-kit-3730 h1{color:var( --e-global-color-primary );}.elementor-kit-3730 h2{color:var( --e-global-color-primary );}.elementor-kit-3730 h3{color:var( --e-global-color-primary );}.elementor-kit-3730 h4{color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =================================================
   GLOBAL DESIGN TOKENS
   (TYPOGRAPHY + COLOR + SPACING + BUTTON + CARD)
   ================================================= */

:root {

  /* -------- COLORS -------- */
  --color-primary: #2F4FA1;     /* Medical Blue */
  --color-accent: #2FB7A3;      /* Ayurvedic Green */
  --color-bg-soft: #f9f9f9;
  --color-text-dark: #333;
  --color-text-muted: #777;
  --color-white: #ffffff;
  --color-border-soft: rgba(0, 0, 0, 0.08);

  /* -------- FONT WEIGHTS -------- */
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;

  /* -------- TYPOGRAPHY (DESKTOP) -------- */
  --h1-size: 28px;
  --h2-main: 22px;
  --h2-sub: 18px;
  --text-body: 14.5px;
  --text-small: 13.5px;

  /* -------- LINE HEIGHT -------- */
  --line-normal: 1.7;

  /* -------- SPACING -------- */
  --space-xs: 6px;
  --space-sm: 10px;
  --space-md: 18px;
  --space-lg: 26px;
  --space-xl: 40px;

  /* -------- CARD TOKENS -------- */
  --card-bg: #ffffff;
  --card-radius: 14px;
  --card-padding: var(--space-lg);
  --card-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  --card-border: 1px solid var(--color-border-soft);

  /* -------- BUTTON TOKENS -------- */
  --btn-radius: 30px;
  --btn-padding-y: 10px;
  --btn-padding-x: 22px;
  --btn-font-size: 14px;
  --btn-font-weight: var(--font-medium);
}

/* -------- MOBILE OVERRIDES -------- */
@media (max-width: 768px) {
  :root {
    --h1-size: 22px;
    --h2-main: 20px;
    --h2-sub: 17px;
    --text-body: 14px;
    --text-small: 13px;

    --space-md: 16px;
    --space-lg: 22px;
    --space-xl: 30px;

    --card-padding: var(--space-md);
  }
}

/* =================================================
   GLOBAL TREATMENT PAGE SYSTEM
   ================================================= */

.treatment-simple {
  line-height: var(--line-normal);
  color: var(--color-text-dark);
}

/* ---------------- HERO ---------------- */

.treatment-hero-simple {
  background: var(--color-primary);
  padding: var(--space-xl) 0 var(--space-lg);
  text-align: center;
  border-radius: 16px;
  margin: var(--space-lg) auto;
  max-width: 1100px;
  border: 2px solid var(--color-accent);
}

.treatment-hero-simple h1 {
  color: var(--color-white);
  font-size: var(--h1-size);
  font-weight: var(--font-semibold);
  margin-bottom: var(--space-sm);
  position: relative;
  display: inline-block;
}

.treatment-hero-simple h1::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  background: var(--color-accent);
  margin: var(--space-sm) auto 0;
  border-radius: 3px;
}

.treatment-hero-simple p {
  color: rgba(255, 255, 255, 0.9);
  max-width: 620px;
  margin: 0 auto;
  font-size: var(--text-small);
}

/* ---------------- BREADCRUMB ---------------- */

.treatment-breadcrumb {
  margin: var(--space-sm) auto var(--space-lg);
  max-width: 1100px;
  font-size: var(--text-small);
}

.treatment-breadcrumb a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: var(--font-medium);
}

.treatment-breadcrumb span {
  margin: 0 var(--space-xs);
  color: var(--color-text-muted);
}

/* ---------------- CONTENT ROW ---------------- */

.content-row {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  margin: var(--space-lg) 0;
}

.content-row.reverse {
  flex-direction: row-reverse;
}

/* ---------------- HEADINGS ---------------- */

.content-row h2 {
  font-size: var(--h2-main);
  font-weight: var(--font-semibold);
  margin-bottom: var(--space-xs);
}

.soft-section h2 {
  font-size: var(--h2-sub);
  font-weight: var(--font-semibold);
  margin-bottom: var(--space-xs);
}

/* ---------------- TEXT ---------------- */

.text-box {
  flex: 1;
}

.text-box p,
.soft-section p,
.therapy-list li {
  font-size: var(--text-body);
}

/* ---------------- IMAGE ---------------- */

.image-box {
  flex: 1;
}

.image-box img {
  width: 100%;
  border-radius: 12px;
  box-shadow: var(--card-shadow);
}

/* ---------------- CARD SYSTEM ---------------- */

.card,
.soft-section {
  background: var(--card-bg);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  border: var(--card-border);
}

.soft-section {
  margin: var(--space-md) 0;
}

.soft-section.highlight {
  background: rgba(47, 183, 163, 0.12);
}

.soft-section.result {
  text-align: center;
}

/* ---------------- GREENERY ACCENT ---------------- */

.greenery {
  position: relative;
}

.greenery::before {
  content: "";
  position: absolute;
  left: 0;
  top: var(--space-sm);
  width: 4px;
  height: calc(100% - (var(--space-sm) * 2));
  background: linear-gradient(
    to bottom,
    rgba(47, 183, 163, 0.4),
    rgba(47, 183, 163, 0.12)
  );
  border-radius: 6px;
}

/* ---------------- LIST ---------------- */

.therapy-list {
  padding-left: var(--space-md);
}

.therapy-list li {
  margin-bottom: var(--space-xs);
}

/* =================================================
   BUTTON SYSTEM
   ================================================= */

/* Base button */
.btn {
  display: inline-block;
  padding: var(--btn-padding-y) var(--btn-padding-x);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  border-radius: var(--btn-radius);
  text-decoration: none;
  transition: all 0.25s ease;
  cursor: pointer;
  border: none;
}

/* Primary button */
.btn-primary {
  background: var(--color-primary);
  color: var(--color-white);
}

.btn-primary:hover {
  background: #243d7a;
}

/* Secondary button */
.btn-secondary {
  background: transparent;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
}

.btn-secondary:hover {
  background: var(--color-primary);
  color: var(--color-white);
}

/* Focus / accessibility */
.btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(47, 79, 161, 0.25);
}

/* =================================================
   MOBILE LAYOUT
   ================================================= */

@media (max-width: 768px) {

  .content-row {
    flex-direction: column;
    gap: var(--space-md);
    margin: var(--space-md) 0;
  }

  .treatment-hero-simple {
    margin: var(--space-md);
    padding: var(--space-lg) 0 var(--space-md);
    border-radius: 14px;
  }
}
/* =================================================
   FORM FIELD TOKENS (GLOBAL)
   ================================================= */

:root {

  /* -------- FORM COLORS -------- */
  --form-bg: #ffffff;
  --form-border: rgba(0, 0, 0, 0.18);
  --form-border-focus: var(--color-primary);
  --form-border-error: #d32f2f;

  --form-text: var(--color-text-dark);
  --form-placeholder: #999;

  /* -------- FORM SIZES -------- */
  --form-height: 44px;
  --form-padding-x: 14px;
  --form-padding-y: 10px;
  --form-radius: 10px;
  --form-font-size: var(--text-body);

  /* -------- FORM SHADOW -------- */
  --form-shadow-focus: 0 0 0 3px rgba(47, 79, 161, 0.18);
}

/* ---------------- BASE INPUT STYLE ---------------- */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
textarea,
select {
  width: 100%;
  height: var(--form-height);
  padding: var(--form-padding-y) var(--form-padding-x);
  font-size: var(--form-font-size);
  color: var(--form-text);
  background: var(--form-bg);
  border: 1px solid var(--form-border);
  border-radius: var(--form-radius);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Textarea height override */
textarea {
  height: auto;
  min-height: 110px;
  resize: vertical;
}

/* Placeholder */
input::placeholder,
textarea::placeholder {
  color: var(--form-placeholder);
}

/* Focus state */
input:focus,
textarea:focus,
select:focus {
  border-color: var(--form-border-focus);
  box-shadow: var(--form-shadow-focus);
}

/* Error state (manual or Elementor compatible) */
input.error,
textarea.error,
select.error {
  border-color: var(--form-border-error);
}

/* ---------------- FORM LABEL ---------------- */

label {
  display: block;
  margin-bottom: var(--space-xs);
  font-size: var(--text-small);
  font-weight: var(--font-medium);
  color: var(--color-text-dark);
}

/* ---------------- FORM GROUP ---------------- */

.form-group {
  margin-bottom: var(--space-md);
}

/* =================================================
   ICON TOKENS (GLOBAL)
   ================================================= */

:root {

  /* -------- ICON SIZES -------- */
  --icon-xs: 14px;
  --icon-sm: 18px;
  --icon-md: 22px;
  --icon-lg: 28px;

  /* -------- ICON COLORS -------- */
  --icon-primary: var(--color-primary);
  --icon-accent: var(--color-accent);
  --icon-muted: var(--color-text-muted);

  /* -------- ICON SPACING -------- */
  --icon-gap: 8px;
}

/* ---------------- BASE ICON STYLE ---------------- */

.icon,
i,
svg {
  vertical-align: middle;
}

/* Icon size helpers */
.icon-xs { font-size: var(--icon-xs); }
.icon-sm { font-size: var(--icon-sm); }
.icon-md { font-size: var(--icon-md); }
.icon-lg { font-size: var(--icon-lg); }

/* Icon color helpers */
.icon-primary { color: var(--icon-primary); }
.icon-accent  { color: var(--icon-accent); }
.icon-muted   { color: var(--icon-muted); }

/* ---------------- ICON WITH TEXT ---------------- */

.icon-text {
  display: inline-flex;
  align-items: center;
  gap: var(--icon-gap);
}

/* =================================================
   MOBILE FORM TUNING
   ================================================= */

@media (max-width: 768px) {

  :root {
    --form-height: 42px;
    --form-font-size: 14px;
  }

  textarea {
    min-height: 100px;
  }
}/* End custom CSS */