/* Mobile pass: compact spacing, predictable tap targets and no horizontal overflow. */
html{overflow-x:hidden}
body{overflow-x:hidden;-webkit-text-size-adjust:100%}

@media(max-width:900px){
  /* Navegação restaurada no topo: todas as áreas permanecem visíveis em duas faixas roláveis. */
  .sidebar.product-header{position:sticky!important;display:block!important;inset:auto!important;top:0!important;width:100%!important;height:auto!important;min-height:0!important;padding:0!important;background:#fff!important;color:var(--text)!important;border-bottom:1px solid var(--line)!important;box-shadow:0 2px 12px rgba(16,45,58,.07)!important;z-index:60}
  .product-header-main{width:100%!important;height:auto!important;min-height:0!important;padding:8px 12px 0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:0 10px!important}
  .product-brand{grid-column:1;grid-row:1!important;min-width:0!important}
  .product-brand .tooth{width:34px!important;height:34px!important;border-radius:9px!important}
  .product-brand-name{font-size:21px!important;white-space:nowrap}
  .product-header .account-card{grid-column:2;grid-row:1!important;min-width:0!important;width:auto!important;max-width:150px!important;min-height:38px!important;padding:4px 8px!important;grid-template-columns:28px minmax(0,1fr)!important;gap:6px!important}
  .product-header .account-avatar{width:28px!important;height:28px!important;border-radius:7px!important}
  .product-header .account-card b{font-size:9px!important}
  .product-header .account-card small{font-size:8px!important}
  .product-header .primary-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start!important;width:100%!important;height:42px!important;gap:20px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important}
  .product-header .primary-nav::-webkit-scrollbar,.product-header .secondary-nav::-webkit-scrollbar{display:none}
  .product-header-sub{display:block!important;min-height:38px!important;padding:0 12px!important;background:#fff!important;border-top:1px solid var(--line)!important}
  .product-header .secondary-nav{width:100%!important;min-height:38px!important;gap:20px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important}
  .product-header .secondary-nav .nav{min-height:38px!important;padding:8px 0!important;font-size:10px!important;flex:0 0 auto!important}
  .product-header .goal{display:none!important}
  .mobile-head,.bottom-nav{display:none!important}
  main{width:100%;max-width:100%;margin:0;padding:0 12px 32px!important}

  .view:not(#home),.access-status,.site-footer{width:100%!important;max-width:none}
  .pagehead{display:block;margin-bottom:15px}
  .pagehead h1{font-size:clamp(1.8rem,8vw,2.35rem)!important;line-height:1.1;margin:3px 0 9px}
  .pagehead p{font-size:12px;line-height:1.5}
  .pagehead .primary,.pagehead .ghost{width:100%;margin-top:8px}
  .kicker{font-size:9px;letter-spacing:.12em}

  .welcome,.exam-hero,.buco-hero,.treino-ufrgs-hero{min-height:0!important;padding:24px 17px!important;border-radius:16px!important;gap:18px!important}
  .welcome{display:block!important}
  .welcome h1,.exam-hero h1{font-size:clamp(2rem,10vw,2.8rem)!important;line-height:1.05;margin:8px 0 13px}
  .welcome p,.exam-hero p{font-size:.9rem;line-height:1.5}
  .hero-actions,.exam-hero .exam-hero-actions,.unified-hero-actions{display:grid!important;grid-template-columns:1fr;gap:8px;margin-top:18px}
  .hero-actions>*,.exam-hero-actions>*{width:100%;min-width:0!important}
  .score-ring{display:none!important}

  .cards{grid-template-columns:1fr 1fr!important;gap:8px!important;margin:12px 0!important}
  .cards article{min-height:108px!important;padding:13px!important;border-radius:12px!important}
  .cards article span{font-size:9px}
  .cards strong{font-size:1.55rem;margin:5px 0}
  .cards small{font-size:10px;line-height:1.3;display:block}
  .home-grid{grid-template-columns:1fr!important;gap:10px!important}
  .box,.qcard,.exam-card,.exam-paper,.exam-sheet,.exam-result{border-radius:12px!important;box-shadow:0 5px 18px rgba(9,42,57,.06)!important}
  .box{padding:15px!important}
  .boxhead{align-items:flex-start;gap:8px}
  .boxhead h2{font-size:1.2rem}
  .areas{grid-template-columns:1fr!important;gap:8px}
  .area-card{padding:13px;border-radius:11px}

  .filter-panel{padding:10px!important;border-radius:11px!important}
  .filters,.advanced-filters{grid-template-columns:1fr!important;gap:7px!important}
  .advanced-filters input{grid-column:auto!important}
  .filters select,.filters input,.advanced-filters select,.advanced-filters input,.simulator select{min-height:44px;padding:10px 11px!important;font-size:14px}
  .filter-foot{gap:8px}
  .qcard{min-height:0!important;padding:15px!important}
  .qcard h2{font-size:1rem!important;line-height:1.5!important;margin-top:14px}
  .meta{gap:5px}
  .pill{padding:5px 7px;font-size:10px}
  .answers{gap:7px;margin-top:15px}
  .answer{min-height:44px;padding:11px 10px!important;font-size:.9rem;line-height:1.35}
  .explain{padding:13px;margin-top:14px;font-size:.88rem}
  .pager{gap:8px;margin-top:10px}
  .pager button{min-height:42px;padding:10px 11px}

  .exam-section-head{margin:20px 0 11px!important}
  .exam-section-head h2{font-size:1.35rem!important}
  .exam-section-head p{font-size:11px;line-height:1.45}
  .exam-grid{grid-template-columns:1fr!important;gap:10px!important}
  .exam-card{min-height:0!important;padding:15px!important;gap:10px!important}
  .exam-card h3{font-size:1rem}
  .exam-card p{font-size:12px;line-height:1.45}
  .exam-card-actions{display:grid;grid-template-columns:1fr;gap:7px}
  .exam-card-actions>*{width:100%;text-align:center}
  .exam-badges{gap:6px;margin-top:15px}
  .exam-badges span{font-size:10px;padding:6px 8px}

  .exam-player-head{top:58px!important;margin:0 -12px 10px!important;border-radius:0 0 12px 12px!important;padding:12px!important;gap:10px}
  .exam-player-title{gap:9px}
  .exam-player-title .exam-year{width:48px;height:40px;font-size:1rem}
  .exam-player-title h2{font-size:.95rem}
  .exam-player-tools{display:grid!important;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px!important}
  .exam-player-tools>*{width:100%;min-width:0;text-align:center;font-size:11px!important;padding:9px 7px!important}
  .exam-clock{grid-column:1/-1;order:-1}
  .exam-paper-bar{padding:11px 12px!important}
  .exam-paper-bar b{font-size:11px}
  .exam-paper iframe{height:58vh!important;min-height:350px!important}
  .exam-sheet{padding:13px!important}
  .answer-row{grid-template-columns:27px repeat(5,minmax(0,1fr))!important;gap:4px!important;padding:5px!important}
  .answer-choice span{height:34px!important;min-width:0!important}
  .exam-review{grid-template-columns:repeat(5,1fr)!important;gap:5px!important}
  .exam-review span{padding:7px 2px;font-size:9px}
  .exam-result{padding:16px!important}
  .exam-result h2{font-size:1.45rem}
  .exam-result-cards{grid-template-columns:1fr!important}

  .clinical-grid,.treino-year-grid,.training-institution-grid,.notebook-grid,.library-summary,.sim-grid{grid-template-columns:1fr!important}
  .clinical-card-image{height:185px!important}
  .clinical-case-content{padding:15px!important}
  .clinical-case-content h2{font-size:1.6rem!important}
  .conversion-panel,.study-conversion-nudge{padding:15px!important;border-radius:11px!important}
  .utility-dialog-card{max-width:calc(100vw - 24px)!important}
}

@media(max-width:380px){
  main{padding-inline:9px}
  .cards{grid-template-columns:1fr!important}
  .welcome h1,.exam-hero h1{font-size:1.9rem!important}
  .bottom-nav button{min-width:54px!important}
  .bottom-nav small{font-size:8px!important}
}
