/* NorthByLori Studio brand and responsive QA — 2026-08-03 */
:root {
  --nbl-teal: #8FB9B7;
  --nbl-pink: #D85B8B;
  --nbl-ivory: #FFFDF8;
  --nbl-blush: #FBEFF3;
  --nbl-charcoal: #34343A;
}

html { overflow-x: hidden; }
body {
  background: var(--nbl-ivory) !important;
  color: var(--nbl-charcoal) !important;
  font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif !important;
  font-size: 17px;
  line-height: 1.65;
  overflow-x: hidden;
}

body p, body li, body label, body input, body textarea, body select,
body button, body .wp-block-navigation, body .woocommerce {
  font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif !important;
}

body h1, body h2, body h3, body h4, body h5, body h6,
body .wp-block-post-title, body .wp-block-site-title {
  color: var(--nbl-teal) !important;
  font-family: "Gabriela", Georgia, "Times New Roman", serif !important;
  font-style: normal;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
  text-wrap: pretty;
}

body h1, body .wp-block-post-title {
  font-size: clamp(2.6rem, 5vw, 4.25rem) !important;
  line-height: 1.08 !important;
}
body h2 { font-size: clamp(2.05rem, 3.8vw, 3.25rem) !important; line-height: 1.14 !important; }
body h3 { font-size: clamp(1.55rem, 2.5vw, 2.2rem) !important; line-height: 1.2 !important; }
body h4 { font-size: clamp(1.3rem, 2vw, 1.7rem) !important; line-height: 1.25 !important; }

body a:not(.wp-element-button) {
  color: var(--nbl-teal) !important;
  text-underline-offset: 0.15em;
}
body a:not(.wp-element-button):hover,
body a:not(.wp-element-button):focus {
  color: var(--nbl-pink) !important;
}

body .wp-element-button,
body button[type="submit"],
body input[type="submit"],
body .wc-block-components-button {
  background: var(--nbl-pink) !important;
  border-color: var(--nbl-pink) !important;
  color: #FFFFFF !important;
  font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  border-radius: 999px !important;
  padding: 0.8rem 1.35rem !important;
}
body .wp-element-button:hover,
body button[type="submit"]:hover,
body input[type="submit"]:hover,
body .wc-block-components-button:hover {
  background: var(--nbl-teal) !important;
  border-color: var(--nbl-teal) !important;
}

body .is-style-outline > .wp-element-button {
  background: transparent !important;
  color: var(--nbl-teal) !important;
  border: 2px solid var(--nbl-teal) !important;
}
body .is-style-outline > .wp-element-button:hover {
  background: var(--nbl-teal) !important;
  color: #FFFFFF !important;
}

body .has-theme-1-background-color { background-color: var(--nbl-ivory) !important; }
body .has-theme-2-background-color { background-color: var(--nbl-blush) !important; }
body .has-theme-3-background-color { background-color: var(--nbl-teal) !important; }
body .has-theme-4-background-color { background-color: var(--nbl-charcoal) !important; }
body .has-theme-5-background-color { background-color: var(--nbl-pink) !important; }
body .has-theme-1-color { color: var(--nbl-ivory) !important; }
body .has-theme-2-color { color: var(--nbl-charcoal) !important; }
body .has-theme-3-color { color: var(--nbl-teal) !important; }
body .has-theme-4-color { color: var(--nbl-charcoal) !important; }
body .has-theme-5-color { color: var(--nbl-pink) !important; }

body header .has-theme-2-background-color,
body footer .has-theme-2-background-color,
body .wp-block-template-part .lace-border {
  background-color: var(--nbl-ivory) !important;
}

body .wp-block-navigation,
body .wp-block-navigation-item__content {
  color: var(--nbl-charcoal) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}
body .wp-block-navigation-item__content:hover,
body .wp-block-navigation-item__content:focus {
  color: var(--nbl-pink) !important;
}

body .wp-block-site-title,
body .wp-block-site-title a {
  color: var(--nbl-teal) !important;
  font-size: clamp(1.2rem, 2vw, 1.55rem) !important;
  line-height: 1.15 !important;
}

body .wp-block-post-title {
  margin-top: clamp(1.75rem, 4vw, 3rem) !important;
  margin-bottom: clamp(1rem, 2vw, 1.75rem) !important;
  text-align: center;
}
body.home main > .wp-block-post-title { display: none !important; }
body .wp-block-post-content { margin-top: 0 !important; }
body .wp-block-post-content > .wp-block-group:first-child {
  padding-top: clamp(2rem, 4vw, 4rem) !important;
}
body .wp-block-columns { align-items: stretch; }
body .wp-block-column { min-width: 0; }
body .wp-block-columns h2,
body .wp-block-columns h3 {
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
}
body .wp-block-columns h3 {
  font-size: clamp(1.55rem, 2.25vw, 2.05rem) !important;
}
body .wp-block-columns p { overflow-wrap: normal; word-break: normal; }

body input, body textarea, body select {
  background: #FFFFFF !important;
  border: 1px solid var(--nbl-teal) !important;
  color: var(--nbl-charcoal) !important;
  border-radius: 6px !important;
}
body input:focus, body textarea:focus, body select:focus {
  outline: 3px solid rgba(216,91,139,0.22) !important;
  outline-offset: 2px;
}

body .wc-block-components-sidebar-layout,
body .woocommerce-account .woocommerce,
body .woocommerce-cart .wp-block-post-content,
body .woocommerce-checkout .wp-block-post-content {
  color: var(--nbl-charcoal) !important;
}

@media (min-width: 782px) and (max-width: 1100px) {
  body .wp-block-columns h3 { font-size: 1.65rem !important; }
  body .wp-block-navigation { gap: 0.6rem !important; }
}

@media (max-width: 781px) {
  body { font-size: 16px; }
  body h1, body .wp-block-post-title { font-size: clamp(2.15rem, 11vw, 3.1rem) !important; }
  body h2 { font-size: clamp(1.8rem, 8vw, 2.5rem) !important; }
  body h3, body .wp-block-columns h3 { font-size: clamp(1.45rem, 7vw, 2rem) !important; }
  body .wp-block-post-content > .wp-block-group:first-child { padding-top: 2rem !important; }
  body .wp-block-columns { gap: 2rem !important; }
  body .wp-block-navigation__responsive-container-content {
    font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif !important;
  }
}


/* --- WPWriter addition --- */

