/* Shared native WordPress views. Home styling remains in style.css. */
.lip-content-main { padding-block: 48px 72px; }
.lip-content-main h1 { font-size: clamp(2.25rem, 4.6vw, 3.6rem); margin: 0 0 24px; overflow-wrap: anywhere; }
.lip-content-main h2 { font-size: clamp(1.65rem, 3vw, 2.25rem); margin: 0 0 20px; }
.lip-content-main h3 { font-size: 1.55rem; }
.lip-entry-header { max-width: 68ch; margin: 0 auto 36px; }
.lip-entry-categories, .lip-content-main .lip-kicker { font-size: 14px; color: var(--lip-accent); margin-bottom: 16px; }
body.lip-site .lip-entry-meta { font-size: 14px; line-height: 1.6; margin-bottom: 0; }
.lip-featured { margin: 0 auto 40px; max-width: 960px; }
.lip-featured img { display: block; width: 100%; height: auto; }
.lip-content-main figcaption, .lip-prose .wp-caption-text { font: 400 14px/1.6 var(--lip-sans); color: var(--lip-accent); margin: 12px 0 0; text-align: left; }
.lip-prose { display: flow-root; max-width: 68ch; margin-inline: auto; overflow-wrap: anywhere; }
.lip-prose > * { max-width: 100%; }
.lip-prose > :first-child { margin-top: 0; }
.lip-prose p, .lip-prose ul, .lip-prose ol { margin-block: 0 1.4em; }
.lip-prose h2, .lip-prose h3, .lip-prose h4, .lip-prose h5, .lip-prose h6 { margin-top: 1.6em; margin-bottom: .7em; scroll-margin-top: 24px; }
.lip-prose h4, .lip-prose h5, .lip-prose h6 { font-family: var(--lip-serif); font-weight: 400; text-transform: none; line-height: 1.3; font-size: 1.25rem; }
.lip-prose li + li { margin-top: .5em; }
.lip-prose li > ul, .lip-prose li > ol { margin-block: .5em; }
.lip-prose a { text-decoration: underline; overflow-wrap: anywhere; }
.lip-prose blockquote, .lip-prose .wp-block-pullquote { margin: 32px 0; padding: 24px 28px; border: 0; border-left: 3px solid var(--lip-line); background: var(--lip-pink); }
.lip-prose blockquote p { font-family: var(--lip-serif); font-size: 1.35rem; line-height: 1.5; }
.lip-prose blockquote p:last-child { margin-bottom: 0; }
.lip-prose blockquote cite { font: 400 14px/1.5 var(--lip-sans); display: block; margin-top: 12px; }
.lip-prose .wp-block-pullquote blockquote { margin: 0; padding: 0; border: 0; }
.lip-prose figure { margin: 32px 0; }
.lip-prose img { max-width: 100%; height: auto; }
.lip-prose iframe, .lip-prose video { max-width: 100%; }
.lip-prose .wp-block-embed__wrapper { overflow: hidden; }
.lip-prose .wp-has-aspect-ratio iframe { width: 100%; aspect-ratio: 16/9; height: auto; }
.lip-prose .wp-embed-aspect-4-3 iframe { aspect-ratio: 4/3; }
.lip-prose .wp-embed-aspect-9-16 iframe { aspect-ratio: 9/16; }
.lip-prose audio { width: 100%; }
.lip-prose .alignwide, .lip-prose .alignfull { width: min(1120px, calc(100vw - 48px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.lip-prose .alignleft { float: left; margin: 0 24px 20px 0; max-width: 48%; }
.lip-prose .alignright { float: right; margin: 0 0 20px 24px; max-width: 48%; }
.lip-prose .aligncenter { margin-inline: auto; }
.lip-prose .lip-about-portrait { width: 320px; }
.lip-prose .wp-block-gallery, .lip-prose .lip-gallery, .lip-prose .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-block: 32px; }
.lip-prose .wp-block-gallery figure.wp-block-image, .lip-prose .lip-gallery figure, .lip-prose .gallery .gallery-item { float: none; width: auto !important; max-width: 100%; margin: 0; }
.lip-prose .wp-block-gallery.has-nested-images figure.wp-block-image { flex-grow: 0; }
.lip-prose .wp-block-gallery img, .lip-prose .lip-gallery img, .lip-prose .gallery img { display: block; width: 100%; height: auto; border: 0; }
.lip-prose .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: static; background: none; color: var(--lip-accent); padding: 0; max-height: none; overflow: visible; }
.lip-prose .gallery br { display: none; }
.lip-prose .wp-block-table { overflow-x: auto; }
.lip-prose table { border-collapse: collapse; width: 100%; font-size: 16px; }
.lip-prose td, .lip-prose th { border: 1px solid var(--lip-line); padding: 12px; text-align: left; }
.lip-prose pre { max-width: 100%; overflow: auto; padding: 20px; background: var(--lip-pink); font-size: 14px; }
.lip-prose code { overflow-wrap: anywhere; }
.lip-prose hr { margin-block: 40px; border: 0; border-top: 1px solid var(--lip-line); }
.lip-prose .wp-block-button__link { background: var(--lip-accent); color: var(--lip-white); padding: 12px 24px; border-radius: 2px; font: inherit; text-decoration: none; }
.lip-prose .wp-block-columns > .wp-block-column { min-width: 0; }
.lip-entry-tags { max-width: 68ch; margin: 36px auto; padding-top: 24px; border-top: 1px solid var(--lip-line); font-size: 14px; }
.lip-post-navigation { margin: 48px auto; padding-block: 28px; border-block: 1px solid var(--lip-line); }
.lip-post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.lip-post-navigation .nav-next { grid-column: 2; text-align: right; }
.lip-post-navigation a { display: block; min-height: 44px; text-decoration: none; overflow-wrap: anywhere; font: 400 1.35rem/1.4 var(--lip-serif); }
.lip-post-navigation .lip-nav-label { display: block; margin-bottom: 10px; color: var(--lip-ink); font: 400 14px/1.5 var(--lip-sans); }
.lip-archive-header { margin-bottom: 48px; max-width: 68ch; }
.lip-archive-description { max-width: 60ch; overflow-wrap: anywhere; }
.lip-post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 32px; }
.lip-result-card { min-width: 0; overflow-wrap: anywhere; }
.lip-result-image { display: block; }
.lip-result-image img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.lip-result-body { padding-block: 24px; border-bottom: 1px solid var(--lip-line); }
.lip-result-card h2 { font-size: clamp(1.65rem, 2.5vw, 2rem); }
.lip-result-card h2 a { color: var(--lip-ink); text-decoration: none; }
.lip-result-card h2 a:hover { text-decoration: underline; }
.lip-result-excerpt { margin-top: 20px; }
.lip-result-excerpt p:last-child { margin-bottom: 0; }
.lip-result-card:not(:has(.lip-result-image)) .lip-result-body { background: var(--lip-pink); padding: 28px; height: 100%; }
.lip-pagination { margin-top: 48px; }
.lip-pagination .nav-links, .lip-page-links { display: flex; flex-wrap: wrap; gap: 8px; }
.lip-pagination .page-numbers, .lip-page-links .post-page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--lip-line); text-decoration: none; }
.lip-pagination .current, .lip-page-links .current { background: var(--lip-accent); color: var(--lip-white); border-color: var(--lip-accent); }
.lip-page-links { margin-block: 28px; }
.lip-empty-state { padding: clamp(24px, 5vw, 48px); background: var(--lip-pink); max-width: 800px; }
.lip-inline-search { margin-block: 24px; max-width: 540px; }
.lip-inline-search .lip-search-form { position: static; width: 100%; min-width: 0; max-width: 100%; box-shadow: none; border: 0; padding: 0; background: transparent; }
.lip-comments { max-width: 68ch; margin: 48px auto 0; padding-top: 32px; border-top: 1px solid var(--lip-line); }
.lip-comments .comment-list, .lip-comments .children { list-style: none; margin: 0; padding: 0; }
.lip-comments .children { padding-left: min(24px, 4vw); }
.lip-comments .comment-body { padding-block: 24px; border-bottom: 1px solid var(--lip-line); overflow-wrap: anywhere; }
.lip-comments .comment-metadata, .lip-comments .reply, .lip-comments .comment-notes { font-size: 14px; }
.lip-comments .comment-content { margin-top: 16px; }
.lip-comments .comment-respond { margin-top: 32px; }
.lip-comments #cancel-comment-reply-link { margin-left: 16px; font: 400 14px/1.5 var(--lip-sans); }
.lip-comments label, .lip-prose .post-password-form label { display: block; margin-bottom: 8px; }
.lip-comments input:not([type=checkbox]):not([type=submit]), .lip-comments textarea, .lip-prose .post-password-form input[type=password] { width: 100%; max-width: 100%; min-height: 44px; padding: 12px; font: inherit; border: 1px solid var(--lip-accent); color: var(--lip-ink); background: var(--lip-white); }
.lip-comments textarea { min-height: 160px; resize: vertical; }
.lip-comments input[type=submit], .lip-prose .post-password-form input[type=submit] { font: inherit; min-height: 44px; padding: 12px 24px; border: 1px solid var(--lip-accent); background: var(--lip-accent); color: var(--lip-white); cursor: pointer; }
.lip-comments .comment-form-cookies-consent { display: flex; gap: 12px; align-items: start; }
.lip-comments .comment-form-cookies-consent input { margin-top: 8px; }
.lip-comments .comment-form-cookies-consent label { font-size: 14px; }
.lip-comments .reply a, .lip-comments .page-numbers { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; }
.lip-comments .comment-navigation .nav-links, .lip-comments .pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.lip-comments .comment-author { font-weight: 500; }
.lip-comments .comment-form > p { margin-block: 20px; }
.lip-contact { max-width: 68ch; margin: 32px auto; }
.lip-contact-addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.lip-contact-addresses > div { padding: 24px; background: var(--lip-pink); border-top: 1px solid var(--lip-line); min-width: 0; }
.lip-contact-addresses h3 { font-size: 1.35rem; margin: 0 0 12px; }
.lip-contact-addresses a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; max-width: 100%; }
.lip-contact-form { margin-top: 40px; }
.lip-contact-form fieldset { border: 0; padding: 0; margin: 24px 0 0; min-width: 0; }
.lip-contact-form label { display: block; margin-bottom: 8px; }
.lip-contact-form input, .lip-contact-form textarea { display: block; width: 100%; max-width: 100%; min-height: 44px; padding: 12px; font: inherit; border: 1px solid var(--lip-line); color: var(--lip-ink); background: var(--lip-white); }
.lip-contact-form textarea { resize: vertical; }
.lip-contact-form :disabled { opacity: 1; cursor: not-allowed; }
.lip-contact-form button:disabled { background: var(--lip-pink); color: var(--lip-accent); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: fixed !important; width: auto; height: auto; clip: auto; padding: 12px; z-index: 10000; top: 12px; left: 12px; background: var(--lip-white); }
@media (min-width: 640px) {
  .lip-prose .wp-block-gallery.columns-3, .lip-prose .gallery-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lip-prose .wp-block-gallery.columns-4, .lip-prose .gallery-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .lip-prose .wp-block-gallery.columns-5, .lip-prose .gallery-columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .lip-prose .wp-block-gallery.columns-6, .lip-prose .gallery-columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.lip-prose .wp-block-gallery.columns-1, .lip-prose .gallery-columns-1 { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 639px) {
  .lip-contact-addresses { grid-template-columns: minmax(0, 1fr); }
  .lip-prose .lip-about-portrait { margin-inline: auto; }
  .lip-content-main { padding-block: 32px 48px; }
  .lip-entry-header, .lip-featured { margin-bottom: 28px; }
  .lip-post-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .lip-archive-header { margin-bottom: 32px; }
  .lip-prose blockquote { padding: 20px; }
  .lip-prose .alignwide, .lip-prose .alignfull { width: calc(100vw - 40px); }
  .lip-prose .alignleft, .lip-prose .alignright { float: none; max-width: 100%; margin: 24px 0; }
  .lip-prose .wp-block-gallery, .lip-prose .lip-gallery, .lip-prose .gallery { gap: 12px; }
  .lip-post-navigation .nav-links { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .lip-post-navigation .nav-next { grid-column: 1; text-align: left; }
}

/* About: the existing five-paragraph content stays editable and unmodified. */
.lip-entry:has(.lip-about-prose) .lip-entry-header { max-width: 960px; }
.lip-about-prose { max-width: 960px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 48px; align-items: start; }
.lip-about-prose:not(:has(.lip-about-portrait)) { display: block; }
.lip-prose .lip-about-portrait { width: 220px; margin: 0; }
.lip-about-copy { min-width: 0; }
.lip-about-copy > :first-child { font-family: var(--lip-serif); font-size: 2rem; line-height: 1.3; margin-top: 0; margin-bottom: 24px; }
@media (min-width: 640px) and (max-width: 1023px) {
  .lip-about-prose { gap: 32px; }
}
@media (max-width: 639px) {
  .lip-about-prose { display: flow-root; }
  .lip-prose .lip-about-portrait { float: right; width: 96px; max-width: 30%; margin: 0 0 20px 24px; }
  .lip-about-prose:has(.lip-about-portrait) .lip-about-copy > :first-child { min-height: 120px; }
  .lip-about-copy > :nth-child(2) { clear: both; }
}
