/* 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;
  }
}