/* NorthByLori responsive refinement — verified against live Classes page */
body .wp-site-blocks main h1.wp-block-heading,
body .wp-site-blocks main h1.wp-block-heading.has-xx-large-font-size {
  font-size: clamp(2.6rem, 5vw, 4rem) !important;
  line-height: 1.08 !important;
}
body .wp-site-blocks main > .wp-block-group.alignfull.lace-border:first-child {
  min-height: 0 !important;
  padding-top: clamp(1.5rem, 3vw, 2.25rem) !important;
  padding-bottom: clamp(1.5rem, 3vw, 2.25rem) !important;
}
body .wp-site-blocks main > .wp-block-group.alignfull.lace-border:first-child .wp-block-post-title {
  font-size: clamp(2.2rem, 4vw, 3.25rem) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body header .wp-block-navigation__container {
  column-gap: 0.75rem !important;
  row-gap: 0.4rem !important;
}
body header .wp-block-navigation-item__content {
  font-size: 0.9rem !important;
}
body header .wp-block-site-logo img {
  width: 92px !important;
  height: auto !important;
}
@media (max-width: 781px) {
  body .wp-site-blocks main h1.wp-block-heading,
  body .wp-site-blocks main h1.wp-block-heading.has-xx-large-font-size {
    font-size: clamp(2.15rem, 10vw, 3.15rem) !important;
  }
}


/* --- WPWriter addition --- */

/* Heading scale consistency across legal, account, cart and archive templates */
body .wp-site-blocks main h2.wp-block-heading,
body .wp-site-blocks main h2 {
  font-size: clamp(1.9rem, 3.4vw, 2.75rem) !important;
  line-height: 1.16 !important;
}
body .wp-site-blocks main .wp-block-post-title,
body .wp-site-blocks main .wp-block-query-title {
  font-size: clamp(2.2rem, 4vw, 3.25rem) !important;
  line-height: 1.1 !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
}
body .woocommerce h2,
body .wc-block-components-title {
  font-size: clamp(1.65rem, 2.8vw, 2.2rem) !important;
}


/* --- WPWriter addition --- */

/* Remove the redundant homepage title band; the branded header already identifies the site */
body.home .wp-site-blocks main > .wp-block-group.alignfull.lace-border:first-child {
  display: none !important;
}


/* --- WPWriter addition --- */

/* Lighter logo-matched palette — 2026-08-03 */
:root {
  --nbl-teal: #8FB9B7;
  --nbl-teal-readable: #8FB9B7;
  --nbl-charcoal: #4A4A50;
}
body {
  color: var(--nbl-charcoal) !important;
}
body h1, body h2, body h3, body h4, body h5, body h6,
body .wp-block-post-title, body .wp-block-query-title,
body .wp-block-site-title, body .wp-block-site-title a {
  color: var(--nbl-teal) !important;
}
body a:not(.wp-element-button) {
  color: var(--nbl-teal-readable) !important;
}
body .wp-block-navigation-item__content,
body header .wp-block-navigation-item__content {
  color: var(--nbl-teal-readable) !important;
}
body input, body textarea, body select {
  border-color: var(--nbl-teal) !important;
}
body .lace-border {
  color: var(--nbl-teal) !important;
}


/* --- WPWriter addition --- */

/* Logo is the single source of truth for NorthByLori brand colors */
:root {
  --nbl-teal: #8FB9B7;
  --nbl-teal-readable: #8FB9B7;
  --nbl-pink: #D85B8B;
  --nbl-ivory: #FFFDF8;
  --nbl-blush: #FBEFF3;
  --nbl-charcoal: #5B5960;
}
body {
  background-color: var(--nbl-ivory) !important;
  color: var(--nbl-charcoal) !important;
}
body h1, body h2, body h3, body h4, body h5, body h6,
body .wp-block-post-title, body .wp-block-query-title,
body .wp-block-site-title, body .wp-block-site-title a,
body a:not(.wp-element-button),
body .wp-block-navigation-item__content,
body header .wp-block-navigation-item__content,
body .wp-block-social-link-anchor {
  color: var(--nbl-teal) !important;
}
body .wp-element-button,
body button[type="submit"],
body input[type="submit"],
body .wc-block-components-button {
  background-color: var(--nbl-pink) !important;
  border-color: var(--nbl-pink) !important;
}
body .has-theme-1-background-color { background-color: var(--nbl-ivory) !important; }
body .has-theme-2-background-color { background-color: var(--nbl-blush) !important; }
body .has-theme-3-background-color { background-color: var(--nbl-teal) !important; }
body .has-theme-4-background-color { background-color: var(--nbl-charcoal) !important; }
body .has-theme-5-background-color { background-color: var(--nbl-pink) !important; }


/* --- WPWriter addition --- */
/* Exact logo-aqua palette correction — 2026-08-03 */
:root {
  --nbl-teal: #8FB9B7;
  --nbl-teal-readable: #8FB9B7;
  --nbl-pink: #D85B8B;
  --nbl-ivory: #F2F1EC;
  --nbl-blush: #FDEEF4;
  --nbl-charcoal: #676665;
}
body {
  background-color: var(--nbl-ivory) !important;
  color: var(--nbl-charcoal) !important;
}
body h1, body h2, body h3, body h4, body h5, body h6,
body .wp-block-post-title, body .wp-block-query-title,
body .wp-block-site-title, body .wp-block-site-title a,
body a:not(.wp-element-button),
body .wp-block-navigation-item__content,
body header .wp-block-navigation-item__content,
body .wp-block-social-link-anchor,
body .has-theme-3-color {
  color: var(--nbl-teal) !important;
}
body .has-theme-3-background-color {
  background-color: var(--nbl-teal) !important;
}
body .wp-element-button,
body button[type="submit"],
body input[type="submit"],
body .wc-block-components-button {
  background-color: var(--nbl-pink) !important;
  border-color: var(--nbl-pink) !important;
}
body input, body textarea, body select {
  border-color: var(--nbl-teal) !important;
}

/* --- WPWriter addition --- */
/* Visibly lighter logo aqua correction — 2026-08-03 */
:root {
  --nbl-teal: #8FB9B7 !important;
  --nbl-teal-readable: #8FB9B7 !important;
}
body h1, body h2, body h3, body h4, body h5, body h6,
body .wp-block-post-title, body .wp-block-query-title,
body .wp-block-site-title, body .wp-block-site-title a,
body a:not(.wp-element-button),
body .wp-block-navigation-item__content,
body header .wp-block-navigation-item__content,
body .wp-block-social-link-anchor,
body .has-theme-3-color {
  color: #8FB9B7 !important;
}
body .has-theme-3-background-color {
  background-color: #8FB9B7 !important;
}
body input, body textarea, body select {
  border-color: #8FB9B7 !important;
}

/* --- WPWriter addition --- */

/* --- WPWriter addition --- */
/* Restore approved warm ivory background while preserving light logo aqua — 2026-08-04 */
:root {
  --nbl-ivory: #FFFDF8 !important;
}
body,
body .has-theme-1-background-color {
  background-color: #FFFDF8 !important;
}


/* --- WPWriter addition --- */

/* --- WPWriter addition --- */
/* Restore Lori-approved light logo teal — 2026-08-04 */
:root {
  --nbl-teal: #8FB9B7 !important;
  --nbl-teal-readable: #8FB9B7 !important;
}
body h1, body h2, body h3, body h4, body h5, body h6,
body .wp-block-post-title, body .wp-block-query-title,
body .wp-block-site-title, body .wp-block-site-title a,
body a:not(.wp-element-button),
body .wp-block-navigation-item__content,
body header .wp-block-navigation-item__content,
body .wp-block-social-link-anchor,
body .has-theme-3-color {
  color: #8FB9B7 !important;
}
body .has-theme-3-background-color {
  background-color: #8FB9B7 !important;
}
body input, body textarea, body select {
  border-color: #8FB9B7 !important;
}


/* --- WPWriter addition --- */
/* NorthByLori homepage refresh — 2026-08-04 */
body.home {
  background: #FFFDF8 !important;
}
body.home .wp-block-post-content > .wp-block-group {
  padding-left: clamp(1.25rem, 4vw, 3rem) !important;
  padding-right: clamp(1.25rem, 4vw, 3rem) !important;
}
body.home .wp-block-post-content > .wp-block-group:nth-child(even) {
  background-color: #FDEEF4 !important;
}
body.home .wp-block-post-content > .wp-block-group:nth-child(odd) {
  background-color: #FFFDF8 !important;
}
body.home h2 {
  color: #8FB9B7 !important;
  letter-spacing: -0.02em;
  margin-bottom: 1rem !important;
}
body.home h3 {
  color: #8FB9B7 !important;
  letter-spacing: 0.01em;
}
body.home p {
  color: #4A4A50 !important;
  max-width: 68ch;
}
body.home .wp-block-columns {
  gap: clamp(2rem, 5vw, 4.5rem) !important;
  align-items: center !important;
}
body.home .wp-block-image img {
  border-radius: 14px;
}
body.home .wp-element-button {
  box-shadow: 0 6px 18px rgba(216,91,139,0.18);
}
body.home .wp-block-jetpack-contact-form {
  width: 100%;
}
@media (max-width: 781px) {
  body.home .wp-block-post-content > .wp-block-group {
    padding-top: 2.75rem !important;
    padding-bottom: 2.75rem !important;
  }
  body.home .wp-block-columns {
    gap: 1.75rem !important;
  }
}

/* --- WPWriter addition --- */
/* =========================================================
   NorthByLori Studio — complete site refresh final layer
   Approved 2026-08-04
   ========================================================= */
:root {
  --nbl-teal: #8FB9B7 !important;
  --nbl-teal-dark: #8FB9B7 !important;
  --nbl-pink: #D85B8B !important;
  --nbl-ivory: #FFFDF8 !important;
  --nbl-blush: #FDEEF4 !important;
  --nbl-text: #4A4A50 !important;
  --nbl-border: #D9E8E7 !important;
  --nbl-white: #FFFFFF !important;
}
html {
  overflow-x: hidden !important;
  scroll-behavior: smooth;
}
body {
  background: var(--nbl-ivory) !important;
  color: var(--nbl-text) !important;
  font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  overflow-x: hidden !important;
}
body p, body li, body label, body input, body textarea, body select,
body button, body .wp-block-navigation, body .woocommerce,
body .wc-block-components-text-input {
  font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif !important;
}
body h1, body h2, body h3, body h4, body h5, body h6,
body .wp-block-post-title, body .wp-block-query-title,
body .wp-block-site-title, body .wp-block-site-title a {
  color: var(--nbl-teal) !important;
  font-family: "Gabriela", Georgia, "Times New Roman", serif !important;
  font-style: normal !important;
  letter-spacing: -0.015em;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
  text-wrap: balance;
}
body h1, body .wp-block-post-title, body .wp-block-query-title {
  font-size: clamp(2.35rem, 4.7vw, 4rem) !important;
  line-height: 1.08 !important;
}
body h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem) !important; line-height: 1.15 !important; }
body h3 { font-size: clamp(1.45rem, 2.3vw, 2rem) !important; line-height: 1.2 !important; }
body h4 { font-size: clamp(1.2rem, 1.8vw, 1.55rem) !important; line-height: 1.25 !important; }
body p, body li { overflow-wrap: break-word; word-break: normal; }
body a:not(.wp-element-button) {
  color: var(--nbl-teal-dark) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: .16em;
}
body a:not(.wp-element-button):hover,
body a:not(.wp-element-button):focus {
  color: var(--nbl-pink) !important;
}
body .has-theme-1-background-color,
body .has-custom-color-1-background-color {
  background-color: var(--nbl-ivory) !important;
}
body .has-theme-2-background-color,
body .is-style-section-2 {
  background-color: var(--nbl-blush) !important;
}
body .has-theme-3-background-color { background-color: var(--nbl-teal) !important; }
body .has-theme-4-background-color { background-color: var(--nbl-text) !important; }
body .has-theme-5-background-color { background-color: var(--nbl-pink) !important; }
body .has-theme-1-color { color: var(--nbl-ivory) !important; }
body .has-theme-2-color { color: var(--nbl-text) !important; }
body .has-theme-3-color { color: var(--nbl-teal) !important; }
body .has-theme-4-color { color: var(--nbl-text) !important; }
body .has-theme-5-color { color: var(--nbl-pink) !important; }

