/* ==========================================================================
   Origins of Light — CMS info/legal pages + FAQ
   (informacje, regulamin, polityka-prywatnosci, platnosc, dostawa-i-zwrot, faq)
   ========================================================================== */

/* Hide classic page-header/page-footer emitted by the CMS dispatcher on these pages */
#cms.cms-id-10 .page-header,
#cms.cms-id-11 .page-header,
#cms.cms-id-12 .page-header,
#cms.cms-id-13 .page-header,
#cms.cms-id-14 .page-header,
#cms.cms-id-15 .page-header,
#cms.cms-id-10 .page-footer,
#cms.cms-id-11 .page-footer,
#cms.cms-id-12 .page-footer,
#cms.cms-id-13 .page-footer,
#cms.cms-id-14 .page-footer,
#cms.cms-id-15 .page-footer { display: none; }

/* ---------- shared helpers ---------- */
#wrapper .container.ool-in-max2xl { max-width: 42rem; }
#wrapper .container.ool-in-max3xl { max-width: 48rem; }
#wrapper .container.ool-in-max4xl { max-width: 56rem; }
#wrapper .container.ool-in-max6xl { max-width: 72rem; }

/* full-bleed band (marble background sections) */
.ool-in-bleed {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.ool-in-bleed--marble { background: var(--marble); }
.ool-in-bleed--bt { border-top: 2px solid var(--border); }
.ool-in-bleed--by { border-top: 2px solid var(--border); border-bottom: 2px solid var(--border); }

.ool-in-eyebrow {
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 1rem;
}
.ool-in-eyebrow--mb3 { margin-bottom: 0.75rem; }
.ool-in-eyebrow--mb5 { margin-bottom: 1.25rem; }

/* muted breadcrumb segment (middle "Informacje" crumb) */
.ool-pagehero__crumbs .ool-in-crumbmute { color: var(--muted-foreground); }

/* gold inline links */
.ool-in-goldlink { color: var(--gold); text-decoration: none; }

/* closing CTA (platnosc / dostawa / faq) */
.ool-in-cta { padding-top: 4rem; padding-bottom: 4rem; text-align: center; }
@media (min-width: 1024px) { .ool-in-cta { padding-top: 5rem; padding-bottom: 5rem; } }
.ool-in-cta__title {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.5rem;
  line-height: 1.3;
  color: var(--foreground);
  margin: 0;
}
@media (min-width: 1024px) { .ool-in-cta__title { font-size: 1.875rem; } }
.ool-in-cta__text { margin: 0.75rem 0 0; color: var(--muted-foreground); }
.ool-in-cta__btn {
  display: inline-block;
  margin-top: 2rem;
  border: 2px solid var(--foreground);
  padding: 0.75rem 2rem;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--foreground);
  text-decoration: none;
  transition: all var(--transition-elegant);
}

/* ==========================================================================
   /informacje — hub with cards
   ========================================================================== */
.ool-in-intro { padding-top: 3rem; text-align: center; }
@media (min-width: 1024px) { .ool-in-intro { padding-top: 4rem; } }
.ool-in-intro p { margin: 0; color: var(--muted-foreground); line-height: 1.625; }

.ool-in-grid-wrap { padding-top: 3rem; padding-bottom: 3rem; }
@media (min-width: 1024px) { .ool-in-grid-wrap { padding-top: 4rem; padding-bottom: 4rem; } }
.ool-in-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 640px) { .ool-in-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ool-in-grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; } }
.ool-in-grid > li { display: flex; }

