
/*
NeXt Chapter Recovery v1.6.1 — Full Site Production Shell
This is the final page-template coverage layer. It forces every high-value page into a branded, readable, professional layout.
*/

:root{
  --ncr-shell-bg:#fff2e2;
  --ncr-shell-bg2:#f4d0a8;
  --ncr-shell-card:#fffaf3;
  --ncr-shell-ink:#21150f;
  --ncr-shell-muted:#755847;
  --ncr-shell-red:#8f2416;
  --ncr-shell-rust:#b53a1f;
  --ncr-shell-orange:#ed7a1e;
  --ncr-shell-gold:#f5aa3d;
  --ncr-shell-border:rgba(130,45,19,.16);
  --ncr-shell-shadow:0 22px 58px rgba(31,15,7,.10);
  --ncr-shell-radius:26px;
  --ncr-shell-container:min(1180px, calc(100% - 2rem));
}
html[data-theme="dark"]{
  --ncr-shell-bg:#0f0806;
  --ncr-shell-bg2:#241109;
  --ncr-shell-card:#17100c;
  --ncr-shell-ink:#fff2e2;
  --ncr-shell-muted:rgba(255,242,226,.74);
  --ncr-shell-border:rgba(255,180,105,.22);
  --ncr-shell-shadow:0 22px 58px rgba(0,0,0,.38);
}