/* Header and navigation */
body header {
  background: var(--nbl-ivory) !important;
}
body header .wp-block-group,
body header .wp-block-template-part {
  background-color: var(--nbl-ivory) !important;
}
body header .wp-block-site-logo img {
  width: clamp(78px, 8vw, 105px) !important;
  height: auto !important;
}
body header .wp-block-navigation__container {
  column-gap: clamp(.55rem, 1.4vw, 1.05rem) !important;
  row-gap: .45rem !important;
}
body header .wp-block-navigation-item__content {
  color: var(--nbl-teal-dark) !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  white-space: nowrap;
}
body header .wp-block-navigation-item__content:hover,
body header .wp-block-navigation-item__content:focus {
  color: var(--nbl-pink) !important;
}

/* Footer */
body footer,
body footer .wp-block-group,
body footer .wp-block-template-part {
  background-color: var(--nbl-ivory) !important;
  color: var(--nbl-text) !important;
}
body footer {
  border-top: 1px solid var(--nbl-border);
}
body footer a:not(.wp-element-button) {
  color: var(--nbl-teal-dark) !important;
}

/* Content rhythm */
body main { overflow: hidden; }
body .wp-block-post-content {
  margin-top: 0 !important;
}
body .wp-block-post-title {
  margin: clamp(1.5rem, 3vw, 2.75rem) auto clamp(1rem, 2vw, 1.6rem) !important;
  max-width: 18ch;
  text-align: center;
}
body.home main > .wp-block-post-title,
body.home .wp-site-blocks main > .wp-block-group.alignfull.lace-border:first-child {
  display: none !important;
}
body .wp-block-post-content > .wp-block-group,
body .wp-block-post-content > .wp-block-columns {
  padding-left: clamp(1.25rem, 4vw, 3rem);
  padding-right: clamp(1.25rem, 4vw, 3rem);
}
body .wp-block-post-content > .wp-block-group:first-child {
  padding-top: clamp(2.5rem, 5vw, 4.75rem) !important;
}
body .wp-block-columns {
  align-items: stretch;
  gap: clamp(1.75rem, 4vw, 3.5rem) !important;
}
body .wp-block-column {
  min-width: 0;
}
body .wp-block-column > :first-child { margin-top: 0; }
body .wp-block-column > :last-child { margin-bottom: 0; }
body .wp-block-group.alignwide {
  max-width: 1180px;
  margin-left: auto !important;
  margin-right: auto !important;
}
body hr.wp-block-separator {
  border-color: var(--nbl-border) !important;
  opacity: 1 !important;
}
body .wp-block-image img {
  border-radius: 12px;
  height: auto;
  max-width: 100%;
}

/* Buttons */
body .wp-element-button,
body button[type="submit"],
body input[type="submit"],
body .wc-block-components-button {
  background: var(--nbl-pink) !important;
  border: 2px solid var(--nbl-pink) !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 18px rgba(216,91,139,.17);
  color: var(--nbl-white) !important;
  font-family: "Hanken Grotesk", Arial, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding: .82rem 1.4rem !important;
  text-decoration: none !important;
}
body .wp-element-button:hover,
body .wp-element-button:focus,
body button[type="submit"]:hover,
body input[type="submit"]:hover,
body .wc-block-components-button:hover {
  background: var(--nbl-teal-dark) !important;
  border-color: var(--nbl-teal-dark) !important;
  color: var(--nbl-white) !important;
}
body .is-style-outline > .wp-element-button {
  background: transparent !important;
  border-color: var(--nbl-teal-dark) !important;
  color: var(--nbl-teal-dark) !important;
  box-shadow: none;
}
body .is-style-outline > .wp-element-button:hover {
  background: var(--nbl-teal-dark) !important;
  color: var(--nbl-white) !important;
}

