:root {
  --nidsain-green: #3F5443;
  --nidsain-green-light: #7C9473;
  --nidsain-cream: #FAF6EF;
  --nidsain-text: #24302A;
  --nidsain-coral: #E8734A;
}

body {
  background-color: var(--nidsain-cream);
  color: var(--nidsain-text);
  font-family: 'Poppins', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif;
  color: var(--nidsain-green);
  font-weight: 600;
}

.wp-block-button__link,
.wc-forward,
button[type="submit"] {
  background-color: var(--nidsain-coral) !important;
  color: #fff !important;
  border-radius: 6px !important;
  border: none !important;
  font-weight: 600 !important;
}

.wp-block-button__link:hover,
.wc-forward:hover,
button[type="submit"]:hover {
  background-color: #d1633c !important;
}

/* Homepage hero: two-column split (text + illustration), stacks on mobile */
.nidsain-hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  gap: 2rem;
  background-color: var(--nidsain-green-light);
  background-color: color-mix(in srgb, var(--nidsain-green-light) 16%, var(--nidsain-cream));
  text-align: left;
  padding: 3.5rem 3rem;
  margin: 0 0 3rem;
  border-radius: 16px;
}
.nidsain-hero-copy h1 {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  line-height: 1.15;
}
.nidsain-hero-copy p {
  margin: 0 0 1.5rem;
  font-size: 1.1rem;
  max-width: 32rem;
}
.nidsain-hero-visual {
  display: flex;
  justify-content: center;
}
.nidsain-hero-visual svg {
  width: 100%;
  max-width: 22rem;
  height: auto;
}
@media (max-width: 782px) {
  .nidsain-hero {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 2.5rem 1.5rem;
  }
  .nidsain-hero-copy p {
    margin-left: auto;
    margin-right: auto;
  }
  .nidsain-hero .wp-block-buttons {
    justify-content: center;
  }
}

/* Homepage pack showcase cards */
.nidsain-pack-card {
  background-color: #fff;
  border-radius: 14px;
  padding: 1.75rem 1.5rem 2rem;
  text-align: center;
  box-shadow: 0 4px 18px rgba(36, 48, 42, 0.08);
  height: 100%;
}
.nidsain-pack-card svg {
  width: 100%;
  max-width: 9rem;
  height: auto;
  margin: 0 auto 1rem;
}
.nidsain-pack-card h3 {
  margin: 0 0 0.5rem;
}

/* "Comment ça marche" numbered steps */
.nidsain-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0 2.5rem;
}
.nidsain-step {
  background-color: #fff;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 10px rgba(36, 48, 42, 0.06);
}
.nidsain-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background-color: var(--nidsain-coral);
  color: #fff;
  font-weight: 700;
  margin-bottom: 0.75rem;
}
.nidsain-step p {
  margin: 0;
}

/* Per-pack illustration on single product pages and shop grid */
.nidsain-product-illustration {
  max-width: 12rem;
  margin: 0 0 1rem;
}
.nidsain-product-illustration svg {
  width: 100%;
  height: auto;
}
.nidsain-shop-illustration {
  max-width: 8rem;
  margin: 0.75rem auto 0;
}
.nidsain-shop-illustration svg {
  width: 100%;
  height: auto;
}

/* Homepage closing call-to-action */
.nidsain-final-cta {
  justify-content: center;
  text-align: center;
  margin: 3rem 0 1rem;
  padding: 2.5rem 1.5rem;
  border-top: 1px solid var(--nidsain-green-light);
}
.nidsain-final-cta .wp-block-button__link {
  font-size: 1.1rem;
  padding: 0.9rem 2rem !important;
}

/* Trust bar */
.nidsain-trust-bar {
  background-color: var(--nidsain-green);
  color: #fff;
  padding: 10px 16px;
  text-align: center;
}
.nidsain-trust-bar ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin: 0;
  padding: 0;
  font-size: 0.85rem;
}
.nidsain-trust-bar li::before {
  content: "\2713";
  margin-right: 6px;
  color: var(--nidsain-green-light);
}

/* Pack contents list on product pages */
.nidsain-pack-contents {
  list-style: none;
  margin: 1.5rem 0;
  padding: 0;
}
.nidsain-pack-contents li {
  padding: 0.4rem 0 0.4rem 1.8rem;
  position: relative;
}
.nidsain-pack-contents li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: var(--nidsain-coral);
  font-weight: 700;
}

/* Testimonial quotes use the serif */
.nidsain-testimonial {
  font-family: 'Lora', serif;
  font-style: italic;
  color: var(--nidsain-text);
}

/* Pack comparison table */
.nidsain-compare-table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
}
.nidsain-compare-table th,
.nidsain-compare-table td {
  border: 1px solid var(--nidsain-green-light);
  padding: 10px 14px;
  text-align: left;
}
.nidsain-compare-table th {
  background-color: var(--nidsain-green);
  color: #fff;
}
