/* ── Shop page ──────────────────────────────────────────────────────────────── */
.ncl-main.ncl-shop { padding-block: var(--space-xl); }

.woocommerce-ordering select {
  font-family: var(--font);
  font-size: 0.875rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--ink);
}

.ncl-shop__empty {
  text-align: center;
  color: var(--slate);
  padding-block: var(--space-2xl);
}

/* ── WooCommerce pagination ─────────────────────────────────────────────────── */
.woocommerce-pagination {
  display: flex;
  justify-content: center;
  margin-top: var(--space-xl);
}

.woocommerce-pagination ul {
  display: flex;
  gap: 0.375rem;
  list-style: none;
}

.woocommerce-pagination li a,
.woocommerce-pagination li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px; height: 36px;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: var(--radius);
  font-size: 0.875rem;
  font-weight: var(--fw-semibold);
  transition: background var(--duration) var(--ease), border-color var(--duration) var(--ease);
}

.woocommerce-pagination li a:hover { background: var(--fog); border-color: var(--cobalt); }
.woocommerce-pagination li span.current { background: var(--cobalt); color: #fff; border-color: var(--cobalt); }

/* ── COA library page ───────────────────────────────────────────────────────── */
.ncl-coa-library { padding-block: var(--space-xl); }

.ncl-coa-library__title {
  color: var(--navy);
  margin-bottom: var(--space-lg);
}

.ncl-coa-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.ncl-coa-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  background: var(--white);
  transition: background var(--duration) var(--ease);
}

.ncl-coa-row:last-child { border-bottom: none; }
.ncl-coa-row:hover { background: var(--fog); }

.ncl-coa-row__name {
  font-weight: var(--fw-semibold);
  font-size: 0.9375rem;
  color: var(--navy);
}

.ncl-coa-row__batch {
  font-size: 0.8125rem;
  color: var(--slate);
  font-variant-numeric: tabular-nums;
}

.ncl-coa-row__actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

/* ── FAQ page ───────────────────────────────────────────────────────────────── */
.ncl-faq { padding-block: var(--space-xl); }

.ncl-faq__header { max-width: 640px; margin-bottom: var(--space-xl); }

.ncl-faq__title {
  color: var(--navy);
  margin-bottom: var(--space-sm);
}

.ncl-faq__intro {
  font-size: 1.0625rem;
  color: var(--slate);
  line-height: 1.7;
}

.ncl-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: var(--radius-lg);
  overflow: hidden;
  max-width: 780px;
}

.ncl-faq-item {
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.ncl-faq-item:last-child { border-bottom: none; }

.ncl-faq-item__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  text-align: left;
  font-size: 1rem;
  font-weight: var(--fw-semibold);
  color: var(--navy);
  background: var(--white);
  cursor: pointer;
  transition: background var(--duration) var(--ease);
}

.ncl-faq-item__question:hover { background: var(--fog); }

.ncl-faq-item__question svg {
  flex-shrink: 0;
  transition: transform var(--duration) var(--ease);
}

.ncl-faq-item.is-open .ncl-faq-item__question { background: var(--fog); }
.ncl-faq-item.is-open .ncl-faq-item__question svg { transform: rotate(45deg); }

.ncl-faq-item__answer {
  display: none;
  padding: var(--space-md) var(--space-lg) var(--space-lg);
  font-size: 0.9375rem;
  color: var(--slate);
  line-height: 1.7;
  background: var(--fog);
}

.ncl-faq-item.is-open .ncl-faq-item__answer { display: block; }

/* ── Contact page ───────────────────────────────────────────────────────────── */
.ncl-contact { padding-block: var(--space-xl); }

.ncl-contact__header { max-width: 560px; margin-bottom: var(--space-xl); }

.ncl-contact__title { color: var(--navy); margin-bottom: var(--space-sm); }

.ncl-contact__intro {
  font-size: 1.0625rem;
  color: var(--slate);
  line-height: 1.7;
}

.ncl-contact__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-lg);
  max-width: 720px;
}

.ncl-contact-card {
  background: var(--fog);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
}

.ncl-contact-card__label {
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: var(--fw-semibold);
  color: var(--cobalt);
  margin-bottom: 0.625rem;
}

.ncl-contact-card__value {
  font-size: 1rem;
  font-weight: var(--fw-semibold);
  color: var(--navy);
  line-height: 1.5;
}