body{
  background:
    radial-gradient(circle at 80% 8%, rgba(237,122,30,.18), transparent 30%),
    linear-gradient(180deg,var(--ncr-shell-bg),#fff8ef 50%,var(--ncr-shell-bg)) !important;
  color:var(--ncr-shell-ink) !important;
}
html[data-theme="dark"] body{
  background:
    radial-gradient(circle at 80% 8%, rgba(237,122,30,.16), transparent 30%),
    linear-gradient(180deg,#0f0806,#1b0f0a 50%,#0f0806) !important;
}

.ncr-production-page,
.ncr-static-page,
.ncr-tool-page,
.ncr-store-page,
.ncr-blog-shell,
.ncr-front-main,
.ncr-site-main,
.site-main{
  width:100%;
  min-height:45vh;
}
.ncr-shell-container,
.ncr-production-page > .ncr-shell-container,
.ncr-static-page > .ncr-shell-container,
.ncr-tool-page > .ncr-shell-container,
.ncr-store-page > .ncr-shell-container{
  width:var(--ncr-shell-container);
  margin-inline:auto;
}
.ncr-shell-section{
  padding:clamp(2.5rem,6vw,5.5rem) 0;
}
.ncr-shell-section.is-tight{
  padding:clamp(1.5rem,4vw,3.5rem) 0;
}
.ncr-shell-hero{
  position:relative;
  padding:clamp(3.5rem,7vw,6.5rem) 0;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(255,250,243,.76), rgba(244,208,168,.58)),
    radial-gradient(circle at 90% 20%, rgba(237,122,30,.24), transparent 36%);
  border-bottom:1px solid var(--ncr-shell-border);
}
html[data-theme="dark"] .ncr-shell-hero{
  background:
    linear-gradient(135deg, rgba(18,9,5,.88), rgba(43,19,9,.72)),
    radial-gradient(circle at 90% 20%, rgba(237,122,30,.19), transparent 36%);
}
.ncr-shell-hero-inner{
  width:var(--ncr-shell-container);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:clamp(1.5rem,4vw,3.5rem);
  align-items:center;
}
.ncr-shell-eyebrow,
.ncr-eyebrow{
  display:inline-flex !important;
  align-items:center;
  gap:.5rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  font-weight:950;
  color:var(--ncr-shell-rust);
  margin-bottom:.9rem;
}
.ncr-shell-eyebrow::before,
.ncr-eyebrow::before{
  content:"";
  width:.55rem;
  height:.55rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--ncr-shell-orange),var(--ncr-shell-gold));
  box-shadow:0 0 0 5px rgba(237,122,30,.12);
}
.ncr-shell-title,
.ncr-page-title,
.ncr-section-title{
  color:var(--ncr-shell-ink) !important;
  font-size:clamp(2rem,4.6vw,4.75rem) !important;
  line-height:1.01 !important;
  letter-spacing:-.055em !important;
  margin:0 0 1rem !important;
}
.ncr-shell-title em,
.ncr-section-title em{
  color:var(--ncr-shell-rust);
  font-style:italic;
}
.ncr-shell-lead,
.ncr-lead{
  color:var(--ncr-shell-muted) !important;
  font-size:clamp(1.04rem,1.35vw,1.25rem);
  line-height:1.75;
  max-width:68ch;
}
.ncr-shell-card,
.ncr-content-card,
.ncr-default-card,
.ncr-archive-card,
.ncr-search-card,
.ncr-index-card,
.ncr-tool-card,
.ncr-portal-card,
.ncr-hub-public,
.ncr-clean-form,
.ncr-hub-form,
.ncr-mobile-card,
.ncr-sober-card,
.woocommerce div.product,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce{
  background:var(--ncr-shell-card) !important;
  border:1px solid var(--ncr-shell-border) !important;
  border-radius:var(--ncr-shell-radius) !important;
  box-shadow:var(--ncr-shell-shadow) !important;
  padding:clamp(1.15rem,2.6vw,2rem) !important;
}
.ncr-shell-grid{
  display:grid;
  gap:1.15rem;
}
.ncr-shell-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.ncr-shell-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.ncr-shell-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.ncr-shell-card h2,
.ncr-shell-card h3,
.ncr-tool-card h2,
.ncr-tool-card h3,
.ncr-hub-public h2,
.ncr-hub-public h3{
  color:var(--ncr-shell-ink) !important;
  margin-top:0 !important;
}
.ncr-shell-card h3{
  font-size:clamp(1.13rem,1.5vw,1.45rem) !important;
  line-height:1.18 !important;
}
.ncr-shell-card p,
.ncr-tool-card p,
.ncr-hub-public p,
.ncr-portal-card p{
  color:var(--ncr-shell-muted) !important;
  line-height:1.72;
}
.ncr-shell-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#fff;
  font-weight:950;
  background:linear-gradient(135deg,var(--ncr-shell-red),var(--ncr-shell-orange));
  margin-bottom:.85rem;
}
.ncr-shell-actions,
.ncr-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.25rem;
}
.ncr-shell-btn,
.ncr-btn-pro,
.wp-block-button__link,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px;
  padding:.78rem 1.15rem !important;
  border-radius:999px !important;
  border:0 !important;
  background:linear-gradient(135deg,var(--ncr-shell-red),var(--ncr-shell-orange)) !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:950 !important;
  line-height:1.1 !important;
  box-shadow:0 14px 32px rgba(181,58,31,.18);
}
.ncr-shell-btn.is-light,
.ncr-btn-secondary{
  background:rgba(255,255,255,.72) !important;
  color:var(--ncr-shell-red) !important;
  border:1px solid rgba(181,58,31,.18) !important;
  box-shadow:none;
}
html[data-theme="dark"] .ncr-shell-btn.is-light,
html[data-theme="dark"] .ncr-btn-secondary{
  background:rgba(255,255,255,.09) !important;
  color:#ffb268 !important;
  border-color:rgba(255,178,104,.22) !important;
}
.ncr-shell-note{
  background:rgba(181,58,31,.08);
  border:1px solid rgba(181,58,31,.16);
  border-radius:20px;
  padding:1rem 1.1rem;
  color:var(--ncr-shell-muted);
  line-height:1.65;
}
html[data-theme="dark"] .ncr-shell-note{
  background:rgba(255,178,104,.08);
  border-color:rgba(255,178,104,.18);
}

