/* 1. Reset and base
   ========================================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
}

/* 2. Typography
   ========================================================================== */
body {
  font-family: Georgia, serif;
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);
  line-height: 1.35;
}

p,
ul,
li {
  line-height: 1.35;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.3;
}

.entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6, .entry-title {
  margin-bottom: 15px;
}

h1 {
  font-size: clamp(1.6rem, 1.3rem + 1.4vw, 2.4rem);
}

h2 {
  font-size: clamp(1.35rem, 1.2rem + 0.8vw, 1.85rem);
}

h3 {
  font-size: clamp(1.15rem, 1.08rem + 0.4vw, 1.4rem);
}

.entry-title a {
  color: inherit !important;
}

.home .entry-title, .archive .entry-title, .category .entry-title {
  font-size: 14pt;
  margin: 0;
  padding: 0 !important;
}

.entry-excerpt, .taxonomy-description {
  font-family: Helvetica, Arial, sans-serif;
  font-size: clamp(0.95rem, 0.9rem + 0.25vw, 1rem);
  line-height: 1.5;
  margin-bottom: 0;
}

.is-left-sidebar,
.is-right-sidebar,
.footer-widgets,
footer.site-info,
.entry-meta {
  font-family: Helvetica, Arial, sans-serif;
}

footer.site-info,
.entry-meta {
  font-size: 0.8125rem;
}

.widget .wp-block-paragraph,
.widget .wp-block-heading {
  font-size: 0.8125rem;
}

.widget .wp-block-heading {
  font-size: 1rem;
}

blockquote, .wp-block-quote {
  padding-left: 15px;
  margin-left: 15px;
  font-family: Times New Roman, serif;
  border-left: 2px solid #DDDDDD;
  Line-height: 1.5em;
  color: #000;
}

blockquote p {
  margin: 0;
}

blockquote cite {
  margin-top: 15px;
}

ul.children {
  margin-left: 30px;
}

/* 3. Media
   ========================================================================== */
img,
video,
iframe,
embed,
object,
svg {
  max-width: 100%;
}

iframe,
video {
  width: 550px;
  aspect-ratio: 16/9;
  display: block !important;
  margin: 30px 0px;
}

/* Media embeds capped to content width */
.wp-block-embed,
.wp-block-embed__wrapper,
.wp-block-video,
.wp-block-audio,
.wp-block-image,
figure.wp-block-embed {
  max-width: 550px;
}

.wp-block-embed iframe,
.wp-block-embed video,
.wp-block-video video,
.wp-block-audio audio {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 750px) {
  .wp-block-embed,
  .wp-block-embed__wrapper,
  .wp-block-video,
  .wp-block-audio,
  .wp-block-image,
  figure.wp-block-embed {
    max-width: 100%;
  }
}
/* 4. Overflow safety
   ========================================================================== */
body, p, li,
h1, h2, h3, h4, h5, h6,
blockquote, a, td {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

pre,
code {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
}

.wp-block-table,
.entry-content table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

/* 5. Page background
   ========================================================================== */
body {
  background-image: url("https://freudiandeathdrive.blog/wp-content/uploads/2026/08/cardboard-1920x1080-1.png");
  background-repeat: repeat;
  background-attachment: fixed;
  background-position: top left;
}

/* 6. Layout and spacing
   ========================================================================== */
#content,
#footer-widgets {
  padding: 0 15px !important;
}

main.site-main {
  margin: 0 !important;
  padding-bottom: 30px;
}

.inside-article {
  padding: 0 !important;
  margin-right: 30px;
}

.post-image,
.entry-summary,
.entry-meta {
  margin-top: 1em !important;
}

#masthead .inside-header {
  padding: 0 10px 30px 10px !important;
}

/* 7. Header and navigation
   ========================================================================== */
.site-header {
  padding: 30px 0 15px;
}

.single .attachment-full,
#primary-menu,
.mobile-bar-items,
#masthead #site-navigation,
.customize-partial-edit-shortcut-button {
  display: none !important;
}

/* 8. Buttons and forms
   ========================================================================== */
input,
select,
textarea,
button {
  max-width: 100%;
  font-family: inherit;
  font-size: 16px;
}

.wp-block-button,
.wp-element-button,
button,
.wp-block-search button {
  background: #ECE8DF !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
  cursor: pointer !important;
  transition: background 0.15s ease, box-shadow 0.15s ease !important;
}

