/* ========================================================================
   Fundación Huella Animal — public design system 3.0
   ======================================================================== */

:root {
  --ha-navy-950: #082f45;
  --ha-navy-900: #0b405e;
  --ha-blue-800: #0d507d;
  --ha-teal-700: #087b91;
  --ha-teal-600: #0b8ca1;
  --ha-teal-100: #e7f5f6;
  --ha-sky-100: #edf7fa;
  --ha-yellow-500: #f4bc32;
  --ha-yellow-600: #e4aa1b;
  --ha-coral-500: #de6b61;
  --ha-ink: #192733;
  --ha-muted: #5d6973;
  --ha-line: #dbe4e8;
  --ha-ivory: #faf8f5;
  --ha-white: #ffffff;
  --ha-max: 1180px;
  --ha-reading: 760px;
  --ha-section: clamp(64px, 6.5vw, 88px);
  --ha-radius-sm: 12px;
  --ha-radius-md: 20px;
  --ha-radius-lg: 28px;
  --ha-shadow-sm: 0 8px 24px rgba(8, 47, 69, 0.08);
  --ha-shadow-md: 0 18px 48px rgba(8, 47, 69, 0.12);
  --ha-transition: 180ms cubic-bezier(0.2, 0.75, 0.3, 1);
}

html { scroll-behavior: smooth; }

body.huella-design-system {
  overflow-x: clip;
  background: var(--ha-ivory);
  color: var(--ha-ink);
  font-family: Roboto, Arial, Helvetica, sans-serif;
  font-size: 18px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}

body.huella-design-system #wrapper,
body.huella-design-system #main { background: var(--ha-ivory); }

body.huella-design-system #main {
  padding: 0 !important;
}

body.huella-design-system .fusion-animated {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

body.huella-design-system h1,
body.huella-design-system h2,
body.huella-design-system h3,
body.huella-design-system h4,
body.huella-design-system .fusion-title-heading {
  margin-top: 0;
  color: var(--ha-navy-900);
  font-family: Montserrat, Arial, Helvetica, sans-serif;
  font-weight: 750;
  letter-spacing: -0.025em;
  line-height: 1.12;
  text-wrap: balance;
}

body.huella-design-system h1 { font-size: clamp(2.45rem, 4.7vw, 4.65rem); }
body.huella-design-system h2 { font-size: clamp(1.8rem, 3vw, 2.75rem); }
body.huella-design-system h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }
body.huella-design-system p,
body.huella-design-system li { color: var(--ha-ink); }
body.huella-design-system p { max-width: 74ch; }
body.huella-design-system img { max-width: 100%; height: auto; }

body.huella-design-system a { text-underline-offset: 0.18em; }
body.huella-design-system :focus-visible {
  outline: 3px solid var(--ha-yellow-500) !important;
  outline-offset: 3px !important;
  border-radius: 5px;
}

body.huella-design-system h2,
body.huella-design-system h3,
body.huella-design-system [id] { scroll-margin-top: 110px; }

.ha-container {
  width: min(calc(100% - 48px), var(--ha-max));
  margin-inline: auto;
}

.ha-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--ha-teal-700);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

/* Buttons --------------------------------------------------------------- */

body.huella-design-system .fusion-button,
body.huella-design-system .ha-button,
body.huella-design-system .ha-header-action,
body.huella-design-system .ha-mobile-adoption-cta {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 24px !important;
  border: 2px solid transparent !important;
  border-radius: 14px !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 750 !important;
  line-height: 1.15 !important;
  text-align: center;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: transform var(--ha-transition), background var(--ha-transition), border-color var(--ha-transition), box-shadow var(--ha-transition) !important;
}

body.huella-design-system .fusion-button:hover,
body.huella-design-system .ha-button:hover,
body.huella-design-system .ha-header-action:hover { transform: translateY(-2px); }

body.huella-design-system .fusion-button:not(.ha-button--secondary):not(.ha-button--outline):not(.ha-button--text),
body.huella-design-system .ha-button--primary,
body.huella-design-system .ha-header-action,
body.huella-design-system .ha-mobile-adoption-cta {
  background: var(--ha-yellow-500) !important;
  color: var(--ha-ink) !important;
  box-shadow: 0 8px 20px rgba(228, 170, 27, 0.22) !important;
}

body.huella-design-system .fusion-button:not(.ha-button--secondary):not(.ha-button--outline):not(.ha-button--text):hover,
body.huella-design-system .ha-button--primary:hover,
body.huella-design-system .ha-header-action:hover,
body.huella-design-system .ha-mobile-adoption-cta:hover { background: var(--ha-yellow-600) !important; }

body.huella-design-system .ha-button--secondary {
  background: var(--ha-teal-700) !important;
  color: #fff !important;
}

body.huella-design-system .ha-button--secondary:hover { background: var(--ha-navy-900) !important; }

body.huella-design-system .ha-button--outline {
  border-color: var(--ha-teal-700) !important;
  background: transparent !important;
  color: var(--ha-teal-700) !important;
}

body.huella-design-system .ha-button--outline:hover { background: var(--ha-teal-100) !important; }

body.huella-design-system .ha-button--text {
  padding-inline: 8px !important;
  background: transparent !important;
  color: var(--ha-teal-700) !important;
}

/* Avada puede asignar un color distinto al span interno del botón. */
body.huella-design-system .fusion-button .fusion-button-text,
body.huella-design-system .fusion-button > span,
body.huella-design-system .ha-button > span,
body.huella-design-system .ha-header-action > span { color: inherit !important; }

/* Header ---------------------------------------------------------------- */

body.huella-design-system .fusion-tb-header {
  position: sticky !important;
  top: 0;
  z-index: 100000;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 1px 0 rgba(25, 39, 51, 0.08), 0 10px 30px rgba(8, 47, 69, 0.06);
  backdrop-filter: blur(12px);
}

body.huella-design-system.admin-bar .fusion-tb-header { top: 32px; }

body.huella-design-system .fusion-tb-header > .fusion-fullwidth {
  min-height: 84px !important;
  padding: 0 24px !important;
  background: transparent !important;
}

body.huella-design-system .fusion-tb-header > .fusion-fullwidth > .fusion-builder-row {
  display: grid !important;
  width: min(100%, var(--ha-max)) !important;
  min-height: 84px !important;
  grid-template-columns: 170px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center !important;
  margin-inline: auto !important;
}

body.huella-design-system .fusion-tb-header .fusion-builder-column-0,
body.huella-design-system .fusion-tb-header .fusion-builder-column-1 {
  width: 100% !important;
  margin: 0 !important;
}

