/*
Theme Name: Wellness Rocks Block Theme
Theme URI: https://wellnessrocks.uk/
Author: Wellness Rocks
Description: Fully editable WordPress block theme for Wellness Rocks. Site Editor templates, Gutenberg page content, reusable patterns and WooCommerce-ready styling.
Version: 10.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: wellness-rocks
*/

:root {
  --wr-navy:#142440;
  --wr-navy-dark:#0b1728;
  --wr-cyan:#13BDE8;
  --wr-purple:#7137B8;
  --wr-soft:#F5F7FA;
  --wr-text:#17233B;
  --wr-muted:#667085;
  --wr-border:#E4E9F0;
  --wr-radius:20px;
  --wr-shadow:0 18px 45px rgba(20,36,64,.10);
}

html { scroll-behavior:smooth; }
body { -webkit-font-smoothing:antialiased; }
a { text-underline-offset:.16em; }
.wp-site-blocks { overflow:hidden; }

/* Header */
.wr-header-shell { position:relative; z-index:100; }
.wr-header-inner { min-height:142px; }
.wr-header-inner .wp-block-site-logo img { max-height:112px; width:auto; }
.wr-header-inner .wp-block-navigation-item__content { font-weight:600; }
.wr-header-inner .wp-block-navigation__responsive-container.is-menu-open {
  background:var(--wr-navy) !important;
  color:#fff !important;
  padding:28px;
}
.wr-header-inner .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color:#fff; }

/* Common */
.wr-section { padding-top:96px !important; padding-bottom:96px !important; }
.wr-section-compact { padding-top:70px !important; padding-bottom:70px !important; }
.wr-eyebrow { letter-spacing:.16em; text-transform:uppercase; font-size:.78rem; font-weight:800; }
.wr-lead { font-size:clamp(1.05rem,1.6vw,1.28rem); line-height:1.65; }
.wr-card {
  border:1px solid var(--wr-border);
  border-radius:var(--wr-radius);
  box-shadow:0 8px 28px rgba(20,36,64,.05);
  height:100%;
}
.wr-card-soft { background:var(--wr-soft); border-color:transparent; box-shadow:none; }
.wr-icon {
  width:48px; height:48px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,rgba(19,189,232,.15),rgba(113,55,184,.15));
  color:var(--wr-purple); font-weight:800; font-size:1.2rem;
}
.wr-gradient-text {
  background:linear-gradient(90deg,var(--wr-cyan),var(--wr-purple));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.wr-outline-button .wp-block-button__link {
  background:transparent !important; color:var(--wr-navy) !important;
  border:1px solid var(--wr-navy);
}
.wr-outline-light .wp-block-button__link {
  background:transparent !important; color:#fff !important;
  border:1px solid rgba(255,255,255,.75);
}
.wr-buttons-gap { gap:14px !important; }

/* Hero */
.wr-hero-cover { min-height:650px; }
.wr-hero-cover .wp-block-cover__background { background:linear-gradient(90deg,rgba(11,23,40,.92) 0%,rgba(11,23,40,.70) 48%,rgba(11,23,40,.12) 82%) !important; opacity:1 !important; }
.wr-hero-content { max-width:730px; }
.wr-hero-content h1 { font-size:clamp(3.2rem,6vw,5.8rem); line-height:.98; letter-spacing:-.045em; }

/* Product category cards */
.wr-product-card {
  min-height:360px;
  border-radius:24px;
  overflow:hidden;
  position:relative;
  color:#fff;
  box-shadow:var(--wr-shadow);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.wr-product-card:before {
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(145deg,var(--wr-cyan),var(--wr-purple));
}
.wr-product-card:nth-child(2):before {
  background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.17),transparent 25%),linear-gradient(145deg,#102744,#334b8a 52%,#7137B8);
}
.wr-product-card:nth-child(3):before {
  background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.18),transparent 25%),linear-gradient(145deg,#233f70,#7137B8 58%,#13BDE8);
}
.wr-product-card > * { position:relative; z-index:1; }
.wr-product-number { position:absolute !important; right:26px; top:18px; font-size:4.5rem; line-height:1; font-weight:800; opacity:.10; }

/* Quality */
.wr-quality-card {
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);
  border-radius:18px;
  height:100%;
}