/* Forms, newsletter, contact, shop and accounts */
body input, body textarea, body select,
body .wc-block-components-text-input input {
  background: var(--nbl-white) !important;
  border: 1px solid var(--nbl-teal) !important;
  border-radius: 7px !important;
  color: var(--nbl-text) !important;
  font-size: 1rem !important;
  min-height: 46px;
}
body textarea { min-height: 150px; }
body input:focus, body textarea:focus, body select:focus {
  outline: 3px solid rgba(216,91,139,.2) !important;
  outline-offset: 2px;
}
body .wp-block-jetpack-contact-form,
body .wp-block-jetpack-subscriptions {
  width: 100%;
}
body .woocommerce,
body .wc-block-components-sidebar-layout,
body .woocommerce-account .woocommerce,
body .woocommerce-cart .wp-block-post-content,
body .woocommerce-checkout .wp-block-post-content {
  color: var(--nbl-text) !important;
}
body .woocommerce table,
body .wc-block-components-order-summary,
body .wc-block-cart-items {
  background: var(--nbl-white) !important;
  border-color: var(--nbl-border) !important;
}
body .woocommerce-message,
body .woocommerce-info,
body .woocommerce-error {
  background: var(--nbl-blush) !important;
  border-color: var(--nbl-teal) !important;
  color: var(--nbl-text) !important;
}

/* Home and repeated card sections */
body.home .wp-block-post-content > .wp-block-group:nth-child(odd) {
  background-color: var(--nbl-ivory) !important;
}
body.home .wp-block-post-content > .wp-block-group:nth-child(even) {
  background-color: var(--nbl-blush) !important;
}
body.home .wp-block-post-content > .wp-block-group {
  padding-top: clamp(3rem, 6vw, 5.5rem) !important;
  padding-bottom: clamp(3rem, 6vw, 5.5rem) !important;
}
body.home .wp-block-columns {
  align-items: center !important;
}
body.home p {
  color: var(--nbl-text) !important;
  max-width: 68ch;
}
body .wp-block-columns > .wp-block-column {
  border-radius: 10px;
}
body .wp-block-query .wp-block-post {
  background: var(--nbl-blush) !important;
  border: 1px solid var(--nbl-border);
  border-radius: 12px;
  padding: 1.25rem;
}

/* Legal and policy readability */
body.page-id-380 .wp-block-post-content,
body.page-id-381 .wp-block-post-content,
body.page-id-366 .wp-block-post-content {
  max-width: 860px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 clamp(1.25rem, 4vw, 2.5rem) 4rem !important;
}
body.page-id-380 .wp-block-post-content h2,
body.page-id-381 .wp-block-post-content h2,
body.page-id-366 .wp-block-post-content h2 {
  margin-top: 2.25rem !important;
}