/* Force core page/post/Woo headings to not explode. */
body:not(.home) h1,
.entry-title,
.page-title,
.woocommerce div.product .product_title,
.woocommerce-products-header__title{
  font-size:clamp(1.85rem,3.2vw,3.15rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
}
body:not(.home) h2,
.entry-content h2,
.wp-block-heading,
.woocommerce-Tabs-panel h2{
  font-size:clamp(1.35rem,2.15vw,2.15rem) !important;
}
body:not(.home) h3,
.entry-content h3{
  font-size:clamp(1.12rem,1.5vw,1.48rem) !important;
}

/* Shortcode safety and forms. */
.ncr-hub-public,
.ncr-portal-shell,
.ncr-sober-calendar,
.ncr-mobile-hub,
.ncr-service-payments,
.ncr-response-hub{
  width:100%;
  max-width:1180px;
  margin-inline:auto;
}
.ncr-hub-public form,
.ncr-portal-shell form,
.woocommerce form{
  display:block;
  width:100%;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="date"],
select,
textarea,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select{
  width:100% !important;
  min-height:46px;
  border:1px solid rgba(130,45,19,.22) !important;
  border-radius:15px !important;
  background:#fff !important;
  color:#21150f !important;
  padding:.78rem .95rem !important;
  box-sizing:border-box !important;
}
textarea{min-height:130px;}
input[type="checkbox"],
input[type="radio"]{
  appearance:auto !important;
  -webkit-appearance:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  position:static !important;
  pointer-events:auto !important;
  width:18px !important;
  min-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  margin:.15rem .55rem 0 0 !important;
  accent-color:var(--ncr-shell-red);
}
label:has(input[type="checkbox"]),
label:has(input[type="radio"]),
.woocommerce-form__label-for-checkbox,
.ncr-checkbox-row,
.ncr-consent-row{
  display:flex !important;
  align-items:flex-start !important;
  gap:.55rem !important;
  cursor:pointer !important;
}

/* WooCommerce and shop shells. */
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:1.15rem !important;
}
.woocommerce ul.products:before,
.woocommerce ul.products:after{display:none !important;}
.woocommerce ul.products li.product{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  background:var(--ncr-shell-card) !important;
  border:1px solid var(--ncr-shell-border) !important;
  border-radius:22px !important;
  box-shadow:0 14px 34px rgba(34,18,9,.08) !important;
  padding:1rem !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:1.05rem !important;
  line-height:1.25 !important;
}
.woocommerce div.product{
  margin-top:0;
}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce{
  width:var(--ncr-shell-container);
  margin:clamp(2rem,5vw,4rem) auto !important;
}
.woocommerce table.shop_table{
  border-radius:18px !important;
  overflow:hidden;
  border-color:var(--ncr-shell-border) !important;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.ncr-notice{
  border-radius:18px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(181,58,31,.18) !important;
  color:var(--ncr-shell-ink) !important;
  padding:1rem 1.15rem !important;
}
html[data-theme="dark"] .woocommerce-message,
html[data-theme="dark"] .woocommerce-info,
html[data-theme="dark"] .woocommerce-error,
html[data-theme="dark"] .ncr-notice{
  background:rgba(255,255,255,.08) !important;
}

/* Page-specific helper layouts. */
.ncr-page-hero-visual{
  background:
    radial-gradient(circle at 80% 15%, rgba(237,122,30,.2), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.28));
  border:1px solid var(--ncr-shell-border);
  border-radius:30px;
  min-height:260px;
  display:grid;
  place-items:center;
  padding:1.25rem;
  box-shadow:var(--ncr-shell-shadow);
}
html[data-theme="dark"] .ncr-page-hero-visual{
  background:
    radial-gradient(circle at 80% 15%, rgba(237,122,30,.18), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
}
.ncr-page-hero-visual img{
  max-width:min(330px,80%);
  height:auto;
  border-radius:22px;
}

/* Last-resort hide accidental raw dev/admin text wrappers. */
.ncr-admin-note,
.ncr-dev-note,
.ncr-debug,
.ncr-debug-output,
.ncr-system-note,
.ncr-home-admin-note,
.ncr-shortcode-debug,
.ncr-admin-only-front{
  display:none !important;
}

@media(max-width:1024px){
  .ncr-shell-hero-inner,
  .ncr-shell-grid.cols-2,
  .ncr-shell-grid.cols-3,
  .ncr-shell-grid.cols-4{
    grid-template-columns:1fr 1fr;
  }
  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:720px){
  .ncr-shell-hero-inner,
  .ncr-shell-grid.cols-2,
  .ncr-shell-grid.cols-3,
  .ncr-shell-grid.cols-4{
    grid-template-columns:1fr;
  }
  .ncr-shell-container,
  .ncr-production-page > .ncr-shell-container,
  .ncr-static-page > .ncr-shell-container,
  .ncr-tool-page > .ncr-shell-container,
  .ncr-store-page > .ncr-shell-container{
    width:min(100% - 1rem,1180px);
  }
  .ncr-shell-hero{
    padding:2.25rem 0;
  }
  .ncr-shell-title,
  .ncr-page-title,
  .ncr-section-title{
    font-size:clamp(1.85rem,10vw,3rem) !important;
  }
  .ncr-shell-actions,
  .ncr-cta-row{
    flex-direction:column;
  }
  .ncr-shell-btn,
  .ncr-btn-pro{
    width:100%;
  }
  .woocommerce ul.products{
    grid-template-columns:1fr !important;
  }
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce,
  .woocommerce-account .woocommerce{
    width:min(100% - 1rem,1180px);
    margin:1rem auto !important;
    padding:1rem !important;
  }
}