.ool-in-card {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  background: var(--card);
  border: 2px solid var(--border);
  padding: 1.75rem;
  text-decoration: none;
  color: inherit;
  transition: all var(--transition-elegant);
}
@media (min-width: 1024px) { .ool-in-card { padding: 2rem; } }
.ool-in-card__icon {
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  margin-bottom: 1.5rem;
  flex-shrink: 0;
}
.ool-in-card__icon svg { width: 1.25rem; height: 1.25rem; }
@media (min-width: 1024px) {
  .ool-in-card__icon { width: 3.5rem; height: 3.5rem; }
  .ool-in-card__icon svg { width: 1.5rem; height: 1.5rem; }
}
.ool-in-card__title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  color: var(--foreground);
  margin: 0;
}
@media (min-width: 1024px) { .ool-in-card__title { font-size: 1.5rem; } }
.ool-in-card__desc {
  margin: 0.75rem 0 0;
  font-size: 0.875rem;
  color: var(--muted-foreground);
  line-height: 1.625;
  flex: 1 1 auto;
}
@media (min-width: 1024px) { .ool-in-card__desc { font-size: 1rem; } }
.ool-in-card__more {
  margin-top: 1.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--foreground);
  transition: color var(--transition-elegant);
}
.ool-in-card__more svg { width: 1rem; height: 1rem; transition: transform var(--transition-elegant); }

/* compact contact CTA band (informacje) */
.ool-in-contact { padding-top: 3rem; padding-bottom: 3rem; text-align: center; }
@media (min-width: 1024px) { .ool-in-contact { padding-top: 4rem; padding-bottom: 4rem; } }
.ool-in-contact__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  line-height: 1.25;
  color: var(--foreground);
  margin: 0;
}
@media (min-width: 1024px) { .ool-in-contact__title { font-size: 1.875rem; } }
.ool-in-contact__title em { font-style: italic; }
.ool-in-contact__actions {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.ool-in-contact__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: all var(--transition-elegant);
}
.ool-in-contact__btn--solid { background: var(--foreground); color: var(--background); }
.ool-in-contact__btn--outline { border: 1px solid var(--foreground); color: var(--foreground); }

/* ==========================================================================
   Legal documents (regulamin / polityka prywatnosci)
   ========================================================================== */
.ool-in-doc { padding-top: 4rem; padding-bottom: 5rem; }
@media (min-width: 1024px) { .ool-in-doc { padding-top: 5rem; } }
.ool-in-doc__head { margin-bottom: 3rem; max-width: 48rem; }
.ool-in-doc__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--foreground);
  margin: 0;
}
@media (min-width: 1024px) { .ool-in-doc__title { font-size: 1.875rem; } }
.ool-in-doc__lead { margin: 1rem 0 0; color: var(--muted-foreground); line-height: 1.625; }

@media (min-width: 1024px) {
  .ool-in-cols2 { columns: 2; column-gap: 3rem; }
}
.ool-in-chapter { break-inside: avoid; margin-bottom: 2.5rem; }
.ool-in-chapter__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--foreground);
  margin: 0 0 1rem;
}
@media (min-width: 1024px) { .ool-in-chapter__title { font-size: 1.875rem; } }
.ool-in-chapter__body { color: var(--muted-foreground); line-height: 1.625; }
.ool-in-chapter__body > * + * { margin-top: 0.75rem; }
.ool-in-chapter__body p { margin: 0; }
.ool-in-chapter__body strong { color: var(--foreground); font-weight: 600; }

.ool-in-list { list-style: disc; margin: 0; padding-left: 1.25rem; }
.ool-in-list > li + li { margin-top: 0.5rem; }
.ool-in-list--lg > li + li { margin-top: 0.75rem; }

/* ==========================================================================
   /platnosc
   ========================================================================== */
.ool-in-lead { padding-top: 4rem; padding-bottom: 4rem; }
@media (min-width: 1024px) { .ool-in-lead { padding-top: 5rem; } }
.ool-in-lead__inner { max-width: 48rem; }
.ool-in-lead__title {
  font-family: var(--font-display);
  font-size: 1.875rem;
  line-height: 1.25;
  color: var(--foreground);
  margin: 0;
}
@media (min-width: 1024px) { .ool-in-lead__title { font-size: 2.25rem; } }
.ool-in-lead__title em { font-style: italic; }
.ool-in-lead__text { margin: 1.25rem 0 0; color: var(--muted-foreground); line-height: 2; }