body.huella-design-system .fusion-tb-header .fusion-builder-column-0 > .fusion-column-wrapper,
body.huella-design-system .fusion-tb-header .fusion-builder-column-1 > .fusion-column-wrapper {
  min-height: 0 !important;
  justify-content: center !important;
}

body.huella-design-system .fusion-tb-header .fusion-builder-column-0 img {
  display: block;
  width: auto !important;
  max-width: 155px !important;
  max-height: 66px !important;
  object-fit: contain;
}

body.huella-design-system .fusion-tb-header .fusion-builder-column-2,
body.huella-design-system .fusion-tb-header nav[aria-label="Cart Account Menu"] { display: none !important; }

body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] {
  --awb-items-padding-top: 12px !important;
  --awb-items-padding-bottom: 12px !important;
  --awb-items-padding-left: 11px !important;
  --awb-items-padding-right: 11px !important;
  --awb-font-size: 15px !important;
  --awb-color: var(--ha-ink) !important;
  --awb-active-color: var(--ha-teal-700) !important;
  --awb-submenu-active-bg: var(--ha-sky-100) !important;
  --awb-submenu-active-color: var(--ha-teal-700) !important;
  --awb-submenu-max-width: 250px !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

body.huella-design-system nav[aria-label="Principal"] .awb-menu__main-ul { justify-content: flex-end !important; }
body.huella-design-system nav[aria-label="Principal"] .awb-menu__main-a {
  border-radius: 10px;
  transition: color var(--ha-transition), background var(--ha-transition);
}
body.huella-design-system nav[aria-label="Principal"] .awb-menu__main-a:hover { background: var(--ha-sky-100); }
body.huella-design-system nav[aria-label="Principal"] .awb-menu__sub-ul {
  overflow: hidden;
  border: 1px solid var(--ha-line);
  border-radius: 14px;
  box-shadow: var(--ha-shadow-md);
}

body.huella-design-system .ha-header-action { white-space: nowrap; }

/* Page title ------------------------------------------------------------ */

body.huella-design-system .fusion-page-title-bar {
  position: relative;
  height: clamp(200px, 18vw, 260px) !important;
  min-height: 200px !important;
  overflow: hidden !important;
  border: 0 !important;
  background-color: var(--ha-navy-900) !important;
  box-shadow: inset 0 0 0 1000px rgba(5, 34, 50, 0.38);
}

body.huella-design-system .fusion-page-title-bar::after {
  position: absolute;
  right: -5%;
  bottom: -80%;
  width: min(42vw, 560px);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  content: '';
  pointer-events: none;
}

body.huella-design-system .fusion-page-title-bar > .fusion-fullwidth {
  display: flex !important;
  height: 100% !important;
  min-height: 100% !important;
  align-items: center !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  background: linear-gradient(90deg, rgba(6, 48, 69, 0.58), rgba(6, 48, 69, 0.12)) !important;
}

body.huella-design-system .fusion-page-title-bar .fusion-builder-row,
body.huella-design-system .fusion-page-title-row {
  position: relative;
  z-index: 1;
  width: min(100%, var(--ha-max)) !important;
  max-width: var(--ha-max) !important;
  height: 100% !important;
  align-items: center !important;
  margin: auto !important;
  padding-inline: 0 !important;
}

body.huella-design-system .fusion-page-title-bar .fusion-title { margin: 0 !important; }
body.huella-design-system .fusion-page-title-captions { width: 100%; text-align: left; }
body.huella-design-system .fusion-page-title-bar h1,
body.huella-design-system .fusion-page-title-bar .fusion-title h1,
body.huella-design-system .fusion-page-title-captions h1 {
  max-width: 820px;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(2.35rem, 4.5vw, 4rem) !important;
  font-weight: 780 !important;
  text-align: left !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.28);
}

/* Consistent page canvas ------------------------------------------------ */

body.huella-design-system:not(.home):not(.ha-animal-profile) .post-content > .fusion-fullwidth {
  margin: 0 !important;
  padding: var(--ha-section) 24px !important;
}

body.huella-design-system:not(.home):not(.ha-animal-profile) .post-content > .fusion-fullwidth:nth-of-type(even) {
  background-color: #fff !important;
}

body.huella-design-system .post-content > .fusion-fullwidth > .fusion-builder-row {
  width: min(100%, var(--ha-max)) !important;
  max-width: var(--ha-max) !important;
  margin-inline: auto !important;
}

body.huella-design-system .post-content > .fusion-fullwidth > .fusion-builder-row > .fusion-layout-column {
  min-width: 0;
}

body.huella-design-system:not(.home):not(.ha-animal-profile) .post-content > .fusion-fullwidth > .fusion-builder-row > .fusion_builder_column_1_1 {
  width: 100% !important;
  max-width: 100% !important;
}

body.huella-design-system .post-content .fusion-title h2,
body.huella-design-system .post-content .fusion-title h3 { color: var(--ha-navy-900) !important; }
body.huella-design-system .post-content .fusion-imageframe img { border-radius: var(--ha-radius-sm); }

/* Conversion introduction ---------------------------------------------- */