.wp-block-button__link,
.wp-block-search__input,
.wp-block-search button {
  font-family: Helvetica, Arial, sans-serif;
  color: #2E2E2C !important;
}

.wp-block-button__link,
.wp-element-button,
button,
input[type=submit] {
  min-height: 44px;
}

.wp-block-button:hover,
.wp-element-button:hover,
button:hover {
  background: #E3E2DF !important;
  color: #6E6D68 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* 9. Archive thumbnails */
.home .attachment-full,
.size-full.wp-post-image,
.archive .attachment-full.size-full.wp-post-image {
  width: 100%;
  max-width: 175px;
  height: 175px;
  object-fit: cover;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 3px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

/* 10. Captions
   ========================================================================== */
.wp-element-caption {
  font-family: Helvetica, Arial, sans-serif !important;
  text-align: left !important;
  color: #6E6D68;
  font-size: 10pt;
}

/* 11. Sidebars and widgets
   ========================================================================== */
.inside-left-sidebar aside,
.inside-left-sidebar .inner-padding,
.inside-right-sidebar aside,
.inside-right-sidebar .inner-padding,
.wp-block-heading {
  margin: 0;
}

.inside-left-sidebar h3,
.inside-left-sidebar .wp-block-heading,
.inside-right-sidebar h3,
.inside-right-sidebar .wp-block-heading {
  margin-bottom: 10px !important;
}

.fdd-sidebar-box {
  margin-bottom: 30px !important;
}

/* 12. Footer
   ========================================================================== */
.footer-widgets {
  background: #F7F5F0;
}

.footer-widgets .wp-block-heading {
  margin-bottom: 5px;
}

.inside-footer-widgets {
  margin: auto;
  padding: 30px 0 90px;
}

/* Related posts */
.jp-relatedposts-headline, .jp-relatedposts-post-title, .jp-relatedposts-post-title a {
  font-size: 1rem !important;
  color: inherit !important;
  font-family: Helvetica, Arial, sans-serif !important;
}

.jp-relatedposts-post-title, .jp-relatedposts-post-title a {
  font-size: 1rem !important;
  padding-top: 10px;
  font-weight: bold !important;
}

.jp-relatedposts-post-title:hover, .jp-relatedposts-post-title a:hover, .jp-relatedposts-headline, .jp-relatedposts-post-title, .jp-relatedposts-post-title a {
  text-decoration: none !important;
}

/* 14. Tablet and below
   ========================================================================== */
@media (max-width: 1024px) {
  .inside-article {
    margin-right: 20px;
  }
}
/* 15. Mobile */
@media (max-width: 750px) {
  .inside-article {
    margin-right: 0;
  }
  /* Fixed backgrounds are ignored on iOS and stutter on low-end Android */
  body {
    background-attachment: scroll;
    line-height: 1.5;
  }
  p, ul, li {
    line-height: 1.5;
  }
  .site-header {
    padding: 20px 0 10px;
  }
  main.site-main {
    padding-bottom: 20px;
  }
  .inside-footer-widgets {
    padding: 20px 0 40px;
  }
  .fdd-sidebar-box {
    margin-bottom: 20px !important;
  }
  /* Sidebar columns stack rather than squeezing */
  .inside-left-sidebar,
  .inside-right-sidebar {
    width: 100%;
  }
  /* Thumbnails scale up so they are not stranded at 175px */
  .home .attachment-full,
  .size-full.wp-post-image,
  .archive .attachment-full.size-full.wp-post-image {
    max-width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
  /* Smooth momentum scrolling on overflowing blocks */
  .wp-block-table,
  .entry-content table,
  pre {
    -webkit-overflow-scrolling: touch;
  }
  .jp-relatedposts-post-title {
    font-size: 0.9375rem !important;
  }
}
/* Small mobile */
@media (max-width: 480px) {
  #content,
  #footer-widgets {
    padding: 0 12px !important;
  }
  .wp-block-columns {
    flex-wrap: wrap !important;
  }
  .wp-block-column {
    flex-basis: 100% !important;
  }
  .alignleft,
  .alignright {
    float: none;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
.page-id-1 .fdd-tag-cloud {
  display: none;
}

/* Accessibility preferences */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}