/*
Theme Name: DAC International
Template: hello-elementor
Version: 1.0.0
*/

/*
 * Generic Elementor reset / baseline styles.
 * Keep this section client-agnostic so it can be reused across projects.
 */

:root {
  --theme-content-measure: 72ch;
  --theme-list-indent: 1.25rem;
  --theme-list-item-gap: 0.5rem;
  --theme-content-block-gap: 1rem;
  --theme-button-inline-padding: 24px;
  --theme-button-icon-gap: 5px;
  --theme-heading-font-weight: 800;
  --theme-button-font-weight: 700;
}

/* Rich text baseline */
:where(
  .elementor-widget-text-editor,
  .elementor-widget-theme-post-content,
  .entry-content,
  .page-content,
  .wp-block-post-content
) :where(p, li) {
  overflow-wrap: break-word;
  text-wrap: pretty;
}

:where(
  .elementor-widget-text-editor,
  .elementor-widget-theme-post-content,
  .entry-content,
  .page-content,
  .wp-block-post-content
) :where(h1, h2, h3, h4, h5, h6, .elementor-heading-title) {
  overflow-wrap: break-word;
  text-wrap: balance;
}

:where(
  .elementor-widget-text-editor,
  .elementor-widget-theme-post-content,
  .entry-content,
  .page-content,
  .wp-block-post-content
) :where(p, ul, ol) {
  margin-top: 0;
  margin-bottom: var(--theme-content-block-gap);
}

:where(
  .elementor-widget-text-editor,
  .elementor-widget-theme-post-content,
  .entry-content,
  .page-content,
  .wp-block-post-content
) > :first-child {
  margin-top: 0;
}

:where(
  .elementor-widget-text-editor,
  .elementor-widget-theme-post-content,
  .entry-content,
  .page-content,
  .wp-block-post-content
) > :last-child {
  margin-bottom: 0;
}

:where(.elementor-widget-text-editor) p {
  max-inline-size: min(100%, var(--theme-content-measure));
}

/* Use non-zero specificity so Elementor's reset does not zero out list spacing. */
:is(
  .elementor-widget-text-editor,
  .elementor-widget-theme-post-content,
  .entry-content,
  .page-content,
  .wp-block-post-content
) :is(ul, ol) {
  max-inline-size: calc(68ch + var(--theme-list-indent));
  margin-block-start: 0;
  margin-block-end: var(--theme-content-block-gap);
  margin-bottom: var(--theme-content-block-gap);
  padding-left: var(--theme-list-indent);
  list-style-position: outside;
}

:is(
  .elementor-widget-text-editor,
  .elementor-widget-theme-post-content,
  .entry-content,
  .page-content,
  .wp-block-post-content
) li + li {
  margin-block-start: var(--theme-list-item-gap);
  margin-top: var(--theme-list-item-gap);
}

