/* ===== TOOL PAGES SHARED STYLES ===== */

/* Visual Section */
#visual-section { padding: 24px 0; }
.visual-canvas-card { padding: 20px; }
.visual-canvas-card canvas { width: 100%; height: 280px; display: block; border-radius: var(--radius-sm); background: var(--surface); margin-bottom: 14px; }
.visual-controls { display: flex; flex-direction: column; gap: 8px; }
.visual-controls label { font-size: .82rem; color: var(--text2); font-weight: 500; }
.visual-labels { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; }
.styled-select { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 8px 12px; color: var(--text); font-family: var(--font); font-size: .85rem; width: 100%; cursor: pointer; outline: none; }

/* Tool Calculator Layout */
.tool-calc-layout { display: grid; grid-template-columns: 380px 1fr; gap: 24px; align-items: start; }
.tool-input-panel { position: sticky; top: 80px; }
.tool-input-panel h3 { font-size: 1rem; margin-bottom: 16px; }
.tool-results-panel { min-height: 300px; }

/* How-To Steps Grid */
.steps-how-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.step-how-card { text-align: center; padding: 28px 20px; position: relative; overflow: hidden; }
.step-how-card .step-num { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--grad); color: #fff; font-size: 1.1rem; font-weight: 800; margin-bottom: 14px; }
.step-how-card h3 { font-size: .95rem; margin-bottom: 8px; }
.step-how-card p { color: var(--text2); font-size: .82rem; line-height: 1.6; }

/* How-To Use Section */
#how-to-use { padding: 24px 0; }

/* Content Grid */
.tool-content-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.tool-content-grid .glass-card h3 { font-size: 1.05rem; margin-bottom: 10px; }
.tool-content-grid .glass-card h4 { font-size: .92rem; color: var(--primary); margin: 12px 0 6px; }
.tool-content-grid .glass-card p { color: var(--text2); font-size: .85rem; line-height: 1.6; margin-bottom: 8px; }

/* Data Table */
.data-table { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: .82rem; }
.data-table th { text-align: left; padding: 10px 12px; background: var(--surface2); color: var(--text); font-weight: 600; border-bottom: 2px solid var(--border); }
.data-table td { padding: 8px 12px; border-bottom: 1px solid var(--border); color: var(--text2); }
.data-table tr:hover td { background: var(--surface); color: var(--text); }
.data-table .mono { font-family: var(--mono); }

/* Comparison Layout */
.compare-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 20px; }
.compare-col { display: flex; flex-direction: column; gap: 14px; }
.compare-col h3 { font-size: 1.1rem; text-align: center; padding: 14px; border-radius: var(--radius-sm); }
.compare-col.sub-col h3 { background: rgba(99, 102, 241, .1); color: var(--primary); }
.compare-col.dep-col h3 { background: rgba(236, 72, 153, .1); color: #ec4899; }
.compare-point { padding: 14px; background: var(--surface); border-radius: var(--radius-sm); font-size: .85rem; color: var(--text2); line-height: 1.6; border-left: 3px solid var(--primary); }
.compare-col.dep-col .compare-point { border-left-color: #ec4899; }

/* Process Step Cards */
.process-steps { display: flex; flex-direction: column; gap: 14px; }
.process-step { display: flex; gap: 16px; align-items: flex-start; padding: 18px; }
.process-step .step-number { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--grad); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1rem; }
.process-step .step-content h4 { font-size: .95rem; margin-bottom: 6px; }
.process-step .step-content p { color: var(--text2); font-size: .82rem; line-height: 1.6; }

/* Tools Showcase (Homepage) */
.tools-showcase-grid, .tools-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-top: 24px; }
.tool-showcase-card, .tool-card { padding: 28px; position: relative; overflow: hidden; transition: all var(--transition); cursor: pointer; text-decoration: none; color: var(--text); display: block; }
.tool-showcase-card:hover, .tool-card:hover { transform: translateY(-4px); border-color: var(--primary); box-shadow: var(--glow), 0 12px 40px rgba(99,102,241,.12); }
.tool-showcase-card .tool-icon, .tool-card .tool-icon { font-size: 2.2rem; margin-bottom: 14px; display: block; }
.tool-showcase-card h3, .tool-card h3 { font-size: 1.05rem; margin-bottom: 8px; color: var(--text); }
.tool-showcase-card p, .tool-card p { color: var(--text2); font-size: .85rem; line-height: 1.6; margin-bottom: 14px; }
.tool-showcase-card .tool-link { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; font-weight: 600; color: var(--primary); transition: gap var(--transition); }
.tool-showcase-card:hover .tool-link { gap: 10px; }
.tool-showcase-card::after, .tool-card::after { content: ''; position: absolute; top: 0; right: 0; width: 80px; height: 80px; background: var(--grad); opacity: 0.05; border-radius: 0 0 0 80px; transition: opacity var(--transition); }
.tool-showcase-card:hover::after, .tool-card:hover::after { opacity: 0.12; }

/* Featured Tool Cards */
.tool-card.featured { border: 1px solid rgba(99,102,241,0.3); background: rgba(99,102,241,0.05); }
.tool-card.featured:hover { background: rgba(99,102,241,0.1); border-color: #818cf8; }
.tool-card.featured::before { content: '⭐ FEATURED'; position: absolute; top: 12px; right: 12px; font-size: 0.65rem; font-weight: 800; background: var(--grad); color: #fff; padding: 4px 8px; border-radius: 12px; letter-spacing: 0.5px; }

/* Converter Result Display */
.converter-output { margin-top: 20px; }
.converter-output .result-highlight { text-align: center; padding: 24px; background: var(--surface); border-radius: var(--radius); margin-bottom: 18px; }
.converter-output .result-highlight .big-value { font-size: 2rem; font-weight: 800; font-family: var(--mono); background: var(--grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.converter-output .result-highlight .big-label { font-size: .82rem; color: var(--text2); margin-top: 6px; }

/* Responsive */
@media(max-width:1200px) {
  .tools-showcase-grid, .tools-grid { grid-template-columns: repeat(3, 1fr); }
}
@media(max-width:900px) {
  .tool-calc-layout { grid-template-columns: 1fr; }
  .tool-input-panel { position: static; }
  .tool-content-grid, .compare-layout { grid-template-columns: 1fr; }
  .tools-showcase-grid, .tools-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width:640px) {
  .visual-canvas-card canvas { height: 200px; }
  .tools-showcase-grid, .tools-grid { grid-template-columns: 1fr; }
}