/* CTA */
.wr-cta {
  background:
    radial-gradient(circle at 15% 50%,rgba(19,189,232,.22),transparent 30%),
    radial-gradient(circle at 85% 50%,rgba(113,55,184,.28),transparent 30%),
    var(--wr-navy);
}

/* Footer */
.wr-footer-shell { background:var(--wr-navy-dark); }
.wr-footer-shell .wp-block-site-logo img { max-width:155px; height:auto; }
.wr-footer-shell a { color:rgba(255,255,255,.80); }
.wr-footer-shell a:hover { color:var(--wr-cyan); }

/* Internal page hero */
.wr-page-hero {
  background:
    radial-gradient(circle at 85% 30%,rgba(113,55,184,.22),transparent 34%),
    var(--wr-navy);
}

/* WooCommerce */
.woocommerce .wp-element-button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--wr-cyan),var(--wr-purple)) !important;
  color:#fff !important;
}
.woocommerce div.product div.images img,
.woocommerce ul.products li.product a img { border-radius:18px; }
.woocommerce ul.products li.product { border-radius:20px; }

@media (max-width: 900px) {
  .wr-header-inner { min-height:118px; }
  .wr-header-inner .wp-block-site-logo img { max-height:90px; }
  .wr-section { padding-top:72px !important; padding-bottom:72px !important; }
}
@media (max-width: 600px) {
  .wr-section { padding-top:58px !important; padding-bottom:58px !important; }
  .wr-hero-cover { min-height:610px; }
  .wr-hero-content h1 { font-size:clamp(2.8rem,13vw,4.4rem); }
  .wr-product-card { min-height:300px; }
}


/* =========================================================
   v5 ORIGINAL DESIGN FIDELITY LAYER
   Matches the approved original custom-theme proportions
   while retaining Full Site Editing / Gutenberg.
   ========================================================= */

:root {
  --wr-max: 1220px;
  --wr-original-navy:#142744;
  --wr-original-navy-dark:#0b1728;
  --wr-original-cyan:#1eb8e6;
  --wr-original-purple:#7b36c7;
}

/* Site-wide constrained widths — same logic as original custom theme */
.wp-site-blocks > main,
.wr-page-content { margin:0; }
.wr-container,
.wr-inner {
  width:min(var(--wr-max),calc(100% - 48px)) !important;
  max-width:none !important;
  margin-inline:auto !important;
}
.wr-wide-original {
  width:min(var(--wr-max),calc(100% - 48px)) !important;
  max-width:none !important;
  margin-inline:auto !important;
}

/* Header: original proportions */
.wr-header-shell { background:var(--wr-original-navy) !important; }
.wr-header-inner {
  width:min(var(--wr-max),calc(100% - 48px)) !important;
  max-width:none !important;
  min-height:178px !important;
  margin-inline:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  gap:32px !important;
}
.wr-header-inner .wp-block-site-logo img {
  width:170px !important;
  max-width:170px !important;
  max-height:none !important;
  height:auto !important;
}
.wr-header-inner .wp-block-navigation { gap:28px; }
.wr-header-inner .wp-block-navigation__container { gap:28px !important; }
.wr-header-inner .wp-block-navigation-item__content {
  font-size:.98rem !important;
  font-weight:600 !important;
}

/* Hero: original sizing */
.wr-hero-cover {
  min-height:650px !important;
}
.wr-hero-cover .wp-block-cover__inner-container {
  width:100%;
}
.wr-hero-content {
  width:min(var(--wr-max),calc(100% - 48px)) !important;
  max-width:none !important;
  margin-inline:auto !important;
  padding:72px 0 !important;
}
.wr-hero-content > * {
  max-width:720px;
}
.wr-hero-content h1 {
  font-size:clamp(3rem,6vw,5.7rem) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
  margin:0 0 22px !important;
  font-weight:780 !important;
}
.wr-hero-content .wr-lead {
  font-size:clamp(1.1rem,1.7vw,1.34rem) !important;
  line-height:1.6 !important;
  max-width:680px !important;
}

/* Section system */
.wr-section {
  padding-top:96px !important;
  padding-bottom:96px !important;
}
.wr-section-compact {
  padding-top:70px !important;
  padding-bottom:70px !important;
}
.wr-eyebrow {
  font-size:.78rem !important;
  letter-spacing:.16em !important;
  text-transform:uppercase;
  font-weight:800 !important;
  margin-bottom:14px !important;
}
.wr-title {
  font-size:clamp(2rem,4vw,3.6rem) !important;
  line-height:1.03 !important;
  letter-spacing:-.035em !important;
  margin-top:0 !important;
  margin-bottom:22px !important;
  font-weight:780 !important;
}
.wr-title-sm {
  font-size:clamp(1.9rem,3vw,2.8rem) !important;
}
.wr-lead {
  font-size:clamp(1.05rem,1.6vw,1.28rem) !important;
  line-height:1.6 !important;
}