:is(
  .elementor-widget-text-editor,
  .elementor-widget-theme-post-content,
  .entry-content,
  .page-content,
  .wp-block-post-content
) :where(ul ul, ul ol, ol ul, ol ol) {
  margin-block-start: 0.5rem;
  margin-block-end: 0;
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.elementor-widget-heading .elementor-heading-title {
  margin-top: 0;
  font-weight: var(--theme-heading-font-weight);
}

:where(
  .elementor-widget-text-editor,
  .elementor-widget-theme-post-content,
  .entry-content,
  .page-content,
  .wp-block-post-content
) :where(h1, h2, h3, h4, h5, h6) {
  font-weight: var(--theme-heading-font-weight);
}

:where(.elementor-widget-text-editor) :is(p, ul, ol) + :is(h2, h3, h4, h5, h6) {
  margin-top: 1.75em;
}

/* Elementor button baseline */
.elementor-button {
  padding-inline: var(--theme-button-inline-padding);
  font-weight: var(--theme-button-font-weight);
}

.elementor-button .elementor-button-content-wrapper {
  gap: var(--theme-button-icon-gap);
}

.elementor-button:has(.elementor-button-content-wrapper > .elementor-button-icon:first-child) {
  padding-inline-start: calc(var(--theme-button-inline-padding) - var(--theme-button-icon-gap));
}

.elementor-button:has(.elementor-button-content-wrapper > .elementor-button-icon:last-child) {
  padding-inline-end: calc(var(--theme-button-inline-padding) - var(--theme-button-icon-gap));
}

/* Elementor nav dropdown reset */
ul.elementor-nav-menu--dropdown a,
ul.elementor-nav-menu--dropdown a:focus,
ul.elementor-nav-menu--dropdown a:hover {
  border-inline-start: 0 !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item.has-submenu,
.elementor-location-header .elementor-nav-menu--main .elementor-item:has(.sub-arrow) {
  padding-right: 0 !important;
}

/* Gravity Forms normalization */
.gform_wrapper.gravity-theme input[type="color"],
.gform_wrapper.gravity-theme input[type="date"],
.gform_wrapper.gravity-theme input[type="datetime"],
.gform_wrapper.gravity-theme input[type="datetime-local"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="month"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="password"],
.gform_wrapper.gravity-theme input[type="search"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="time"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="week"],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
  font-size: 16px !important;
  margin-top: 0;
  margin-bottom: 0;
  padding: 15px !important;
  font-weight: 400 !important;
}

/*
 * DAC-specific overrides.
 * These are project utilities/components, not part of the reusable reset layer.
 * For a shared client starter, replace or remove this section per project.
 */

.red {
  color: var(--e-global-color-accent) !important;
}

.elementor-nav-menu--main .btn-nav > .elementor-item {
  padding: 10px 24px !important;
  border: 2px solid var(--e-global-color-primary);
  border-radius: 6px;
  background-color: var(--e-global-color-primary);
  color: #fff !important;
  text-transform: uppercase;
  font-size: 15px !important;
  letter-spacing: 0.1em;
  font-weight: var(--theme-button-font-weight) !important;
}

.elementor-location-header .elementor-nav-menu--main .btn-nav > .elementor-item.has-submenu,
.elementor-location-header .elementor-nav-menu--main .btn-nav > .elementor-item:has(.sub-arrow) {
  padding-right: 10px !important;
}

.elementor-nav-menu--main .btn-nav > .elementor-item:hover,
.elementor-nav-menu--main .btn-nav > .elementor-item:focus {
  background-color: var(--e-global-color-accent) !important;
  border-color: var(--e-global-color-accent);
  color: #fff !important;
}

.accent {
  padding-left: 10px;
  border-left: 4px solid var(--e-global-color-accent);
}

h1 span.accent {
  padding-left: 24px;
  border-left: 2px solid var(--e-global-color-accent);
  display: inline-block;
  text-transform: uppercase;
}

.elementor-nav-menu .sub-arrow {
  padding: 5px !important;
  color: var(--e-global-color-accent) !important;
  fill: var(--e-global-color-accent) !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item > .sub-arrow {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 5px;
  padding-right: 0;
}

.diagonal-stripe-bg {
  background: repeating-linear-gradient(-45deg, rgba(1, 59, 79, 1), rgba(1, 59, 79, 1) 2px, rgba(0, 62, 83, 1) 3px, rgba(0, 62, 83, 1) 5px);
}

.diagonal-stripe-bg-2 {
  background: repeating-linear-gradient(-45deg, rgba(226, 226, 226, 0.9), rgba(226, 226, 226, 0.9) 2px, rgba(238, 238, 238, 1) 3px, rgba(238, 238, 238, 1) 5px);
}

.diagonal-stripe-bg-3 {
  background: repeating-linear-gradient(-45deg, rgba(213, 228, 233, 0.9), rgba(213, 228, 233, 0.9) 2px, rgba(222, 237, 242, 1) 3px, rgba(222, 237, 242, 1) 5px);
}

.content-ul ul {
  padding-left: 1rem;
  list-style: square;
}

.content-ul ul li {
  break-inside: avoid;
  padding-bottom: 5px;
}

.capabilities-block {
  background-color: #fce3de26;
}

.capabilities-block,
.capabilities-block h4 {
  transition: 0.3s;
}

.capabilities-block:hover {
  background-color: var(--e-global-color-04003c5);
}

.capabilities-block:hover h4,
.capabilities-block:hover .elementor-icon {
  fill: var(--e-global-color-accent) !important;
  color: var(--e-global-color-accent) !important;
  border-color: var(--e-global-color-accent) !important;
}

.uc_long_content_box {
  border-bottom: 6px solid transparent;
}

.uc_long_content_box:hover {
  border-bottom: 6px solid var(--e-global-color-accent);
}

.uc_long_content_box:hover .uc_overlay {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 10%, #000000 100%) !important;
}

/* Decorative heading rule */
:is(h2, h3).elementor-heading-title {
  position: relative;
  
}

.elementor-widget-heading.heading-rule :is(h2, h3).elementor-heading-title::after,
.heading-rule :is(h2, h3).elementor-heading-title::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 90px;
  border: 1px solid hsl(220deg 3% 40% / 49%);
  border-radius: 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  transform: translateX(-50%);
  margin-top: 15px;
}

.elementor-widget-heading.dark-bg.heading-rule :is(h2, h3).elementor-heading-title::after,
.dark-bg.heading-rule :is(h2, h3).elementor-heading-title::after,
.dark-bg .elementor-widget-heading.heading-rule :is(h2, h3).elementor-heading-title::after,
.dark-bg .heading-rule :is(h2, h3).elementor-heading-title::after {
  border-color: hsl(0deg 0% 100% / 50%);
}

.elementor-widget-heading.dark-bg-red.heading-rule :is(h2, h3).elementor-heading-title::after,
.dark-bg-red.heading-rule :is(h2, h3).elementor-heading-title::after,
.dark-bg-red .elementor-widget-heading.heading-rule :is(h2, h3).elementor-heading-title::after,
.dark-bg-red .heading-rule :is(h2, h3).elementor-heading-title::after {
  border-color: var(--e-global-color-accent);
}

@media (max-width: 767px) {
  .elementor-element.elementor-element-3a349722 .elementor-nav-menu--main .elementor-nav-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .elementor-element.elementor-element-3a349722 .elementor-nav-menu--main .elementor-nav-menu > li,
  .elementor-element.elementor-element-3a349722 .elementor-nav-menu--main .elementor-nav-menu > li > a {
    width: 100%;
  }
}

@media (max-width: 1025px) {
  .elementor-nav-menu--main .btn-nav > .elementor-item {
    padding: 8px 15px !important;
    margin-bottom: 10px;
  }

  .elementor-location-header .elementor-nav-menu--main .btn-nav > .elementor-item.has-submenu,
  .elementor-location-header .elementor-nav-menu--main .btn-nav > .elementor-item:has(.sub-arrow) {
    padding-right: 10px !important;
  }
}
