/* Ideia·App V5.2: telemóvel mais compacto.
   Só se aplica a ecrãs até 760px; o computador não muda. */
.m-swipe-hint{display:none}
@media (max-width:999px){

/* ---------- Carrosséis horizontais (soluções e ideias) ---------- */
.site-pro-v2 .solution-grid,
.site-pro-v2 #ideasGrid{
  display:flex!important;gap:12px!important;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding-inline:16px;
  margin-inline:-16px!important;padding:4px 16px 14px!important;
  scrollbar-width:none;transform:none!important;height:auto!important;
}
.site-pro-v2 .solution-grid::-webkit-scrollbar,
.site-pro-v2 #ideasGrid::-webkit-scrollbar{display:none}

/* Soluções */
.site-pro-v2 .solution-card{flex:0 0 68%!important;max-width:260px;scroll-snap-align:start;min-height:0!important}
.site-pro-v2 .solutions-heading p{display:none}
.site-pro-v2 .advantages{grid-template-columns:1fr 1fr!important;gap:10px!important;padding:14px!important;margin-top:8px!important}
.site-pro-v2 .advantages small{display:none}
.site-pro-v2 .advantages b{font-size:13px}

/* Ideias */
.site-pro-v2 #ideasGrid > .idea{flex:0 0 72%!important;max-width:280px;scroll-snap-align:start;animation:none!important;opacity:1!important;transform:none!important}
.site-pro-v2 #ideasGrid > .idea p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.site-pro-v2 .pro-ideas .section-head p:not(.idea-gallery-hint){display:none}
.site-pro-v2 #filters{flex-wrap:nowrap!important;overflow-x:auto;justify-content:flex-start!important;
  margin-inline:-16px;padding:2px 16px 8px;scrollbar-width:none}
.site-pro-v2 #filters::-webkit-scrollbar{display:none}
.site-pro-v2 #filters .filter{flex:0 0 auto;white-space:nowrap}
.site-pro-v2 .lvl-legend{gap:4px 12px!important;font-size:12px;margin:6px 0!important}
.site-pro-v2 .studio-gallery-toolbar{margin:6px 0!important}
.site-pro-v2 .ideas-cta{margin-top:10px!important}

