/**
 * Site-wide type + spacing system for CA CloudDesk
 * Loads last. Content unchanged — type, gaps, rhythm only.
 *
 * Spacing scale: 8 · 12 · 16 · 24 · 32 · 48 · 64 · 80
 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
  --ccd-font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --ccd-text: #3D5250;
  --ccd-muted: #7a9593;
  --ccd-heading: #000000;

  /* Spacing tokens */
  --ccd-space-1: 8px;
  --ccd-space-2: 12px;
  --ccd-space-3: 16px;
  --ccd-space-4: 24px;
  --ccd-space-5: 32px;
  --ccd-space-6: 48px;
  --ccd-space-7: 64px;
  --ccd-space-8: 80px;

  --ccd-section-y: var(--ccd-space-6);
  --ccd-section-y-lg: var(--ccd-space-7);
  --ccd-card-pad: var(--ccd-space-4);
  --ccd-card-gap: var(--ccd-space-4);
  --ccd-title-to-line: var(--ccd-space-2);
  --ccd-line-to-copy: var(--ccd-space-4);
  --ccd-copy-to-cta: var(--ccd-space-4);
  --ccd-stack-gap: var(--ccd-space-3);
}

:root,
body,
body.home,
body.page-id-3277,
body.page-id-105,
body.page-id-123,
body.page-id-125,
body.page-id-141,
body.page-id-177,
body[class*="page-id-"] {
  --ccd-partner-font: var(--ccd-font);
  --ccd-partner-body: var(--ccd-font);
  --home-font: var(--ccd-font);
  --home-body: var(--ccd-font);
  --hr-font: var(--ccd-font);
  --hr-body: var(--ccd-font);
  --tm-font: var(--ccd-font);
  --tm-body: var(--ccd-font);
  --mk-font: var(--ccd-font);
  --mk-body: var(--ccd-font);
  --bn-font: var(--ccd-font);
  --bn-body: var(--ccd-font);
  --sd-font: var(--ccd-font);
  --sd-body: var(--ccd-font);
  --ft-font: var(--ccd-font);
  --ft-body: var(--ccd-font);
  --cd-font: var(--ccd-font);
  --cd-body: var(--ccd-font);
  --dm-font: var(--ccd-font);
  --dm-body: var(--ccd-font);
  --bl-font: var(--ccd-font);
  --bl-body: var(--ccd-font);
  --lt-font: var(--ccd-font);
  --lt-body: var(--ccd-font);
}

html { scroll-behavior: smooth; }

/* Style-three header is absolute, so it covers the first content.
   Keep it in flow on pages where the old page-title spacer was removed. */
body.page-id-3332 .main-header.style-three,
body.page-id-6351 .main-header.style-three,
body.page-id-6428 .main-header.style-three {
  position: relative !important;
  z-index: 100;
}

body.page-id-3332 .main-header.style-three .outer-container,
body.page-id-6351 .main-header.style-three .outer-container,
body.page-id-6428 .main-header.style-three .outer-container {
  position: relative !important;
  top: auto !important;
  left: auto !important;
}

body.page-id-3332 .main-header.style-three .header-upper,
body.page-id-6351 .main-header.style-three .header-upper,
body.page-id-6428 .main-header.style-three .header-upper {
  height: auto !important;
  min-height: 64px;
}

/* ---------- Type ---------- */
body,
body.home,
body[class*="page-id-"],
.page-wrapper,
.elementor,
.elementor-widget,
.elementor-widget-container,
.main-header,
.main-footer,
.sticky-header {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif !important;
}

