/* Shared Kovalski / Transitions.dev motion. Component geometry stays local. */
body.ab-ui-motion {
  --ab-motion-fast:250ms;
  --ab-motion-medium:350ms;
  --ab-motion-ease:cubic-bezier(.22,1,.36,1);
  --icon-swap-dur:250ms;
  --icon-swap-blur:2px;
  --icon-swap-start-scale:.25;
  --icon-swap-ease:ease-in-out;
}
html body.ab-ui-motion :is(#page-header,#page-content,#page-footer) :is(.ab-button,.ab-text-link,.ab-home button,.w-btn,input[type=submit],button[type=submit],.ab-header-social,.w-socials-item-link,.gt_switcher-popup,.gt_languages>a),
html body.ab-ui-motion :is(.w-toplink,.ab-footer-up,.w-header-show),
html body.ab-ui-motion #page-footer .ab-footer-choice1 .ab-footer-brand .w-socials-item-link {
  transition:background-color var(--ab-motion-fast) var(--ab-motion-ease),color var(--ab-motion-fast) var(--ab-motion-ease),border-color var(--ab-motion-fast) var(--ab-motion-ease),box-shadow var(--ab-motion-fast) var(--ab-motion-ease),opacity var(--ab-motion-fast) var(--ab-motion-ease),filter var(--ab-motion-fast) var(--ab-motion-ease),transform var(--ab-motion-fast) var(--ab-motion-ease)!important;
}
/* Single source for custom CTA variants, including CF7's theme override. */
body.ab-redesign .ab-home .ab-button {
  --ab-button-bg:#3d5418;--ab-button-fg:#fff;--ab-button-border:#3d5418;
  --ab-button-hover-bg:#293d0d;--ab-button-hover-fg:#fff;--ab-button-hover-border:#293d0d;
  background:var(--ab-button-bg);color:var(--ab-button-fg)!important;border-color:var(--ab-button-border);
  transform:none;
}
body.ab-redesign .ab-home .ab-button-light {
  --ab-button-bg:#fff;--ab-button-fg:#161a13;--ab-button-border:#fff;
  --ab-button-hover-bg:#edf2e4;--ab-button-hover-fg:#26380c;--ab-button-hover-border:#edf2e4;
}
body.ab-redesign .ab-home .ab-button-outline {
  --ab-button-bg:#fff;--ab-button-fg:#3d5418;--ab-button-border:#d8ded0;
  --ab-button-hover-bg:#f3f6ed;--ab-button-hover-fg:#293d0d;--ab-button-hover-border:#8a9f57;
}
body.ab-redesign .ab-home .ab-button:focus-visible {
  background:var(--ab-button-hover-bg);color:var(--ab-button-hover-fg)!important;border-color:var(--ab-button-hover-border);
}
body.ab-ui-motion :is(.ab-button,.ab-text-link,button,input[type=submit],.w-btn,.ab-header-social,.w-socials-item-link,.gt_switcher-popup,.ab-footer-up,.w-toplink):focus-visible {
  outline:2px solid #839b49!important;outline-offset:4px;
}
body.ab-redesign .ab-native-form input[type=submit]:focus-visible{background:#293d0d!important}
body.ab-ui-motion :is(.ab-button,.ab-text-link,.ab-room-controls button,.ab-room-link) .t-icon-swap,
body.ab-ui-motion :is([data-ab-icon-effect]>.t-icon-swap,.w-iconbox-icon,.ab-header-social>i,.w-socials-item-link>i,.ab-footer-contact-line>i) {
  transition:transform var(--ab-motion-medium) var(--ab-motion-ease),color var(--ab-motion-fast) var(--ab-motion-ease),background-color var(--ab-motion-fast) var(--ab-motion-ease);
}
body.ab-ui-motion :is(.ab-button,.ab-text-link,.ab-room-link):focus-visible .t-icon-swap{transform:translateX(3px)}
body.ab-ui-motion :is(button,input[type=submit],.w-btn):disabled,
body.ab-ui-motion :is(button,input[type=submit],.w-btn)[aria-disabled=true] {
  transform:none!important;filter:none!important;box-shadow:none!important;cursor:default;
}
@media(hover:hover) and (pointer:fine) {
  body.ab-redesign .ab-home .ab-button:hover{background:var(--ab-button-hover-bg);color:var(--ab-button-hover-fg)!important;border-color:var(--ab-button-hover-border);transform:translateY(-2px);box-shadow:0 5px 14px #20391018}
  body.ab-redesign .ab-native-form input[type=submit]:hover{background:#293d0d!important;transform:translateY(-2px);box-shadow:0 5px 14px #20391018}
  body.ab-redesign .ab-room-controls button:not(:disabled):hover{background:#f3f6ed;border-color:#8a9f57}
  body.ab-redesign .ab-gallery-dot:hover{background:#617b34}
  body.ab-ui-motion :is(.ab-button,.ab-text-link,.ab-room-link):hover .t-icon-swap{transform:translateX(3px)}
  body.ab-ui-motion [data-ab-icon-effect]:hover>.t-icon-swap{transform:translateY(-2px) scale(1.06)}
  body.ab-ui-motion .w-iconbox:hover .w-iconbox-icon{transform:translateY(-2px) scale(1.04)}
  body.ab-ui-motion :is(.ab-header-social,.w-socials-item-link):hover>i{transform:translateY(-1px)}
  body.ab-ui-motion .ab-footer-contact-line:hover>i{transform:translateY(-1px)}
  body.ab-ui-motion .w-btn:not(:disabled):not([aria-disabled=true]):hover{filter:brightness(.96)}
}
body.ab-ui-motion :is(.ab-button,.w-btn,input[type=submit],.ab-header-social,.w-socials-item-link):active:not(:disabled):not([aria-disabled=true]){transform:translateY(0)!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce) {
  html body.ab-ui-motion :is(#page-header,#page-content,#page-footer) :is(.ab-button,.ab-text-link,.ab-home button,.w-btn,input[type=submit],button[type=submit],.ab-header-social,.w-socials-item-link,.gt_switcher-popup,.gt_languages>a),
  html body.ab-ui-motion #page-footer .ab-footer-choice1 .ab-footer-brand .w-socials-item-link,
  html body.ab-ui-motion :is(.w-toplink,.ab-footer-up,.w-header-show,.t-icon-swap,.t-icon,.w-iconbox-icon,.ab-header-social>i,.w-socials-item-link>i,.ab-footer-contact-line>i){transition:none!important}
  html body.ab-ui-motion :is(.ab-button,.ab-text-link,.w-btn,input[type=submit],.t-icon-swap,.w-iconbox-icon,.ab-header-social>i,.w-socials-item-link>i,.ab-footer-contact-line>i){transform:none!important;filter:none!important}
}
