/**
 * Design.md Technical Precision
 * - Kill Hello pink (#c36/#336)
 * - Fix Atomic `.e-default-a { color:#111827 }` beating primary button white text
 * - Project cards: white body forever (Hello button:hover paints #c36)
 */

/* ---- Text links (never buttons): charcoal ---- */
body.elementor-page a:not(.e-button-base):not(.elementor-button):not(.pd-modal__link):not(.pd-projects__more),
.elementor a:not(.e-button-base):not(.elementor-button):not(.pd-modal__link):not(.pd-projects__more),
.elementor .e-paragraph-link-base,
.elementor .e-default-a:not(.e-button-base) {
  color: #111827;
}

body.elementor-page a:not(.e-button-base):not(.elementor-button):not(.pd-modal__link):not(.pd-projects__more):hover,
body.elementor-page a:not(.e-button-base):not(.elementor-button):not(.pd-modal__link):not(.pd-projects__more):focus,
body.elementor-page a:not(.e-button-base):not(.elementor-button):not(.pd-modal__link):not(.pd-projects__more):active,
.elementor a:not(.e-button-base):not(.elementor-button):not(.pd-modal__link):not(.pd-projects__more):hover,
.elementor a:not(.e-button-base):not(.elementor-button):not(.pd-modal__link):not(.pd-projects__more):focus,
.elementor .e-default-a:not(.e-button-base):hover,
.elementor .e-default-a:not(.e-button-base):focus-visible,
.elementor .e-default-a:not(.e-button-base):active {
  color: #111827 !important;
  text-decoration-color: #111827;
}

/*
 * Primary filled CTAs — beat `.elementor .e-default-a { color:#111827 }` (spec 0,2,0)
 * which made Contáctame / Ver proyectos charcoal-on-charcoal (invisible).
 */
.elementor a.e-button-base.e-default-a.pd-btn-primary,
.elementor a.e-button-base.pd-btn-primary,
.elementor .e-button-base.pd-btn-primary,
body.elementor-page a.e-button-base.pd-btn-primary,
.elementor a.e-button-base.e-default-a:not(.pd-btn-outline),
.elementor a.e-button-base:not(.pd-btn-outline):not(.e-27eb154-6679),
body.elementor-page a.e-button-base:not(.pd-btn-outline):not(.e-27eb154-6679),
.pd-modal__link {
  background-color: #111827 !important;
  background-image: none !important;
  border-color: #111827 !important;
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.elementor a.e-button-base.e-default-a:not(.pd-btn-outline):hover,
.elementor a.e-button-base.e-default-a:not(.pd-btn-outline):focus,
.elementor a.e-button-base.e-default-a:not(.pd-btn-outline):focus-visible,
.elementor a.e-button-base.e-default-a:not(.pd-btn-outline):active,
.elementor a.e-button-base:not(.pd-btn-outline):not(.e-27eb154-6679):hover,
.elementor a.e-button-base:not(.pd-btn-outline):not(.e-27eb154-6679):focus,
.elementor a.e-button-base:not(.pd-btn-outline):not(.e-27eb154-6679):active,
body.elementor-page a.e-button-base.pd-btn-primary:hover,
body.elementor-page a.e-button-base.pd-btn-primary:focus,
body.elementor-page a.e-button-base.pd-btn-primary:active,
.pd-modal__link:hover,
.pd-modal__link:focus-visible {
  background-color: #1F2937 !important;
  border-color: #1F2937 !important;
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.elementor a.e-button-base.e-default-a:not(.pd-btn-outline) *,
.elementor a.e-button-base:not(.pd-btn-outline):not(.e-27eb154-6679) *,
.elementor a.e-button-base.pd-btn-primary *,
.pd-modal__link * {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.elementor a.e-button-base::before,
.elementor a.e-button-base::after {
  background-color: transparent !important;
}

/* Secondary outline (Explorar servicios): white bg, charcoal text */
.elementor a.e-button-base.pd-btn-outline,
.elementor a.e-button-base.e-27eb154-6679,
.elementor a.e-27eb154-6679,
.pd-projects__more {
  background-color: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid #E5E7EB !important;
  color: #111827 !important;
  fill: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

.elementor a.e-button-base.pd-btn-outline:hover,
.elementor a.e-button-base.pd-btn-outline:focus-visible,
.elementor a.e-button-base.e-27eb154-6679:hover,
.elementor a.e-button-base.e-27eb154-6679:focus-visible,
.pd-projects__more:hover,
.pd-projects__more:focus-visible {
  background-color: #FFFFFF !important;
  border-color: #111827 !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

/* ---- Project cards: white forever — Hello `button:hover { background:#c36 }` ---- */
.pd-projects__card,
.pd-projects__card:hover,
.pd-projects__card:focus-within,
.pd-projects__body,
button.pd-projects__hit,
button.pd-projects__hit:hover,
button.pd-projects__hit:focus,
button.pd-projects__hit:focus-visible,
button.pd-projects__hit:active {
  background-color: #FFFFFF !important;
  background-image: none !important;
  color: #111827 !important;
}

.pd-projects__card {
  border: 1px solid #E5E7EB !important;
  transition: border-color 160ms ease;
}

.pd-projects__card:hover,
.pd-projects__card:focus-within {
  border-color: #111827 !important;
}

button.pd-projects__hit,
button.pd-projects__hit:hover,
button.pd-projects__hit:focus,
button.pd-projects__hit:active {
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  white-space: normal !important;
  width: 100% !important;
  padding: 0 !important;
  -webkit-text-fill-color: initial;
}

.pd-projects__media {
  background-color: #F8F9FA !important;
}

.pd-projects__title {
  color: #111827 !important;
}

.pd-projects__excerpt {
  color: #4B5563 !important;
}

.pd-projects__cta {
  color: #111827 !important;
  text-decoration: none !important;
}

.pd-projects__card:hover .pd-projects__cta,
.pd-projects__card:focus-within .pd-projects__cta,
.pd-projects__hit:hover .pd-projects__cta,
.pd-projects__hit:focus-visible .pd-projects__cta {
  color: #111827 !important;
  text-decoration: underline !important;
}

/* Modal close: charcoal fill + white × (never Hello pink) */
button.pd-modal__close,
button.pd-modal__close:hover,
button.pd-modal__close:focus,
button.pd-modal__close:focus-visible,
button.pd-modal__close:active {
  background-color: #111827 !important;
  background-image: none !important;
  border: 1px solid #111827 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: none !important;
}

button.pd-modal__close:hover,
button.pd-modal__close:focus-visible,
button.pd-modal__close:active {
  background-color: #1F2937 !important;
  border-color: #1F2937 !important;
}

button.pd-modal__close span {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.elementor-widget-image-box .elementor-image-box-content,
.elementor-widget-image-box:hover .elementor-image-box-content,
.elementor-widget-image-box .elementor-image-box-wrapper,
.elementor-widget-image-box:hover {
  background-color: transparent !important;
  background-image: none !important;
}