body {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: var(--ccd-text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.sec-title h2,
.sec-title h3,
.sec-title .title,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
.banner-section .content-box h1,
.banner-section .content-box h2,
.banner-style-12 .content-box h1,
.banner-style-15 .content-box h1,
.banner-style-16 .content-box h1,
.page-title h1,
.main-menu .navigation > li > a,
.sticky-header .main-menu .navigation > li > a,
.theme-btn,
.theme-btn-two,
a.btn-one,
a.btn-two,
.elementor-button,
.elementor-button-text,
button,
input,
select,
textarea,
.service-block-three .inner-box h3,
.service-block-two .inner-box h4,
.feature-block .inner-box h3,
.pricing-block .pricing-table h3,
.news-block .inner-box h3,
.faq-section .acc-btn h4,
.question-section .sec-title h2,
.counter-block .count-outer,
.funfact-block .count-outer,
.main-footer,
.main-footer a,
.main-footer h3,
.main-footer h4 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif !important;
  letter-spacing: -0.02em;
}

body h1,
body .page-title h1,
body .banner-section .content-box h1,
body .banner-style-12 .content-box h1,
body .banner-style-15 .content-box h1,
body .banner-style-16 .content-box h1,
body .elementor-widget-heading h1.elementor-heading-title {
  font-size: clamp(1.85rem, 3vw, 2.5rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  color: var(--ccd-heading) !important;
  margin-top: 0 !important;
  margin-bottom: var(--ccd-space-3) !important;
}

/* Generic headings — tight rhythm; .sec-title overrides for underline */
body h2,
body .elementor-widget-heading h2.elementor-heading-title {
  font-size: clamp(1.75rem, 2.8vw, 2.25rem) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--ccd-heading) !important;
  margin-top: 0 !important;
  margin-bottom: var(--ccd-space-3) !important;
}

body .sec-title h2,
body .sec-title .title,
body .question-section .sec-title h2 {
  font-size: clamp(1.75rem, 2.8vw, 2.25rem) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--ccd-heading) !important;
  padding-bottom: var(--ccd-title-to-line) !important;
  margin-top: 0 !important;
  margin-bottom: var(--ccd-line-to-copy) !important;
}

body h3,
body .sec-title h3,
body .service-block-three .inner-box h3,
body .service-block-two .inner-box h4,
body .feature-block .inner-box h3,
body .elementor-image-box-title,
body .elementor-icon-box-title,
body .elementor-widget-heading h3.elementor-heading-title,
body .news-block .inner-box h3 {
  font-size: clamp(1.15rem, 1.6vw, 1.375rem) !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
  margin-bottom: var(--ccd-space-2) !important;
}

body h4, body h5, body h6,
body .elementor-widget-heading h4.elementor-heading-title,
body .elementor-widget-heading h5.elementor-heading-title {
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  margin-top: 0 !important;
  margin-bottom: var(--ccd-space-2) !important;
}

body p,
body .text,
body .sec-title p,
body .content-box .text,
body .content-box p,
body .elementor-widget-text-editor,
body .elementor-widget-text-editor p,
body .elementor-icon-box-description,
body .elementor-image-box-description,
body .service-block-three .inner-box .text,
body .service-block-two .inner-box .text,
body .list li,
body .bread-crumb li,
body .bread-crumb li a {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: var(--ccd-text);
}

body p,
body .text,
body .content-box .text,
body .content-box p,
body .elementor-widget-text-editor p {
  margin-top: 0 !important;
  margin-bottom: var(--ccd-space-3) !important;
}

body p:last-child,
body .text:last-child,
body .elementor-widget-text-editor p:last-child {
  margin-bottom: 0 !important;
}

body .sec-title p,
body .content-box .text,
body .elementor-widget-text-editor p {
  color: var(--ccd-muted) !important;
}

body .sec-title p {
  margin-top: 0 !important;
  margin-bottom: var(--ccd-space-4) !important;
  max-width: 40rem;
}

body .main-menu .navigation > li > a,
body .sticky-header .main-menu .navigation > li > a {
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
}

