/**
 * PDFHill — unified theme for all tool pages
 * Loaded on every /tools/* page (see server/routes/tools.js)
 */

html,
body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  -webkit-text-size-adjust: 100%;
}

body[data-pdfhill-tool] {
  --pdfhill-primary: #3d6df2;
  --pdfhill-primary-dark: #2563eb;
  --pdfhill-accent: #42c58a;
  --pdfhill-bg: #f4f8ff;
  --pdfhill-surface: #ffffff;
  --pdfhill-text: #10203f;
  --pdfhill-muted: #5d6f94;
  --pdfhill-border: #dbe7fb;
  --pdfhill-border-strong: #b9cdf5;
  --pdfhill-radius: 20px;
  --pdfhill-shadow: 0 24px 60px rgba(33, 75, 192, 0.1);
}

/* No underlined links anywhere inside tools */
body[data-pdfhill-tool] a,
body[data-pdfhill-tool] a:link,
body[data-pdfhill-tool] a:visited,
body[data-pdfhill-tool] a:hover,
body[data-pdfhill-tool] a:focus,
body[data-pdfhill-tool] a:active,
body[data-pdfhill-tool] button[class*="link"],
body[data-pdfhill-tool] [class*="link-btn"] {
  text-decoration: none !important;
}

/* Hide decorative chips/tags inside upload drop zones */
body[data-pdfhill-tool] [class*="dropzone"] [class*="chip-row"],
body[data-pdfhill-tool] [class*="dropzone"] .ph-chips,
body[data-pdfhill-tool] label[class*="drop"] [class*="chip-row"],
body[data-pdfhill-tool] .ph-upload-zone [class*="chip-row"],
body[data-pdfhill-tool] .upload-zone .uz-note {
  display: none !important;
}

/* Center upload icons and stack drop-zone content */
body[data-pdfhill-tool] [class*="dropzone"]:not([class*="preview"]),
body[data-pdfhill-tool] label[id*="Drop"],
body[data-pdfhill-tool] label[class*="drop"]:not([class*="item"]),
body[data-pdfhill-tool] .ph-upload-zone,
body[data-pdfhill-tool] #uploadZone.upload-zone {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100%;
}

body[data-pdfhill-tool] [class*="drop-icon"],
body[data-pdfhill-tool] [class*="upload-icon"],
body[data-pdfhill-tool] .ph-upload-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-inline: auto !important;
  flex-shrink: 0;
}

body[data-pdfhill-tool] .wrap,
body[data-pdfhill-tool] [class*="wrap"]:not([class*="viewport"]) {
  width: 100%;
  max-width: 100%;
  padding-left: clamp(12px, 3vw, 24px);
  padding-right: clamp(12px, 3vw, 24px);
}

body[data-pdfhill-tool] [class*="drop-icon"]:has(svg),
body[data-pdfhill-tool] span[class*="upload-icon"],
body[data-pdfhill-tool] .ph-upload-icon {
  width: 72px;
  height: 72px;
  border-radius: 20px;
  background: linear-gradient(135deg, #42c58a 0%, #3d6df2 100%) !important;
  color: #fff !important;
  box-shadow: 0 16px 28px rgba(61, 109, 242, 0.18);
}

body[data-pdfhill-tool] [class*="drop-icon"] svg,
body[data-pdfhill-tool] span[class*="upload-icon"] svg,
body[data-pdfhill-tool] .ph-upload-icon svg {
  color: #fff !important;
}

/* Clean drop zones — remove gradient overlays and heavy decoration */
body[data-pdfhill-tool] [class*="dropzone"]::before,
body[data-pdfhill-tool] [class*="dropzone"]::after,
body[data-pdfhill-tool] label[class*="drop"]::before,
body[data-pdfhill-tool] label[class*="drop"]::after {
  display: none !important;
  content: none !important;
}

body[data-pdfhill-tool] [class*="dropzone"],
body[data-pdfhill-tool] label[class*="drop"]:not([class*="item"]),
body[data-pdfhill-tool] .ph-upload-zone,
body[data-pdfhill-tool] .upload-zone {
  background: var(--pdfhill-surface) !important;
  border: 2px dashed var(--pdfhill-border-strong) !important;
  border-radius: var(--pdfhill-radius) !important;
  box-shadow: var(--pdfhill-shadow) !important;
}

body[data-pdfhill-tool] [class*="dropzone"]:hover,
body[data-pdfhill-tool] [class*="dropzone"].is-dragover,
body[data-pdfhill-tool] label[class*="drop"]:hover,
body[data-pdfhill-tool] .ph-upload-zone:hover,
body[data-pdfhill-tool] .ph-upload-zone.ph-dragover,
body[data-pdfhill-tool] .upload-zone:hover {
  border-color: var(--pdfhill-accent) !important;
  background: #f8fbff !important;
  transform: none !important;
}

/* Primary actions — unified blue */
body[data-pdfhill-tool] [class*="btn-primary"],
body[data-pdfhill-tool] .btn-primary,
body[data-pdfhill-tool] [class*="-btn-primary"]:not([class*="ghost"]) {
  background: linear-gradient(135deg, #4b7afc 0%, var(--pdfhill-primary) 100%) !important;
  color: #fff !important;
}

/* Brand accent color on highlighted titles */
body[data-pdfhill-tool] h1 span,
body[data-pdfhill-tool] .ph-title span,
body[data-pdfhill-tool] [class*="brand"] span {
  color: var(--pdfhill-primary);
}

/* SEO content block (below tool UI) */
body[data-pdfhill-tool] .ph-tool-seo {
  background: var(--pdfhill-bg);
  border-top: 1px solid var(--pdfhill-border);
  padding: clamp(28px, 4vw, 48px) clamp(12px, 3vw, 24px);
}

body[data-pdfhill-tool] .ph-tool-seo-inner {
  max-width: 820px;
  margin: 0 auto;
  color: var(--pdfhill-text);
}

body[data-pdfhill-tool] .ph-tool-seo h2 {
  font-size: clamp(1.15rem, 2.5vw, 1.45rem);
  font-weight: 800;
  margin: 0 0 12px;
  letter-spacing: -0.02em;
}

body[data-pdfhill-tool] .ph-tool-seo h2:not(:first-child) {
  margin-top: 28px;
}

body[data-pdfhill-tool] .ph-tool-seo p,
body[data-pdfhill-tool] .ph-tool-seo li {
  color: var(--pdfhill-muted);
  font-size: 0.98rem;
  line-height: 1.75;
}

body[data-pdfhill-tool] .ph-tool-seo ol {
  margin: 0;
  padding-left: 1.25rem;
}

body[data-pdfhill-tool] .ph-tool-seo-note {
  margin-top: 20px;
  font-size: 0.88rem !important;
  color: var(--pdfhill-primary) !important;
  font-weight: 600;
}

body[data-pdfhill-tool] .ph-below-fold {
  content-visibility: auto;
  contain-intrinsic-size: 1px 720px;
}