.ool-in-payband { padding-top: 4rem; padding-bottom: 4rem; }
@media (min-width: 1024px) { .ool-in-payband { padding-top: 5rem; padding-bottom: 5rem; } }
.ool-in-payband__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) { .ool-in-payband__grid { grid-template-columns: repeat(2, 1fr); gap: 4rem; } }

.ool-in-payhead { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.25rem; }
.ool-in-payhead .ool-in-eyebrow { margin: 0; }
.ool-in-payhead__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 2px solid var(--gold);
  color: var(--gold);
  flex-shrink: 0;
}
.ool-in-payhead__icon svg { width: 1.25rem; height: 1.25rem; }

.ool-in-paytitle {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--foreground);
  margin: 0 0 1rem;
}
.ool-in-paytitle em { font-style: italic; }
.ool-in-paytext { margin: 0; color: var(--muted-foreground); line-height: 2; }

.ool-in-paylist { list-style: none; margin: 1.25rem 0 0; padding: 0; color: var(--muted-foreground); }
.ool-in-paylist > li { display: flex; align-items: flex-start; gap: 0.75rem; }
.ool-in-paylist > li + li { margin-top: 0.75rem; }
.ool-in-paylist svg { width: 1rem; height: 1rem; color: var(--gold); margin-top: 0.25rem; flex-shrink: 0; }

.ool-in-bankbox {
  margin-top: 1.5rem;
  border: 2px solid var(--border);
  background: var(--background);
  padding: 1.5rem;
  font-size: 0.875rem;
}
.ool-in-bankbox > p { margin: 0; }
.ool-in-bankbox > p + p { margin-top: 0.5rem; }
.ool-in-bankbox__label {
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 0.75rem !important;
}
.ool-in-bankbox strong { color: var(--foreground); font-weight: 500; }
.ool-in-bankbox span { color: var(--muted-foreground); }

/* ==========================================================================
   /dostawa-i-zwrot
   ========================================================================== */
.ool-in-ship { padding-top: 4rem; padding-bottom: 4rem; }
@media (min-width: 1024px) { .ool-in-ship { padding-top: 5rem; } }
.ool-in-3grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) { .ool-in-3grid { grid-template-columns: repeat(3, 1fr); gap: 4rem; } }
@media (min-width: 1024px) { .ool-in-3grid__wide { grid-column: span 2; } }

.ool-in-secttitle {
  font-family: var(--font-display);
  font-size: 1.875rem;
  line-height: 1.25;
  color: var(--foreground);
  margin: 0;
}
@media (min-width: 1024px) { .ool-in-secttitle { font-size: 2.25rem; } }
.ool-in-secttitle em { font-style: italic; }

.ool-in-prose { color: var(--muted-foreground); line-height: 2; }
.ool-in-prose > * + * { margin-top: 1.5rem; }
.ool-in-prose--tight > * + * { margin-top: 1.25rem; }
.ool-in-prose p { margin: 0; }
.ool-in-prose strong { color: var(--foreground); font-weight: 500; }

.ool-in-statgrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding-top: 1rem;
}
@media (min-width: 640px) { .ool-in-statgrid { grid-template-columns: repeat(3, 1fr); } }
.ool-in-stat { border: 2px solid var(--border); background: var(--marble); padding: 1.25rem; }
.ool-in-stat svg { width: 1.25rem; height: 1.25rem; color: var(--gold); margin-bottom: 0.75rem; }
.ool-in-stat__value { font-family: var(--font-display); font-size: 1.125rem; color: var(--foreground); margin: 0; }
.ool-in-stat__label { font-size: 0.75rem; color: var(--muted-foreground); margin: 0.25rem 0 0; }

.ool-in-return { padding-top: 4rem; padding-bottom: 4rem; }
@media (min-width: 1024px) { .ool-in-return { padding-top: 5rem; padding-bottom: 5rem; } }

.ool-in-protocol {
  margin-top: 1.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.25em;
  font-size: 0.75rem;
  border-bottom: 1px solid var(--gold);
  padding-bottom: 0.25rem;
  text-decoration: none;
  transition: all var(--transition-elegant);
}
.ool-in-protocol svg { width: 1rem; height: 1rem; flex-shrink: 0; }