/* Trust section */
.wr-intro-original {
  display:grid !important;
  grid-template-columns:1.05fr .95fr !important;
  gap:72px !important;
  align-items:start !important;
}
.wr-trust-grid-original {
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:22px !important;
  margin-top:44px !important;
}
.wr-trust-grid-original > .wp-block-column { margin:0 !important; }
.wr-card {
  border-radius:20px !important;
}
.wr-card-soft {
  background:#f5f7fa !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

/* Product section — EXACT original card proportions */
.wr-products-head-original {
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-end !important;
  gap:30px !important;
  margin-bottom:40px !important;
}
.wr-products-head-original > :first-child {
  max-width:760px;
}
.wr-product-grid-original {
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:24px !important;
}
.wr-product-grid-original > .wp-block-column {
  margin:0 !important;
}
.wr-product-card {
  height:360px !important;
  min-height:360px !important;
  border-radius:24px !important;
  padding:34px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  overflow:hidden !important;
}
.wr-product-card h3 {
  font-size:1.65rem !important;
  line-height:1.1 !important;
  margin:0 0 12px !important;
}
.wr-product-card p:not(.wr-product-number) {
  margin:0 !important;
  color:rgba(255,255,255,.82) !important;
}
.wr-product-number {
  top:28px !important;
  right:30px !important;
  font-size:4.8rem !important;
  font-weight:900 !important;
  color:rgba(255,255,255,.11) !important;
  opacity:1 !important;
}

/* Quality section */
.wr-quality-original {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:70px !important;
  align-items:center !important;
}
.wr-proof-original {
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  gap:18px !important;
}
.wr-quality-card {
  padding:28px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}

/* Wholesale section */
.wr-wholesale-original {
  display:grid !important;
  grid-template-columns:.85fr 1.15fr !important;
  gap:70px !important;
  align-items:start !important;
}
.wr-benefits-original {
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:20px !important;
}
.wr-benefits-original > .wp-block-column { margin:0 !important; }

/* CTA: original */
.wr-cta {
  padding-top:86px !important;
  padding-bottom:86px !important;
}
.wr-cta .wr-title {
  max-width:760px !important;
  margin-inline:auto !important;
}
.wr-cta .wr-lead {
  max-width:680px !important;
  margin-inline:auto !important;
  font-size:1.1rem !important;
}

/* Footer: original proportions */
.wr-footer-shell {
  background:var(--wr-original-navy-dark) !important;
  padding-top:64px !important;
  padding-bottom:30px !important;
}
.wr-footer-shell > .wp-block-columns,
.wr-footer-shell > .wp-block-group,
.wr-footer-shell > .wp-block-separator {
  width:min(var(--wr-max),calc(100% - 48px)) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.wr-footer-shell .wp-block-site-logo img {
  width:150px !important;
  max-width:150px !important;
  height:auto !important;
}

/* Internal page hero */
.wr-page-hero {
  padding-top:90px !important;
  padding-bottom:70px !important;
}
.wr-page-hero > .wp-block-group {
  width:min(var(--wr-max),calc(100% - 48px)) !important;
  max-width:none !important;
  margin-inline:auto !important;
}

/* Responsive = original custom theme behavior */
@media (max-width:960px) {
  .wr-header-inner { min-height:132px !important; }
  .wr-header-inner .wp-block-site-logo img { width:145px !important; max-width:145px !important; }
  .wr-intro-original,
  .wr-quality-original,
  .wr-wholesale-original { grid-template-columns:1fr !important; gap:44px !important; }
  .wr-trust-grid-original,
  .wr-product-grid-original,
  .wr-benefits-original { grid-template-columns:1fr 1fr !important; }
}
@media (max-width:680px) {
  .wr-container,
  .wr-inner,
  .wr-wide-original,
  .wr-header-inner,
  .wr-hero-content,
  .wr-footer-shell > .wp-block-columns,
  .wr-footer-shell > .wp-block-group,
  .wr-footer-shell > .wp-block-separator {
    width:min(var(--wr-max),calc(100% - 36px)) !important;
  }
  .wr-section { padding-top:68px !important; padding-bottom:68px !important; }
  .wr-header-inner { min-height:112px !important; }
  .wr-header-inner .wp-block-site-logo img { width:125px !important; max-width:125px !important; }
  .wr-trust-grid-original,
  .wr-product-grid-original,
  .wr-benefits-original,
  .wr-proof-original { grid-template-columns:1fr !important; }
  .wr-product-card { height:300px !important; min-height:300px !important; }
  .wr-products-head-original { display:block !important; }
  .wr-products-head-original .wp-block-buttons { margin-top:22px !important; }
}


/* =========================================================
   v6 SPACING ARCHITECTURE
   Keep root/template-part gaps at zero while preserving
   intentional spacing inside designed sections.
   ========================================================= */

:root { --wr-flow-gap: 24px; }

/* No accidental white strips between header/content/footer */
.wp-site-blocks {
  gap: 0 !important;
}
.wp-site-blocks > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Designed sections establish their own internal rhythm */
.wr-section > .wp-block-group,
.wr-section > .wp-block-columns,
.wr-section > .wp-block-cover__inner-container,
.wr-section-compact > .wp-block-group,
.wr-section-compact > .wp-block-columns,
.wr-cta > .wp-block-group,
.wr-page-hero > .wp-block-group {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Restore readable vertical flow inside content containers */
.wr-section .wp-block-group:not(.wr-products-head-original):not(.wr-proof-original):not(.wr-benefits-original) > * + *,
.wr-section-compact .wp-block-group > * + *,
.wr-page-hero .wp-block-group > * + *,
.wr-cta .wp-block-group > * + *,
.wr-product-card > * + *,
.wr-card > * + *,
.wr-quality-card > * + * {
  margin-block-start: var(--wr-flow-gap) !important;
}

/* Specific tighter relationships */
.wr-eyebrow + h1,
.wr-eyebrow + h2,
.wr-eyebrow + h3 {
  margin-block-start: 10px !important;
}
h1 + p,
h2 + p,
h3 + p {
  margin-block-start: 16px !important;
}
p + .wp-block-buttons,
.wp-block-buttons + p {
  margin-block-start: 28px !important;
}
.wr-products-head-original .wp-block-group > * + * {
  margin-block-start: 16px !important;
}
.wr-proof-original > * {
  margin-block-start: 0 !important;
}
.wr-benefits-original > * {
  margin-block-start: 0 !important;
}
.wr-trust-grid-original > * {
  margin-block-start: 0 !important;
}
.wr-product-grid-original > * {
  margin-block-start: 0 !important;
}

/* Footer and header manage their own spacing */
.wr-header-shell,
.wr-footer-shell {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}


/* =========================================================
   v7 POLISH / LAYOUT FIXES
   ========================================================= */

/* Header navigation spacing */
.wr-header-inner > .wp-block-group {
  gap: 24px !important;
}
.wr-header-inner .wp-block-navigation__container {
  gap: 28px !important;
}
.wr-header-inner .wp-block-navigation-item {
  margin: 0 !important;
}
.wr-header-inner .wp-block-buttons {
  margin-left: 0 !important;
}

/* Footer alignment and menu cleanup */
.wr-footer-shell > .wp-block-columns {
  align-items: flex-start !important;
}
.wr-footer-shell .wp-block-column {
  align-self: flex-start !important;
}
.wr-footer-shell h3 {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}
.wr-footer-shell ul,
.wr-footer-shell .wp-block-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}
.wr-footer-shell li {
  margin: 0 !important;
  padding: 0 !important;
}
.wr-footer-shell li + li {
  margin-top: 10px !important;
}
.wr-footer-shell li::marker {
  content: "" !important;
}
.wr-footer-shell .wp-block-site-logo {
  margin-bottom: 18px !important;
}
.wr-footer-shell .wp-block-site-logo + p {
  margin-top: 0 !important;
}
.wr-footer-shell .wp-block-separator {
  margin-top: 46px !important;
  margin-bottom: 24px !important;
}

/* Generic cards should NOT stretch to full column height on stacked pages.
   Equal-height is applied only where it is actually desirable. */
.wr-card,
.wr-quality-card {
  height: auto !important;
  min-height: 0 !important;
}
.wr-trust-grid-original .wr-card,
.wr-benefits-original .wr-card {
  height: 100% !important;
}

/* About / Quality page stacked-card rhythm */
.wr-section .wp-block-column > .wr-card + .wp-block-spacer,
.wr-section .wp-block-column > .wp-block-spacer + .wr-card {
  margin-top: 0 !important;
}
.wr-section .wp-block-column > .wr-card {
  position: relative !important;
  overflow: visible !important;
}

/* Ensure internal page sections remain above footer and size naturally */
.wr-section,
.wr-section > .wp-block-columns,
.wr-section > .wp-block-group,
.wr-section .wp-block-column {
  min-height: 0 !important;
}
.wr-section {
  overflow: visible !important;
}

/* Page hero headings should retain proper spacing with global block gap = 0 */
.wr-page-hero .wr-eyebrow {
  margin-bottom: 14px !important;
}
.wr-page-hero h1 {
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}
.wr-page-hero .wr-lead {
  margin-top: 0 !important;
}

/* Footer bottom row alignment */
.wr-footer-shell > .wp-block-group:last-child {
  align-items: center !important;
}


/* =========================================================
   v8 LOGO + FOOTER POLISH
   ========================================================= */

/* New square site logo proportions */
.wr-header-inner .wp-block-site-logo img {
  width:120px !important;
  max-width:120px !important;
  height:auto !important;
}

/* Centre the footer logo in its brand column */
.wr-footer-shell .wp-block-column:first-child .wp-block-site-logo {
  display:flex !important;
  justify-content:center !important;
  width:100% !important;
}
.wr-footer-shell .wp-block-column:first-child .wp-block-site-logo img {
  width:110px !important;
  max-width:110px !important;
  height:auto !important;
}

/* Keep the footer brand copy tidy beneath the centred logo */
.wr-footer-shell .wp-block-column:first-child > p {
  max-width:420px;
}

/* Mobile polish */
@media (max-width:680px) {
  .wr-header-inner .wp-block-site-logo img {
    width:82px !important;
    max-width:82px !important;
  }

  .wr-header-inner {
    min-height:92px !important;
  }

  .wr-hero-cover {
    min-height:560px !important;
  }

  .wr-hero-content h1 {
    font-size:clamp(2.5rem,12vw,3.9rem) !important;
    line-height:1.0 !important;
  }

  .wr-section {
    padding-top:56px !important;
    padding-bottom:56px !important;
  }

  .wr-product-card {
    height:275px !important;
    min-height:275px !important;
  }

  .wr-footer-shell .wp-block-columns {
    display:block !important;
  }

  .wr-footer-shell .wp-block-column {
    width:100% !important;
    flex-basis:100% !important;
    margin:0 0 30px !important;
    text-align:center !important;
  }

  .wr-footer-shell ul,
  .wr-footer-shell .wp-block-list {
    text-align:center !important;
  }

  .wr-footer-shell .wp-block-column:first-child > p {
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .wr-footer-shell > .wp-block-group:last-child {
    justify-content:center !important;
    text-align:center !important;
    gap:8px !important;
  }
}


/* =========================================================
   v9 HEADER / FOOTER RESPONSIVE POLISH
   ========================================================= */

/* Desktop: footer brand/logo remains left aligned and logo is larger. */
@media (min-width:681px) {
  .wr-footer-shell .wp-block-column:first-child .wp-block-site-logo {
    display:flex !important;
    justify-content:flex-start !important;
    width:100% !important;
  }

  .wr-footer-shell .wp-block-column:first-child .wp-block-site-logo img {
    width:145px !important;
    max-width:145px !important;
    height:auto !important;
  }

  .wr-footer-shell .wp-block-column:first-child > p {
    text-align:left !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* Mobile: larger logo, no Wholesale Enquiry button in header. */
@media (max-width:680px) {
  .wr-header-inner .wp-block-site-logo img {
    width:100px !important;
    max-width:100px !important;
    height:auto !important;
  }

  .wr-header-inner .wp-block-buttons,
  .wr-header-inner .wp-block-button {
    display:none !important;
  }

  /* Footer remains centred on mobile. */
  .wr-footer-shell .wp-block-column:first-child .wp-block-site-logo {
    justify-content:center !important;
  }

  .wr-footer-shell .wp-block-column:first-child .wp-block-site-logo img {
    width:125px !important;
    max-width:125px !important;
  }
}