/* Dica de deslizar, por baixo dos carrosséis */
.site-pro-v2 .solution-grid + .advantages::before,
.site-pro-v2 .studio-gallery-toolbar strong::after{content:none}
.m-swipe-hint{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--muted,#5f6886);margin:2px 0 6px}
.m-swipe-hint svg{width:16px;height:16px}

/* ---------- Demonstrações: telemóvel e passos no mesmo ecrã ---------- */
.site-pro-v2 .pro-demos .section-head p,
.site-pro-v2 .pro-demos .demo-head-chip{display:none}
.site-pro-v2 .pro-demos .demo-stage{padding:12px 12px 16px!important;gap:10px!important}
.site-pro-v2 .pro-demos .demo-viewport{padding:0!important;gap:6px!important}
.site-pro-v2 .pro-demos .demo-viewport-label{margin-bottom:4px!important}
.site-pro-v2 .pro-demos .demo-phone{zoom:.64;margin-inline:auto!important}
.site-pro-v2 .pro-demos .demo-phone.is-browser{zoom:.5}
.site-pro-v2 .pro-demos .demo-step-dots{margin-top:2px!important;min-height:0!important}
.site-pro-v2 .pro-demos .demo-info{padding:12px 14px!important}
.site-pro-v2 .pro-demos .studio-demo-signature,
.site-pro-v2 .pro-demos .demo-kicker,
.site-pro-v2 .pro-demos .demo-bottom-note{display:none!important}
.site-pro-v2 .pro-demos #demoTitle{font-size:19px!important;margin:0 0 4px!important;line-height:1.2}
.site-pro-v2 .pro-demos #demoDesc{font-size:13.5px!important;margin:0 0 8px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.site-pro-v2 .pro-demos #demoSteps{margin:0 0 10px!important}
.site-pro-v2 .pro-demos .demo-controls{margin:0!important}

/* ---------- Como funciona: fases em grelha, texto por baixo da foto ---------- */
.site-pro-v2 .process-section .section-head p{display:none}
.site-pro-v2 .pro-process-steps{grid-template-columns:1fr 1fr!important;gap:8px!important}
.site-pro-v2 .pro-process-step{padding:10px 12px!important;min-height:0!important;grid-template-columns:auto 1fr!important;gap:8px!important;align-items:center!important}
.site-pro-v2 .pro-process-step .pro-process-copy > span,
.site-pro-v2 .pro-process-step .pro-process-plus{display:none!important}
.site-pro-v2 .pro-process-step .pro-process-no{width:30px!important;height:30px!important;font-size:12px!important}
.site-pro-v2 .pro-process-step strong{font-size:13.5px!important;line-height:1.2}
.site-pro-v2 .pro-process-step small{font-size:10px!important}
.site-pro-v2 .pro-process-scene{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column;margin-top:10px!important}
.site-pro-v2 #processScenePhoto{position:relative!important;inset:auto!important;width:100%!important;height:210px!important;object-fit:cover;object-position:center 30%}
.site-pro-v2 .pro-process-screen-glow{display:none}
.site-pro-v2 .pro-process-glass{position:relative!important;inset:auto!important;margin:0!important;width:auto!important;border-radius:0!important;padding:16px!important;transform:none!important}
.site-pro-v2 .pro-process-glass .pro-scene-label{display:none}
.site-pro-v2 .pro-process-glass h3{font-size:19px!important}

/* ---------- Perguntas frequentes: sem a foto grande ---------- */
.site-pro-v2 .pro-faq-story{display:none!important}

/* ---------- Orçamento: só o formulário ---------- */
.site-pro-v2 .pro-contact .section-head p,
.site-pro-v2 .pro-contact-visual,
.site-pro-v2 .pro-contact .hint{display:none!important}
.site-pro-v2 .pro-contact .section-head{margin-bottom:12px!important}
.site-pro-v2 .pro-contact-form-wrap{padding:16px!important}
.site-pro-v2 .pro-contact-form-intro h3{font-size:17px!important}
.site-pro-v2 .pro-contact .options{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
.site-pro-v2 .pro-contact .opt span{padding:10px 12px!important;font-size:13.5px!important;min-height:0!important}
.site-pro-v2 .pro-contact textarea{min-height:120px}
.site-pro-v2 .pro-contact .fields{gap:8px!important}

/* ---------- Rodapé compacto ---------- */
.site-pro-v2 .footer-premium-scene{display:none!important}
.site-pro-v2 .footer-premium-inner{gap:12px!important;padding-block:28px 22px!important}
.site-pro-v2 .footer-premium-copy .logo img{width:150px;height:auto}
.site-pro-v2 .footer-premium-text{font-size:13.5px!important;margin:8px 0!important}
.site-pro-v2 .footer-services{font-size:12px!important;gap:4px 10px!important}

/* Secções com menos espaço vazio */
.site-pro-v2 main > .section,
.site-pro-v2 .solutions-section{padding-block:44px!important}
.site-pro-v2 .section-head{margin-bottom:18px!important}
}

/* ---------- Scroll em palco (mobile-scroll.js) ---------- */
@media (max-width:999px) and (prefers-reduced-motion:no-preference){
.m-staged .m-stage{overflow:visible!important;contain:none!important}
html.m-staged body.site-pro-v2 :is(#solucoes,#demos,#processo,#possibilidades).m-stage > .container{position:sticky!important;z-index:1}
.m-staged .m-stage .solution-grid,
.m-staged .m-stage #ideasGrid{scroll-snap-type:none!important;scroll-behavior:auto!important}
/* Ideias: duas filas de cartões mais pequenos */
.m-staged #possibilidades #ideasGrid{display:grid!important;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:168px;gap:10px!important}
.m-staged #possibilidades #ideasGrid > .idea{max-width:none}
.m-staged #possibilidades .idea-photo{height:92px!important;aspect-ratio:auto!important}
.m-staged #possibilidades .idea-photo img{height:100%!important;object-fit:cover}
.m-staged #possibilidades .idea h3{font-size:13.5px!important;line-height:1.2;margin:4px 0!important}
.m-staged #possibilidades .idea p{font-size:12px!important;-webkit-line-clamp:2!important;margin:0!important}
.m-staged #possibilidades .idea > :last-child:not(p){display:none}
.m-staged #possibilidades .lvl-legend,
.m-staged #possibilidades .studio-gallery-toolbar,
.m-staged #possibilidades .idea-gallery-hint,
.m-staged #possibilidades .ideas-cta p{display:none!important}
/* Barra de progresso do palco */
.m-staged .m-stage > .container::after{content:"";display:block;height:3px;margin-top:10px;border-radius:3px;
  background:linear-gradient(90deg,#4331d8,#06dbf2) 0 0/calc(var(--m-stage-progress,0)*100%) 100% no-repeat,rgba(67,49,216,.14)}
}
/* Demonstração mais baixa, para caber num ecrã */
@media (max-width:999px){
.site-pro-v2 .pro-demos .demo-phone{zoom:.56}
.site-pro-v2 .pro-demos .demo-phone.is-browser{zoom:.46}
.site-pro-v2 .pro-demos .section-head{margin-bottom:10px!important}
.site-pro-v2 .pro-demos .section-head .eyebrow{display:none}
.site-pro-v2 .pro-demos #demoTabs{margin-bottom:8px!important}
.site-pro-v2 .pro-demos .demo-step-dots{min-height:0!important;height:auto!important}
.site-pro-v2 .pro-demos .demo-info > *:first-child{margin-top:0!important}
.site-pro-v2 .solution-card{min-height:250px!important}
}
/* Ajustes de altura para cada palco caber num ecrã */
@media (max-width:999px){
.site-pro-v2 .pro-demos .demo-stage{min-height:0!important;height:auto!important}
.site-pro-v2 .pro-demos .demo-viewport{min-height:0!important;height:auto!important;padding:4px 0 0!important}
.site-pro-v2 .pro-demos .demo-step-dots{padding:0!important;margin:4px auto 0!important}
.site-pro-v2 .pro-demos .demo-info{min-height:0!important}
.site-pro-v2 .pro-ideas .studio-ideas-viewport{height:auto!important;max-height:none!important;overflow:visible!important}
.site-pro-v2 .pro-ideas .section-head{margin-bottom:10px!important}
.site-pro-v2 .pro-ideas .studio-kinetic,.site-pro-v2 .pro-ideas .section-head h2{font-size:26px!important;line-height:1.15!important}
.site-pro-v2 #processScenePhoto{height:170px!important}
.site-pro-v2 .pro-process-glass{padding:12px 14px!important}
.site-pro-v2 .pro-process-glass h3{font-size:17px!important;margin:4px 0!important}
.site-pro-v2 .pro-process-glass p{font-size:13px!important;margin:0 0 8px!important}
.site-pro-v2 .process-section .section-head h2,.site-pro-v2 .pro-demos .section-head h2{font-size:26px!important;line-height:1.15!important}
}
@media (max-width:999px) and (prefers-reduced-motion:no-preference){
.m-staged #possibilidades #ideasGrid{grid-auto-columns:190px}
.m-staged #possibilidades .idea-top{display:none!important}
.m-staged #possibilidades .idea h3{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
}
@media (max-width:999px) and (prefers-reduced-motion:no-preference){
.m-staged .m-stage .m-swipe-hint{display:none}
.m-staged #possibilidades .section-head .eyebrow{display:none}
.m-staged #possibilidades .section-head{margin-bottom:6px!important}
.m-staged #possibilidades .section-head h2{font-size:23px!important}
.m-staged #possibilidades .idea-photo{height:84px!important}
.m-staged #possibilidades .ideas-cta{margin-top:6px!important}
.m-staged #possibilidades .ideas-cta .btn{padding-block:10px!important}
}
/* Demos: pontos dos passos finos (área de toque maior, traço pequeno) e sem a etiqueta por cima do telemóvel */
@media (max-width:999px){
.site-pro-v2 .pro-demos .demo-viewport-label{display:none!important}
.site-pro-v2 .pro-demos .demo-step-dots{gap:2px!important;flex-wrap:nowrap!important;max-width:100%!important;margin:6px auto 0!important}
.site-pro-v2 .pro-demos .demo-step-dots button{all:unset;box-sizing:border-box;cursor:pointer;width:24px;height:20px;display:flex;align-items:center;justify-content:center;transition:width .25s}
.site-pro-v2 .pro-demos .demo-step-dots button::after{content:"";display:block;width:16px;height:5px;border-radius:5px;background:rgba(255,255,255,.28);transition:width .25s,background .25s}
.site-pro-v2 .pro-demos .demo-step-dots button.done::after{background:#10b981}
.site-pro-v2 .pro-demos .demo-step-dots button.active{width:38px}
.site-pro-v2 .pro-demos .demo-step-dots button.active::after{width:30px;background:linear-gradient(90deg,#a66bea,#06dbf2)}
.site-pro-v2 .pro-demos .demo-step-dots button:focus-visible{outline:2px solid #a66bea;outline-offset:2px;border-radius:6px}
}
@media (max-width:999px) and (prefers-reduced-motion:no-preference){
.m-staged #possibilidades #ideasGrid{align-items:start!important;grid-template-rows:repeat(2,max-content)!important}
.m-staged #possibilidades #ideasGrid > .idea{height:auto!important;min-height:0!important;max-height:none!important;padding-bottom:12px!important}
}
/* Orçamento mais curto */
@media (max-width:999px){
.site-pro-v2 #orcamento .section-head .eyebrow{display:none!important}
.site-pro-v2 #orcamento .section-head h2{font-size:28px!important;line-height:1.12!important}
.site-pro-v2 #orcamento .pro-form-sequence,
.site-pro-v2 #orcamento .pro-contact-mini{display:none!important}
.site-pro-v2 #quoteForm legend{font-size:20px!important;margin-bottom:10px!important}
.site-pro-v2 #quoteForm .options{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.site-pro-v2 #quoteForm .opt span{padding:11px 10px!important;font-size:13.5px!important;gap:8px!important;min-height:52px!important;height:100%;box-sizing:border-box;display:flex;align-items:center}
.site-pro-v2 #quoteForm .step-count{margin:6px 0 10px!important}
.site-pro-v2 #quoteForm .form-nav{margin-top:12px!important}
.site-pro-v2 #quoteForm .form-nav .btn{padding:12px 18px!important}
}

/* Demonstrações no PC (portáteis): tudo cabe no quadro, sem barra de deslocamento.
   Os passos encolhem até à altura do texto e o telemóvel reduz conforme a altura do ecrã. */
@media (min-width:1000px) and (min-height:680px) and (prefers-reduced-motion:no-preference){
  .site-pro-v2 #demos .demo-info{display:flex;flex-direction:column}
  .site-pro-v2 #demos .demo-info>*{flex:0 0 auto}
  .site-pro-v2 #demos .demo-info>.demo-steps{flex:0 1 auto;min-height:0;display:flex;flex-direction:column}
  .site-pro-v2 #demos .demo-steps li{flex:0 1 40px;min-height:18px;margin-bottom:1px;padding-top:2px;padding-bottom:2px}
  .site-pro-v2 #demos .demo-steps li .demo-step-index{align-self:stretch;height:auto;max-height:28px;min-height:0;width:auto;aspect-ratio:1;flex:0 0 auto;font-size:clamp(9px,1.4vh,12px);line-height:1;display:grid;place-items:center}
}
@media (min-width:1000px) and (min-height:680px) and (max-height:779px){.site-pro-v2 #demos .demo-phone{zoom:.63}}
@media (min-width:1000px) and (min-height:680px) and (max-height:739px){.site-pro-v2 #demos .demo-phone{zoom:.58}}
@media (min-width:1000px) and (min-height:680px) and (max-height:699px){.site-pro-v2 #demos .demo-phone{zoom:.55}}
@media (min-width:1000px) and (min-height:680px) and (max-height:699px) and (prefers-reduced-motion:no-preference){
  .site-pro-v2 #demos .demo-info h3{font-size:25px}
  .site-pro-v2 #demos .demo-steps li{min-height:16px;padding-top:1px;padding-bottom:1px}
}

/* «Experimenta» no telemóvel: o quadro do ecrã tem sempre a mesma altura (também no exemplo do tablet)
   e encolhe com o ecrã; os valores --m-vp e --m-ph são calculados em mobile-scroll.js */
@media (max-width:999px) and (prefers-reduced-motion:no-preference){
  .m-staged #demos .demo-viewport{height:var(--m-vp,360px)!important;min-height:0!important;justify-content:center!important}
  .m-staged #demos .demo-phone{zoom:calc(.56 * var(--m-ph,1))!important}
  .m-staged #demos .demo-phone.is-browser{zoom:calc(.46 * var(--m-ph,1))!important}
}

/* Demonstrações no telemóvel: «Pausa», «Quero uma assim» e «Ver como funcionaria» na mesma linha.
   Os botões encolhem com a largura da caixa (cqi), para caberem em qualquer telemóvel. */
@media (max-width:999px){
  .site-pro-v2 #demos .demo-info{container-type:inline-size}
  .site-pro-v2 #demos .demo-controls{flex-wrap:nowrap!important;align-items:center!important;gap:min(6px,2cqi)!important;justify-content:center!important}
  .site-pro-v2 #demos .demo-controls>.btn{flex:0 1 auto;min-width:0;white-space:nowrap;padding:min(9px,3cqi) min(9px,2.8cqi)!important;font-size:min(11.5px,3.6cqi)!important;min-height:0!important}
  .site-pro-v2 #demos .demo-controls>.btn[hidden]{display:none!important}
  .site-pro-v2 #demos #demoPlay{flex:0 0 auto;padding:min(9px,3cqi)!important}
  .site-pro-v2 #demos #demoPlay span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .site-pro-v2 #demos .demo-more span[aria-hidden]{display:none}
}

/* Ecrã inicial: a montagem (portátil + telemóvel) mantém a escala (--s) também com o efeito 3D.
   Sem isto, no telemóvel ficava com o tamanho do PC (760px) e quase toda fora do ecrã. */
@media (max-width:999px){.site-pro-v2 #heroScene{transform:scale(var(--s,1)) perspective(1200px) rotateX(var(--premium-rx,0deg)) rotateY(var(--premium-ry,0deg))}}
.hero.hero-tight .hero-social-proof{display:none!important}

/* «Como funciona»: sem o botão «Explorar fase seguinte» */
#processo .studio-next-process{display:none!important}
/* «Como funciona»: sem a contagem «01 / 04» (o «Em evolução» fica no mesmo sítio) */
#processo #processSceneIndex{display:none!important}
#processo .pro-scene-status{margin-left:auto}

/* Tablets (761 a 999px): no «Experimenta», a imagem fica à esquerda e o texto e os botões ao lado, à direita */
@media (min-width:761px) and (max-width:999px){
  .site-pro-v2 .pro-demos .demo-stage{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;align-items:center!important;gap:16px!important}
  .site-pro-v2 .pro-demos .demo-viewport{grid-column:1;grid-row:1}
  .site-pro-v2 .pro-demos .demo-info{grid-column:2;grid-row:1;align-self:center}
  .site-pro-v2 .pro-demos #demoDesc{-webkit-line-clamp:4}
}