body .theme-btn,
body .theme-btn-two,
body a.btn-one,
body a.btn-two,
body .elementor-button {
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

/* Heading block → CTA */
.sec-title + .btn-box,
.sec-title + .theme-btn,
.sec-title + .theme-btn-two,
.content-box .text + .btn-box,
.content-box p + .btn-box,
.content-box .text + .theme-btn,
.banner-section .content-box .btn-box,
.banner-style-12 .content-box .btn-box,
.banner-style-15 .content-box .btn-box,
.banner-style-16 .content-box .btn-box {
  margin-top: var(--ccd-copy-to-cta) !important;
}

.sec-title {
  margin-bottom: var(--ccd-space-5) !important;
}

.sec-title.center p {
  margin-left: auto;
  margin-right: auto;
}

/* ---------- Elementor spacers / empty chrome ---------- */
.elementor-spacer-inner {
  height: min(var(--spacer-size, 16px), 24px) !important;
}

.elementor-section.elementor-inner-section:has(.elementor-spacer):not(:has(.elementor-widget:not(.elementor-widget-spacer))) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

/* Collapse oversized Elementor section padding when theme left huge defaults */
.elementor-top-section > .elementor-container {
  position: relative;
}

.elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.elementor-column-gap-narrow > .elementor-column > .elementor-element-populated {
  padding: var(--ccd-space-2) !important;
}

.elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
.elementor-column-gap-wide > .elementor-column > .elementor-element-populated {
  padding: var(--ccd-space-3) !important;
}

.elementor-widget:not(:last-child) {
  margin-bottom: var(--ccd-space-3) !important;
}

.elementor-widget-heading + .elementor-widget-text-editor,
.elementor-widget-heading + .elementor-widget-button {
  margin-top: 0 !important;
}

.elementor-widget-text-editor + .elementor-widget-button {
  margin-top: var(--ccd-space-2) !important;
}

/* Page title strips that only push content down */
.page-title {
  padding-top: var(--ccd-space-5) !important;
  padding-bottom: var(--ccd-space-5) !important;
  min-height: 0 !important;
}

.page-title .content-box {
  padding: 0 !important;
}

/* ---------- Sections — one vertical rhythm ---------- */
.service-section,
.service-style-two,
.service-style-three,
.service-style-four,
.feature-section,
.feature-style-two,
.feature-style-three,
.feature-style-ten,
.feature-style-13,
.about-section,
.about-style-two,
.chooseus-section,
.pricing-section,
.testimonial-section,
.testimonial-style-two,
.testimonial-style-four,
.testimonial-style-five,
.news-section,
.clients-section,
.faq-section,
.team-section,
.work-section,
.funfact-section,
.video-section,
.download-section,
.management-section,
.organization-section,
.enterprise-section,
.recruitment-section,
.trusted-section,
.support-section,
.transactions-work,
.crypto-service,
.timeline-work,
.take-control,
.designe-process,
.inside-software,
.make-difference,
.dashboard-feature,
.question-section,
.subscribe-section,
.subscribe-style-two,
.subscribe-style-five,
.contact-section {
  padding-top: var(--ccd-section-y) !important;
  padding-bottom: var(--ccd-section-y) !important;
}

/* Slightly roomier for hero-like / statement sections */
.banner-section:not(.banner-style-12):not(.banner-style-15):not(.banner-style-16),
.cta-section,
.free-estimate {
  padding-top: var(--ccd-section-y-lg) !important;
  padding-bottom: var(--ccd-section-y-lg) !important;
}

.service-section .sec-title,
.feature-section .sec-title,
.about-section .sec-title,
.pricing-section .sec-title,
.faq-section .sec-title,
.designe-process .sec-title,
.testimonial-section .sec-title {
  margin-bottom: var(--ccd-space-5) !important;
}

/* ---------- Cards — equal gaps; keep page-specific inner padding ---------- */
.service-block,
.service-style-two .service-block,
.service-style-four .service-block,
.feature-block,
.designe-process .single-column,
.pricing-block {
  margin-bottom: var(--ccd-card-gap) !important;
}

.elementor-image-box-wrapper,
.elementor-icon-box-wrapper {
  padding: var(--ccd-card-pad) !important;
}

.row > [class*="col-"] > .service-block,
.row > [class*="col-"] > .feature-block,
.row > [class*="col-"] > .single-item {
  height: 100%;
}

.service-block .inner-box h3,
.service-block .inner-box h4,
.service-block-two .inner-box h4,
.service-block-three .inner-box h3,
.feature-block .inner-box h3,
.feature-block-one .inner-box h5,
.elementor-image-box-title,
.elementor-icon-box-title {
  margin-bottom: var(--ccd-space-2) !important;
}

.service-block .inner-box .text,
.service-block-two .inner-box .text,
.service-block-three .inner-box .text,
.feature-block .inner-box .text,
.elementor-image-box-description,
.elementor-icon-box-description {
  margin-bottom: 0 !important;
}

.service-block .inner-box .icon-box,
.service-block-two .inner-box .icon-box,
.service-block-three .inner-box .icon-box,
.feature-block-one .inner-box .icon-box {
  margin-bottom: var(--ccd-space-3) !important;
}

/* Image ↔ text columns */
.content-box .image-box,
.image-box + .content-box,
.content-box + .image-box,
.image-column,
.content-column {
  margin-bottom: 0 !important;
}

@media (min-width: 992px) {
  .image-column,
  .content-column {
    padding-left: var(--ccd-space-3) !important;
    padding-right: var(--ccd-space-3) !important;
  }
}

/* ---------- FAQ ---------- */
.faq-section .accordion-box .block,
.accordion-box .accordion {
  margin-bottom: var(--ccd-space-2) !important;
}

.faq-section .accordion-box .block .acc-btn,
.accordion-box .acc-btn {
  padding: var(--ccd-space-3) var(--ccd-space-4) !important;
}

.faq-section .accordion-box .block .acc-content,
.accordion-box .acc-content {
  padding: 0 var(--ccd-space-4) var(--ccd-space-3) !important;
}

.faq-section .accordion-box .block .acc-btn h4,
.faq-section .acc-btn h4 {
  margin: 0 !important;
  line-height: 1.35 !important;
}

/* ---------- Footer ---------- */
.main-footer .footer-top {
  padding-top: var(--ccd-space-7) !important;
  padding-bottom: var(--ccd-space-5) !important;
}

.main-footer .footer-top .widget {
  margin-bottom: var(--ccd-space-4) !important;
}

.main-footer .footer-top .widget-title {
  margin-bottom: var(--ccd-space-3) !important;
}

.main-footer .footer-top .links-widget .list li {
  margin-bottom: var(--ccd-space-2) !important;
}

.main-footer .footer-bottom {
  padding-top: var(--ccd-space-3) !important;
  padding-bottom: var(--ccd-space-3) !important;
}

/* ---------- Dropdown menus ---------- */
.main-header .main-menu .navigation > li > ul,
.main-header .main-menu .navigation li.dropdown .submenu,
.sticky-header .main-menu .navigation > li > ul {
  padding: var(--ccd-space-1) 0 !important;
}

.main-header .main-menu .navigation > li > ul > li > a,
.main-header .main-menu .navigation li.dropdown .submenu > li > a {
  padding: var(--ccd-space-2) var(--ccd-space-3) !important;
}

/* ---------- Motion (unchanged intent) ---------- */
.service-block .inner-box,
.service-block-three .inner-box,
.service-block-two .inner-box,
.feature-block .inner-box,
.pricing-block .inner-box,
.elementor-image-box,
.elementor-icon-box,
.news-block .inner-box {
  transition: transform 0.32s ease, box-shadow 0.32s ease;
}

.service-block .inner-box:hover,
.feature-block .inner-box:hover,
.pricing-block .inner-box:hover,
.elementor-image-box:hover,
.elementor-icon-box:hover,
.news-block .inner-box:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 36px rgba(26, 158, 143, 0.16);
}

