/*
Theme Name: HOISPHERE Writing Kadence
Theme URI: https://hoisphere.com/
Description: Minimal, update-safe HOISPHERE Writing child theme for Kadence Free.
Author: HOISPHERE
Template: kadence
Version: 0.3.1
Requires at least: 7.1
Requires PHP: 8.3
Text Domain: hoisphere-writing-kadence
*/

:root {
  --hoisphere-paper: #f7f7f4;
  --hoisphere-ink: #171717;
  --hoisphere-sage: #71717a;
  --hoisphere-moss: #4f6f5a;
  --hoisphere-line: rgb(23 23 23 / 10%);
}

html { overflow-x: hidden; }

body {
  background: var(--hoisphere-paper);
  color: var(--hoisphere-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.72;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

h1, h2, h3, h4, h5, h6 {
  letter-spacing: -.015em;
  line-height: 1.22;
}

a {
  color: var(--hoisphere-moss);
  text-underline-offset: .18em;
}

pre, .wp-block-code, .wp-block-table { overflow-x: auto; }
.wp-block-table table { min-width: 640px; }
img { height: auto; max-width: 100%; }

.site-footer-wrap {
  border-top: 1px solid var(--hoisphere-line);
  margin-top: clamp(3.5rem, 8vw, 6rem);
}

.hoisphere-writing-navigation #primary > .content-container.site-container {
  align-items: start;
}

.hoisphere-writing-sidebar {
  min-width: 0;
  position: sticky;
  top: 2rem;
}

.admin-bar .hoisphere-writing-sidebar {
  top: 4rem;
}

.hoisphere-profile {
  background: rgb(255 255 255 / 68%);
  border: 1px solid var(--hoisphere-line);
  border-radius: .85rem;
  margin-bottom: 1.75rem;
  padding: 1.2rem;
}

.hoisphere-profile-mark {
  align-items: center;
  background: var(--hoisphere-ink);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 1.15rem;
  font-weight: 700;
  height: 2.75rem;
  justify-content: center;
  margin-bottom: .9rem;
  text-decoration: none;
  width: 2.75rem;
}

.hoisphere-profile-mark:hover,
.hoisphere-profile-mark:focus-visible {
  background: var(--hoisphere-moss);
  color: #fff;
}

.hoisphere-profile-kicker,
.hoisphere-profile-motto {
  color: var(--hoisphere-sage);
  font-size: .72rem;
  letter-spacing: .08em;
  margin: 0;
  text-transform: uppercase;
}

.hoisphere-profile h2 {
  font-size: 1.15rem;
  margin: .15rem 0 .55rem;
}

.hoisphere-profile h2 + p {
  font-size: .86rem;
  line-height: 1.65;
  margin: 0 0 .75rem;
}

.hoisphere-category-navigation h2 {
  border-bottom: 1px solid var(--hoisphere-line);
  font-size: .95rem;
  margin: 0;
  padding: 0 0 .7rem;
}

.hoisphere-category-navigation a {
  align-items: center;
  color: var(--hoisphere-ink);
  display: flex;
  font-size: .88rem;
  gap: .7rem;
  justify-content: space-between;
  line-height: 1.4;
  padding: .55rem .35rem;
  text-decoration: none;
}

.hoisphere-category-navigation a:hover,
.hoisphere-category-navigation a:focus-visible,
.hoisphere-category-navigation .is-active-context > a,
.hoisphere-category-all.is-active-context {
  color: var(--hoisphere-moss);
  font-weight: 700;
}

.hoisphere-category-count {
  color: var(--hoisphere-sage);
  flex: 0 0 auto;
  font-size: .76rem;
  font-variant-numeric: tabular-nums;
}

.hoisphere-category-tree {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hoisphere-category-tree .hoisphere-category-tree {
  border-left: 1px solid var(--hoisphere-line);
  margin-left: .45rem;
  padding-left: .65rem;
}

.hoisphere-category-all {
  border-bottom: 1px solid var(--hoisphere-line);
}

.hoisphere-mobile-navigation {
  border-bottom: 1px solid var(--hoisphere-line);
  border-top: 1px solid var(--hoisphere-line);
  display: none;
  margin-bottom: 2rem;
}

.hoisphere-mobile-navigation > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: .92rem;
  font-weight: 700;
  justify-content: space-between;
  list-style: none;
  min-height: 3.5rem;
}

.hoisphere-mobile-navigation > summary::-webkit-details-marker {
  display: none;
}

.hoisphere-mobile-navigation > summary span:last-child {
  font-size: 1.15rem;
  font-weight: 400;
  transition: transform 160ms ease;
}

.hoisphere-mobile-navigation[open] > summary span:last-child::after {
  content: none;
}

.hoisphere-mobile-navigation[open] > summary span:last-child {
  transform: rotate(45deg);
}

.hoisphere-mobile-navigation > summary:focus-visible {
  outline: 2px solid var(--hoisphere-moss);
  outline-offset: .25rem;
}

.hoisphere-mobile-navigation__content {
  padding: .5rem 0 1.5rem;
}

.hoisphere-mobile-navigation .hoisphere-profile {
  margin-bottom: 1.25rem;
}

.single-post .entry-header > .entry-taxonomies {
  display: none;
}

.hoisphere-primary-category {
  align-items: center;
  display: flex;
  font-size: .85rem;
  gap: .6rem;
  margin-bottom: .65rem;
}

.hoisphere-primary-category > span {
  color: var(--hoisphere-sage);
}

.hoisphere-primary-category a {
  color: var(--hoisphere-moss);
  font-weight: 700;
  text-decoration: none;
}

.hoisphere-primary-category a::after {
  content: " →";
  font-weight: 400;
}

.hoisphere-primary-category a:hover,
.hoisphere-primary-category a:focus-visible {
  text-decoration: underline;
}

.single-post .entry-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .7rem;
}

