/* V22: catálogo y cuestionarios optimizados para teléfonos en vertical. */
@media(max-width:600px) and (orientation:portrait){
 .category-access-banner{grid-template-columns:34px minmax(0,1fr) auto!important;gap:9px!important;margin-bottom:10px!important;padding:11px 12px!important;border-radius:14px!important}
 .category-access-icon{width:34px!important;height:34px!important;border-radius:10px!important;font-size:16px!important}
 .category-access-banner .eyebrow{font-size:7px;letter-spacing:.11em}
 .category-access-banner h2{margin:2px 0!important;font-size:14px!important;line-height:1.2}
 .category-access-banner p{display:-webkit-box;overflow:hidden;font-size:9px!important;line-height:1.35!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}
 .category-access-banner>.category-access-status{grid-column:auto!important;width:auto!important;padding:5px 7px!important;gap:4px;font-size:8px!important}
 .category-access-banner>.category-access-status i{font-size:9px}
 .category-access-banner>.btn{grid-column:1/-1!important;min-height:34px;width:100%;padding:7px 10px;font-size:10px}

 .combined-builder.panel{margin-bottom:11px;padding:8px!important}
 .mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
 .mode-choice{min-height:54px;gap:6px!important;padding:8px!important;border-radius:11px!important;font-size:10px!important;line-height:1.2}
 .mode-choice[aria-pressed=true]{padding:7px!important}
 .mode-choice>i{flex:0 0 auto;font-size:15px!important}
 .mode-choice small{margin-top:3px;font-size:7px;line-height:1.25}
 .real-start{margin:7px 0 0}.real-start .btn{width:100%;min-height:34px;padding:7px;font-size:10px}

 .exam-section{margin-top:11px!important}
 .compact-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .compact-exam-grid .visual-exam-card{display:flex!important;min-width:0;flex-direction:column;overflow:hidden;border-radius:14px!important}
 .compact-exam-grid .exam-cover{display:block;flex:0 0 96px;width:100%;height:96px!important;min-height:96px!important;padding:7px!important;border:0!important;border-bottom:1px solid #eef0f5!important}
 .compact-exam-grid .exam-cover.visual-fallback{display:grid}
 .compact-exam-grid .exam-cover.visual-fallback>i{font-size:31px}
 .compact-exam-grid .exam-cover .badge{top:6px;right:6px;max-width:calc(100% - 12px);padding:4px 5px;font-size:6px;line-height:1.1}
 .compact-exam-grid .exam-body{flex:1;padding:9px 9px 6px!important}
 .compact-exam-grid .exam-overline{font-size:6px;line-height:1.2;margin-bottom:4px}
 .compact-exam-grid .exam-body h3{display:-webkit-box;overflow:hidden;min-height:38px;margin:0!important;font-size:11px!important;line-height:1.2;-webkit-line-clamp:3;-webkit-box-orient:vertical}
 .compact-exam-grid .exam-meta{display:grid;gap:3px!important;margin:7px 0 0!important;font-size:7px!important}
 .compact-exam-grid .exam-access-state{grid-column:auto!important;min-height:35px;margin:0 9px!important;padding:6px 0!important;gap:4px;font-size:7px;line-height:1.25}
 .compact-exam-grid .exam-footer{grid-column:auto!important;display:grid;grid-template-columns:1fr;gap:5px;padding:7px 9px!important}
 .compact-exam-grid .exam-footer>small{font-size:7px}
 .compact-exam-grid .exam-footer form,.compact-exam-grid .exam-footer .btn{width:100%}
 .compact-exam-grid .exam-footer .btn{min-height:30px!important;padding:6px 5px;font-size:8px}

 .practice-page.app,.exam-taking-page.app{padding-top:62px;padding-left:8px;padding-right:8px}
 .practice-page .exam-sticky,.exam-taking-page .exam-sticky{top:58px;z-index:10;min-height:43px;margin:0 0 8px;padding:6px 8px;border-radius:0 0 11px 11px;gap:6px;flex-wrap:nowrap}
 .practice-page .exam-sticky>strong,.exam-taking-page .exam-sticky>div:first-child strong{display:block;overflow:hidden;max-width:39vw;font-size:10px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
 .exam-taking-page .exam-sticky>div:first-child small{display:none!important}
 .practice-page .exam-sticky .attempt-controls,.exam-taking-page .exam-sticky .attempt-controls{width:auto!important;gap:5px!important;flex-wrap:nowrap;justify-content:flex-end}
 .practice-page .exam-sticky .attempt-controls>span{font-size:9px;white-space:nowrap}
 .practice-page .exam-sticky .attempt-controls>span b{font-size:12px}
 .exam-taking-page .timer{font-size:12px;white-space:nowrap}
 .practice-page .abandon-btn,.exam-taking-page .abandon-btn{min-height:29px;padding:5px 7px!important;gap:4px;font-size:8px!important;white-space:nowrap}
 .practice-page .finish-learning-btn{min-height:29px;padding:5px 7px!important;gap:4px;font-size:8px!important}
 .bank-study-label{gap:6px;margin-bottom:8px;font-size:11px}.bank-study-label i{width:25px;height:25px;border-radius:7px;font-size:11px}
 .practice-page #practice-status{position:absolute;width:1px;height:1px;margin:-1px!important;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .practice-page .question-card,.exam-taking-page .question-card{margin-bottom:8px;padding:12px 11px!important;border-radius:13px!important;box-shadow:0 7px 22px rgba(23,32,51,.07)}
 .practice-page .question-number,.exam-taking-page .question-number{font-size:8px}
 .practice-page .question-statement,.exam-taking-page .question-statement{margin:5px 0 9px;font-size:15px!important;line-height:1.38!important}
 .practice-page .question-image,.exam-taking-page .question-image{display:block;width:100%;max-width:100%;height:auto;max-height:58dvh;margin:8px auto 10px;object-fit:contain;border-radius:10px}
 .practice-page .question-card>p,.exam-taking-page .question-card>p{margin:5px 0;font-size:8px!important}
 .practice-page .option,.exam-taking-page .option{min-height:43px;margin:6px 0;padding:9px 8px!important;gap:7px!important;border-radius:10px!important;font-size:12px;line-height:1.32}
 .practice-page .option input,.exam-taking-page .option input{flex:0 0 auto}
 .practice-page .alternative-answer-image,.exam-taking-page .alternative-answer-image{max-height:38dvh}
 .practice-feedback{margin:8px 0;padding:11px;border-radius:11px}
 .practice-page [data-next]{width:100%;min-height:35px;padding:7px;font-size:10px}
}
