/* GridSignal — integração de vídeo. Complementa o layout original. */
.gs-word-grid { color: #fff; }
.gs-word-signal { color: #00cf65; }
.product-showcase.gs-video-showcase .showcase-viewport.gs-video-viewport {
    display: block !important; position: relative !important;
    width: 100% !important; aspect-ratio: 16 / 9;
    height: auto !important; min-height: 0 !important; max-height: none !important;
    padding: 0 !important; margin: 0 !important; overflow: hidden !important;
    border-radius: 0 !important; background: #011023 !important;
}
.product-showcase.gs-video-showcase .showcase-window { height: auto !important; }
.gs-hero-video { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #011023; }
.gs-video-label { color: rgba(255,255,255,.62); font-size: 11px; letter-spacing: .04em; }
.gs-video-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 18px; background: #061b2b; border-top: 1px solid rgba(255,255,255,.09); }
.gs-media-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; background: transparent; color: #eaf5f7; font: inherit; font-size: 13px; line-height: 1.35; cursor: pointer; min-height: 44px; transition: background 160ms, border-color 160ms; }
.gs-media-button:hover { background: rgba(49,213,155,.10); border-color: rgba(49,213,155,.65); }
.gs-media-button:focus-visible, .gs-close-button:focus-visible, .gs-video-transcript summary:focus-visible { outline: 3px solid #31d59b; outline-offset: 4px; }
.gs-expand-button { color: #8ef2c6; }
.gs-play-symbol { width: 13px; font-size: 12px; }
.product-showcase.gs-video-showcase .gs-video-hint { margin: 20px 0 0; text-align: center; font-size: 12px; color: rgba(255,255,255,.65); letter-spacing: .03em; }
.gs-video-dialog { box-sizing: border-box; width: min(1180px,96vw); max-width: 96vw; max-height: 94dvh; margin: auto; padding: 0; overflow: auto; border: 1px solid rgba(98,183,175,.3); border-radius: 20px; color: #eef7f9; background: #011023; box-shadow: 0 36px 120px rgba(0,0,0,.55); opacity: 0; transform: perspective(1600px) rotateY(-7deg) scale(.94); transition: transform 380ms cubic-bezier(.2,.7,.2,1), opacity 260ms; }
.gs-video-dialog.gs-is-visible { opacity: 1; transform: perspective(1600px) rotateY(0) scale(1); }
.gs-video-dialog::backdrop { background: rgba(0,9,18,.88); backdrop-filter: blur(10px); }
.gs-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 24px; }
.gs-dialog-kicker { margin: 0 0 5px; color: #77d6b6; font-size: 10px; font-weight: 600; letter-spacing: .17em; }
.gs-dialog-heading h2 { margin: 0; font-size: 22px; line-height: 1.35; }
.gs-dialog-tagline { color: #aec0cd; font-size: 14px; font-weight: 400; }
.gs-close-button { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.04); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.gs-dialog-video { display: block; width: 100%; aspect-ratio: 16 / 9; max-height: 68dvh; object-fit: contain; background: #011023; }
.gs-dialog-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 24px; color: #9eb5c2; font-size: 12px; }
.gs-video-transcript { padding: 0 24px 18px; color: #aac0cd; font-size: 13px; line-height: 1.7; }
.gs-video-transcript summary { cursor: pointer; width: fit-content; }
.gs-video-transcript p { margin: 12px 0 0; }
body.gs-video-open { overflow: hidden; }
@media (max-width: 1100px) {
    .product-showcase.gs-video-showcase, .product-showcase.gs-video-showcase:hover,
    .product-showcase.gs-video-showcase .showcase-window, .product-showcase.gs-video-showcase:hover .showcase-window { transform: none !important; }
}
@media (max-width: 600px) {
    .gs-video-toolbar { padding: 10px; gap: 7px; }
    .gs-media-button { font-size: 11px; padding: 9px 8px; gap: 6px; }
    .gs-dialog-heading { padding: 14px 15px; }
    .gs-dialog-heading h2 { font-size: 20px; }
    .gs-dialog-tagline { display: none; }
    .gs-dialog-footer { padding: 10px 15px; }
    .gs-video-transcript { padding: 0 15px 15px; }
}
@media (prefers-reduced-motion: reduce) {
    .product-showcase.gs-video-showcase, .product-showcase.gs-video-showcase .showcase-window { transform: none !important; animation: none !important; }
    .gs-video-dialog { transform: none; transition: none; }
}
