/* CSS code for YourSudoku™ - v 4.0  - 12/15/2025 */

body {
  margin: 0;
  padding: 0;
  font-family: Arial, Helvetica, sans-serif;
  background-color: #f5f7fa;
  color: #222;
}

/* Page container + site-wide base typography */
.page {
  max-width: 800px;
  margin: 60px auto;
  padding: 20px 30px 40px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  text-align: left;

  /* Typography baseline */
  font-size: 14px;
  line-height: 1.35;
}

/* Global paragraph spacing */
.page p {
  margin: 0 0 0.5em;
}


.site-header {
  text-align: center;
  margin-bottom: 14px;
  font-size: 14px;
}

/* Nav containers (the “crisp” look) */
.main-nav,
.docs-nav {
  margin: 0;
  padding: 0;
  text-align: center;
  line-height: 1.1;
}

.docs-nav {
  margin-top: 0;
  font-size: 13px;
}

/* Links always look like links */
.main-nav a,
.docs-nav a {
  color: #0066cc;
  text-decoration: underline;
  margin: 0 6px;
  white-space: nowrap;
}

.main-nav a:hover,
.docs-nav a:hover {
  color: #000;
  text-decoration: underline;
}

/* Current page: not a link, not underlined */
.main-nav span.current,
.docs-nav span.current {
  color: #c25b00;
  font-weight: bold;
  text-decoration: none;
  margin: 0 6px;
  white-space: nowrap;
  cursor: default;
}

.logo {
  margin: 10px 0 20px;
  text-align: center;
}

.logo img {
  max-width: 600px;
  height: auto;
}

.page h1,
.page h2,
.page h3 {
  text-align: center;
}

.tagline {
  max-width: 640px;
  margin: 0 auto 18px;
  font-size: 14px;
  line-height: 1.35;
}

.tagline p {
  margin: 0 0 10px;
}

.tagline .lead {
  font-size: inherit;      /* slight emphasis */
  margin-bottom: 12px;
}

.tagline .welcome {
  margin-top: 6px;
}

.content-main {
  max-width: 560px;
  margin: 0 auto;
  text-align: left;
}

.content-main ul,
.content-main ol {
  padding-left: 25px;
}

.status-box,
footer {
  text-align: center;
}

.status {
  font-size: 16px;
  font-weight: bold;
  color: #b35c00;
  margin-bottom: 10px;
}

.meta {
  font-size: 13px;
  color: #666;
  margin-top: 10px;
}

footer {
  margin-top: 30px;
  font-size: 12px;
  color: #888;
}

/* License summary: slightly wider measure to prevent print overflow */
.license-summary {
  max-width: 640px;
  margin: 0 auto 18px;
}
.license-summary ul { padding-left: 22px; }
.license-summary li { margin-bottom: 4px; }
.license-note { margin-top: 6px; }

/* Screen: make form boxes clearly visible */
input, select, textarea {
  border: 1px solid #888;
  background: #fff;
  color: #222;
  box-sizing: border-box;
}

/* Print css-style*/
@media print {

  /* give the printer room; still fits even if Firefox adds headers/footers */
  @page { margin: 0.5in; }

  *, *::before, *::after { box-sizing: border-box !important; }

  body {
    /* Match your site’s 14px feel in print (14px ≈ 10.5pt) */
    font-size: 10.5pt;
    line-height: 1.15;
    background: #fff !important;
    color: #000 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Constrain print width so it doesn't go paper-wide */
  .page {
    margin: 0 auto !important;
    padding: 0 !important;
    max-width: 6.25in !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: #fff !important;

    /* Keep typography consistent inside .page even in print engines */
    font-size: inherit !important;
    line-height: inherit !important;
  }

  .content-main,
  .license-summary {
    max-width: 6.0in !important;
    margin: 0 auto !important;
  }


  /* Print: explicitly show nav/header (v4.0) */
	header.site-header,
	.site-header,
	nav,
		.main-nav,
		.docs-nav {
		display: block !important;
	}

	/* Print: nav links should look like references (not live links) (v4.0)*/
	.main-nav a,
	.docs-nav a {
  		color: #555 !important;
  		text-decoration: underline !important;
  		cursor: default;
	}
  /* End Print: explicitly show nav/header (v4.0) */
	
  /* Shrink logo area for print */
  .logo { margin: 0 0 6px !important; }
  .logo img { max-width: 3.2in !important; height: auto !important; }

  /* Tighten headings a bit */
  h1, h2, h3 { margin: 6px 0 !important; }

  /* IMPORTANT: let paragraphs/lists inherit sizes (no per-element font-size overrides) */
  .page p { margin: 0 0 0.5em !important; }
  .page ul, .page ol { margin: 0 0 0.5em !important; padding-left: 1.1em !important; }
  .page li { margin: 0.15em 0 !important; font-size: inherit !important; }

  /* FORCE form controls to print as visible boxes */
  input, select, textarea, button {
    -moz-appearance: none !important;
    appearance: none !important;
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    outline: 1px solid #000 !important; /* Firefox prints outline reliably */
    box-shadow: none !important;
  }

  /* Taller single-line controls + vertically centered text */
  input[type="text"],
  input[type="email"],
  select {
    width: 100% !important;
    height: 22px !important;
    line-height: 22px !important;   /* centers text */
    padding: 0 4px !important;
    margin: 2px 0 6px !important;
    font-size: inherit !important;
  }

  /* Keep room for the select arrow */
  select { padding-right: 22px !important; }

  /* Keep textarea from pushing footer to page 2 */
  textarea {
    width: 100% !important;
    padding: 4px !important;
    min-height: 0.85in !important;
    margin: 2px 0 6px !important;
    font-size: inherit !important;
  }

  /* Keep footer/status with the form */
  .status-box,
  footer {
    page-break-inside: avoid !important;
    font-size: inherit !important;
  }

  footer {
    margin-top: 8px !important;
  }
}
