.cv-studio .mobile-only { display:none; }
.cv-studio .location-fields { display:contents; }
.cv-studio .coach-disclosure > summary { display:none; }
@media (max-width:900px) {
  body.cv-studio { --mobile-header:64px; --mobile-dock:calc(68px + env(safe-area-inset-bottom,0px)); background:#f7f8fa; }
  .cv-studio .mobile-only { display:block; }
  .cv-studio [hidden].mobile-only { display:none; }
  .cv-studio .topbar { position:sticky; top:0; z-index:30; height:var(--mobile-header); min-height:var(--mobile-header); padding:0 16px; flex-wrap:nowrap; gap:10px; background:#fff; border-bottom:1px solid #e5e8ee; }
  .cv-studio .brand { flex:1; font-size:20px; gap:7px; min-width:0; }
  .cv-studio .brand-mark { width:29px; height:32px; border-radius:9px; font-size:29px; }
  .cv-studio .product-name,.cv-studio .workflow,.cv-studio .sidebar { display:none; }
  .cv-studio .topbar > .primary { order:2; margin:0; min-height:42px; padding:10px 14px; border-radius:12px; font-size:12px; background:#214f45; border-color:#214f45; }
  .cv-studio .mobile-tools-button { order:3; display:grid; place-items:center; width:42px; height:44px; min-width:42px; padding:0; border:1px solid #e1e5ec; border-radius:12px; background:#fff; color:#35445c; font-size:15px; letter-spacing:2px; }
  .cv-studio .workspace { display:block; min-height:calc(100dvh - var(--mobile-header)); padding-bottom:var(--mobile-dock); }
  .cv-studio .editing { display:block; padding:18px 20px 24px; overflow:visible; scroll-margin-top:80px; max-width:640px; margin:0 auto; }
  body.cv-studio.show-preview .editing { display:none; }
  .cv-studio .mobile-section-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
  .cv-studio #mobile-section { width:auto; min-width:0; max-width:75%; min-height:44px; padding:8px 26px 8px 0; border:0; border-radius:0; background:transparent; color:#35445c; font:600 13px/1.4 'Source Sans 3','Segoe UI',sans-serif; }
  .cv-studio #mobile-save-status { color:#577265; white-space:nowrap; font-size:11px; }
  .cv-studio #mobile-save-status::before { content:''; display:inline-block; width:5px; height:5px; margin-right:5px; border-radius:50%; background:currentColor; vertical-align:middle; }
  .cv-studio #mobile-save-status[data-warning=true] { color:#9b6221; }
  body.cv-studio:not(.show-preview) #mobile-storage-status { display:none; }
  .cv-studio .journey { margin:0 0 22px; }
  .cv-studio .journey-heading { display:none; }
  .cv-studio #journey-progress { height:3px; }
  .cv-studio .editing h2 { margin:0 0 7px; font-family:'Source Sans 3','Segoe UI',sans-serif; font-size:28px; line-height:1.2; font-weight:650; letter-spacing:-.7px; }
  .cv-studio .section-description { margin:0 0 24px; font-size:14px; line-height:1.5; }
  .cv-studio .empty-section,.cv-studio #editor > .eyebrow { display:none; }
  .cv-studio .field-grid { grid-template-columns:1fr; gap:17px; }
  .cv-studio .field label,.cv-studio #skill-form > label { font-size:13px; margin-bottom:7px; color:#344358; }
  .cv-studio .field input,.cv-studio .field select,.cv-studio .field textarea,.cv-studio #skill-input { min-height:50px; padding:13px 14px; font-size:16px; border:1px solid #d8dee8; border-radius:12px; box-shadow:0 1px 2px #1f344004; scroll-margin-top:85px; scroll-margin-bottom:100px; }
  .cv-studio .field input:focus,.cv-studio .field select:focus,.cv-studio .field textarea:focus { border-color:#477b6d; outline:3px solid #e2eee8; outline-offset:1px; }
  .cv-studio .location-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; grid-column:1/-1; }
  .cv-studio .guidance { margin-top:20px; padding:14px; background:#fff; border-color:#e0e5ed; border-radius:12px; }
  .cv-studio .hint { font-size:11px; line-height:1.5; margin:14px 0; }
  .cv-studio .field-helper { font-size:11px; }
  .cv-studio .coach-disclosure { margin-top:20px; border:1px solid #e0e5ed; border-radius:12px; background:#fff; }
  .cv-studio .coach-disclosure > summary { display:list-item; padding:14px 16px; font-size:13px; font-weight:600; color:#415a72; cursor:pointer; }
  .cv-studio .coach-disclosure .coach-card { border:0; border-top:1px solid #e0e5ed; border-radius:0 0 12px 12px; margin:0; padding:16px; background:#f4f5fb; }
  .cv-studio .coach-eyebrow { display:none; }
  .cv-studio .step-actions { position:static; margin-top:24px; padding-top:20px; }
  .cv-studio .step-actions button { min-height:48px; border-radius:12px; padding:12px 20px; }
  .cv-studio .step-actions > span,.cv-studio .editor-footnote { display:none; }
  .cv-studio .mobile-dock { position:fixed; inset:auto 0 0; z-index:35; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; height:var(--mobile-dock); padding:7px max(14px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px)); border-top:1px solid #dde4e9; background:#fffffff5; backdrop-filter:blur(18px); box-shadow:0 -5px 24px #253b4808; }
  .cv-studio .mobile-dock button { min-height:50px; border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:#6c7788; font-size:11px; font-weight:600; }
  .cv-studio .mobile-dock button[aria-pressed=true] { color:#214f45; background:#eaf1ed; }
  .cv-studio .mobile-dock svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
  .cv-studio .preview-panel { display:none; padding:12px 12px 24px; background:#e9edf3; min-height:calc(100dvh - var(--mobile-header) - var(--mobile-dock)); overflow:visible; }
  body.cv-studio.show-preview .preview-panel { display:block; }
  .cv-studio .preview-controls { position:sticky; top:var(--mobile-header); z-index:10; padding:0 0 12px; margin:0 0 14px; background:#e9edf3; }
  .cv-studio .preview-toolbar { display:none; }
  .cv-studio .preview-toolbar strong { font-size:13px; font-weight:600; }
  .cv-studio .preview-toolbar .mobile-edit { display:none; }
  .cv-studio .preview-toolbar #preview-zoom { min-height:44px; font-size:12px; }
  .cv-studio .layout-picker { padding:9px 10px 7px; border:1px solid #d6dfe8; border-radius:14px; background:#f7f9fc; }
  .cv-studio .layout-heading { margin-bottom:8px; }
  .cv-studio .layout-actions button { min-height:44px; min-width:44px; }
  .cv-studio .layout-actions [aria-label="Compare designs"] { display:none; }
  .cv-studio .layout-actions #preview-zoom { width:auto; min-width:60px; min-height:44px; padding:8px 4px; border:0; font-size:12px; }
  .cv-studio .layout-label { min-height:44px; text-align:left; }
  .cv-studio .layout-label::after { content:'⌄'; margin-left:5px; }
  .cv-studio #templates { gap:7px; padding-bottom:6px; }
  .cv-studio #templates .template-option { flex-basis:142px; min-height:60px; padding:9px 10px; border-radius:10px; }
  .cv-studio #templates .swatch-person { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .cv-studio #templates .swatch-layout { font-size:10px; }
  .cv-studio #templates .swatch-number,.cv-studio #templates .swatch-rule { display:none; }
  .cv-studio .preview-scroll { overflow-x:auto; overscroll-behavior-x:contain; padding-bottom:12px; border-radius:3px; }
  .cv-studio .paper-wrap { width:100%; max-width:650px; box-shadow:0 4px 16px #283a4914; }
  .cv-studio .zoom-preview .paper-wrap { width:794px; max-width:none; }
  .cv-studio .preview-caption { padding-inline:4px; font-size:10px; }
  .cv-studio .preview-footnote { display:none; }
  .cv-studio #preview-empty { padding:20px; }
  .cv-studio #preview-empty h2 { font-size:25px; margin:8px 0; }
  .cv-studio .empty-document { margin-bottom:20px; }
  .cv-studio .editing[data-workspace-mode=review] .mobile-section-nav,.cv-studio .editing[data-workspace-mode=design] .mobile-section-nav { display:none; }
  .cv-studio .editing[data-workspace-mode=review] .journey,.cv-studio .editing[data-workspace-mode=design] .journey { display:none; }
  .cv-studio .design-gallery { grid-template-columns:1fr 1fr; gap:12px; }
  .cv-studio .design-option { padding:12px; }
  .cv-studio .design-card > p,.cv-studio .gallery-note,.cv-studio .design-note { display:none; }
  .cv-studio .download-status { right:12px; bottom:calc(var(--mobile-dock) + 12px); width:calc(100% - 24px); max-width:420px; padding:14px 16px; border-radius:14px; box-shadow:0 6px 30px #22384a1c; }
  .cv-studio .download-status .text-button { min-height:44px; }
  .cv-studio .mobile-service-availability { margin:0; padding:10px 16px; font-size:12px; background:#fff3d9; color:#66512d; }
  .cv-studio dialog { width:calc(100% - 24px); max-height:calc(100dvh - 32px); padding:22px; border-radius:20px; }
  .cv-studio dialog h2 { font-family:'Source Sans 3','Segoe UI',sans-serif; font-size:25px; line-height:1.2; margin-top:0; }
  .cv-studio dialog p { font-size:13px; line-height:1.6; }
  .cv-studio .mobile-options-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
  .cv-studio .mobile-options-heading h2 { margin:0; }
  .cv-studio .mobile-options-heading button { min-width:44px; min-height:44px; border-radius:12px; }
  .cv-studio .mobile-tool-list { display:grid; }
  .cv-studio .mobile-tool-list button { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; padding:12px 0; border-bottom:1px solid #e3e7ed; text-align:left; font-size:15px; }
  .cv-studio .mobile-tool-list button[hidden] { display:none; }
  .cv-studio .mobile-tool-list .mobile-reset { color:#a14d3c; }
  .cv-studio .mobile-privacy { margin-top:18px; font-size:12px; color:#647184; }
  .cv-studio .mobile-privacy summary { min-height:44px; padding-block:12px; cursor:pointer; }
  .cv-studio .review-intro p,.cv-studio .review-item p { font-size:12px; line-height:1.5; }
  .cv-studio .review-item:not(.needs-check) p { display:none; }
}
@media (max-width:360px) {
  .cv-studio .topbar { padding-inline:12px; gap:8px; }
  .cv-studio .brand { font-size:18px; }
  .cv-studio .editing { padding-inline:16px; }
  .cv-studio .topbar > .primary { padding-inline:12px; }
  .cv-studio .location-fields { grid-template-columns:1fr; gap:17px; }
}
@media (max-width:900px) and (max-height:500px) {
  .cv-studio .preview-controls { position:static; }
}
@media print { .cv-studio .mobile-only { display:none; } }
