/* Video to MP3 Converter — file-tool card. Shared bits from css/tool-base.css. */
.vtm-main-card { display: flex; flex-direction: column; gap: .9rem; }
.vtm-dropzone { border: 2px dashed var(--t-border); border-radius: 16px; padding: 2rem 1rem; text-align: center; cursor: pointer; transition: border-color .2s, background .2s; position: relative; }
.vtm-dropzone:hover, .vtm-dropzone.dragover { border-color: var(--t-accent); background: rgba(127,127,127,.06); }
.vtm-input-file { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.vtm-drop-icon { font-size: 2.2rem; }
.vtm-drop-title { font-weight: 700; margin: .4rem 0 0; }
.vtm-drop-sub { opacity: .7; margin: .2rem 0 0; font-size: .9rem; }
.vtm-drop-formats { opacity: .55; margin: .3rem 0 0; font-size: .8rem; }
.vtm-file-info { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; background: var(--t-bg-2, rgba(127,127,127,.12)); border-radius: 12px; padding: .6rem .9rem; }
.vtm-file-info #vtmFileName { font-weight: 700; }
.vtm-file-info #vtmFileMeta { opacity: .7; font-size: .85rem; }
.vtm-link-btn { background: none; border: 0; color: var(--t-accent); cursor: pointer; font-weight: 600; margin-inline-start: auto; }
.vtm-preview { width: 100%; max-height: 320px; border-radius: 12px; background: #000; }
.vtm-options-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .8rem; }
.vtm-control-group legend { font-weight: 700; margin-bottom: .35rem; }
.vtm-select { width: 100%; padding: .6rem .8rem; border-radius: 12px; border: 1px solid var(--t-border); background: var(--t-bg); color: inherit; }
.vtm-hint { opacity: .7; font-size: .85rem; }
.vtm-progress-wrap { height: 12px; border-radius: 100px; background: var(--t-bg-2, rgba(127,127,127,.2)); overflow: hidden; }
.vtm-progress-bar { height: 100%; width: 0%; background: linear-gradient(135deg, var(--t-accent), var(--t-accent-2)); transition: width .25s; }
.vtm-result-info { font-size: .9rem; opacity: .85; }
.vtm-audio { width: 100%; }
.vtm-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.vtm-action-btn { padding: .7rem 1.3rem; border-radius: 100px; border: 1px solid var(--t-border); background: var(--t-bg-2, rgba(127,127,127,.15)); color: inherit; font-weight: 700; cursor: pointer; }
.vtm-action-btn.primary { background: linear-gradient(135deg, var(--t-accent), var(--t-accent-2)); color: #fff; border: 0; }
.vtm-action-btn:disabled { opacity: .5; cursor: not-allowed; }