/* Tablet and mobile */
@media (max-width: 1100px) {
  body header .wp-block-navigation-item__content {
    font-size: .86rem !important;
  }
}
@media (max-width: 781px) {
  body { font-size: 16px !important; }
  body h1, body .wp-block-post-title, body .wp-block-query-title {
    font-size: clamp(2.05rem, 10vw, 3rem) !important;
  }
  body h2 { font-size: clamp(1.7rem, 8vw, 2.35rem) !important; }
  body h3 { font-size: clamp(1.35rem, 6.5vw, 1.85rem) !important; }
  body .wp-block-post-content > .wp-block-group,
  body .wp-block-post-content > .wp-block-columns {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
  body .wp-block-columns {
    gap: 1.75rem !important;
  }
  body .wp-block-buttons {
    gap: .8rem !important;
  }
  body .wp-element-button {
    white-space: normal !important;
    text-align: center;
  }
  body header .wp-block-navigation__responsive-container-content {
    font-family: "Hanken Grotesk", Arial, sans-serif !important;
  }
  body header .wp-block-navigation-item__content {
    white-space: normal;
    font-size: 1rem !important;
  }
  body.home .wp-block-post-content > .wp-block-group {
    padding-top: 2.75rem !important;
    padding-bottom: 2.75rem !important;
  }
}

/* --- WPWriter addition --- */
/* NorthByLori Studio — Task 4 Studio Journal editorial layout */
body .nbl-journal {
  background: var(--nbl-ivory) !important;
  margin-top: 0 !important;
}
body .nbl-journal-hero {
  background: var(--nbl-blush) !important;
  border-bottom: 1px solid var(--nbl-border);
}
body .nbl-journal-hero > * {
  max-width: 900px;
}
body .nbl-journal-categories {
  margin-top: 1rem;
}
body .nbl-journal-categories .wp-element-button {
  font-size: .88rem !important;
  padding: .62rem 1rem !important;
}
body .nbl-featured-section,
body .nbl-latest-section {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body .nbl-featured-card {
  background: var(--nbl-blush) !important;
  border: 1px solid var(--nbl-border);
  border-top: 5px solid var(--nbl-pink);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(143,185,183,.13);
  overflow: hidden;
  padding: clamp(1.25rem, 3vw, 2.25rem);
}
body .nbl-featured-card .wp-block-columns {
  gap: clamp(1.5rem, 4vw, 3.5rem) !important;
  margin-bottom: 0;
}
body .nbl-featured-card .wp-block-post-featured-image {
  margin: 0;
}
body .nbl-featured-card .wp-block-post-featured-image img {
  border-radius: 14px;
  object-fit: cover;
}
body .nbl-category-label {
  color: var(--nbl-pink) !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em;
  line-height: 1.4;
  text-transform: uppercase;
}
body .nbl-category-label a {
  color: var(--nbl-pink) !important;
  text-decoration: none !important;
}
body .nbl-category-label a:hover,
body .nbl-category-label a:focus {
  color: var(--nbl-teal-dark) !important;
  text-decoration: underline !important;
}
body .nbl-featured-card .wp-block-post-title {
  margin: .55rem 0 .8rem !important;
  text-align: left;
}
body .nbl-featured-card .wp-block-post-title a,
body .nbl-journal-card .wp-block-post-title a {
  color: var(--nbl-teal) !important;
  text-decoration: none !important;
}
body .nbl-featured-card .wp-block-post-title a:hover,
body .nbl-featured-card .wp-block-post-title a:focus,
body .nbl-journal-card .wp-block-post-title a:hover,
body .nbl-journal-card .wp-block-post-title a:focus {
  color: var(--nbl-pink) !important;
}
body .nbl-journal-grid .wp-block-post {
  display: flex;
  min-width: 0;
}
body .nbl-journal-card {
  background: var(--nbl-blush) !important;
  border: 1px solid var(--nbl-border);
  border-top: 4px solid var(--nbl-pink);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(143,185,183,.10);
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  padding: 1.1rem;
  transition: transform .18s ease, box-shadow .18s ease;
}
body .nbl-journal-card:hover {
  box-shadow: 0 14px 32px rgba(143,185,183,.16);
  transform: translateY(-3px);
}
body .nbl-journal-card .wp-block-post-featured-image {
  margin: -1.1rem -1.1rem .2rem;
}
body .nbl-journal-card .wp-block-post-featured-image img {
  border-radius: 10px 10px 0 0 !important;
  object-fit: cover;
}
body .nbl-journal-card .wp-block-post-title {
  font-size: clamp(1.3rem, 2vw, 1.65rem) !important;
  line-height: 1.22 !important;
  margin: .35rem 0 .2rem !important;
  text-align: left;
}
body .nbl-journal-card .wp-block-post-excerpt {
  color: var(--nbl-text) !important;
  font-size: .95rem;
  line-height: 1.55;
}
body .nbl-journal-card .wp-block-post-excerpt__more-link,
body .nbl-featured-card .wp-block-post-excerpt__more-link {
  color: var(--nbl-teal-dark) !important;
  display: inline-block;
  font-weight: 700;
  margin-top: .45rem;
  text-underline-offset: .15em;
}
body .nbl-journal-card .wp-block-post-date,
body .nbl-featured-card .wp-block-post-date {
  color: var(--nbl-text) !important;
  font-size: .82rem !important;
  margin-top: auto;
  opacity: .78;
}
body .nbl-journal-grid .wp-block-query-pagination {
  border-top: 1px solid var(--nbl-border);
  margin-top: 2.25rem;
  padding-top: 1.25rem;
}
body .nbl-journal-cta {
  background: var(--nbl-blush) !important;
  border-top: 1px solid var(--nbl-border);
}
@media (max-width: 1000px) {
  body .nbl-journal-grid .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 781px) {
  body .nbl-journal-hero,
  body .nbl-featured-section,
  body .nbl-latest-section,
  body .nbl-journal-cta {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
  body .nbl-journal-categories {
    align-items: stretch;
    flex-direction: column;
  }
  body .nbl-journal-categories .wp-block-button,
  body .nbl-journal-categories .wp-element-button {
    width: 100%;
  }
  body .nbl-featured-card {
    padding: 1.2rem;
  }
  body .nbl-featured-card .wp-block-columns {
    gap: 1.25rem !important;
  }
  body .nbl-journal-grid .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
  body .nbl-journal-card:hover {
    transform: none;
  }
}

/* --- WPWriter addition --- */

/* NorthByLori Studio — light teal header and footer alignment — 2026-08-05 */
body header .wp-block-site-title,
body header .wp-block-site-title a,
body header .wp-block-site-tagline,
body header .wp-block-navigation,
body header .wp-block-navigation a,
body header .wp-block-navigation-item,
body header .wp-block-navigation-item__content,
body header .wp-block-social-links,
body header .wp-block-social-link,
body header .wp-block-social-link-anchor,
body header .wp-block-woocommerce-customer-account,
body header .wp-block-woocommerce-mini-cart,
body header .wp-block-woocommerce-mini-cart__button,
body header .wc-block-mini-cart__button,
body header .wc-block-mini-cart__badge,
body footer .wp-block-site-title,
body footer .wp-block-site-title a,
body footer .wp-block-navigation,
body footer .wp-block-navigation a,
body footer .wp-block-navigation-item,
body footer .wp-block-navigation-item__content,
body footer .wp-block-social-links,
body footer .wp-block-social-link,
body footer .wp-block-social-link-anchor,
body footer a:not(.wp-element-button) {
  color: #8FB9B7 !important;
}
body header svg,
body header svg *,
body footer .wp-block-social-links svg,
body footer .wp-block-social-links svg * {
  color: #8FB9B7 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
body header .lace-border,
body footer .lace-border,
body .wp-site-blocks > header + .lace-border {
  color: #8FB9B7 !important;
  border-color: #8FB9B7 !important;
}



/* --- WPWriter addition --- */

/* NorthByLori Studio — selective bright pink header/footer accents — 2026-08-05 */
body header .wp-block-site-tagline {
  color: #D85B8B !important;
}
body header .wp-block-navigation-item__content[aria-current="page"],
body header .current-menu-item > .wp-block-navigation-item__content,
body header .wp-block-navigation-item__content:hover,
body header .wp-block-navigation-item__content:focus {
  color: #D85B8B !important;
}
body header .wp-block-woocommerce-customer-account,
body header .wp-block-woocommerce-customer-account a,
body header .wp-block-woocommerce-mini-cart,
body header .wp-block-woocommerce-mini-cart__button,
body header .wc-block-mini-cart__button,
body header .wc-block-mini-cart__badge {
  color: #D85B8B !important;
}
body header .wp-block-woocommerce-customer-account svg,
body header .wp-block-woocommerce-customer-account svg *,
body header .wp-block-woocommerce-mini-cart svg,
body header .wp-block-woocommerce-mini-cart svg *,
body header .wc-block-mini-cart__button svg,
body header .wc-block-mini-cart__button svg * {
  color: #D85B8B !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
body footer .wp-block-site-title,
body footer .wp-block-site-title a,
body footer a[href*="newsletter"],
body footer .wp-block-social-links,
body footer .wp-block-social-link,
body footer .wp-block-social-link-anchor {
  color: #D85B8B !important;
}
body footer .wp-block-social-links svg,
body footer .wp-block-social-links svg * {
  color: #D85B8B !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
body footer a:not(.wp-element-button):hover,
body footer a:not(.wp-element-button):focus {
  color: #D85B8B !important;
}


/* --- WPWriter addition --- */

/* NorthByLori Studio — permanent Shop Mardi Market navigation accent — 2026-08-05 */
body header .wp-block-navigation a[href*="/shop/"],
body header .wp-block-navigation-item__content[href*="/shop/"] {
  color: #D85B8B !important;
}
body header .wp-block-navigation a[href*="/shop/"]:hover,
body header .wp-block-navigation a[href*="/shop/"]:focus {
  color: #D85B8B !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .18em;
}


/* --- WPWriter addition --- */

/* =========================================================
   NorthByLori Studio — final boutique header/footer system
   2026-08-05
   ========================================================= */

/* Compact header */
body header .wp-block-group.nbl-site-header {
  background: #FFFDF8 !important;
  padding: .7rem clamp(1rem, 2vw, 2rem) !important;
}
body header .nbl-header-inner {
  align-items: center !important;
  gap: clamp(1rem, 2vw, 2rem) !important;
  max-width: 1880px !important;
  width: 100% !important;
}
body header .nbl-header-brand {
  align-items: center !important;
  flex: 0 0 auto;
}
body header .nbl-header-brand .wp-block-site-logo img {
  height: auto !important;
  width: 86px !important;
}
body header .nbl-header-brand-copy {
  align-items: flex-start !important;
}
body header .nbl-header-brand .wp-block-site-title,
body header .nbl-header-brand .wp-block-site-title a {
  color: #8FB9B7 !important;
  font-family: "Gabriela", Georgia, serif !important;
  font-size: clamp(1.25rem, 1.7vw, 1.7rem) !important;
  line-height: 1.12 !important;
}
body header .nbl-header-tagline {
  color: #D85B8B !important;
  line-height: 1.3 !important;
}
body header .nbl-header-actions {
  align-items: center !important;
  flex: 1 1 auto;
  gap: clamp(.6rem, 1.2vw, 1rem) !important;
  justify-content: flex-end !important;
  min-width: 0;
}
body header .nbl-primary-navigation {
  flex: 1 1 auto;
}
body header .nbl-primary-navigation .wp-block-navigation__container {
  align-items: center !important;
  column-gap: clamp(.45rem, 1.05vw, .95rem) !important;
  justify-content: flex-end !important;
  row-gap: .4rem !important;
}
body header .nbl-primary-navigation .wp-block-navigation-item__content {
  color: #4A4A50 !important;
  font-size: clamp(.78rem, .83vw, .92rem) !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  padding: .45rem .1rem !important;
  text-decoration: none !important;
  white-space: nowrap;
}
body header .nbl-primary-navigation .wp-block-navigation-item__content:hover,
body header .nbl-primary-navigation .wp-block-navigation-item__content:focus {
  color: #D85B8B !important;
}
body header .nbl-primary-navigation a[href*="/shop/"] {
  background: #D85B8B !important;
  border: 2px solid #D85B8B !important;
  border-radius: 999px !important;
  color: #FFFFFF !important;
  padding: .5rem .8rem !important;
  text-decoration: none !important;
}
body header .nbl-primary-navigation a[href*="/shop/"]:hover,
body header .nbl-primary-navigation a[href*="/shop/"]:focus {
  background: #FFFFFF !important;
  color: #D85B8B !important;
}
body header .nbl-primary-navigation .wp-block-navigation-item__content[aria-current="page"]:not([href*="/shop/"]),
body header .nbl-primary-navigation .current-menu-item > .wp-block-navigation-item__content:not([href*="/shop/"]) {
  color: #4A4A50 !important;
  text-decoration: underline !important;
  text-decoration-color: #D85B8B !important;
  text-decoration-thickness: 3px !important;
  text-underline-offset: .3em !important;
}
body header .nbl-header-tools {
  align-items: center !important;
  flex: 0 0 auto;
  gap: .65rem !important;
}
body header .nbl-header-tools,
body header .nbl-header-tools a,
body header .nbl-header-tools button,
body header .nbl-header-tools svg,
body header .nbl-header-tools svg * {
  color: #8FB9B7 !important;
  stroke: currentColor !important;
}
body header .nbl-header-tools a:hover,
body header .nbl-header-tools a:focus,
body header .nbl-header-tools button:hover,
body header .nbl-header-tools button:focus,
body header .nbl-header-tools a:hover svg,
body header .nbl-header-tools button:hover svg {
  color: #D85B8B !important;
}
body header .nbl-header-tools .wc-block-mini-cart__badge {
  background: #D85B8B !important;
  color: #FFFFFF !important;
}

/* Boutique footer */
body footer .wp-block-group.nbl-site-footer {
  background: #FFFDF8 !important;
  margin: 0 !important;
}
body footer .wp-block-group.nbl-site-footer-main {
  background: #FDEEF4 !important;
  border-top: 1px solid #D9E8E7 !important;
  padding: clamp(2.5rem, 5vw, 4.25rem) clamp(1.25rem, 4vw, 3rem) !important;
}
body footer .nbl-footer-grid {
  align-items: center !important;
  gap: clamp(2rem, 5vw, 5rem) !important;
  margin: 0 auto !important;
  max-width: 1320px !important;
}
body footer .nbl-footer-brand .wp-block-site-title,
body footer .nbl-footer-brand .wp-block-site-title a {
  color: #8FB9B7 !important;
  font-family: "Gabriela", Georgia, serif !important;
  font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
  line-height: 1.15 !important;
}
body footer .nbl-footer-tagline {
  color: #D85B8B !important;
}
body footer .nbl-footer-explore h3,
body footer .nbl-footer-connect h3 {
  color: #8FB9B7 !important;
  font-size: 1.35rem !important;
  margin-bottom: .75rem !important;
}
body footer .nbl-footer-navigation .wp-block-navigation__container {
  align-items: flex-start !important;
  gap: .4rem !important;
}
body footer .nbl-footer-navigation .wp-block-navigation-item__content {
  color: #4A4A50 !important;
  font-size: .98rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body footer .nbl-footer-navigation a[href*="/shop/"] {
  color: #D85B8B !important;
}
body footer .nbl-footer-navigation .wp-block-navigation-item__content:hover,
body footer .nbl-footer-navigation .wp-block-navigation-item__content:focus {
  color: #D85B8B !important;
  text-decoration: underline !important;
}
body footer .nbl-footer-connect p {
  color: #4A4A50 !important;
  font-size: .95rem;
  line-height: 1.55;
  margin-bottom: 1rem;
}
body footer .nbl-footer-connect .wp-element-button {
  background: #D85B8B !important;
  border-color: #D85B8B !important;
  color: #FFFFFF !important;
}
body footer .nbl-footer-connect .wp-element-button:hover,
body footer .nbl-footer-connect .wp-element-button:focus {
  background: #FFFFFF !important;
  color: #D85B8B !important;
}
body footer .nbl-footer-socials {
  gap: .85rem !important;
  margin-top: 1.15rem !important;
}
body footer .nbl-footer-socials,
body footer .nbl-footer-socials .wp-block-social-link,
body footer .nbl-footer-socials .wp-block-social-link-anchor,
body footer .nbl-footer-socials svg,
body footer .nbl-footer-socials svg * {
  color: #D85B8B !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
body footer .wp-block-group.nbl-footer-legal {
  background: #FFFDF8 !important;
  border-top: 1px solid #D9E8E7 !important;
  color: #4A4A50 !important;
  padding: 1.15rem 1.25rem !important;
}
body footer .nbl-footer-legal p {
  color: #4A4A50 !important;
  margin: .3rem auto !important;
}
body footer .nbl-footer-legal a {
  color: #4A4A50 !important;
}
body footer .nbl-footer-legal a:hover,
body footer .nbl-footer-legal a:focus {
  color: #D85B8B !important;
}

/* Responsive header/footer */
@media (max-width: 1180px) {
  body header .nbl-header-brand .wp-block-site-logo img {
    width: 72px !important;
  }
  body header .nbl-header-brand .wp-block-site-title,
  body header .nbl-header-brand .wp-block-site-title a {
    font-size: 1.25rem !important;
  }
  body header .nbl-header-tagline {
    font-size: 11px !important;
  }
  body header .nbl-primary-navigation .wp-block-navigation-item__content {
    font-size: .78rem !important;
  }
}
@media (max-width: 781px) {
  body header .nbl-site-header {
    padding: .65rem 1rem !important;
  }
  body header .nbl-header-inner {
    gap: .75rem !important;
  }
  body header .nbl-header-brand .wp-block-site-logo img {
    width: 62px !important;
  }
  body header .nbl-header-brand .wp-block-site-title,
  body header .nbl-header-brand .wp-block-site-title a {
    font-size: 1.1rem !important;
  }
  body header .nbl-header-tagline {
    display: none;
  }
  body header .nbl-header-actions {
    gap: .5rem !important;
  }
  body header .nbl-primary-navigation .wp-block-navigation__responsive-container-open {
    color: #D85B8B !important;
  }
  body footer .nbl-footer-grid {
    text-align: center;
  }
  body footer .nbl-footer-brand > .wp-block-group,
  body footer .nbl-footer-connect .wp-block-buttons,
  body footer .nbl-footer-socials {
    justify-content: center !important;
  }
  body footer .nbl-footer-navigation .wp-block-navigation__container {
    align-items: center !important;
  }
}


/* --- WPWriter addition --- */

/* Mobile shop product cards: keep titles readable at phone widths — 2026-10-01 */
@media (max-width: 600px) {
  body.woocommerce-shop .wc-block-product-template.wc-block-product-template__responsive {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.woocommerce-shop .wc-block-product-template .wc-block-product {
    min-width: 0;
  }
  body.woocommerce-shop .wc-block-product-template .wp-block-post-title {
    font-size: 1.65rem !important;
    line-height: 1.25 !important;
    margin: 0.65rem 0 0.5rem !important;
  }
}


/* --- WPWriter addition --- */

/* Readable brand text and hidden-control keyboard behavior — 2026-10-02 */
:root { --nbl-readable-teal: #497573; --nbl-readable-pink: #B0426E; }
body .wp-site-blocks main h1,
body .wp-site-blocks main h2,
body .wp-site-blocks main h3,
body .wp-site-blocks main h4,
body .wp-site-blocks main h5,
body .wp-site-blocks main h6,
body .wp-site-blocks main .wp-block-post-title,
body .wp-site-blocks main .wp-block-query-title,
body footer h1, body footer h2, body footer h3,
body footer .wp-block-site-title,
body footer .wp-block-site-title a,
body header .wp-block-site-title,
body header .wp-block-site-title a {
  color: var(--nbl-readable-teal) !important;
}
body .wp-site-blocks main a:not(.wp-element-button):not(.wp-block-social-link-anchor),
body .wp-site-blocks main .wp-block-post-title a,
body footer .nbl-footer-legal a {
  color: var(--nbl-readable-teal) !important;
}
body .nbl-category-label,
body .nbl-category-label a,
body header .nbl-header-tagline,
body footer .nbl-footer-tagline {
  color: var(--nbl-readable-pink) !important;
}
body header .nbl-header-tools,
body header .nbl-header-tools a,
body header .nbl-header-tools button,
body header .nbl-header-tools svg,
body header .nbl-header-tools svg * {
  color: var(--nbl-readable-teal) !important;
  stroke: currentColor !important;
}
body .contact-form-ajax-submission[aria-hidden="true"],
body .wc-block-mini-cart__drawer[aria-hidden="true"] {
  visibility: hidden !important;
}


/* --- WPWriter addition --- */

/* Finish text contrast for footer, navigation, and primary actions — 2026-10-02 */
body footer .nbl-footer-explore h3,
body footer .nbl-footer-connect h3,
body footer .nbl-footer-brand .wp-block-site-title,
body footer .nbl-footer-brand .wp-block-site-title a,
body header .nbl-header-brand .wp-block-site-title,
body header .nbl-header-brand .wp-block-site-title a {
  color: #497573 !important;
}
body header .nbl-header-tagline,
body footer .nbl-footer-tagline,
body footer .nbl-footer-navigation a[href*="/shop/"],
body footer .nbl-footer-navigation a[href*="/shop/"] span {
  color: #B0426E !important;
}
body .wp-site-blocks .wp-element-button,
body .wp-site-blocks button[type="submit"],
body .wp-site-blocks input[type="submit"],
body .wp-site-blocks .wc-block-components-button,
body header .nbl-primary-navigation a[href*="/shop/"] {
  background-color: #B0426E !important;
  border-color: #B0426E !important;
  color: #FFFFFF !important;
}
body .wp-site-blocks .wp-element-button:hover,
body .wp-site-blocks .wp-element-button:focus,
body .wp-site-blocks button[type="submit"]:hover,
body .wp-site-blocks button[type="submit"]:focus,
body header .nbl-primary-navigation a[href*="/shop/"]:hover,
body header .nbl-primary-navigation a[href*="/shop/"]:focus {
  background-color: #497573 !important;
  border-color: #497573 !important;
  color: #FFFFFF !important;
}


/* --- WPWriter addition --- */

/* Footer newsletter action contrast */
body footer .nbl-footer-connect .wp-element-button {
  background-color: #B0426E !important;
  border-color: #B0426E !important;
  color: #FFFFFF !important;
}
body footer .nbl-footer-connect .wp-element-button:hover,
body footer .nbl-footer-connect .wp-element-button:focus {
  background-color: #497573 !important;
  border-color: #497573 !important;
  color: #FFFFFF !important;
}


/* --- WPWriter addition --- */

/* Readable palette utility text on light page backgrounds */
body .wp-site-blocks main .has-theme-3-color { color: #497573 !important; }
body .wp-site-blocks main .has-theme-5-color { color: #B0426E !important; }


/* --- WPWriter addition --- */

/* Keep header controls separate on the narrowest phones */
@media (max-width: 360px) {
  body header .nbl-header-brand-copy { display: none !important; }
  body header .nbl-header-brand .wp-block-site-logo img { width: 56px !important; }
  body header .nbl-header-inner { gap: .5rem !important; }
  body header .nbl-header-actions { flex: 0 0 auto !important; }
}


/* --- WPWriter addition --- */
/* NorthByLori visitor-first refresh — 2026-10-03 */
body.home .nbl-home-hero,
body.home .nbl-home-paths,
body.home .nbl-home-latest,
body.home .nbl-home-closing { background:#FFFDF8 !important; }
body.home .nbl-home-feature { background:#FDEEF4 !important; }
body.home .wp-block-post-content > .wp-block-group:is(.nbl-home-hero,.nbl-home-feature,.nbl-home-closing) { padding:clamp(2.5rem,5vw,5rem) clamp(1.25rem,4vw,3rem) !important; }
body.home .wp-block-post-content > .wp-block-group:is(.nbl-home-paths,.nbl-home-latest) { padding:clamp(2.5rem,5vw,4.5rem) 1.25rem !important; }
body.home .nbl-home-hero .wp-block-columns,
body.home .nbl-home-feature .wp-block-columns { max-width:1240px; margin:auto; gap:clamp(2rem,5vw,5rem) !important; }
body.home .nbl-home-hero h1 { max-width:12ch; margin:.35rem 0 1.2rem !important; }
body.home .nbl-home-hero p { font-size:1.1rem; max-width:40ch; }
body.home .nbl-home-hero .wp-block-image img,
body.home .nbl-home-feature .wp-block-image img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:18px; box-shadow:0 16px 38px rgba(57,73,72,.12); }
body.home .nbl-home-hero figcaption { color:#4A4A50; font-size:.84rem; margin-top:.5rem; text-align:left; }
body.home .nbl-home-paths,
body.home .nbl-home-latest { max-width:1320px; }
body.home .nbl-home-paths > p:first-child,
body.home .nbl-home-feature .wp-block-column p:first-child,
body.home .nbl-home-hero .wp-block-column p:first-child { color:#B0426E !important; font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; }
body.home .nbl-home-card-grid { gap:1.25rem !important; align-items:stretch !important; }
body.home .nbl-home-card { background:#fff !important; border:1px solid #D9E8E7; border-radius:16px; box-shadow:0 8px 24px rgba(57,73,72,.07); overflow:hidden; padding:0 0 1.2rem; }
body.home .nbl-home-card figure { margin:0 0 1rem !important; }
body.home .nbl-home-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:0 !important; }
body.home .nbl-home-card h3 { font-size:clamp(1.25rem,1.7vw,1.55rem) !important; margin:.35rem 1.15rem .5rem !important; }
body.home .nbl-home-card h3 a { text-decoration:none !important; }
body.home .nbl-home-card p { font-size:.94rem; line-height:1.5; margin:.25rem 1.15rem 0 !important; }
body.home .nbl-home-latest .wp-block-post-template { gap:1.35rem; }
body.home .nbl-home-post-card { background:#fff; border:1px solid #D9E8E7; border-radius:14px; height:100%; overflow:hidden; padding:0 0 1.25rem; }
body.home .nbl-home-post-card .wp-block-post-featured-image { margin:0 0 1rem !important; }
body.home .nbl-home-post-card .wp-block-post-featured-image img { width:100%; object-fit:cover; }
body.home .nbl-home-post-card > :not(.wp-block-post-featured-image) { margin-left:1.15rem !important; margin-right:1.15rem !important; }
body.home .nbl-home-post-card .wp-block-post-title { font-size:1.4rem !important; text-align:left !important; margin-top:.5rem !important; margin-bottom:.5rem !important; }
body.home .nbl-home-post-card .wp-block-post-title a { text-decoration:none !important; }
body.home .nbl-home-closing { text-align:center; }
body.home .nbl-home-closing .wp-block-buttons { justify-content:center; }
body.page-id-14 main > .lace-border:first-child,
body.page-id-791 main > .lace-border:first-child { display:none !important; }
body.page-id-14 .nbl-resources-intro,
body.page-id-14 .nbl-resource-guides,
body.page-id-14 .nbl-resource-newsletter,
body.page-id-791 .nbl-planner-intro,
body.page-id-791 .nbl-printable { padding:2.25rem 1.25rem !important; max-width:1160px; margin:auto; }
body.page-id-14 .nbl-resource-feature { max-width:1160px; margin:1rem auto; padding:1.25rem; background:#fff; border:1px solid #D9E8E7; border-radius:16px; align-items:center; }
body.page-id-14 .nbl-resource-feature img { border-radius:12px; width:100%; aspect-ratio:16/10; object-fit:cover; }
body.page-id-14 .nbl-resource-newsletter { background:#FDEEF4; border-radius:16px; margin-bottom:3rem; }
body.page-id-791 .nbl-printable { background:#fff; border:1px solid #D9E8E7; border-radius:14px; margin-bottom:3rem; }
body.page-id-791 .nbl-printable table { width:100%; }
body.page-id-791 .nbl-printable th,
body.page-id-791 .nbl-printable td { padding:.45rem .6rem; }
body .nbl-article-top { max-width:920px; margin:0 auto 1.7rem; padding:0 1.25rem; }
body .nbl-article-top .wp-block-post-featured-image img { width:100%; border-radius:16px; object-fit:cover; }
body .nbl-article-meta { color:#4A4A50; font-size:.9rem; gap:1rem; margin-bottom:1rem; }
body .nbl-guide-intro { background:#FDEEF4; border-left:4px solid #B0426E; border-radius:8px; padding:1.4rem 1.6rem; margin:0 auto 2rem; }
body .nbl-guide-intro p { margin:.35rem 0 .75rem; }
body .nbl-guide-intro .nbl-guide-eyebrow { color:#B0426E; text-transform:uppercase; letter-spacing:.08em; font-size:.85rem; }
body .nbl-journal-hero { padding-top:clamp(2rem,4vw,3rem) !important; padding-bottom:clamp(2rem,4vw,3rem) !important; }
body .nbl-featured-section { padding-top:2.5rem !important; padding-bottom:2.5rem !important; }
body .nbl-featured-card .wp-block-post-title { font-size:clamp(1.65rem,2.5vw,2.3rem) !important; text-align:left !important; margin:0 0 .75rem !important; }
body .nbl-featured-card .wp-block-post-featured-image img { aspect-ratio:16/10; object-fit:cover; }
body .nbl-journal-grid .wp-block-post-template { gap:1.35rem; }
body .nbl-journal-card { background:#fff; border:1px solid #D9E8E7; border-radius:14px; overflow:hidden; height:100%; padding:0 0 1.2rem; }
body .nbl-journal-card .wp-block-post-featured-image { margin:0 0 1rem !important; }
body .nbl-journal-card .wp-block-post-featured-image img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:0 !important; }
body .nbl-journal-card > :not(.wp-block-post-featured-image) { margin-left:1.15rem !important; margin-right:1.15rem !important; }
body .nbl-journal-card .wp-block-post-title { font-size:1.35rem !important; text-align:left !important; margin-top:.45rem !important; margin-bottom:.5rem !important; }
body header .nbl-header-search { width:145px; margin:0; }
body header .nbl-header-search .wp-block-search__input { min-width:0; width:100%; padding:.4rem .55rem !important; font-size:.85rem !important; }
body header .nbl-header-search .wp-block-search__button { padding:.38rem !important; border-radius:8px !important; margin-left:.25rem; }
@media (max-width:900px) {
  body.home .nbl-home-card-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.home .nbl-home-card-grid > .wp-block-column { width:auto !important; }
}
@media (max-width:781px) {
  body.home .nbl-home-hero .wp-block-columns { flex-direction:column-reverse; }
  body.home .nbl-home-hero h1 { max-width:none; }
  body.home .nbl-home-latest .wp-block-post-template,
  body .nbl-journal-grid .wp-block-post-template { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body header .nbl-header-search { width:96px; }
  body header .nbl-header-search .wp-block-search__input { font-size:.75rem !important; padding:.35rem !important; }
}
@media (max-width:600px) {
  body.home .nbl-home-card-grid,
  body.home .nbl-home-latest .wp-block-post-template,
  body .nbl-journal-grid .wp-block-post-template { grid-template-columns:minmax(0,1fr) !important; }
  body header .nbl-header-search { display:none !important; }
}
@media print {
  body.page-id-791 header,
  body.page-id-791 footer,
  body.page-id-791 .nbl-planner-intro,
  body.page-id-791 .wp-block-comments,
  body.page-id-791 #wpadminbar { display:none !important; }
  body.page-id-791 .nbl-printable { border:0 !important; padding:0 !important; margin:0 !important; max-width:none !important; box-shadow:none !important; }
  body.page-id-791 .nbl-printable h2 { font-size:17pt !important; margin:.5rem 0 !important; }
  body.page-id-791 .nbl-printable p,
  body.page-id-791 .nbl-printable li,
  body.page-id-791 .nbl-printable td,
  body.page-id-791 .nbl-printable th { font-size:9.5pt !important; line-height:1.25 !important; }
  body.page-id-791 .nbl-printable table { border-collapse:collapse; }
  body.page-id-791 .nbl-printable td,
  body.page-id-791 .nbl-printable th { border:1px solid #777; }
  @page { size:letter; margin:.55in; }
}

/* --- WPWriter addition --- */
/* Final mobile and printable refinements — 2026-10-03 */
body header .nbl-header-search .wp-block-search__button svg,
body header .nbl-header-search .wp-block-search__button svg * { color:#fff !important; stroke:#fff !important; }
body.page-id-14 main > .wp-block-spacer,
body.page-id-791 main > .wp-block-spacer { display:none !important; }
body.page-id-791 .nbl-printable ul { list-style:none !important; padding-left:0 !important; }
body.page-id-791 .nbl-printable li { margin:.35rem 0; }
@media (max-width:781px) {
  body .nbl-journal-categories { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem !important; }
  body .nbl-journal-categories .wp-block-button,
  body .nbl-journal-categories .wp-block-button__link { width:100%; }
  body .nbl-journal-categories .wp-block-button__link { padding:.65rem .5rem !important; font-size:.83rem !important; }
}
@media (max-width:480px) {
  body header .nbl-header-brand-copy { display:none !important; }
  body header .nbl-header-brand .wp-block-site-logo img { width:70px !important; }
}

/* --- WPWriter addition --- */
@media (min-width:782px) { body header .nbl-primary-navigation li:has(> a[href*="?s="]) { display:none !important; } }

/* --- WPWriter addition --- */
/* Keep search results easy to scan on phones and desktop */
body.search main .wp-block-post-template { gap:1.25rem !important; }
body.search main .wp-block-post-template > li { background:#fff !important; border:1px solid #D9E8E7; border-radius:14px; overflow:hidden; padding:1rem !important; }
body.search main .wp-block-post-template .wp-block-post-title { font-size:clamp(1.3rem,2vw,1.65rem) !important; line-height:1.2 !important; margin:.5rem 0 !important; max-width:none !important; text-align:left !important; }
body.search main .wp-block-post-template .wp-block-post-title a { text-decoration:none !important; }
body.search main .wp-block-post-template .wp-block-post-featured-image img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; }
@media (max-width:600px) { body.search main .wp-block-post-template { grid-template-columns:minmax(0,1fr) !important; } }