/*
Theme Name: caostar thoughts
Template: twentytwentyfive
Description: Dark monospace child theme for caostar.com/thoughts — matches the portfolio at caostar.com.
Version: 1.1
Author: caostar
*/

/* --- Scrollbar ---------------------------------------------------------- */

html {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.15); border-radius: 3px; }

/* --- Font smoothing ----------------------------------------------------- */

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* --- Links: subtle hover ------------------------------------------------ */

a { transition: opacity 0.15s ease; }
a:hover { opacity: 0.8; }

/* --- Buttons: glass style ----------------------------------------------- */

/* WordPress buttons, CF7 submit, password form, any submit */
.wp-block-button__link,
.wp-element-button,
input[type="submit"],
button[type="submit"],
.wpcf7-submit,
.post-password-form input[type="submit"],
.wp-block-search__button {
  font-family: 'SF Mono', 'Fira Code', 'Menlo', 'Consolas', monospace !important;
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding: 10px 20px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(79, 195, 247, 0.25) !important;
  background: rgba(79, 195, 247, 0.1) !important;
  color: #4fc3f7 !important;
  cursor: pointer;
  transition: all 0.15s ease;
  -webkit-appearance: none;
  appearance: none;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.wpcf7-submit:hover,
.post-password-form input[type="submit"]:hover,
.wp-block-search__button:hover {
  background: rgba(79, 195, 247, 0.2) !important;
  color: #4fc3f7 !important;
  opacity: 1;
}

/* Outline button variant */
.wp-block-button.is-style-outline .wp-block-button__link {
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: #ccc !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #eee !important;
}

/* --- Forms: dark inputs ------------------------------------------------- */

/* Target all form inputs including CF7 and password forms */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
textarea,
.wpcf7-text,
.wpcf7-email,
.wpcf7-textarea,
.post-password-form input[type="password"],
.wp-block-search__input {
  font-family: 'SF Mono', 'Fira Code', 'Menlo', 'Consolas', monospace !important;
  font-size: 13px !important;
  background: #111 !important;
  color: #eee !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  transition: border-color 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
.wpcf7-text:focus,
.wpcf7-email:focus,
.wpcf7-textarea:focus {
  border-color: rgba(79, 195, 247, 0.4) !important;
  outline: none !important;
}

/* CF7: override size="40" / cols="40" that cause mobile overflow */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* CF7 form labels */
.wpcf7 label,
.wpcf7 .wpcf7-form label {
  color: #eee;
}

/* CF7 validation messages */
.wpcf7-not-valid-tip {
  color: #ff6b6b !important;
  font-size: 11px;
}

.wpcf7-response-output {
  border-color: rgba(79, 195, 247, 0.25) !important;
  color: #aaa !important;
  font-size: 12px;
}

/* --- Selection ---------------------------------------------------------- */

::selection {
  background: rgba(79, 195, 247, 0.3);
  color: #fff;
}

/* --- Blockquote --------------------------------------------------------- */

.wp-block-quote {
  font-style: normal;
}

/* --- Preformatted / Code ------------------------------------------------ */

pre, code, kbd {
  font-family: 'SF Mono', 'Fira Code', 'Menlo', 'Consolas', monospace;
}

/* --- Images ------------------------------------------------------------- */

.wp-block-image img {
  border-radius: 8px;
}

/* --- Featured images: never crop, show full natural height -------------- */

/* Remove forced aspect-ratio WordPress adds in listing templates */
.wp-block-post-featured-image {
  aspect-ratio: unset !important;
}

/* Let link and image flow naturally instead of filling a fixed box */
.wp-block-post-featured-image a {
  height: auto !important;
}

.wp-block-post-featured-image img {
  height: auto !important;
  object-fit: unset !important;
  border-radius: 8px;
}

/* Space between featured image and post title in listings */
.wp-block-post-featured-image {
  margin-bottom: 1em !important;
}

/* --- Horizontal rule ---------------------------------------------------- */

hr,
.wp-block-separator {
  border-color: rgba(255, 255, 255, 0.1) !important;
  opacity: 1;
}

/* --- Post meta (date, categories) --------------------------------------- */

.wp-block-post-date,
.wp-block-post-terms {
  font-family: 'SF Mono', 'Fira Code', 'Menlo', 'Consolas', monospace;
}

/* --- Focus styles ------------------------------------------------------- */

:focus-visible {
  outline: 2px solid rgba(79, 195, 247, 0.5);
  outline-offset: 2px;
}

/* --- Spacing: tighten header-to-content gap ----------------------------- */

/* Override inline style="margin-top:spacing--60" on <main> */
body > .wp-site-blocks > main.wp-block-group,
body > .wp-site-blocks > .wp-block-group[style*="margin-top"] {
  margin-top: 20px !important;
}

body > .wp-site-blocks > * + * {
  margin-block-start: 1em !important;
}

.wp-block-post-title {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

.wp-block-post-template {
  gap: 2em !important;
}

/* Tighten spacing inside post template items */
.wp-block-post-template .wp-block-group[style*="padding"] {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

/* --- Footer ------------------------------------------------------------- */

.wp-block-template-part footer,
footer.wp-block-template-part {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
