/*
Theme Name: LaunchLane
Theme URI: https://launchlane.com
Author: Jeronimo De Leon
Author URI: https://whoo.is
Description: A modern, minimal WordPress theme for LaunchLane - Strategic infrastructure for the next generation of founders.
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: launchlane
Tags: blog, portfolio, one-column, custom-menu, featured-images, full-width-template

LaunchLane WordPress Theme
*/

/* Base Styles */
html {
  scroll-behavior: smooth;
}

::selection {
  background: #E7F4FF;
  color: #0052FF;
}

.animate-slide-in {
  animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* WordPress Core Alignments */
.alignwide {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.alignfull {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* Single Post Content Styles (Medium-like) */
.single-post-content {
  font-size: 1.25rem;
  line-height: 1.8;
  color: #0F1C43;
}

.single-post-content p {
  margin-bottom: 1.75rem;
}

.single-post-content h2 {
  font-size: 1.875rem;
  font-weight: 800;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  letter-spacing: -0.025em;
  color: #0F1C43;
  padding-bottom: 0.75rem;
  border-bottom: 3px solid #0052FF;
}

.single-post-content h3 {
  font-size: 1.5rem;
  font-weight: 800;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  color: #0F1C43;
  letter-spacing: -0.02em;
}

.single-post-content h4 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  color: #0052FF;
}

.single-post-content h5 {
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
  color: #0F1C43;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.single-post-content blockquote {
  border-left: 4px solid #0052FF;
  padding-left: 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: #808080;
}

.single-post-content ul,
.single-post-content ol {
  margin-bottom: 2rem;
  padding-left: 0;
  list-style: none;
}

.single-post-content ol {
  counter-reset: item;
}

.single-post-content li {
  margin-bottom: 1.25rem;
  padding-left: 2rem;
  position: relative;
}

/* Numbered list styling */
.single-post-content ol > li {
  counter-increment: item;
}

.single-post-content ol > li::before {
  content: counter(item) ".";
  position: absolute;
  left: 0;
  font-weight: 800;
  color: #0052FF;
}

/* Bullet list styling */
.single-post-content ul > li::before {
  content: "–";
  position: absolute;
  left: 0;
  font-weight: 800;
  color: #0052FF;
}

/* Bold text in lists - the item title/name */
.single-post-content li strong:first-child,
.single-post-content li b:first-child {
  color: #0F1C43;
  font-weight: 800;
}

/* Strong/bold text general styling */
.single-post-content strong,
.single-post-content b {
  font-weight: 700;
  color: #0F1C43;
}

/* Nested lists */
.single-post-content ul ul,
.single-post-content ol ol,
.single-post-content ul ol,
.single-post-content ol ul {
  margin-top: 1rem;
  margin-bottom: 0;
}

.single-post-content img {
  max-width: 100%;
  height: auto;
  border-radius: 0.75rem;
  margin: 2rem 0;
}

.single-post-content a {
  color: #0052FF;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.single-post-content a:hover {
  color: #A8010E;
}

.single-post-content code {
  background: #F5F5F7;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.9em;
}

.single-post-content pre {
  background: #0F1C43;
  color: #fff;
  padding: 1.5rem;
  border-radius: 0.75rem;
  overflow-x: auto;
  margin: 2rem 0;
}

.single-post-content pre code {
  background: transparent;
  padding: 0;
}

/* Horizontal rules as section dividers */
.single-post-content hr {
  border: none;
  height: 3px;
  background: #ECECEC;
  margin: 3rem 0;
}

/* Lead paragraph after heading */
.single-post-content h2 + p,
.single-post-content h3 + p {
  font-size: 1.125rem;
  color: #808080;
  line-height: 1.9;
}

/* Figure captions */
.single-post-content figcaption {
  font-size: 0.875rem;
  color: #A0A0A0;
  text-align: center;
  margin-top: 0.75rem;
  font-style: italic;
}

/* Tables */
.single-post-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
}

.single-post-content th,
.single-post-content td {
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid #ECECEC;
}

.single-post-content th {
  font-weight: 800;
  color: #0F1C43;
  background: #F5F5F7;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.single-post-content tr:hover td {
  background: #F5F5F7;
}

/* Post Card Image Styles */
.post-card-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* Book Card Portrait Layout */
.book-card {
  aspect-ratio: 2/3;
}

.book-card-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* FAQ Accordion */
.faq-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}

.faq-content.active {
  max-height: 500px;
  opacity: 1;
}

.faq-icon.active {
  transform: rotate(180deg);
  background: #0052FF;
  color: white;
}

/* Screen Reader Text */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* WordPress Gallery */
.wp-block-gallery {
  margin: 2rem 0;
}

/* Comments */
.comment-list {
  list-style: none;
  padding: 0;
}

.comment-body {
  padding: 1.5rem;
  border: 1px solid #ECECEC;
  border-radius: 0.75rem;
  margin-bottom: 1rem;
}

.comment-author {
  font-weight: 700;
  color: #0F1C43;
}

.comment-metadata {
  font-size: 0.875rem;
  color: #808080;
}