.hoisphere-meta-actions {
  margin-left: auto;
}

.hoisphere-text-button,
.hoisphere-dialog-close {
  appearance: none;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--hoisphere-sage);
  cursor: pointer;
  font: inherit;
  padding: .2rem 0;
}

.hoisphere-text-button:hover,
.hoisphere-text-button:focus-visible {
  box-shadow: none;
  color: var(--hoisphere-ink);
  text-decoration: underline;
}

.hoisphere-article-list {
  border-bottom: 1px solid var(--hoisphere-line);
  border-top: 1px solid var(--hoisphere-line);
  color: var(--hoisphere-ink);
  margin: 0 0 clamp(2rem, 5vw, 3.5rem);
}

.hoisphere-article-list--top {
  margin-top: -.35rem;
}

.hoisphere-article-list--top summary,
.hoisphere-list-heading {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  min-height: 4rem;
}

.hoisphere-article-list--top summary {
  cursor: pointer;
  list-style: none;
}

.hoisphere-article-list--top summary::-webkit-details-marker {
  display: none;
}

.hoisphere-list-toggle,
.hoisphere-list-heading a {
  color: var(--hoisphere-sage);
  flex: 0 0 auto;
  font-size: .92rem;
  text-decoration: none;
}

.hoisphere-list-heading h2 {
  font-size: 1.05rem;
  margin: 0;
}