.ha-conversion-intro {
  padding: clamp(38px, 5vw, 64px) 24px;
  background: linear-gradient(180deg, var(--ha-ivory), #fff);
}

.ha-conversion-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: 44px;
  align-items: center;
  padding: clamp(30px, 4vw, 48px);
  border: 1px solid rgba(8, 123, 145, 0.2);
  border-radius: var(--ha-radius-lg);
  background: linear-gradient(135deg, #fff, #edf8f9);
  box-shadow: var(--ha-shadow-md);
}

.ha-conversion-card h2 { margin-bottom: 14px; }
.ha-conversion-card p { margin: 0; color: var(--ha-muted); font-size: 1.08rem; }
.ha-conversion-card__actions { display: grid; gap: 12px; }

/* Homepage -------------------------------------------------------------- */

body.huella-design-system.home .fusion-page-title-bar { display: none !important; }

body.huella-design-system.home .post-content > .fusion-fullwidth {
  margin: 0 !important;
  padding: var(--ha-section) 24px !important;
}

body.huella-design-system.home .ha-home-hero {
  display: flex !important;
  min-height: clamp(560px, 72vh, 720px) !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-position: center 38% !important;
}

body.huella-design-system.home .ha-home-hero::before {
  background: linear-gradient(90deg, rgba(5, 39, 54, 0.82) 0%, rgba(5, 39, 54, 0.56) 48%, rgba(5, 39, 54, 0.08) 82%) !important;
}

body.huella-design-system.home .ha-home-hero > .fusion-builder-row { width: min(100%, var(--ha-max)) !important; }
body.huella-design-system.home .ha-home-hero h1 {
  max-width: 720px !important;
  color: #fff !important;
  font-size: clamp(2.7rem, 5.5vw, 4.8rem) !important;
  line-height: 1.02 !important;
  text-shadow: 0 3px 22px rgba(0, 0, 0, 0.34);
}
body.huella-design-system.home .ha-home-hero p {
  max-width: 620px;
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: clamp(1rem, 1.5vw, 1.16rem);
  line-height: 1.6;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}
body.huella-design-system.home .ha-home-hero__secondary { margin-left: 10px; }
body.huella-design-system.home .ha-home-hero-legacy-mobile,
body.huella-design-system.home .ha-home-empty { display: none !important; }

body.huella-design-system.home .ha-home-help-intro {
  padding-bottom: 24px !important;
  background: #fff !important;
  text-align: center;
}
body.huella-design-system.home .ha-home-help-intro p { margin-inline: auto; color: var(--ha-muted); }
body.huella-design-system.home .ha-home-actions {
  padding-top: 0 !important;
  background: #fff !important;
}

body.huella-design-system.home .ha-home-actions .fusion-builder-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

body.huella-design-system.home .ha-home-action-card {
  width: 100% !important;
  min-height: 190px;
  margin: 0 !important;
  border: 1px solid var(--ha-line);
  border-radius: var(--ha-radius-md);
  background: #fff;
  box-shadow: var(--ha-shadow-sm);
  transition: transform var(--ha-transition), box-shadow var(--ha-transition), border-color var(--ha-transition);
}
body.huella-design-system.home .ha-home-action-card:hover {
  transform: translateY(-4px);
  border-color: rgba(8, 123, 145, 0.36);
  box-shadow: var(--ha-shadow-md);
}
body.huella-design-system.home .ha-home-action-card > .fusion-column-wrapper {
  min-height: 100%;
  padding: 28px !important;
  border-radius: inherit;
  background: #fff !important;
}
body.huella-design-system.home .ha-home-action-card img { width: 64px !important; height: 64px !important; object-fit: contain; }
body.huella-design-system.home .ha-home-action-card h2,
body.huella-design-system.home .ha-home-action-card h3 { color: var(--ha-navy-900) !important; font-size: 1.35rem !important; }

body.huella-design-system.home .ha-home-food {
  background: linear-gradient(135deg, #eef8f8, #fff) !important;
}
body.huella-design-system.home .ha-home-food > .fusion-builder-row,
body.huella-design-system.home .ha-home-alliance > .fusion-builder-row {
  display: grid !important;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
  gap: 28px clamp(34px, 5vw, 72px);
  align-items: center;
}
body.huella-design-system.home .ha-home-food > .fusion-builder-row > .fusion-layout-column,
body.huella-design-system.home .ha-home-alliance > .fusion-builder-row > .fusion-layout-column {
  width: 100% !important;
  margin: 0 !important;
}
body.huella-design-system.home .ha-home-food > .fusion-builder-row > .fusion-layout-column:nth-child(1),
body.huella-design-system.home .ha-home-alliance > .fusion-builder-row > .fusion-layout-column:nth-child(1) {
  grid-column: 1 / -1;
  grid-row: 1;
}
body.huella-design-system.home .ha-home-food > .fusion-builder-row > .fusion-layout-column:nth-child(2),
body.huella-design-system.home .ha-home-alliance > .fusion-builder-row > .fusion-layout-column:nth-child(2) {
  grid-column: 2;
  grid-row: 2;
}
body.huella-design-system.home .ha-home-food > .fusion-builder-row > .fusion-layout-column:nth-child(3),
body.huella-design-system.home .ha-home-alliance > .fusion-builder-row > .fusion-layout-column:nth-child(3) {
  grid-column: 1;
  grid-row: 2;
}
body.huella-design-system.home .ha-home-food > .fusion-builder-row > .fusion-layout-column:nth-child(2) > .fusion-column-wrapper,
body.huella-design-system.home .ha-home-alliance > .fusion-builder-row > .fusion-layout-column:nth-child(2) > .fusion-column-wrapper {
  padding: 0 !important;
}
body.huella-design-system.home .ha-home-food > .fusion-builder-row > .fusion-layout-column:nth-child(2) p,
body.huella-design-system.home .ha-home-alliance > .fusion-builder-row > .fusion-layout-column:nth-child(2) p {
  max-width: 620px;
  margin-right: auto;
  margin-left: 0;
  font-size: 1.05rem;
  text-align: left !important;
}
body.huella-design-system.home .ha-home-food h2,
body.huella-design-system.home .ha-home-food h3,
body.huella-design-system.home .ha-home-food p { color: var(--ha-ink) !important; text-shadow: none !important; }
body.huella-design-system.home .ha-home-food .fusion-layout-column,
body.huella-design-system.home .ha-home-alliance .fusion-layout-column { width: 100% !important; margin: 0 !important; }
body.huella-design-system.home .ha-home-food img { max-width: 320px; border-radius: 50% !important; }

body.huella-design-system.home .ha-home-courses,
body.huella-design-system.home .ha-home-news { background: var(--ha-ivory) !important; }
body.huella-design-system.home .ha-home-courses .fusion-title,
body.huella-design-system.home .ha-home-news .fusion-title { max-width: var(--ha-reading); margin-inline: auto !important; text-align: center; }

/* Keep the introductory copy aligned to the same optical centre as its
   heading. Avada preserves a content max-width on paragraphs but otherwise
   leaves them attached to the start edge of a full-width column. */
body.huella-design-system.home .ha-home-courses > .fusion-builder-row > .fusion-layout-column:first-child > .fusion-column-wrapper,
body.huella-design-system.home .ha-home-lines > .fusion-builder-row > .fusion-layout-column:first-child > .fusion-column-wrapper,
body.huella-design-system.home .ha-home-news > .fusion-builder-row > .fusion-layout-column:first-child > .fusion-column-wrapper {
  align-items: center !important;
  text-align: center !important;
}
body.huella-design-system.home .ha-home-courses > .fusion-builder-row > .fusion-layout-column:first-child .fusion-text,
body.huella-design-system.home .ha-home-lines > .fusion-builder-row > .fusion-layout-column:first-child .fusion-text,
body.huella-design-system.home .ha-home-news > .fusion-builder-row > .fusion-layout-column:first-child .fusion-text {
  width: min(100%, var(--ha-reading)) !important;
  margin-inline: auto !important;
  text-align: center !important;
}
body.huella-design-system.home .ha-home-courses > .fusion-builder-row > .fusion-layout-column:first-child p,
body.huella-design-system.home .ha-home-lines > .fusion-builder-row > .fusion-layout-column:first-child p,
body.huella-design-system.home .ha-home-news > .fusion-builder-row > .fusion-layout-column:first-child p {
  width: 100%;
  margin-inline: auto !important;
  text-align: center !important;
}

body.huella-design-system.home .ha-home-lines { background: #fff !important; }
body.huella-design-system.home .ha-home-lines > .fusion-builder-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
body.huella-design-system.home .ha-home-lines > .fusion-builder-row > .fusion-layout-column {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
body.huella-design-system.home .ha-home-lines > .fusion-builder-row > .fusion-layout-column:first-child { grid-column: 1 / -1; }
body.huella-design-system.home .ha-work-card {
  overflow: hidden;
  min-height: 330px;
  border-radius: var(--ha-radius-md);
  background-position: center !important;
  box-shadow: var(--ha-shadow-sm);
}
body.huella-design-system.home .ha-work-card > .fusion-column-wrapper {
  min-height: 330px !important;
  justify-content: flex-end !important;
  padding: 28px !important;
  background: linear-gradient(180deg, rgba(8, 47, 69, 0.42) 0%, rgba(8, 47, 69, 0.68) 54%, rgba(8, 47, 69, 0.92) 100%) !important;
}
body.huella-design-system.home .ha-work-card h2,
body.huella-design-system.home .ha-work-card h3,
body.huella-design-system.home .ha-work-card p { color: #fff !important; text-shadow: 0 2px 14px rgba(0, 0, 0, 0.58); }
body.huella-design-system.home .ha-work-card .fusion-title { position: relative; z-index: 1; margin: 0 0 20px !important; }
body.huella-design-system.home .ha-work-card .fusion-title-heading {
  max-width: 17ch;
  margin-inline: auto !important;
  color: #fff !important;
  font-size: clamp(1.65rem, 2.1vw, 2.25rem) !important;
  line-height: 1.14 !important;
  text-align: center !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.68);
}

body.huella-design-system.home .ha-home-volunteer {
  width: min(calc(100% - 48px), var(--ha-max)) !important;
  min-height: 440px;
  margin: var(--ha-section) auto !important;
  padding: 0 !important;
  overflow: hidden;
  border-radius: var(--ha-radius-lg);
  background: #fff !important;
  box-shadow: var(--ha-shadow-md);
}
body.huella-design-system.home .ha-home-volunteer > .fusion-builder-row { min-height: 440px; align-items: stretch !important; }
body.huella-design-system.home .ha-home-volunteer .fusion-layout-column {
  width: 100% !important;
  margin: 0 !important;
  --awb-padding-top: 120px !important;
  --awb-padding-right: 48px !important;
  --awb-padding-bottom: 120px !important;
  --awb-padding-left: 48px !important;
  border-radius: inherit;
}
body.huella-design-system.home .ha-home-volunteer .fusion-column-wrapper { border-radius: inherit; }
body.huella-design-system.home .ha-home-volunteer h2,
body.huella-design-system.home .ha-home-volunteer h3,
body.huella-design-system.home .ha-home-volunteer p { color: #fff !important; text-shadow: 0 2px 14px rgba(0, 0, 0, 0.42); }

body.huella-design-system.home .ha-home-alliance {
  background: linear-gradient(135deg, var(--ha-navy-900), var(--ha-teal-700)) !important;
}
body.huella-design-system.home .ha-home-alliance h2,
body.huella-design-system.home .ha-home-alliance h3,
body.huella-design-system.home .ha-home-alliance p { color: #fff !important; text-shadow: none !important; }
body.huella-design-system.home .ha-home-alliance img { border-radius: var(--ha-radius-lg) !important; box-shadow: var(--ha-shadow-md); }

/* Collection cards ------------------------------------------------------ */

body.huella-design-system .ha-animal-card,
body.huella-design-system .ha-service-card,
body.huella-design-system .ha-role-card,
body.huella-design-system .fusion-post-wrapper {
  overflow: hidden;
  height: 100%;
  border: 1px solid var(--ha-line);
  border-radius: var(--ha-radius-md);
  background: #fff;
  box-shadow: var(--ha-shadow-sm);
  transition: transform var(--ha-transition), box-shadow var(--ha-transition), border-color var(--ha-transition);
}
body.huella-design-system .ha-animal-card:hover,
body.huella-design-system .ha-service-card:hover,
body.huella-design-system .ha-role-card:hover,
body.huella-design-system .fusion-post-wrapper:hover { transform: translateY(-4px); box-shadow: var(--ha-shadow-md); }

body.huella-design-system.ha-page-adopcion .fusion-grid-posts-cards {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin: 32px 0 0 !important;
}
body.huella-design-system.ha-page-adopcion .fusion-grid-posts-cards > .ha-animal-card {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  flex: none !important;
}
body.huella-design-system .ha-animal-card > .fusion-column-wrapper { width: 100% !important; padding: 0 !important; }
body.huella-design-system .ha-animal-card .fusion-imageframe,
body.huella-design-system .ha-animal-card .fusion-image-element,
body.huella-design-system .ha-animal-card .fusion-no-lightbox { display: block !important; width: 100% !important; }
body.huella-design-system .ha-animal-card .fusion-imageframe { overflow: hidden; aspect-ratio: 4 / 3; border-radius: 0; background: var(--ha-sky-100); }
body.huella-design-system .ha-animal-card img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; }
body.huella-design-system .ha-animal-card .fusion-title { margin: 0 !important; padding: 20px 22px 8px !important; }
body.huella-design-system .ha-animal-card .fusion-title-heading { font-size: 1.45rem !important; }
body.huella-design-system .ha-animal-card__action { width: calc(100% - 44px); margin: 8px 22px 24px; }

/* Services -------------------------------------------------------------- */

body.huella-design-system.ha-page-servicios .ha-service-grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  margin: 36px 0 0 !important;
}
body.huella-design-system.ha-page-servicios .ha-service-grid > .ha-service-card {
  grid-column: span 2;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  flex: none !important;
}
body.huella-design-system.ha-page-servicios .ha-service-grid > .ha-service-card:nth-child(4) { grid-column: 2 / span 2; }
body.huella-design-system.ha-page-servicios .ha-service-grid > .ha-service-card:nth-child(5) { grid-column: 4 / span 2; }
body.huella-design-system .ha-service-card > .fusion-column-wrapper {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  flex-direction: column;
  align-items: flex-start !important;
  padding: 30px !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.huella-design-system .ha-service-card .fusion-image-element { width: 100% !important; margin: 0 0 22px !important; text-align: left !important; }
body.huella-design-system .ha-service-card .fusion-imageframe { display: inline-flex !important; overflow: hidden; border-radius: 16px; box-shadow: none; }
body.huella-design-system .ha-service-card img { display: block !important; width: 112px !important; height: 112px !important; object-fit: cover !important; border-radius: 0 !important; }
body.huella-design-system .ha-service-card .fusion-title { width: 100%; margin: 0 0 10px !important; }
body.huella-design-system .ha-service-card .fusion-title-heading { font-size: 1.55rem !important; overflow-wrap: normal !important; word-break: normal !important; }
body.huella-design-system .ha-service-card .fusion-text { width: 100%; flex: 1 1 auto; }
body.huella-design-system .ha-service-card p { color: var(--ha-muted); font-size: 1rem; line-height: 1.58; text-align: left !important; }
body.huella-design-system .ha-service-card__action { width: 100%; margin-top: auto; }

/* Volunteering, FAQs, forms and editorial content ---------------------- */

body.huella-design-system .ha-role-card > .fusion-column-wrapper { height: 100%; padding: 28px !important; background: #fff !important; }
body.huella-design-system .ha-faq-search {
  max-width: 760px;
  margin: 0 auto 34px;
  padding: 24px;
  border: 1px solid var(--ha-line);
  border-radius: var(--ha-radius-md);
  background: #fff;
  box-shadow: var(--ha-shadow-sm);
}
body.huella-design-system .ha-faq-search label { display: block; margin-bottom: 10px; color: var(--ha-navy-900); font-family: Montserrat, Arial, sans-serif; font-weight: 750; }
body.huella-design-system .ha-faq-search input,
body.huella-design-system input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body.huella-design-system textarea,
body.huella-design-system select {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid #bccbd1;
  border-radius: 10px;
  background: #fff;
  color: var(--ha-ink);
  font: inherit;
}
body.huella-design-system textarea { min-height: 140px; }
body.huella-design-system .ha-faq-search p { min-height: 1em; margin: 8px 0 0; color: var(--ha-muted); font-size: 0.9rem; }
body.huella-design-system .fusion-accordian .fusion-panel { overflow: hidden; margin-bottom: 12px; border: 1px solid var(--ha-line) !important; border-radius: 12px; background: #fff; }
body.huella-design-system .fusion-accordian .panel-title a { padding: 18px 20px !important; color: var(--ha-navy-900) !important; font-family: Montserrat, Arial, sans-serif; font-weight: 700; }
body.huella-design-system .fusion-accordian .panel-body { padding: 0 20px 20px !important; }

body.huella-design-system .ha-contact-context {
  display: flex;
  max-width: 820px;
  flex-direction: column;
  gap: 4px;
  margin: 0 auto 28px;
  padding: 18px 20px;
  border-left: 5px solid var(--ha-yellow-500);
  border-radius: 10px;
  background: #fff8df;
}
body.huella-design-system .ha-contact-context strong { color: var(--ha-navy-900); font-family: Montserrat, Arial, sans-serif; }

body.huella-design-system .ha-donate-methods { background: var(--ha-sky-100) !important; }
body.huella-design-system .ha-donate-impact .fusion-layout-column,
body.huella-design-system .ha-donate-methods .fusion-layout-column {
  min-width: 0;
}
body.huella-design-system .fusion-tabs { border: 0 !important; }
body.huella-design-system .fusion-tabs .nav-tabs { display: flex; flex-wrap: wrap; gap: 8px; border: 0 !important; }
body.huella-design-system .fusion-tabs .nav-tabs li { flex: 1 1 180px; }
body.huella-design-system .fusion-tabs .nav-tabs li a { display: flex; min-height: 54px; align-items: center; justify-content: center; border: 1px solid var(--ha-line) !important; border-radius: 12px !important; background: #fff !important; color: var(--ha-navy-900) !important; font-family: Montserrat, Arial, sans-serif; font-weight: 700; }
body.huella-design-system .fusion-tabs .nav-tabs li:not(.active) a .fusion-tab-heading { color: var(--ha-navy-900) !important; }
body.huella-design-system .fusion-tabs .nav-tabs li.active a { border-color: var(--ha-teal-700) !important; background: var(--ha-teal-700) !important; color: #fff !important; }
body.huella-design-system .fusion-tabs .nav-tabs li.active a .fusion-tab-heading { color: #fff !important; }
body.huella-design-system .fusion-tabs .tab-content { margin-top: 18px; padding: clamp(22px, 3vw, 36px) !important; border: 1px solid var(--ha-line) !important; border-radius: var(--ha-radius-md); background: #fff; }

/* Animal profile -------------------------------------------------------- */

body.huella-design-system.ha-animal-profile .fusion-page-title-bar { display: none !important; }
body.huella-design-system.ha-animal-profile .post-content > .fusion-fullwidth { margin: 0 !important; padding: var(--ha-section) 24px !important; }
body.huella-design-system.ha-animal-profile .ha-animal-main { padding-top: clamp(34px, 5vw, 64px) !important; background: linear-gradient(180deg, var(--ha-sky-100), var(--ha-ivory)) !important; }

.ha-animal-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(360px, 0.97fr);
  gap: clamp(34px, 5vw, 68px);
  align-items: center;
  max-width: var(--ha-max);
  margin-inline: auto;
}
.ha-animal-hero__media {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: var(--ha-radius-lg);
  background: var(--ha-teal-100);
  box-shadow: var(--ha-shadow-md);
}
.ha-animal-hero__media img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.ha-animal-image-placeholder { display: grid; height: 100%; place-items: center; font-size: 4rem; }
.ha-animal-hero__content h1 { margin-bottom: 18px; font-size: clamp(2.7rem, 5vw, 4.8rem); }
.ha-animal-lead { margin: 0 0 22px; color: var(--ha-muted); font-size: 1.12rem; line-height: 1.62; }
.ha-animal-facts { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 18px; padding: 0; list-style: none; }
.ha-animal-facts li { padding: 8px 12px; border: 1px solid rgba(8, 123, 145, 0.2); border-radius: 999px; background: #fff; color: var(--ha-navy-900); font-family: Montserrat, Arial, sans-serif; font-size: 0.85rem; font-weight: 700; }
.ha-animal-program-pill { display: inline-flex; margin: 0 0 8px; padding: 8px 12px; border-radius: 999px; background: #fff3c9; color: #6e5100; font-size: 0.88rem; font-weight: 700; }
.ha-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.ha-animal-cta-note { margin: 14px 0 0; color: var(--ha-muted); font-size: 0.86rem; line-height: 1.5; }

.ha-animal-story,
.ha-animal-fit,
.ha-animal-process {
  max-width: var(--ha-max);
  margin: clamp(56px, 7vw, 88px) auto 0;
}
.ha-animal-story {
  padding: clamp(30px, 4vw, 48px);
  border: 1px solid var(--ha-line);
  border-radius: var(--ha-radius-lg);
  background: #fff;
  box-shadow: var(--ha-shadow-sm);
}
.ha-animal-story > .wp-block-spacer:first-of-type,
.ha-animal-story > .wp-block-heading:first-of-type,
.ha-animal-story > .wp-block-columns:first-of-type { display: none !important; }
.ha-animal-story > p { max-width: var(--ha-reading); margin-inline: auto; }
.ha-animal-story > p > p { margin: 0 0 1.1em; }

body.huella-design-system.ha-animal-profile .pgc-sgb-cb,
body.huella-design-system.ha-animal-profile .pgcsimplygalleryblock-grid-collection,
body.huella-design-system.ha-animal-profile .pgcsimplygalleryblock-grid-content {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}
body.huella-design-system.ha-animal-profile .pgcsimplygalleryblock-grid-content {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 34px;
}
body.huella-design-system.ha-animal-profile .pgcsimplygalleryblock-grid-item {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}
body.huella-design-system.ha-animal-profile .pgcsimplygalleryblock-grid-main-wrap,
body.huella-design-system.ha-animal-profile .pgcsimplygalleryblock-grid-item-wrap,
body.huella-design-system.ha-animal-profile .pgcsimplygalleryblock-grid-item-inner {
  width: 100% !important;
  height: 100% !important;
}
body.huella-design-system.ha-animal-profile .pgcsimplygalleryblock-grid-item img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  object-fit: cover;
}

.ha-animal-fit {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
  gap: 32px;
  padding: clamp(30px, 4vw, 48px);
  border-radius: var(--ha-radius-lg);
  background: var(--ha-navy-900);
}
.ha-animal-fit h2,
.ha-animal-fit h3,
.ha-animal-fit p,
.ha-animal-fit li { color: #fff !important; }
.ha-animal-fit .ha-eyebrow { color: #94e0ea; }
.ha-animal-fit p { margin-bottom: 0; color: rgba(255, 255, 255, 0.86) !important; }
.ha-animal-fit ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ha-animal-fit li { display: flex; gap: 10px; align-items: flex-start; }
.ha-animal-fit li span { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border-radius: 50%; background: var(--ha-yellow-500); color: var(--ha-ink); font-weight: 900; }

.ha-animal-process { text-align: center; }
.ha-animal-process > .ha-eyebrow { text-align: center; }
.ha-animal-process > h2 { max-width: 760px; margin-inline: auto; }
.ha-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 30px 0; text-align: left; }
.ha-process-grid > div { padding: 26px; border: 1px solid var(--ha-line); border-radius: var(--ha-radius-md); background: #fff; box-shadow: var(--ha-shadow-sm); }
.ha-process-grid b { display: grid; width: 40px; height: 40px; place-items: center; margin-bottom: 22px; border-radius: 12px; background: var(--ha-teal-100); color: var(--ha-teal-700); font-family: Montserrat, Arial, sans-serif; }
.ha-process-grid h3 { margin-bottom: 8px; }
.ha-process-grid p { margin: 0; color: var(--ha-muted); font-size: 0.96rem; }

body.huella-design-system.ha-animal-profile .ha-animal-program { background: var(--ha-navy-900) !important; }
body.huella-design-system.ha-animal-profile .ha-animal-program h2,
body.huella-design-system.ha-animal-profile .ha-animal-program h3,
body.huella-design-system.ha-animal-profile .ha-animal-program p { color: var(--ha-navy-950) !important; }
body.huella-design-system.ha-animal-profile .ha-animal-legacy-cta-title { display: none !important; }
body.huella-design-system.ha-animal-profile .ha-animal-legacy-cta { display: none !important; }
body.huella-design-system.ha-animal-profile .ha-animal-legacy-cta .fusion-builder-row { justify-content: center !important; }
body.huella-design-system.ha-animal-profile .ha-animal-related { background: #fff !important; }
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-separator { margin-top: 0 !important; margin-bottom: 36px !important; }
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-grid-posts-cards { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-grid-posts-cards.ha-related-count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-grid-posts-cards > p { display: none !important; }
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-post-wrapper,
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-grid-posts-cards > .fusion-grid-column {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
  overflow: hidden;
  border: 1px solid var(--ha-line);
  border-radius: var(--ha-radius-md);
  background: #fff;
  box-shadow: var(--ha-shadow-sm);
}
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-grid-posts-cards > .fusion-grid-column > .fusion-column-wrapper,
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-image-element,
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-imageframe,
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-no-lightbox { display: block !important; width: 100% !important; }
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-grid-posts-cards > .fusion-grid-column img,
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-post-wrapper img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; }
body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-title { margin: 0 !important; padding: 16px 14px 18px !important; }
body.huella-design-system .ha-mobile-adoption-cta { display: none; }
body.huella-design-system.home .ha-home-news .fusion-recent-posts { display: none !important; }
body.huella-design-system.home .ha-home-volunteer { position: relative !important; left: 50% !important; transform: translateX(-50%); }

/* Footer ---------------------------------------------------------------- */

body.huella-design-system .fusion-tb-footer { display: none !important; }
.ha-site-footer { padding: 72px 24px 24px; background: var(--ha-navy-950); color: #fff; }
.ha-site-footer__grid { display: grid; grid-template-columns: minmax(280px, 1.5fr) repeat(3, minmax(150px, 0.7fr)); gap: clamp(28px, 5vw, 64px); }
.ha-site-footer__name { margin: 0 0 12px; color: #fff !important; font-family: Montserrat, Arial, sans-serif; font-size: 1.35rem; font-weight: 780; }
.ha-site-footer__brand p:not(.ha-site-footer__name) { max-width: 460px; color: rgba(255, 255, 255, 0.76); font-size: 0.95rem; }
.ha-site-footer h2 { margin: 3px 0 16px; color: #fff !important; font-size: 1rem; letter-spacing: 0; }
.ha-site-footer ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.ha-site-footer a:not(.ha-button) { color: rgba(255, 255, 255, 0.78); text-decoration: none; }
.ha-site-footer a:not(.ha-button):hover { color: #fff; text-decoration: underline; }
.ha-site-footer__bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 54px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, 0.16); color: rgba(255, 255, 255, 0.64); font-size: 0.82rem; }

/* Motion ---------------------------------------------------------------- */

.ha-reveal { opacity: 1; transform: none; transition: transform 300ms ease, box-shadow 300ms ease; }
.ha-reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .ha-reveal { opacity: 1; transform: none; }
}

/* Tablet ---------------------------------------------------------------- */

@media (max-width: 1024px) {
  :root { --ha-section: 64px; }
  body.huella-design-system .fusion-tb-header > .fusion-fullwidth > .fusion-builder-row { grid-template-columns: 150px minmax(0, 1fr) auto; gap: 16px; }
  body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] { --awb-items-padding-left: 8px !important; --awb-items-padding-right: 8px !important; --awb-font-size: 14px !important; }
  body.huella-design-system.home .ha-home-actions .fusion-builder-row,
  body.huella-design-system.home .ha-home-lines > .fusion-builder-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.huella-design-system.ha-page-adopcion .fusion-grid-posts-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.huella-design-system.ha-page-servicios .ha-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.huella-design-system.ha-page-servicios .ha-service-grid > .ha-service-card,
  body.huella-design-system.ha-page-servicios .ha-service-grid > .ha-service-card:nth-child(4),
  body.huella-design-system.ha-page-servicios .ha-service-grid > .ha-service-card:nth-child(5) { grid-column: auto; }
  .ha-animal-hero { grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr); gap: 34px; }
  body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-grid-posts-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ha-site-footer__grid { grid-template-columns: 1.4fr repeat(2, 0.8fr); }
  .ha-site-footer__grid nav:last-child { grid-column: 2 / -1; }

  body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] .awb-menu__main-ul {
    padding: 10px !important;
    border: 1px solid var(--ha-line) !important;
    border-radius: 0 0 16px 16px;
    background: #fff !important;
    box-shadow: var(--ha-shadow-md);
  }
  body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] .awb-menu__main-a,
  body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] .awb-menu__main-a .menu-text,
  body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] .awb-menu__sub-a,
  body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] .awb-menu__sub-a span {
    background: #fff !important;
    color: var(--ha-ink) !important;
  }
  body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] .current-menu-item > .awb-menu__main-a,
  body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] .current-menu-ancestor > .awb-menu__main-a {
    background: var(--ha-teal-700) !important;
    color: #fff !important;
  }
  body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] .current-menu-item > .awb-menu__main-a .menu-text,
  body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] .current-menu-ancestor > .awb-menu__main-a .menu-text { color: #fff !important; }
}

/* Mobile ---------------------------------------------------------------- */

@media (max-width: 767px) {
  :root { --ha-section: 46px; }
  .ha-container { width: min(calc(100% - 36px), var(--ha-max)); }
  body.huella-design-system { font-size: 17px; }
  body.huella-design-system.admin-bar .fusion-tb-header { top: 46px; }
  body.huella-design-system .fusion-tb-header > .fusion-fullwidth { min-height: 74px !important; padding: 0 16px !important; }
  body.huella-design-system .fusion-tb-header > .fusion-fullwidth > .fusion-builder-row {
    min-height: 74px !important;
    grid-template-columns: minmax(96px, 1fr) auto auto;
    gap: 10px;
  }
  body.huella-design-system .fusion-tb-header .fusion-builder-column-0 { grid-column: 1; }
  body.huella-design-system .fusion-tb-header .fusion-builder-column-0,
  body.huella-design-system .fusion-tb-header .fusion-builder-column-1,
  body.huella-design-system .fusion-tb-header .ha-header-action { grid-row: 1; }
  body.huella-design-system .fusion-tb-header .fusion-builder-column-1 { grid-column: 3; }
  body.huella-design-system .fusion-tb-header .fusion-builder-column-0 img { max-width: 112px !important; max-height: 58px !important; }
  body.huella-design-system .fusion-tb-header .ha-header-action {
    grid-column: 2;
    min-height: 42px;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    font-size: 0.8rem !important;
    align-self: center;
  }
  body.huella-design-system .fusion-tb-header .fusion-builder-column-1 > .fusion-column-wrapper { align-items: flex-end !important; }
  body.huella-design-system .fusion-tb-header .awb-menu__m-toggle { width: 44px !important; height: 44px !important; margin: 0 !important; padding: 8px !important; }
  body.huella-design-system .fusion-tb-header nav[aria-label="Principal"] .awb-menu__main-ul { max-height: calc(100svh - 74px); overflow-y: auto; }

  body.huella-design-system .fusion-page-title-bar {
    height: 170px !important;
    min-height: 170px !important;
  }
  body.huella-design-system .fusion-page-title-bar > .fusion-fullwidth { padding-inline: 18px !important; }
  body.huella-design-system .fusion-page-title-bar h1,
  body.huella-design-system .fusion-page-title-bar .fusion-title h1,
  body.huella-design-system .fusion-page-title-captions h1 { font-size: clamp(2.15rem, 11vw, 3rem) !important; text-align: center !important; }
  body.huella-design-system .fusion-page-title-captions { text-align: center; }

  body.huella-design-system:not(.home):not(.ha-animal-profile) .post-content > .fusion-fullwidth,
  body.huella-design-system.home .post-content > .fusion-fullwidth,
  body.huella-design-system.ha-animal-profile .post-content > .fusion-fullwidth { padding: var(--ha-section) 18px !important; }

  .ha-conversion-intro { padding: 30px 18px 46px; }
  .ha-conversion-card { grid-template-columns: 1fr; gap: 26px; padding: 26px 22px; border-radius: 22px; }
  .ha-conversion-card h2 { font-size: 1.85rem; }

  body.huella-design-system.home .ha-home-hero {
    min-height: 520px !important;
    padding-inline: 20px !important;
    background-position: 58% center !important;
  }
  body.huella-design-system.home .ha-home-hero::before { background: linear-gradient(180deg, rgba(5, 39, 54, 0.26), rgba(5, 39, 54, 0.84)) !important; }
  body.huella-design-system.home .ha-home-hero h1 { max-width: 100% !important; font-size: clamp(2.35rem, 11vw, 3.45rem) !important; }
  body.huella-design-system.home .ha-home-hero p { font-size: 1rem; }
  body.huella-design-system.home .ha-home-hero .fusion-button { width: 100%; margin: 0 0 10px !important; }
  body.huella-design-system.home .ha-home-hero__secondary { margin-left: 0; }
  body.huella-design-system.home .ha-home-actions .fusion-builder-row,
  body.huella-design-system.home .ha-home-lines > .fusion-builder-row { grid-template-columns: 1fr; gap: 14px; }
  body.huella-design-system.home .ha-home-action-card { min-height: 0; }
  body.huella-design-system.home .ha-home-action-card > .fusion-column-wrapper { display: grid !important; grid-template-columns: 58px 1fr; gap: 16px; align-items: center !important; padding: 20px !important; }
  body.huella-design-system.home .ha-home-action-card img { width: 54px !important; height: 54px !important; }
  body.huella-design-system.home .ha-home-food > .fusion-builder-row,
  body.huella-design-system.home .ha-home-alliance > .fusion-builder-row { grid-template-columns: 1fr; gap: 26px; }
  body.huella-design-system.home .ha-home-food > .fusion-builder-row > .fusion-layout-column,
  body.huella-design-system.home .ha-home-alliance > .fusion-builder-row > .fusion-layout-column {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  body.huella-design-system.home .ha-home-food > .fusion-builder-row > .fusion-layout-column:nth-child(1),
  body.huella-design-system.home .ha-home-alliance > .fusion-builder-row > .fusion-layout-column:nth-child(1) { order: 1; }
  body.huella-design-system.home .ha-home-food > .fusion-builder-row > .fusion-layout-column:nth-child(3),
  body.huella-design-system.home .ha-home-alliance > .fusion-builder-row > .fusion-layout-column:nth-child(3) { order: 2; }
  body.huella-design-system.home .ha-home-food > .fusion-builder-row > .fusion-layout-column:nth-child(2),
  body.huella-design-system.home .ha-home-alliance > .fusion-builder-row > .fusion-layout-column:nth-child(2) { order: 3; }
  body.huella-design-system.home .ha-home-food > .fusion-builder-row > .fusion-layout-column:nth-child(2) p,
  body.huella-design-system.home .ha-home-alliance > .fusion-builder-row > .fusion-layout-column:nth-child(2) p {
    margin-inline: auto;
    text-align: center !important;
  }
  body.huella-design-system.home .ha-home-food img { max-width: 220px; }
  body.huella-design-system.home .ha-work-card,
  body.huella-design-system.home .ha-work-card > .fusion-column-wrapper { min-height: 300px !important; }
  body.huella-design-system.home .ha-home-volunteer {
    width: calc(100% - 36px) !important;
    min-height: 380px;
    margin: 46px 18px !important;
    padding: 0 !important;
  }
  body.huella-design-system.home .ha-home-volunteer > .fusion-builder-row { min-height: 360px; }
  body.huella-design-system.home .ha-home-volunteer .fusion-layout-column {
    --awb-padding-top: 72px !important;
    --awb-padding-right: 24px !important;
    --awb-padding-bottom: 72px !important;
    --awb-padding-left: 24px !important;
  }

  body.huella-design-system.ha-page-adopcion .fusion-grid-posts-cards,
  body.huella-design-system.ha-page-servicios .ha-service-grid,
  body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-grid-posts-cards { grid-template-columns: 1fr; gap: 16px; }
  body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-grid-posts-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-grid-posts-cards.ha-related-count-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.huella-design-system.ha-animal-profile .ha-animal-related .fusion-grid-posts-cards.ha-related-count-3 > .ha-related-animal-card:last-child { grid-column: 1 / -1; width: calc(50% - 6px) !important; justify-self: center; }
  body.huella-design-system .ha-service-card > .fusion-column-wrapper { padding: 24px !important; }
  body.huella-design-system .ha-service-card img { width: 92px !important; height: 92px !important; }

  .ha-animal-hero { grid-template-columns: 1fr; gap: 28px; }
  .ha-animal-hero__media { aspect-ratio: 4 / 3; border-radius: 20px; }
  .ha-animal-hero__content h1 { margin-bottom: 14px; font-size: clamp(2.55rem, 13vw, 3.7rem); }
  .ha-animal-lead { font-size: 1rem; }
  .ha-animal-facts { gap: 7px; }
  .ha-animal-facts li { padding: 7px 10px; font-size: 0.77rem; }
  .ha-animal-hero .ha-actions .ha-button { width: 100%; }
  .ha-animal-story,
  .ha-animal-fit,
  .ha-animal-process { margin-top: 46px; }
  .ha-animal-story { padding: 22px 18px; border-radius: 20px; }
  body.huella-design-system.ha-animal-profile .pgcsimplygalleryblock-grid-content { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  body.huella-design-system.ha-animal-profile .pgcsimplygalleryblock-grid-item:first-child { grid-column: 1 / -1; }
  body.huella-design-system.ha-animal-profile .pgcsimplygalleryblock-grid-item img { border-radius: 10px; }
  .ha-animal-fit { grid-template-columns: 1fr; gap: 26px; padding: 28px 22px; border-radius: 20px; }
  .ha-process-grid { grid-template-columns: 1fr; gap: 12px; }
  body.huella-design-system.ha-animal-profile { padding-bottom: 72px; }
  body.huella-design-system .ha-mobile-adoption-cta {
    position: fixed;
    right: 14px;
    bottom: 14px;
    left: 14px;
    z-index: 100001;
    display: flex;
    min-height: 52px;
    box-shadow: 0 12px 34px rgba(8, 47, 69, 0.28) !important;
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  }
  body.huella-design-system .ha-mobile-adoption-cta.is-hidden { visibility: hidden; opacity: 0; transform: translateY(12px); pointer-events: none; }

  .ha-site-footer { padding: 52px 18px 22px; }
  .ha-site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 22px; }
  .ha-site-footer__brand { grid-column: 1 / -1; }
  .ha-site-footer__grid nav:last-child { grid-column: auto; }
  .ha-site-footer__bottom { flex-direction: column; margin-top: 38px; }
}

@media (max-width: 390px) {
  body.huella-design-system .fusion-tb-header > .fusion-fullwidth { padding-inline: 12px !important; }
  body.huella-design-system .fusion-tb-header > .fusion-fullwidth > .fusion-builder-row { grid-template-columns: minmax(88px, 1fr) auto auto; gap: 7px; }
  body.huella-design-system .fusion-tb-header .fusion-builder-column-0 img { max-width: 104px !important; }
  body.huella-design-system .fusion-tb-header .ha-header-action { min-height: 40px; padding: 9px 11px !important; font-size: 0.74rem !important; }
  .ha-site-footer__grid { grid-template-columns: 1fr; }
  .ha-site-footer__brand,
  .ha-site-footer__grid nav:last-child { grid-column: auto; }
}
