/* Notes Essence – visual alignment with main brand (serif titles, black bar, airy grid) */

.ne-polish-active {
  --ne-serif: "Playfair Display", "Times New Roman", Times, Georgia, serif;
  --ne-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ne-black: #0a0a0a;
  --ne-fg: #1a1a1a;
  --ne-muted: #4a4a4a;
  --ne-bg-footer: #f4f3f0;
  --ne-border: rgba(0, 0, 0, 0.08);
}

/* ----- Announcement (reference: black bar, white text) ----- */
.ne-announcement {
  background: var(--ne-black);
  color: #fff;
  font-family: var(--ne-sans);
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  text-align: center;
  line-height: 1.2;
  padding: 0.6rem 1rem;
}

.ne-announcement__inner {
  max-width: 90rem;
  margin: 0 auto;
}

/* Baseline: readable sans for body; serif for main headings in content & shop */
body.ne-polish-active {
  font-family: var(--ne-sans);
  color: var(--ne-fg);
}

/* Site title / logo text → “Notes” feel */
body.ne-polish-active .site-title a,
body.ne-polish-active .wp-block-site-title a,
body.ne-polish-active .custom-logo + .site-title a,
body.ne-polish-active p.site-title a,
body.ne-polish-active .site-title,
body.ne-polish-active a.custom-logo-text {
  font-family: var(--ne-serif) !important;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
}

/* Woo / blocks: product archive titles */
body.ne-polish-active .woocommerce-products-header__title,
body.ne-polish-active h1.woocommerce-products-header__title,
body.ne-polish-active .wp-block-woocommerce-product-collection .wp-block-heading,
body.ne-polish-active .page-title,
body.ne-polish-active .wp-block-post-title {
  font-family: var(--ne-serif) !important;
  font-weight: 500;
  letter-spacing: 0.01em;
}

/* Section feel: “Products” block heading if using Group + Heading */
body.ne-polish-active .wp-block-group .wp-block-heading,
body.ne-polish-active .wc-block-grid__title {
  font-family: var(--ne-serif) !important;
  font-weight: 500;
}

/* Product grid: airy, left-aligned like reference */
body.ne-polish-active .woocommerce ul.products,
body.ne-polish-active ul.wc-block-grid__products {
  gap: 1.5rem 1.25rem;
}

body.ne-polish-active .woocommerce ul.products li.product,
body.ne-polish-active li.wc-block-grid__product {
  text-align: left;
}

body.ne-polish-active .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.ne-polish-active .wc-block-grid__product-title {
  font-family: var(--ne-sans);
  font-size: 1rem;
  font-weight: 500;
  margin-top: 0.75rem;
  line-height: 1.3;
  color: var(--ne-fg);
}

body.ne-polish-active .price,
body.ne-polish-active .wc-block-grid__product-price {
  font-family: var(--ne-sans);
  font-size: 0.95rem;
  color: var(--ne-muted) !important;
  margin-top: 0.25rem;
}

/* Product images: clean frame */
body.ne-polish-active .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.ne-polish-active .wc-block-grid__product-image {
  position: relative;
  display: block;
  overflow: hidden;
  background: #fafafa;
}

body.ne-polish-active .woocommerce ul.products li.product a img,
body.ne-polish-active .wc-block-grid__product-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: transform 0.45s ease;
}

body.ne-polish-active .woocommerce ul.products li.product a:hover img {
  transform: scale(1.02);
}

/* Rounded, calm buttons */
body.ne-polish-active .woocommerce a.button,
body.ne-polish-active .woocommerce button.button,
body.ne-polish-active .woocommerce a.button.alt,
body.ne-polish-active .wp-block-button__link {
  font-family: var(--ne-sans) !important;
  border-radius: 999px !important;
  padding: 0.65em 1.35em !important;
  text-transform: none !important;
  letter-spacing: 0.04em;
  font-weight: 500 !important;
  border: 1px solid var(--ne-black) !important;
  background: #fff !important;
  color: var(--ne-black) !important;
}

body.ne-polish-active .woocommerce a.button:hover,
body.ne-polish-active .woocommerce button.button:hover {
  background: var(--ne-black) !important;
  color: #fff !important;
}

/* Main header: slightly more air under announcement */
body.ne-polish-active .site-header,
body.ne-polish-active header#masthead,
body.ne-polish-active .wp-block-template-part.site-header {
  border-bottom: 1px solid var(--ne-border);
  background: #fff;
}

/* Optional: top nav links weight */
body.ne-polish-active .main-navigation a,
body.ne-polish-active .wp-block-navigation a {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* ----- Plugin footer (3 columns) ----- */
.ne-site-footer {
  background: var(--ne-bg-footer);
  color: var(--ne-fg);
  padding: 3.5rem 1.5rem 2rem;
  margin-top: 3rem;
  font-family: var(--ne-sans);
  border-top: 1px solid var(--ne-border);
}

.ne-site-footer__inner {
  max-width: 70rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2.5rem;
}

@media (min-width: 768px) {
  .ne-site-footer__inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
  }
}

.ne-site-footer__heading {
  font-family: var(--ne-serif) !important;
  font-size: 1.125rem;
  font-weight: 500;
  margin: 0 0 1.25rem;
  color: var(--ne-black);
}

.ne-site-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.9375rem;
  line-height: 1.8;
}

.ne-site-footer__list a {
  color: var(--ne-muted);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.ne-site-footer__list a:hover {
  color: var(--ne-black);
  border-bottom-color: rgba(0, 0, 0, 0.2);
}

.ne-site-footer__list--info li,
.ne-site-footer__list--info a {
  color: var(--ne-muted);
}

.ne-site-footer__social {
  margin: 1.5rem 0 0.75rem;
}

.ne-site-footer__ig {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  text-indent: -9999px;
  overflow: hidden;
  position: relative;
  background: var(--ne-black);
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm5 2.5a5.5 5.5 0 1 1 0 11 0 5.5 5.5 0 0 1 0-11zm0 2a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7zM18 5.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.1rem;
}

.ne-site-footer__payments {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
}

.ne-site-footer__payments .ne-pay {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  height: 1.4rem;
  font-size: 0.5rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  border: 1px solid #ccc;
  background: #fff;
  color: #555;
  border-radius: 2px;
}

.ne-site-footer__copy {
  max-width: 70rem;
  margin: 2.5rem auto 0;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #666;
}

/* Hide default theme footers if option enabled (Astra + common themes) */
body.ne-suppress-theme-footer .site-footer:not(.ne-site-footer),
body.ne-suppress-theme-footer #colophon,
body.ne-suppress-theme-footer .wp-block-group.is-style-footer,
body.ne-suppress-theme-footer .site-info,
body.ne-suppress-theme-footer .ast-primary-footer,
body.ne-suppress-theme-footer .ast-primary-footer-wrap,
body.ne-suppress-theme-footer .ast-small-footer,
body.ne-suppress-theme-footer .ast-footer-overlay,
body.ne-suppress-theme-footer .ast-footer,
body.ne-suppress-theme-footer footer#colophon {
  display: none !important;
}

/* Fix double spacing if theme footer is hidden but wrapper remains */
body.ne-suppress-theme-footer .site-footer:empty {
  display: none !important;
}

/* Child theme: hero pulls under Astra header; add offset when announcement bar is present */
body.ne-polish-active.home .ne-hero {
  margin-top: -8.25rem;
}

@media (max-width: 768px) {
  body.ne-polish-active.home .ne-hero {
    margin-top: -6rem;
  }
}