.hoisphere-article-rows {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hoisphere-article-rows li {
  align-items: center;
  border-top: 1px solid var(--hoisphere-line);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0;
  min-height: 3.45rem;
  padding: .7rem 0;
}

.hoisphere-article-rows a {
  color: var(--hoisphere-ink);
  overflow: hidden;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hoisphere-article-rows a:hover,
.hoisphere-article-rows a:focus-visible {
  color: var(--hoisphere-moss);
  text-decoration: underline;
}

.hoisphere-article-rows .is-current a {
  font-weight: 700;
}

.hoisphere-article-rows time {
  color: var(--hoisphere-sage);
  font-size: .86rem;
  white-space: nowrap;
}

.hoisphere-share-area {
  display: flex;
  justify-content: center;
  margin: clamp(2.5rem, 7vw, 4.5rem) 0;
}

.hoisphere-primary-button,
.hoisphere-share-action,
.hoisphere-share-copy button {
  align-items: center;
  background: var(--hoisphere-ink);
  border: 1px solid var(--hoisphere-ink);
  border-radius: 999px;
  box-shadow: none;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  justify-content: center;
  min-height: 2.9rem;
  padding: .65rem 1.4rem;
  text-decoration: none;
}

.hoisphere-primary-button:hover,
.hoisphere-primary-button:focus-visible,
.hoisphere-share-action:hover,
.hoisphere-share-action:focus-visible {
  background: var(--hoisphere-moss);
  border-color: var(--hoisphere-moss);
  box-shadow: none;
  color: #fff;
}

.hoisphere-share-dialog {
  background: #fff;
  border: 1px solid var(--hoisphere-line);
  border-radius: 1rem;
  box-shadow: 0 1.5rem 4rem rgb(23 23 23 / 18%);
  color: var(--hoisphere-ink);
  max-width: min(32rem, calc(100vw - 2rem));
  padding: 1.5rem;
  width: 100%;
}

.hoisphere-share-dialog::backdrop {
  background: rgb(23 23 23 / 42%);
}

.hoisphere-share-dialog__header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

.hoisphere-share-dialog__header h2 {
  font-size: 1.35rem;
  margin: 0;
}

.hoisphere-dialog-close {
  font-size: 2rem;
  line-height: 1;
  padding: .25rem;
}

.hoisphere-dialog-close:hover,
.hoisphere-dialog-close:focus,
.hoisphere-dialog-close:focus-visible {
  background: transparent;
  box-shadow: none;
  color: var(--hoisphere-ink);
}

.hoisphere-share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-bottom: 1rem;
}

.hoisphere-share-action[hidden] {
  display: none;
}

.hoisphere-share-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.hoisphere-share-copy input {
  border: 1px solid var(--hoisphere-line);
  border-radius: .6rem 0 0 .6rem;
  min-width: 0;
  padding: .7rem .85rem;
}

.hoisphere-share-copy button {
  border-radius: 0 .6rem .6rem 0;
  min-height: 0;
}

.hoisphere-share-feedback {
  color: var(--hoisphere-sage);
  font-size: .85rem;
  margin: .7rem 0 0;
  min-height: 1.4em;
}

.hoisphere-cms-author-tools {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

.hoisphere-cms-author-tools--top {
  background: rgb(255 255 255 / 76%);
  border: 1px solid var(--hoisphere-line);
  border-radius: .75rem;
  margin-bottom: 1.35rem;
  padding: .7rem;
}

.hoisphere-cms-author-tools--bottom {
  border-top: 1px solid var(--hoisphere-line);
  margin-top: 2rem;
  padding-top: 1rem;
}

.hoisphere-cms-author-tools > a,
.hoisphere-cms-author-tools summary,
.hoisphere-cms-author-tools details a {
  border: 1px solid var(--hoisphere-line);
  border-radius: .5rem;
  color: var(--hoisphere-ink);
  cursor: pointer;
  display: inline-block;
  padding: .5rem .8rem;
  text-decoration: none;
}

.hoisphere-cms-author-tools details {
  position: relative;
}

.hoisphere-cms-author-tools details a {
  background: #fff;
  color: #9f2d20;
  margin-top: .35rem;
  min-width: 10rem;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 10;
}

.single-post .post-navigation {
  display: none;
}

@media (max-width: 767px) {
  .hoisphere-cms-author-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hoisphere-cms-author-tools > a,
  .hoisphere-cms-author-tools > details,
  .hoisphere-cms-author-tools summary {
    box-sizing: border-box;
    text-align: center;
    width: 100%;
  }

  .hoisphere-meta-actions {
    margin-left: 0;
    width: 100%;
  }

  .hoisphere-article-list--top summary,
  .hoisphere-list-heading {
    min-height: 3.5rem;
  }

  .hoisphere-article-rows li {
    gap: .6rem;
  }

  .hoisphere-article-rows time {
    font-size: .78rem;
  }

  .hoisphere-share-area .hoisphere-primary-button {
    width: 100%;
  }

  .hoisphere-share-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .hoisphere-share-action {
    width: 100%;
  }
}

@media (min-width: 1181px) {
  .hoisphere-writing-navigation #primary > .content-container.site-container {
    gap: clamp(2.25rem, 4vw, 4.25rem);
    grid-template-columns: minmax(12.5rem, 14.5rem) minmax(0, 1fr);
  }
}

@media (max-width: 1180px) {
  .hoisphere-writing-navigation #primary > .content-container.site-container {
    grid-template-columns: minmax(0, 1fr);
  }

  .hoisphere-writing-navigation #secondary {
    display: none;
  }

  .hoisphere-mobile-navigation {
    display: block;
  }
}