.elementor-widget-image img,
.service-block .inner-box img {
  transition: transform 0.4s ease;
}

.theme-btn,
a.btn-one,
.elementor-button,
.main-header .main-menu .navigation > li > a {
  transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}

.theme-btn:hover,
a.btn-one:hover,
.elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(26, 158, 143, 0.22);
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  :root {
    --ccd-section-y: var(--ccd-space-5);
    --ccd-section-y-lg: var(--ccd-space-6);
    --ccd-card-pad: var(--ccd-space-3);
  }

  .image-column,
  .content-column {
    margin-bottom: var(--ccd-space-4) !important;
  }
}

@media (max-width: 767px) {
  :root {
    --ccd-section-y: var(--ccd-space-5);
    --ccd-section-y-lg: var(--ccd-space-5);
    --ccd-card-gap: var(--ccd-space-3);
  }

  body h1,
  body .banner-section .content-box h1 {
    font-size: 1.75rem !important;
  }

  body h2,
  body .sec-title h2,
  body .elementor-widget-heading h2.elementor-heading-title {
    font-size: 1.55rem !important;
  }

  body p,
  body .text,
  body .content-box .text {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .page-title {
    padding-top: var(--ccd-space-4) !important;
    padding-bottom: var(--ccd-space-4) !important;
  }

  .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
  .elementor-column-gap-extended > .elementor-column > .elementor-element-populated {
    padding: var(--ccd-space-2) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .service-block .inner-box,
  .theme-btn,
  a.btn-one { transition: none; }
}