.ncl-contact-card__value a:hover { color: var(--cobalt); }

/* ── WooCommerce notices ────────────────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 0.75rem 1rem;
  border-radius: var(--radius);
  font-size: 0.9375rem;
  margin-bottom: var(--space-md);
  list-style: none;
}

.woocommerce-message { background: rgba(42,125,79,0.1); border-left: 3px solid var(--green); color: #166534; }
.woocommerce-info    { background: rgba(26,82,216,0.08); border-left: 3px solid var(--cobalt); color: var(--navy); }
.woocommerce-error   { background: rgba(220,38,38,0.08); border-left: 3px solid #dc2626; color: #991b1b; }

/* ============================================================================
   WooCommerce Blocks — Cart / Checkout / My Account brand styling
   (block markup uses .wc-block-* classes; doubled selectors raise specificity
   over the default wc-blocks stylesheet)
   ============================================================================ */

.ncl-page { padding-block: var(--space-xl); }
.ncl-page > .ncl-container { max-width: var(--max-width); }

/* Page / block headings → navy */
.ncl-page h1,
.wc-block-components-title,
.wp-block-woocommerce-cart h2,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title,
.wc-block-components-order-summary__title {
  color: var(--navy);
  font-weight: var(--fw-semibold);
}

/* ── Filled buttons → cobalt ─────────────────────────────────────────────── */
.wc-block-components-button.wc-block-components-button.contained,
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background-color: var(--cobalt) !important;
  color: #fff !important;
  border-radius: var(--radius);
  font-family: var(--font);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.03em;
  transition: background-color var(--duration) var(--ease);
}
.wc-block-components-button.wc-block-components-button.contained:hover,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background-color: var(--cobalt-hover) !important;
}

/* Text / outlined buttons & links → cobalt */
.wc-block-components-button:not(.contained),
.wc-block-components-cart-item__remove-link,
.wc-block-components-totals-coupon-link,
.woocommerce-account a:not(.button),
.wc-block-components-checkout-step__description a {
  color: var(--cobalt);
}
.wc-block-components-button:not(.contained):hover { color: var(--cobalt-hover); }

/* ── Form fields → brand ─────────────────────────────────────────────────── */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-select .wc-block-components-combobox-control input,
.wc-block-components-address-form input,
.woocommerce form .input-text,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"] {
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  font-family: var(--font);
  color: var(--ink);
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.woocommerce form .input-text:focus,
.woocommerce-account input:focus {
  border-color: var(--cobalt) !important;
  box-shadow: 0 0 0 1px var(--cobalt);
  outline: none;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label {
  color: var(--cobalt);
}

/* ── Cart totals / order summary ─────────────────────────────────────────── */
.wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__total-price,
.wc-block-cart__totals-title {
  color: var(--navy);
  font-weight: var(--fw-semibold);
}
.wc-block-components-panel,
.wc-block-cart__totals,
.wc-block-components-order-summary,
.wc-block-components-sidebar {
  border-color: var(--border);
}

/* Coupon / accordion accents */
.wc-block-components-totals-coupon__button,
.wc-block-components-panel__button { color: var(--navy); }

/* Quantity stepper */
.wc-block-components-quantity-selector { border-color: var(--border); border-radius: var(--radius); }
.wc-block-components-quantity-selector__button { color: var(--navy); }

/* Layout containment for alignwide blocks (theme doesn't expand alignwide) */
.ncl-page .alignwide,
.ncl-page .alignfull { max-width: 100%; margin-inline: 0; }

/* My Account navigation tabs */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 var(--space-lg); padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; border-bottom: 1px solid var(--border); }
.woocommerce-MyAccount-navigation li a { display: inline-block; padding: 0.5rem 0.875rem; font-size: 0.875rem; font-weight: var(--fw-semibold); color: var(--slate); border-radius: var(--radius) var(--radius) 0 0; }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--cobalt); border-bottom: 2px solid var(--cobalt); }
.woocommerce-MyAccount-navigation li a:hover { color: var(--navy); }

@media (min-width: 769px) {
  .woocommerce-account .woocommerce { display: grid; grid-template-columns: 220px 1fr; gap: var(--space-xl); align-items: start; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: column; border-bottom: none; border-right: 1px solid var(--border); }
  .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-bottom: none; border-right: 2px solid var(--cobalt); border-radius: var(--radius) 0 0 var(--radius); }
}
