/*
Theme Name: Nacre Cosmos
Description: Independent classic theme preserving the Nacre Cosmos frontend. Phase 2 progressively integrates the WooCommerce Store API, preserving the original catalogue as legacy/fallback.
Version: 1.1.0
Author: Nacre Cosmos
Text Domain: noctiluca
Requires at least: 6.0
Requires PHP: 7.4
*/

/* The original visual stylesheet is enqueued separately without modification. */
.noctiluca-journal-post .article-meta { flex-wrap: wrap; row-gap: 8px; }
.noctiluca-journal-post .article-body h2 {
  margin: 56px 0 20px;
  font-family: var(--display);
  font-size: clamp(25px, 3vw, 32px);
  font-weight: 400;
  line-height: 1.3;
}
.noctiluca-journal-post .article-body h3 { margin: 32px 0 12px; font-size: 22px; line-height: 1.4; }
.noctiluca-journal-post .article-body a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.noctiluca-journal-post .article-body { overflow-wrap: break-word; }
.noctiluca-wordpress-content {
  min-height: 50vh;
  padding-top: 64px;
  padding-bottom: 64px;
}
.noctiluca-wordpress-content article + article {
  margin-top: 48px;
}
body.admin-bar .site-header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
@media screen and (max-width: 600px) {
  body.admin-bar .site-header { top: 0; }
}

/* Keep the original mobile cart reachable when the header's columns are narrow. */
@media screen and (max-width: 480px) {
  .header-inner { gap: 8px; padding: 0 12px; }
  .header-actions { gap: 6px; }
}
@media screen and (max-width: 360px) {
  .header-inner .brand { font-size: 18px; gap: 6px; }
  .header-inner .icon-button { width: 32px; height: 32px; }
  .header-inner .account-link { padding: 6px; }
  .header-inner .lang-toggle { min-width: 36px; padding: 0 6px; }
}

/* Small additions only; original assets/css/styles.css remains byte-identical. */
.noctiluca-commerce-notice { max-width: 1280px; margin: 16px auto; padding: 12px 20px; color: var(--text-muted); font-size: 13px; }
.noctiluca-old-price { opacity: .6; font-size: .85em; white-space: nowrap; }
.detail-description > :first-child { margin-top: 0; }
.detail-description > :last-child { margin-bottom: 0; }
.detail-description img { height: auto; }
.noctiluca-site button:disabled { cursor: not-allowed; opacity: .55; }

/* Opt-in for illustrated Journal posts: preserve diagrams and source credits. */
.noctiluca-journal-natural-images .journal-cover,
.noctiluca-journal-natural-images .article-body img {
  display: block;
  max-width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}
.noctiluca-journal-natural-images figure { margin: 36px 0; }
.noctiluca-journal-natural-images figcaption {
  margin-top: 12px;
  font-family: var(--sans);
  font-size: 12px;
  line-height: 1.65;
  color: var(--text-muted);
  overflow-wrap: anywhere;
}
.noctiluca-journal-natural-images figcaption a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Scoped shell/account additions. Keep homepage, catalogue and checkout visuals intact. */
.site-header .account-link { width:36px;height:36px;justify-content:center;padding:0; }
.site-header .primary-nav { gap:clamp(14px,1.65vw,28px); }
.site-header .primary-nav > a { white-space:nowrap; }
.nacre-footer-group { min-width:0; }
.nacre-footer-group summary { color:rgba(255,255,255,.9);font-size:13px;font-family:var(--sans);letter-spacing:.06em;list-style:none;margin-bottom:18px;cursor:pointer; }
.nacre-footer-group summary::-webkit-details-marker { display:none; }
.nacre-footer-group:not([open]) summary::after { content:' +';float:right; }
.nacre-footer-group[open] summary::after { content:' −';float:right; }
.nacre-footer-pending { display:block;margin:10px 0;font-size:13px;opacity:.55; }
.nacre-footer-pending small { display:block;font-size:10px; }
.site-footer .footer-inner { grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:36px; }
.site-footer .newsletter-form { grid-column:1/-1;max-width:480px; }
.site-footer .nacre-newsletter-pending { margin-top:12px;font-size:12px;opacity:.65; }
.nacre-service-copy { max-width:780px;line-height:1.85; }
.nacre-service-copy h2 { font-family:var(--display);font-weight:400; }
.nacre-mobile-utilities { margin-top:28px;border-top:1px solid var(--hairline);padding-top:20px; }
.mobile-nav .nacre-mobile-utilities a { font-size:18px;margin-top:12px; }
body.woocommerce-account .noctiluca-wordpress-content { max-width:1200px; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none;margin:0;padding:0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom:1px solid var(--hairline);padding:14px 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; }
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color:var(--gold-soft); }
body.woocommerce-account .nacre-account-pending { opacity:.5; }
body.woocommerce-account .nacre-account-pending small { display:block;font-size:11px;margin-top:4px; }
body.woocommerce-account .nacre-account-note { font-size:13px;opacity:.7;line-height:1.8; }
body.woocommerce-account .nacre-account-shortcuts { display:flex;flex-wrap:wrap;gap:16px;margin:28px 0; }
body.woocommerce-account .nacre-account-shortcuts a { border:1px solid var(--hairline);padding:10px 18px; }
body.woocommerce-account .woocommerce form { max-width:640px; }
@media (max-width:1100px) { .site-footer .footer-inner { grid-template-columns:repeat(4,minmax(0,1fr));gap:28px; }.site-footer .footer-brand { grid-column:1/-1; } }
@media (min-width:701px) { .nacre-footer-group summary::after { display:none; } }
@media (max-width:700px) { .site-footer .footer-inner { display:block;padding:48px 24px; }.site-footer .footer-brand { margin-bottom:32px; }.nacre-footer-group { padding:18px 0;border-top:1px solid rgba(255,255,255,.15); }.nacre-footer-group summary { margin:0; }.nacre-footer-links { padding-top:12px; }.site-footer .newsletter-form { margin-top:32px; } }

.mobile-nav .lang-toggle { color:#fff;border-color:rgba(255,255,255,.5); }
.mobile-nav .nacre-mobile-utilities { border-top-color:var(--hairline-dark); }

/* Journal brand-story card: a route-backed entry, not a regular article. */
.journal-card-featured { border-top-color:var(--gold); }
.journal-card-label { display:block;margin-top:20px;color:var(--gold);font-size:10px;font-weight:600;letter-spacing:.14em; }
.journal-card-featured h3 { margin-top:10px; }
