/* Shared services dropdown plus canonical interaction policy for Animails 3.0. */

.nav-services{position:relative}
.nav-services summary{align-items:center;cursor:pointer;display:flex;gap:7px;list-style:none;padding-block:6px;user-select:none}
.nav-services summary::-webkit-details-marker{display:none}
.nav-services summary::after{border-bottom:1.5px solid currentColor;border-right:1.5px solid currentColor;content:"";height:6px;margin-top:0;transform:rotate(45deg);transition:transform .18s ease;width:6px}
.nav-services[open] summary::after{margin-top:0;transform:rotate(225deg)}

.services-dropdown{background:#fff;border:1px solid #e3dfd2;border-radius:12px;box-shadow:0 20px 50px rgba(21,8,38,.14);display:grid;gap:2px;left:-24px;min-width:330px;padding:10px;position:absolute;top:calc(100% + 12px);z-index:120}
.services-dropdown::before{content:"";height:13px;left:0;position:absolute;right:0;top:-13px}
.services-dropdown a{border-radius:8px;color:#171717;display:block;font-size:14px;font-weight:600;line-height:1.35;padding:11px 12px;text-decoration:none;white-space:nowrap}
.services-dropdown a::after{display:none!important}
.nav-services--knowledge .services-dropdown{min-width:220px}
.a3-main-nav .a3-knowledge-menu .wp-block-navigation__submenu-container{min-width:220px!important}
.services-dropdown a:hover,.services-dropdown a:focus-visible{background:#f9f7fc;color:#5b2ea0;outline:none;text-decoration:none}

.a3-main-nav .wp-block-navigation-submenu{position:relative}
.a3-main-nav .wp-block-navigation-submenu>.wp-block-navigation__submenu-icon{align-self:center;margin-top:0}
.a3-main-nav .wp-block-navigation__submenu-container{background:#fff!important;border:1px solid #e3dfd2!important;border-radius:12px!important;box-shadow:0 20px 50px rgba(21,8,38,.14)!important;margin-top:0!important;min-width:330px!important;padding:10px!important;top:100%!important}
.a3-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item{width:100%}
.a3-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{border-radius:8px;color:#171717!important;display:block;font-size:14px!important;line-height:1.35;padding:11px 12px!important;text-decoration:none!important;white-space:nowrap;width:100%}
.a3-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,.a3-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible{background:#f9f7fc;color:#5b2ea0!important;text-decoration:none!important}

@media (max-width:1080px){
  .nav-services{width:100%}
  .nav-services summary{border-bottom:1px solid #e3dfd2;font-size:20px;padding:18px 0}
  .services-dropdown{border:0;border-bottom:1px solid #e3dfd2;border-radius:0;box-shadow:none;gap:0;left:auto;min-width:0;padding:4px 0 12px 16px;position:static;width:100%}
  .services-dropdown::before{display:none}
  .services-dropdown a{border:0;font-size:16px;opacity:1!important;padding:11px 0;transform:none!important;white-space:normal}
}
@media (max-width:782px){
  .a3-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{border:0!important;border-radius:0!important;box-shadow:none!important;min-width:0!important;padding:8px 0 8px 16px!important;position:static!important}
  .a3-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-size:16px!important;white-space:normal}
}

/* ===================================================================
   CANONICAL INTERACTION SYSTEM
   Source: design-contract.json + docs/INTERACTION_SYSTEM.md.
   =================================================================== */
:root{
  --anim-hover-text-ms:0ms;
  --anim-hover-cta-ms:100ms;
  --anim-hover-surface-ms:140ms;
  --anim-hover-media-ms:180ms;
  --anim-hover-ease:cubic-bezier(.2,.8,.2,1);
  --anim-action-primary-hover:#b8e22e;
  --anim-action-primary-pressed:#8fb615;
  --anim-text-hover:#5b2ea0;
  --anim-text-hover-dark:#3d2660;
  --anim-surface-hover:#f9f7fc;
}

/* CTA and button-like controls. */
.btn,.a3-button,.wp-element-button,.wp-block-button__link,.elementor-button,.a3-blog-cta,.animails-button,.animails-contact-button,.animails-contact-chip,.icon-btn,.menu-btn,.social,.a3-footer__socials a,.platform-list a,.select-btn,.to-top{
  transition-duration:var(--anim-hover-cta-ms)!important;
  transition-timing-function:var(--anim-hover-ease)!important;
}
.btn-lime:hover,.a3-button--primary:hover,.wp-element-button:hover{background:var(--anim-action-primary-hover)!important;color:#171717!important;box-shadow:0 8px 20px rgba(198,241,53,.30)!important;transform:translateY(-2px)!important}
.btn-lime:active,.a3-button--primary:active,.wp-element-button:active{background:var(--anim-action-primary-pressed)!important;box-shadow:none!important;transform:translateY(0)!important;transition-duration:60ms!important}
.a3-button--secondary:hover{background:#fff!important;border-color:#5b2ea0!important;color:#5b2ea0!important;box-shadow:0 6px 14px rgba(21,8,38,.10)!important;transform:translateY(-2px)!important}
.btn-navy:hover{background:#5b2ea0!important;box-shadow:0 8px 18px rgba(91,46,160,.22)!important;transform:translateY(-2px)!important}
.btn-purple:hover{background:#7752ad!important;box-shadow:0 8px 18px rgba(119,82,173,.24)!important;transform:translateY(-2px)!important}
.btn-outline:hover{background:#fff!important;color:#150826!important;box-shadow:0 8px 18px rgba(255,255,255,.16)!important;transform:translateY(-2px)!important}
.btn-white:hover{background:#fff!important;border-color:#5b2ea0!important;color:#5b2ea0!important;box-shadow:0 8px 18px rgba(91,46,160,.14)!important;transform:translateY(-2px)!important}
.bento-tile .btn:hover{transform:none!important}

/* UI controls and UI links never underline. */
.btn,.a3-button,.wp-element-button,.wp-block-button__link,.elementor-button,.a3-blog-cta,.animails-button,.animails-contact-button,.animails-contact-chip,.icon-btn,.menu-btn,.social,.a3-footer__socials a,.platform-list a,.select-btn,.to-top,.chip-contact,.a3-topbar__contacts a,.a3-pill,.services-dropdown a,.a3-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,.a3-blog-topic-list a,.a3-blog-home .wp-block-post-terms a,.a3-article__terms a,.a3-post-card__terms a,.a3-pagination a,.a3-pagination .page-numbers,.animails-service-tags a,.animails-post-card-v2__meta .wp-block-post-terms a,.nav-services summary,.faq-q,.a3-faq summary,
.nav-links a,.a3-main-nav .wp-block-navigation-item__content,.animails-site-header .wp-block-navigation-item__content,.case-title-link,.footer-col a,.footer-legal a,.a3-footer nav a,.animails-footer-v2 nav a,.a3-related-posts__item a,.a3-post-card__title a,.animails-post-card .wp-block-post-title a,.animails-post-card-v2 .wp-block-post-title a,.a3-blog-home .wp-block-post-title a,.a3-service-hero__link,.a3-service-breadcrumbs a{
  text-decoration:none!important;
}

.chip-contact:hover,.chip-contact:focus-visible,.a3-topbar__contacts a:hover,.a3-topbar__contacts a:focus-visible,.a3-blog-topic-list a:hover,.a3-blog-topic-list a:focus-visible,.a3-blog-home .wp-block-post-terms a:hover,.a3-blog-home .wp-block-post-terms a:focus-visible,.a3-article__terms a:hover,.a3-article__terms a:focus-visible,.a3-post-card__terms a:hover,.a3-post-card__terms a:focus-visible,.a3-pagination a:hover,.a3-pagination a:focus-visible,.a3-pagination .page-numbers:hover,.a3-pagination .page-numbers:focus-visible{
  border-color:var(--anim-text-hover)!important;color:var(--anim-text-hover)!important;text-decoration:none!important;transition:none!important;
}

/* UI text links: instant color only, no underline. */
.nav-links a,.a3-main-nav .wp-block-navigation-item__content,.animails-site-header .wp-block-navigation-item__content,.case-title-link,.footer-col a,.footer-legal a,.a3-footer nav a,.animails-footer-v2 nav a,.a3-related-posts__item a,.a3-post-card__title a,.animails-post-card .wp-block-post-title a,.animails-post-card-v2 .wp-block-post-title a,.a3-blog-home .wp-block-post-title a{
  transition:none!important;
}
.nav-links a::after,.footer-col a::after{display:none!important;transition:none!important}
.nav-links a:hover,.nav-links a:focus-visible,.a3-main-nav .wp-block-navigation-item__content:hover,.a3-main-nav .wp-block-navigation-item__content:focus-visible,.animails-site-header .wp-block-navigation-item__content:hover,.animails-site-header .wp-block-navigation-item__content:focus-visible,.case-title-link:hover,.case-title-link:focus-visible,.case-card:hover .case-title-link,.footer-col a:hover,.footer-col a:focus-visible,.footer-legal a:hover,.footer-legal a:focus-visible,.a3-footer nav a:hover,.a3-footer nav a:focus-visible,.animails-footer-v2 nav a:hover,.animails-footer-v2 nav a:focus-visible,.a3-related-posts__item a:hover,.a3-related-posts__item a:focus-visible,.a3-post-card__title a:hover,.a3-post-card__title a:focus-visible,.animails-post-card .wp-block-post-title a:hover,.animails-post-card .wp-block-post-title a:focus-visible,.animails-post-card-v2 .wp-block-post-title a:hover,.animails-post-card-v2 .wp-block-post-title a:focus-visible,.a3-blog-home .wp-block-post-title a:hover,.a3-blog-home .wp-block-post-title a:focus-visible{
  color:var(--anim-text-hover)!important;text-decoration:none!important;transition:none!important;
}

/* Existing editorial links may keep their persistent affordance. */
.tlink,.contact-method,.a3-article__content a,.a3-article__meta a,.a3-blog-start-card a,.callback-consent a,.consent a,.a3-consent a,.animails-inline-link,.a3-service-hero__link{transition:none!important}
.tlink,.tlink:hover,.tlink:focus-visible,.contact-method,.contact-method:hover,.contact-method:focus-visible{ text-decoration:none!important }
.tlink:hover,.tlink:focus-visible{color:var(--anim-text-hover-dark)!important}
.tlink .arw{transition:none!important}
.tlink:hover .arw,.bento-tile:hover .arw,.case-card:hover .arw{transform:none!important}

.a3-article__content a:not(.wp-element-button):not(.wp-block-button__link):not(.elementor-button):not([role="button"]):hover,
.a3-article__content a:not(.wp-element-button):not(.wp-block-button__link):not(.elementor-button):not([role="button"]):focus-visible,
.a3-article__meta a:hover,.a3-article__meta a:focus-visible,.a3-blog-start-card a:hover,.a3-blog-start-card a:focus-visible,.callback-consent a:hover,.callback-consent a:focus-visible,.consent a:hover,.consent a:focus-visible,.a3-consent a:hover,.a3-consent a:focus-visible,.animails-inline-link:hover,.animails-inline-link:focus-visible{
  color:var(--anim-text-hover)!important;
}

.nav-services summary:hover,.nav-services summary:focus-visible,.faq-q:hover,.faq-q:focus-visible,.a3-faq summary:hover,.a3-faq summary:focus-visible{color:var(--anim-text-hover)!important;text-decoration:none!important;transition:none!important}
.a3-faq summary::after{text-decoration:none!important}
.a3-service-hero__link:hover,.a3-service-hero__link:focus-visible,.tlink.on-dark:hover,.tlink.on-dark:focus-visible{color:#fff!important;text-decoration:none!important;transition:none!important}
.contact-method:hover,.contact-method:focus-visible{color:#c6f135!important}
.services-dropdown a:hover,.services-dropdown a:focus-visible,.a3-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,.a3-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible{background:#f9f7fc!important;color:var(--anim-text-hover)!important;text-decoration:none!important}

/* Card and surface hover motion. */
.logo-box,.problem-card,.bento-tile,.case-card,.a3-blog-featured-card,.a3-blog-card,.a3-blog-promo-card,.a3-post-card,.a3-email-service .a3-scope-row,.a3-email-service .a3-scope-feature{
  transition-duration:var(--anim-hover-surface-ms)!important;
  transition-timing-function:var(--anim-hover-ease)!important;
}
.logo-box img,.case-media img,.a3-blog-featured-media img,.a3-blog-card-media img,.a3-blog-promo-media img,.a3-post-card__image img,.a3-service-visual__email-image img{
  transition-duration:var(--anim-hover-media-ms)!important;
  transition-timing-function:var(--anim-hover-ease)!important;
}
.a3-email-service .a3-service-visual::after,.a3-email-service .a3-service-visual__email{transition-duration:var(--anim-hover-surface-ms)!important;transition-timing-function:var(--anim-hover-ease)!important}

.a3-blog-featured-card:hover,.a3-blog-featured-card:focus-within,.a3-blog-card:hover,.a3-blog-card:focus-within,.a3-blog-promo-card:hover,.a3-blog-promo-card:focus-within,.a3-post-card:hover,.a3-post-card:focus-within,.a3-related-card:hover,.a3-related-card:focus-within{transform:none!important;border-color:#d3c9e2!important;box-shadow:none!important}
.a3-blog-featured-card:hover img,.a3-blog-card:hover img,.a3-blog-promo-card:hover img,.a3-post-card:hover img,.a3-related-card:hover img{transform:none!important}

.a3-service-breadcrumbs{gap:7px;text-decoration:none!important}
.a3-service-breadcrumbs a{color:inherit;text-decoration:none!important}
.a3-service-breadcrumbs a:hover,.a3-service-breadcrumbs a:focus-visible{color:#3d2660!important;text-decoration:none!important}
.a3-service-breadcrumbs [aria-current="page"]{color:#5b2ea0}

.a3-faq details{interpolate-size:allow-keywords}
.a3-faq details::details-content{height:0;overflow:hidden;opacity:0;transition:height 220ms var(--anim-hover-ease),opacity 160ms ease,content-visibility 220ms allow-discrete}
.a3-faq details[open]::details-content{height:auto;opacity:1}

@media (prefers-reduced-motion:reduce){
  .btn,.a3-button,.wp-element-button,.wp-block-button__link,.elementor-button,.a3-blog-cta,.icon-btn,.menu-btn,.social,.a3-footer__socials a,.platform-list a,.select-btn,.logo-box,.problem-card,.bento-tile,.case-card,.a3-blog-featured-card,.a3-blog-card,.a3-blog-promo-card,.a3-post-card,.a3-email-service .a3-scope-row,.a3-email-service .a3-scope-feature,.logo-box img,.case-media img,.a3-blog-featured-media img,.a3-blog-card-media img,.a3-blog-promo-media img,.a3-post-card__image img,.a3-service-visual__email-image img,.a3-email-service .a3-service-visual::after,.a3-email-service .a3-service-visual__email{transition:none!important}
}

/* Cross-template mobile and accessibility safeguards. */
:where(a,button,input,textarea,select,summary,[role="button"]){touch-action:manipulation}
.a3-field input{min-height:44px}
@media (max-width:900px){
  .animails-page-main{padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}
}
@media (max-width:600px){
  .callback-form input:not([type="checkbox"]):not([type="radio"]),
  .field input:not([type="checkbox"]):not([type="radio"]),
  .field textarea,
  .a3-callback-form input[type="tel"],
  .a3-field input:not([type="checkbox"]):not([type="radio"]),
  .a3-field textarea{font-size:16px!important}
}

/* ===================================================================
   EMAIL HERO – RESPONSIVE SCENE
   Keep the 540×420 Figma geometry and scale the root scene on narrow screens.
   =================================================================== */
@media (max-width:900px){
  .a3-email-service .a3-service-visual{height:420px!important;justify-self:center!important;max-width:none!important;width:540px!important}
}
@media (max-width:600px){
  .a3-email-service .a3-service-visual{--a3-mobile-visual-scale:1;--a3-mobile-visual-compensation:0px;height:420px!important;justify-self:center!important;margin-bottom:var(--a3-mobile-visual-compensation)!important;max-width:none!important;transform:scale(var(--a3-mobile-visual-scale))!important;transform-origin:top center!important;width:540px!important}
  .a3-service-visual__glow{height:300px!important;left:149px!important;top:99px!important;transform:none!important;width:300px!important}
  .a3-email-service .a3-service-visual__email{height:263px!important;left:48px!important;right:auto!important;top:61px!important;transform:none!important;width:444px!important}
  .a3-email-service .a3-service-visual__rate{left:449px!important;right:auto!important;top:-24px!important}
  .a3-email-service .a3-service-visual__revenue{bottom:auto!important;left:-56px!important;right:auto!important;top:349px!important;width:492px!important}
  .a3-email-service .a3-service-visual__revenue strong{font-size:32px!important}
}
@media (max-width:560px){.a3-email-service .a3-service-visual{--a3-mobile-visual-scale:.96;--a3-mobile-visual-compensation:-17px}}
@media (max-width:520px){.a3-email-service .a3-service-visual{--a3-mobile-visual-scale:.89;--a3-mobile-visual-compensation:-46px}}
@media (max-width:480px){.a3-email-service .a3-service-visual{--a3-mobile-visual-scale:.815;--a3-mobile-visual-compensation:-78px}}
@media (max-width:440px){.a3-email-service .a3-service-visual{--a3-mobile-visual-scale:.74;--a3-mobile-visual-compensation:-109px}}
@media (max-width:400px){.a3-email-service .a3-service-visual{--a3-mobile-visual-scale:.667;--a3-mobile-visual-compensation:-140px}}
@media (max-width:360px){.a3-email-service .a3-service-visual{--a3-mobile-visual-scale:.593;--a3-mobile-visual-compensation:-171px}}
@media (max-width:320px){.a3-email-service .a3-service-visual{--a3-mobile-visual-scale:.519;--a3-mobile-visual-compensation:-202px}}
@supports (opacity:calc(1px / 1px)){
  @media (max-width:580px){
    .a3-email-service .a3-service-visual{--a3-mobile-visual-scale:clamp(.5,calc((100vw - 40px) / 540px),1);--a3-mobile-visual-compensation:calc(77.7778vw - 451.1111px)}
  }
}

/* Formularz kontaktowy podstron: ten sam wygląd co kontakt na stronie głównej. */
.a3-contact-form .a3-field label{font:400 12px/1.6 Geist,Arial,sans-serif;color:#5c5a52}
.a3-contact-form .a3-field input,.a3-contact-form .a3-field textarea{background:#f5f2e8;border-color:#e3dfd2;padding:12px 16px;min-height:48px}
.a3-contact-form .a3-field textarea{min-height:90px}
.a3-contact-form .a3-field input:focus,.a3-contact-form .a3-field textarea:focus{outline:none;background:#fff;border-color:#5b2ea0;box-shadow:0 0 0 3px rgba(91,46,160,.15)}
.a3-contact-form .a3-button{align-self:flex-start;border-radius:8px;padding:14px 24px}
