/* Shared controls for the portfolio shell. Embedded project interfaces keep their own design. */
:root{--button-radius:10px}
body :is(.cta,.nav-cta,.nav-toggle,.mobile-nav-contact,.whatsapp-float,.motion-toggle,.footer-motion,.tour-motion,.system-case-play,.video-control,.catalog-motion,.catalog-filters button,.hero-chapters button,.system-caption button,.tour-caption button){border-radius:var(--button-radius);min-height:44px;transition:background-color .18s,color .18s,border-color .18s}
body :is(.cta,.nav-cta,.whatsapp-float){display:inline-flex;align-items:center;justify-content:center;gap:10px;text-align:center}
body .nav-cta{border:1px solid var(--accent);padding:9px 17px;color:var(--accent)}
body :is(.motion-toggle,.footer-motion,.tour-motion,.system-case-play,.video-control,.catalog-motion,.system-caption button,.tour-caption button){border:1px solid var(--line);background:transparent;color:inherit;padding:9px 14px;line-height:1.4}
body :is(.motion-toggle,.footer-motion,.tour-motion,.system-case-play,.video-control,.catalog-motion):hover{border-color:var(--accent);color:var(--accent)}
body .cta:hover,body .whatsapp-float:hover{filter:brightness(.94)}
body :is(button,.cta,.nav-cta,.whatsapp-float):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
/* Remove legacy enlargement controls even if an older script is cached. */
.project-expand,.project-view-actions,#expand,#screen-dialog,.project-lightbox{display:none!important}
@media(max-width:760px){body .site-nav>.nav-cta{display:none}body .catalog-motion{padding:9px 14px}body .whatsapp-float{border-radius:var(--button-radius)}}
@media(prefers-reduced-motion:reduce){body :is(button,.cta,.nav-cta,.whatsapp-float){transition:none}}

/* All contact calls to action share one visual and typographic treatment. */
body :is(.cta,.nav-cta,.mobile-nav-contact){
 width:310px;max-width:100%;min-width:0;min-height:56px;height:auto;
 padding:14px 22px;border:1px solid #ceff43;border-radius:10px;
 background:#ceff43;color:#1d211e;
 font:600 18px/1.4 Assistant,Arial;letter-spacing:0;text-decoration:none;
 display:inline-flex;align-items:center;justify-content:center;gap:12px;
 text-align:center;white-space:normal;box-sizing:border-box;
}
body .hero .hero-copy .cta,body .contact .cta,body .catalog-contact .cta{width:310px;max-width:100%;min-height:56px;padding:14px 22px;font:600 18px/1.4 Assistant,Arial;text-align:center;background:#ceff43;color:#1d211e}
body :is(.cta,.nav-cta,.mobile-nav-contact):hover{background:#bff02e;color:#1d211e;border-color:#bff02e}
body .cta:disabled{opacity:.65;cursor:wait}
@media(max-width:760px){
 body .site-nav>.nav-cta{display:none}
 body .hero .hero-copy .cta,body .contact .cta,body .site-nav nav .mobile-nav-contact{width:100%;min-height:56px;padding:14px 22px;font:600 18px/1.4 Assistant,Arial;justify-content:center;text-align:center;border:1px solid #ceff43;background:#ceff43;color:#1d211e}
}