.ool-in-notebox { border: 2px solid var(--border); background: var(--background); padding: 1.5rem; }
.ool-in-notebox__head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.ool-in-notebox__head svg { width: 1rem; height: 1rem; color: var(--gold); flex-shrink: 0; }
.ool-in-notebox__label {
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0;
}
.ool-in-notebox p { margin: 0; font-size: 0.875rem; }
.ool-in-notebox ul {
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
  font-size: 0.875rem;
}
.ool-in-notebox ul li + li { margin-top: 0.25rem; }
.ool-in-notebox__foot { margin-top: 0.75rem !important; color: var(--foreground); }

/* ==========================================================================
   /faq
   ========================================================================== */
.ool-in-faqintro { padding-top: 4rem; padding-bottom: 3rem; }
@media (min-width: 1024px) { .ool-in-faqintro { padding-top: 5rem; } }
.ool-in-faqintro__inner { max-width: 42rem; margin: 0 auto; text-align: center; }
.ool-in-faqintro__title {
  font-family: var(--font-display);
  font-size: 1.875rem;
  line-height: 1.25;
  color: var(--foreground);
  margin: 0;
}
@media (min-width: 1024px) { .ool-in-faqintro__title { font-size: 2.25rem; } }
.ool-in-faqintro__title em { font-style: italic; }
.ool-in-faqintro__text { margin: 1.25rem 0 0; color: var(--muted-foreground); line-height: 2; }

.ool-in-faqgroup { padding-top: 4rem; padding-bottom: 4rem; }
@media (min-width: 1024px) { .ool-in-faqgroup { padding-top: 5rem; padding-bottom: 5rem; } }

.ool-in-faqgrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) { .ool-in-faqgrid { grid-template-columns: repeat(12, 1fr); gap: 3.5rem; } }
.ool-in-faqgrid__media { display: block; }
@media (min-width: 1024px) {
  .ool-in-faqgrid__media { grid-column: span 5; }
  .ool-in-faqgrid__body { grid-column: span 7; }
  .ool-in-faqgrid--flip .ool-in-faqgrid__media { order: 2; }
  .ool-in-faqgrid--flip .ool-in-faqgrid__body { order: 1; }
}
.ool-in-faqgrid__imgwrap {
  position: sticky;
  top: 7rem;
  overflow: hidden;
  border: 2px solid var(--border);
}
.ool-in-faqgrid__imgwrap img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: cover;
}
@media (min-width: 1024px) { .ool-in-faqgrid__imgwrap img { height: 440px; } }

.ool-in-faqhead { margin-bottom: 2rem; }
.ool-in-faqhead__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--foreground);
  margin: 0;
}
@media (min-width: 1024px) { .ool-in-faqhead__title { font-size: 1.875rem; } }

/* accordion — reuses .ool-accordion JS pattern; each item is its own group so
   entries expand independently, like <details> in the design */
.ool-in-faqacc { border-top: 2px solid var(--border); border-bottom: 2px solid var(--border); }
.ool-in-faqacc .ool-accordion + .ool-accordion { border-top: 2px solid var(--border); }
.ool-in-faqacc .ool-accordion__item { border-bottom: 0; }
.ool-in-faqacc .ool-accordion__trigger {
  align-items: flex-start;
  gap: 1.5rem;
  line-height: 1.375;
}
.ool-in-faqacc__plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--gold);
  color: var(--gold);
  flex-shrink: 0;
  margin-top: 0.25rem;
  transition: transform 0.3s;
}
.ool-in-faqacc__plus svg { width: 1rem; height: 1rem; }
.ool-in-faqacc .ool-accordion__trigger svg { color: inherit; }
.ool-in-faqacc .ool-accordion__item.is-open .ool-accordion__trigger svg { transform: none; }
.ool-in-faqacc .ool-accordion__item.is-open .ool-in-faqacc__plus { transform: rotate(45deg); }
.ool-in-faqacc .ool-accordion__content { line-height: 2; padding-right: 3.5rem; padding-bottom: 1.5rem; }
