/* Shared, front-end-only motion. Content stays visible without JavaScript. */
:root {
  --gah-motion-reveal:380ms;
  --gah-motion-gentle:280ms;
}

.gah-surface :is(.wp-block-button__link,.gah-button,.gah-commerce-button,
  .gah-makeover-button,.gah-builder-start,.gah-sidebar-action,.wp-block-search__button,
  .wp-block-query-pagination a,.wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-close),
.gah-surface .gah-builder button:not(.gah-builder-item):not(.gah-builder-door) {
  transition:background-color var(--gah-motion-fast) var(--gah-ease),
    color var(--gah-motion-fast) var(--gah-ease),
    border-color var(--gah-motion-fast) var(--gah-ease),
    transform var(--gah-motion-base) var(--gah-ease),
    box-shadow var(--gah-motion-base) var(--gah-ease);
}

.gah-surface :is(.wp-block-button__link,.gah-button,.gah-commerce-button,
  .gah-makeover-button,.gah-builder-start,.gah-sidebar-action,.wp-block-search__button,
  .wp-block-query-pagination a,.wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-close):not(:disabled):not([aria-disabled="true"]):active,
.gah-surface .gah-builder button:not(.gah-builder-item):not(.gah-builder-door):not(:disabled):not([aria-disabled="true"]):active {
  transform:translateY(1px) scale(.98);
}

.gah-surface :is(.wp-block-navigation a,.wp-block-post-excerpt__more-link,
  .gah-start-card-links a,.gah-start-next-link a,.gah-topic-grid a,.gah-related a,
  .gah-sidebar-toc a,.gah-builder-next-grid a) {
  transition:color var(--gah-motion-fast) var(--gah-ease),
    border-color var(--gah-motion-fast) var(--gah-ease),
    text-decoration-color var(--gah-motion-fast) var(--gah-ease);
}

.gah-surface :is(.gah-input,.wp-block-search__input,
  .gah-builder input,.gah-builder select,.gah-makeover-form-card input,
  .gah-makeover-form-card select,.gah-makeover-form-card textarea) {
  transition:border-color var(--gah-motion-fast) var(--gah-ease),
    background-color var(--gah-motion-fast) var(--gah-ease);
}

.gah-surface :is(.gah-start-card,.gah-lead-cards article,.gah-makeover-steps article,
  .gah-makeover-guides li a,.gah-builder-next-grid>div) {
  transition:box-shadow var(--gah-motion-gentle) var(--gah-ease),
    border-color var(--gah-motion-base) var(--gah-ease);
}

.gah-surface :is(.gah-card-list,.gah-feature-list) .wp-block-post-featured-image,
.gah-start-card-image { overflow:hidden; }
.gah-surface :is(.gah-card-list,.gah-feature-list) .wp-block-post-featured-image img,
.gah-start-card-image img {
  transition:transform var(--gah-motion-gentle) var(--gah-ease);
}

.gah-surface :is(.gah-builder-start,.gah-lead-button,.gah-makeover-button) [aria-hidden="true"] {
  display:inline-block;
  transition:transform var(--gah-motion-base) var(--gah-ease);
}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .gah-surface :is(.wp-block-button__link,.gah-button,.gah-commerce-button,
    .gah-makeover-button,.gah-builder-start,.gah-sidebar-action,.wp-block-search__button,
    .wp-block-query-pagination a):not(:disabled):not([aria-disabled="true"]):hover:not(:active) {
    transform:translateY(-2px);
  }
  .gah-surface :is(.gah-start-card,.gah-lead-cards article,.gah-makeover-steps article,
    .gah-makeover-guides li a,.gah-builder-next-grid>div):hover {
    box-shadow:0 8px 22px rgb(25 27 26 / .12);
  }
  .gah-surface :is(.gah-card-list,.gah-feature-list)>li:is(:hover,:focus-within) .wp-block-post-featured-image img,
  .gah-start-card:is(:hover,:focus-within) .gah-start-card-image img {
    transform:scale(1.025);
  }
  .gah-surface :is(.gah-builder-start,.gah-lead-button,.gah-makeover-button):hover [aria-hidden="true"] {
    transform:translate(2px,2px);
  }
}

@media(min-width:1101px) and (prefers-reduced-motion:no-preference) {
  .gah-masthead .wp-block-navigation-item>.wp-block-navigation__submenu-container {
    transform:translateY(6px);
    transition:opacity var(--gah-motion-base) var(--gah-ease),
      transform var(--gah-motion-base) var(--gah-ease),
      visibility var(--gah-motion-base) var(--gah-ease);
  }
  .gah-masthead .wp-block-navigation-item:is(:hover,:focus-within)>.wp-block-navigation__submenu-container,
  .gah-masthead .wp-block-navigation-item>.wp-block-navigation-submenu__toggle[aria-expanded="true"]~.wp-block-navigation__submenu-container {
    transform:translateY(0);
  }
}

@media(prefers-reduced-motion:no-preference) {
  .gah-masthead .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    animation:gah-menu-enter var(--gah-motion-gentle) var(--gah-ease);
  }
  .gah-surface .gah-builder-accordion[open]>.gah-builder-section-body,
  .gah-surface .gah-makeover-faq details[open]>p {
    animation:gah-detail-enter var(--gah-motion-base) var(--gah-ease);
  }
}
@media(max-width:1100px) and (prefers-reduced-motion:no-preference) {
  .gah-masthead .is-menu-open .wp-block-navigation-item.has-child[data-gah-expanded="true"]>.wp-block-navigation__submenu-container {
    animation:gah-detail-enter var(--gah-motion-base) var(--gah-ease);
  }
}
@keyframes gah-menu-enter {
  from { opacity:.6;translate:0 8px; }
  to { opacity:1;translate:0 0; }
}
@keyframes gah-detail-enter {
  from { opacity:.6;translate:0 4px; }
  to { opacity:1;translate:0 0; }
}

@media(prefers-reduced-motion:reduce) {
  :root { --gah-motion-reveal:0ms;--gah-motion-gentle:0ms; }
  /* Preserve existing layout transforms, such as the full-width planner. */
  .gah-surface :is(.wp-block-button__link,.gah-button,.gah-commerce-button,
    .gah-makeover-button,.gah-builder-start,.gah-sidebar-action,.wp-block-search__button,
    .wp-block-query-pagination a,.wp-block-navigation__responsive-container-open,
    .wp-block-navigation__responsive-container-close),
  .gah-surface .gah-builder button:not(.gah-builder-item):not(.gah-builder-door),
  .gah-surface :is(.gah-card-list,.gah-feature-list) .wp-block-post-featured-image img,
  .gah-start-card-image img { transform:none; }
}
@media print {
  .gah-surface *, .gah-surface *::before, .gah-surface *::after {
    animation:none!important;transition:none!important;
  }
}
