/* ═══════════════════════════════════════════════════════
   MOBILE FIX — AI-CALCULATOR.ORG
   Prevents overflow, ensures all pages fit on mobile
   ═══════════════════════════════════════════════════════ */

/* Root overflow fix */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* All containers must stay within viewport */
.site-header, .main-wrap, .calc-page, .calculator-box,
.calc-body, .hero, .info-card, .result-box,
.blog-wrap, .bwrap, .footer-inner, footer {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Tables — horizontal scroll on mobile */
table { width: 100% !important; max-width: 100% !important; }
.data-tbl, .dtbl { overflow-x: auto; display: block; -webkit-overflow-scrolling: touch; }

/* Images and media */
img, canvas, svg, video { max-width: 100% !important; height: auto; }

/* ── Header ── */
.header-inner {
  padding: 0 14px !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.logo { flex-shrink: 0 !important; min-width: 0 !important; }
.logo-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.header-search { flex: 1 1 0 !important; min-width: 0 !important; max-width: 240px !important; }

/* ── Blog pages ── */
.blog-wrap, .bwrap {
  max-width: 100% !important;
  padding: 0 14px 60px !important;
  word-break: break-word !important;
}
.bhero, .blog-hero {
  border-radius: 12px !important;
  padding: 24px 18px !important;
}
.bhero h1, .blog-hero h1 {
  font-size: clamp(1.2rem, 4.5vw, 1.9rem) !important;
  line-height: 1.3 !important;
}
.bc p, .blog-content p {
  font-size: 0.93rem !important;
  line-height: 1.78 !important;
  overflow-wrap: break-word !important;
}
.bc h2, .blog-content h2 { font-size: 1.15rem !important; }
.bc h3, .blog-content h3 { font-size: 1rem !important; }
.bc ul, .bc ol, .blog-content ul, .blog-content ol {
  padding-left: 18px !important;
}
.fml, .formula-highlight, .formula-row {
  overflow-x: auto !important;
  font-size: 0.8rem !important;
  white-space: pre-wrap !important;
  word-break: break-all !important;
}

/* ── Calculator pages ── */
.calc-page { padding: 0 !important; }
.calc-hero { padding: 24px 16px !important; border-radius: 14px !important; }
.calc-hero h1 { font-size: clamp(1.2rem, 4vw, 2rem) !important; }
.calculator-box { border-radius: 14px !important; overflow: hidden !important; }
.calc-body { padding: 18px 14px !important; }

/* Forms */
.form-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.form-group { width: 100% !important; }
.input-suffix, .input-prefix {
  min-width: 0 !important;
  overflow: hidden !important;
}
.form-input, select.form-input, input.form-input {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  font-size: 16px !important; /* prevents iOS zoom */
}

/* Result grid */
.result-grid {
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}
.result-item { min-width: 0 !important; overflow: hidden !important; }
.result-value {
  font-size: clamp(0.9rem, 3vw, 1.3rem) !important;
  word-break: break-all !important;
}

/* Result actions buttons */
.result-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.result-actions .btn,
.result-actions button {
  flex: 1 1 auto !important;
  min-width: 100px !important;
  white-space: nowrap !important;
  padding: 9px 12px !important;
  font-size: 0.82rem !important;
  text-align: center !important;
}

/* Tabs */
.calc-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.calc-tab {
  flex: 1 1 auto !important;
  min-width: 80px !important;
  white-space: nowrap !important;
  padding: 8px 10px !important;
  font-size: 0.78rem !important;
  text-align: center !important;
}

/* Related grid */
.related-grid {
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
.related-card { padding: 12px 10px !important; }

/* Info cards */
.info-card {
  padding: 18px 14px !important;
  border-radius: 12px !important;
}

/* Breadcrumb */
.breadcrumb { flex-wrap: wrap !important; gap: 4px !important; font-size: 0.8rem !important; }

/* FAQ */
.faq-q { font-size: 0.88rem !important; }
.faq-a p { font-size: 0.85rem !important; }

/* Footer */
.footer-inner { padding: 32px 16px 20px !important; }
.footer-grid {
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}
.footer-brand { grid-column: 1 / -1 !important; }

/* Homepage specific */
.hero { padding: 32px 14px 28px !important; }
.hero h1 { font-size: clamp(1.4rem, 5vw, 2.8rem) !important; line-height: 1.2 !important; }
.hero p { font-size: 0.88rem !important; }
.stats-strip { padding: 14px 12px !important; gap: 16px !important; }
.stat-item { min-width: 0 !important; }
.stat-val { font-size: clamp(1.1rem, 4vw, 1.5rem) !important; }
.category-pills { padding: 10px 12px 0 !important; gap: 6px !important; flex-wrap: wrap !important; }
.pill { 
  flex: 1 1 calc(33% - 6px) !important; 
  min-width: 80px !important; 
  font-size: 0.78rem !important; 
  padding: 8px 6px !important;
  text-align: center !important;
}
.calc-sections { padding: 16px 12px !important; }
.calc-grid { 
  grid-template-columns: repeat(2, 1fr) !important; 
  gap: 9px !important; 
}
.calc-card { 
  padding: 14px 10px !important; 
  min-height: 90px !important;
  gap: 5px !important;
}
.calc-name { font-size: 0.79rem !important; line-height: 1.3 !important; }
.calc-desc { font-size: 0.7rem !important; }
.section-title { font-size: 0.95rem !important; }

/* Range inputs */
input[type=range] { width: 100% !important; }
.range-labels { font-size: 0.72rem !important; }

/* Power calculator tabs */
.conv-tabs-wrap { flex-wrap: wrap !important; gap: 4px !important; }
.conv-tab { 
  flex: 1 1 auto !important; 
  min-width: 60px !important; 
  font-size: 0.72rem !important; 
  padding: 7px 6px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* Charts */
canvas { max-width: 100% !important; }

/* Prevent any fixed-width elements from overflowing */
[style*="width:"] { max-width: 100% !important; }
pre, code { overflow-x: auto !important; max-width: 100% !important; white-space: pre-wrap !important; }

/* ── MEDIA QUERIES ── */
@media (min-width: 601px) {
  /* On tablet+, restore 2-column forms */
  .form-row {
    flex-direction: row !important;
  }
  .result-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .blog-wrap, .bwrap {
    padding: 0 24px 80px !important;
  }
  .bhero, .blog-hero { padding: 36px 28px !important; }
}

@media (min-width: 769px) {
  .footer-grid {
    grid-template-columns: 2fr 1fr 1fr 1fr !important;
  }
  .footer-brand { grid-column: auto !important; }
  .calc-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
