/* ---------- Red Light Therapy / article pages ---------- */

/* Article hero: centered 1180px rail (not homepage full-bleed) */
.regenred-article-hero.hero,
.regenred-article-hero.regenred-hero{
  min-height:auto;
  justify-content:center;
  padding-top:calc(var(--header-total, 102px) + 28px);
  padding-bottom:48px;
}
.regenred-article-hero-inner.e-con,
.e-con.regenred-article-hero-inner,
.regenred-article-hero > .e-con.regenred-article-wrap{
  max-width:1180px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}
.regenred-article-hero-split.hero-split,
.regenred-article-hero .regenred-article-hero-split.e-con,
.e-con.regenred-article-hero-split{
  display:grid !important;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr) !important;
  gap:36px !important;
  align-items:center !important;
  min-height:0 !important;
  flex:none !important;
  width:100% !important;
}
.regenred-article-hero-split > .e-con{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  flex:none !important;
}
.regenred-article-hero-copy.hero-copy,
.regenred-article-hero .regenred-article-hero-copy{
  padding:12px 0 !important;
  max-width:none;
}
.regenred-article-hero .hero-copy h1,
.regenred-article-hero .elementor-widget-heading.regenred-h1 .elementor-heading-title{
  max-width:12ch;
  font-size:clamp(34px, 4.2vw, 58px);
}
.regenred-article-hero .hero-copy .lede,
.regenred-article-hero .regenred-lede{
  max-width:42ch;
  font-size:16.5px;
}
.regenred-article-hero-visual.hero-visual,
.regenred-article-hero .regenred-article-hero-visual{
  position:relative;
  min-height:0;
  height:auto;
  border-radius:6px;
  overflow:hidden;
  background:var(--ink-2);
  box-shadow:0 28px 70px rgba(0,0,0,.38);
}
.regenred-article-hero-visual .elementor-widget-image,
.regenred-article-hero-visual .elementor-widget-container{
  position:relative !important;
  inset:auto !important;
  height:auto !important;
}
.regenred-article-hero-visual img{
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
  display:block;
}
.regenred-article-hero-visual::after{
  background:linear-gradient(90deg, rgba(21,10,13,.12) 0%, transparent 40%);
}

@media (max-width:960px){
  .regenred-article-hero-split.hero-split,
  .e-con.regenred-article-hero-split{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .regenred-article-hero .hero-copy h1,
  .regenred-article-hero .elementor-widget-heading.regenred-h1 .elementor-heading-title{
    max-width:none;
  }
}

/* Force 1180px content rail (beats Elementor boxed quirks) */
.regenred-section > .e-con.regenred-article-wrap,
.regenred-section > .e-con.wrap,
.e-con.regenred-article-wrap,
.regenred-section .regenred-article-wrap.e-con{
  max-width:1180px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}
.regenred-rlt-cta-strip{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.rlt-intro-strip .rlt-intro-copy,
.rlt-intro-strip p{
  margin:0;
  color:var(--bone-dim);
  font-size:clamp(16px, 1.35vw, 18px);
  line-height:1.65;
  max-width:68ch;
}
.rlt-intro-strip a{
  color:var(--oxygen);
  text-decoration:none;
  border-bottom:1px solid rgba(255,77,94,.35);
}
.rlt-intro-strip a:hover{
  color:var(--bone);
  border-bottom-color:var(--arterial);
}

.regenred-rlt-alt{
  background:var(--ink-2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

/* Cream sections — #f4efe9 with dark type (overrides Elementor dark bg on these IDs) */
.regenred-rlt-cream,
#red-vs-infrared,
#results,
#usage,
#pros-cons,
#conclusion,
#maximum-control,
#absolute-relative,
#fluency-dosage,
#relative-meters,
#pulsing-modes,
#safety-duty,
#medical-grade,
#ui-support,
#stim-pillars{
  background:#f4efe9 !important;
  border-top:1px solid rgba(21,10,13,.1);
  border-bottom:1px solid rgba(21,10,13,.1);
  color:#150A0D;
}
.regenred-rlt-cream .sec-head .elementor-heading-title,
.regenred-rlt-cream .regenred-h2,
.regenred-rlt-cream h2,
.regenred-rlt-cream h3,
.regenred-rlt-cream .elementor-heading-title,
#red-vs-infrared .elementor-heading-title,
#red-vs-infrared h2,
#red-vs-infrared h3,
#results .elementor-heading-title,
#results h2,
#results h3,
#usage .elementor-heading-title,
#usage h2,
#usage h3,
#pros-cons .elementor-heading-title,
#pros-cons h2,
#pros-cons h3,
#conclusion .elementor-heading-title,
#conclusion h2,
#conclusion h3{
  color:#150A0D !important;
}
.regenred-rlt-cream .rlt-media-copy .elementor-heading-title,
.regenred-rlt-cream .rlt-media-copy h3,
#maximum-control .rlt-media-copy .elementor-heading-title,
#maximum-control .rlt-media-copy h3,
#maximum-control .elementor-heading-title,
#maximum-control h2,
#maximum-control h3{
  color:#150A0D !important;
}
.regenred-rlt-cream .rlt-media-copy p,
#maximum-control .rlt-media-copy p,
#maximum-control p,
#maximum-control .elementor-widget-text-editor{
  color:#4a3a3e !important;
}
.regenred-rlt-cream .sec-head p,
.regenred-rlt-cream p,
.regenred-rlt-cream .elementor-widget-text-editor,
.regenred-rlt-cream .rlt-note,
.regenred-rlt-cream .rlt-list li,
.regenred-rlt-cream .rlt-media-copy p,
#red-vs-infrared p,
#red-vs-infrared .elementor-widget-text-editor,
#red-vs-infrared .rlt-list li,
#red-vs-infrared .rlt-note,
#results p,
#results .elementor-widget-text-editor,
#usage p,
#usage .elementor-widget-text-editor,
#usage .rlt-list li,
#pros-cons p,
#pros-cons .elementor-widget-text-editor,
#pros-cons .rlt-list li,
#conclusion p,
#conclusion .elementor-widget-text-editor{
  color:#4a3a3e !important;
}
.regenred-rlt-cream .rlt-list strong,
#red-vs-infrared .rlt-list strong,
#usage .rlt-list strong,
#pros-cons .rlt-list strong{
  color:#150A0D !important;
}
.regenred-rlt-cream .rlt-list li,
#red-vs-infrared .rlt-list li,
#usage .rlt-list li,
#pros-cons .rlt-list li{
  border-bottom-color:rgba(21,10,13,.12);
}
.regenred-rlt-cream .rlt-list li::before,
#red-vs-infrared .rlt-list li::before,
#usage .rlt-list li::before,
#pros-cons .rlt-list li::before{
  color:var(--arterial);
}
.regenred-rlt-cream .rlt-note,
#red-vs-infrared .rlt-note{
  border-left-color:var(--arterial);
}
.regenred-rlt-cream .rlt-card,
#red-vs-infrared .rlt-card,
#usage .rlt-card,
#pros-cons .rlt-card{
  background:#fff !important;
  border-color:rgba(21,10,13,.12);
}
.regenred-rlt-cream .rlt-card:hover,
#red-vs-infrared .rlt-card:hover,
#usage .rlt-card:hover,
#pros-cons .rlt-card:hover{
  border-color:rgba(179,19,41,.4);
}
.regenred-rlt-cream .rlt-card .elementor-heading-title,
.regenred-rlt-cream .rlt-card h3,
#red-vs-infrared .rlt-card .elementor-heading-title,
#usage .rlt-card .elementor-heading-title,
#pros-cons .rlt-card .elementor-heading-title{
  color:#150A0D !important;
}
.regenred-rlt-cream .rlt-cta-panel,
#conclusion .rlt-cta-panel{
  background:
    radial-gradient(900px 280px at 10% 0%, rgba(179,19,41,.12), transparent 55%),
    #fff !important;
  border-color:rgba(21,10,13,.12);
}
.regenred-rlt-cream .btn.ghost,
#conclusion .btn.ghost{
  border-color:rgba(21,10,13,.22);
  color:#150A0D;
}
.regenred-rlt-cream .btn.ghost:hover,
#conclusion .btn.ghost:hover{
  border-color:var(--arterial);
  color:var(--arterial);
}
.regenred-rlt-cream .kicker,
.regenred-rlt-cream .regenred-kicker,
#red-vs-infrared .kicker,
#results .kicker,
#usage .kicker,
#pros-cons .kicker,
#conclusion .kicker{
  color:var(--arterial);
}

/* Media rows — image breaks between text walls */
.rlt-media-row.e-con,
.e-con.rlt-media-row{
  display:grid !important;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr) !important;
  gap:clamp(28px, 4vw, 56px) !important;
  align-items:center;
  width:100% !important;
  --flex-direction:row;
}
.rlt-media-row--flip.e-con,
.e-con.rlt-media-row--flip{
  grid-template-columns:minmax(0, 1.08fr) minmax(0, .92fr) !important;
}
.rlt-media-row.e-con > .e-con,
.e-con.rlt-media-row > .e-con{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  flex:none !important;
}
.rlt-media-solo{
  margin-top:36px;
}
.rlt-media-solo .rlt-media-visual,
.rlt-media-solo .rlt-media-visual img{
  width:100%;
  max-height:420px;
  object-fit:cover;
}
.rlt-media-visual .elementor-widget-image,
.rlt-media-visual img,
.rlt-media-image img{
  display:block;
  width:100%;
  height:auto;
  border-radius:4px;
  object-fit:cover;
  aspect-ratio:4 / 3;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.rlt-media-copy .elementor-heading-title,
.rlt-media-copy h3{
  font-family:'Instrument Serif',serif;
  font-weight:400;
  font-size:clamp(24px, 2.2vw, 30px);
  color:var(--bone);
  margin:0 0 14px;
}
.rlt-media-copy p,
.rlt-media-copy .elementor-widget-text-editor{
  color:var(--bone-dim);
  font-size:15.5px;
  line-height:1.7;
}
.rlt-stack.e-con,
.e-con.rlt-stack{
  display:flex !important;
  flex-direction:column !important;
  gap:16px;
}
.rlt-stack .rlt-card{
  width:100% !important;
}

.rlt-two-col.e-con,
.e-con.rlt-two-col,
.rlt-benefit-grid.e-con,
.e-con.rlt-benefit-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:24px !important;
  align-items:stretch;
  width:100% !important;
  --flex-direction:row;
}
.rlt-benefit-grid.e-con > .e-con,
.e-con.rlt-benefit-grid > .e-con,
.rlt-two-col.e-con > .e-con,
.e-con.rlt-two-col > .e-con{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  flex:none !important;
}
.rlt-two-col--tight.e-con,
.e-con.rlt-two-col--tight{
  gap:16px !important;
}
.rlt-card{
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:6px;
  padding:28px 26px !important;
  transition:border-color .25s ease, transform .25s ease;
}
.rlt-card:hover{
  border-color:rgba(255,77,94,.35);
}

/* Wavelength cards — visual boxes */
.wl-wave-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
  margin-top:40px;
  width:100%;
}
.wl-wave-card{
  position:relative;
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:8px;
  padding:28px 26px 26px;
  overflow:hidden;
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.wl-wave-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:linear-gradient(180deg, var(--arterial), rgba(255,77,94,.15));
}
.wl-wave-card:hover{
  border-color:rgba(255,77,94,.4);
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}
.wl-wave-card--feature{
  background:
    radial-gradient(600px 220px at 100% 0%, rgba(179,19,41,.35), transparent 55%),
    linear-gradient(165deg, rgba(179,19,41,.28) 0%, rgba(30,16,19,.95) 55%);
  border-color:rgba(255,77,94,.45);
}
.wl-wave-card__top{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:16px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.wl-wave-card__nm{
  font-family:'Instrument Serif',serif;
  font-size:clamp(24px, 2.4vw, 34px);
  line-height:1.1;
  color:var(--bone);
  letter-spacing:-.02em;
}
.wl-wave-card__role{
  font-family:'IBM Plex Mono',monospace;
  font-size:11.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--oxygen);
}
.wl-wave-card__body{
  margin:0;
  color:var(--bone-dim);
  font-size:15px;
  line-height:1.7;
}
.regenred-rlt-cream .wl-wave-card,
#pulsing-modes .wl-wave-card,
#safety-duty .wl-wave-card{
  background:#fff;
  border-color:rgba(21,10,13,.12);
}
.regenred-rlt-cream .wl-wave-card--feature,
#pulsing-modes .wl-wave-card--feature{
  background:
    radial-gradient(600px 220px at 100% 0%, rgba(179,19,41,.14), transparent 55%),
    #fff;
  border-color:rgba(179,19,41,.35);
}
.regenred-rlt-cream .wl-wave-card__nm,
#pulsing-modes .wl-wave-card__nm{
  color:#150A0D;
}
.regenred-rlt-cream .wl-wave-card__body,
#pulsing-modes .wl-wave-card__body{
  color:#4a3a3e;
}
.regenred-rlt-cream .wl-wave-card__top,
#pulsing-modes .wl-wave-card__top{
  border-bottom-color:rgba(21,10,13,.12);
}
@media (max-width:960px){
  .wl-wave-grid{
    grid-template-columns:1fr;
  }
}
.regenred-rlt-alt .rlt-card{
  background:var(--ink);
}
.rlt-card--feature{
  background:linear-gradient(165deg, rgba(179,19,41,.38) 0%, rgba(179,19,41,.1) 70%);
  border-color:rgba(255,77,94,.45);
}
.rlt-card .elementor-heading-title,
.rlt-card h3{
  font-family:'Instrument Serif',serif;
  font-weight:400;
  font-size:24px;
  color:var(--bone);
  margin:0 0 14px;
}
.rlt-card p,
.rlt-card .elementor-widget-text-editor{
  color:var(--bone-dim);
  font-size:15.5px;
}
.rlt-benefit{
  position:relative;
  overflow:hidden;
}
.rlt-benefit::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(90deg, var(--arterial), transparent 70%);
  opacity:.85;
}

.rlt-list{
  list-style:none;
  margin:0;
  padding:0;
}
.rlt-list li{
  padding:10px 0;
  border-bottom:1px solid var(--line);
  color:var(--bone-dim);
  font-size:15.5px;
  display:flex;
  gap:10px;
}
.rlt-list li::before{
  content:"—";
  color:var(--arterial);
  flex-shrink:0;
}
.rlt-list li:last-child{border-bottom:none}
.rlt-list strong{color:var(--bone);font-weight:600}
.rlt-list--wide li{padding:12px 0}

.rlt-note{
  margin-top:28px !important;
  color:var(--bone-dim);
  font-size:15.5px;
  line-height:1.7;
  max-width:70ch;
  padding-left:16px;
  border-left:2px solid var(--arterial);
}
.rlt-formula{
  margin:18px 0 !important;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:4px;
  background:rgba(245,239,233,.04);
  font-family:'IBM Plex Mono',monospace;
  font-size:14px;
  line-height:1.55;
  color:var(--bone) !important;
}
.regenred-rlt-cream .rlt-formula,
#fluency-dosage .rlt-formula{
  background:#fff;
  border-color:rgba(21,10,13,.12);
  color:#150A0D !important;
}
.rlt-subhead{
  margin-top:40px !important;
  margin-bottom:12px !important;
}
.rlt-subhead .elementor-heading-title{
  font-family:'Instrument Serif',serif;
  font-size:28px;
  color:var(--bone);
}

.rlt-cta-panel{
  border:1px solid var(--line);
  border-radius:6px;
  padding:36px 32px !important;
  background:
    radial-gradient(900px 280px at 10% 0%, rgba(179,19,41,.22), transparent 55%),
    var(--ink-2);
}
.rlt-cta-panel p{
  color:var(--bone-dim);
  font-size:16px;
  line-height:1.7;
  max-width:62ch;
}

/* Accordion — match Regenred */
.regenred-accordion .elementor-accordion-item,
.regenred-accordion .e-n-accordion-item{
  border:1px solid var(--line) !important;
  background:var(--ink-2);
  margin-bottom:10px;
  border-radius:4px;
  overflow:hidden;
}
.regenred-accordion .elementor-tab-title,
.regenred-accordion .e-n-accordion-item-title{
  color:var(--bone) !important;
  font-family:'Instrument Serif',serif !important;
  font-size:20px !important;
  font-weight:400 !important;
  background:transparent !important;
  padding:18px 20px !important;
  border:none !important;
}
.regenred-accordion .elementor-tab-content,
.regenred-accordion .e-n-accordion-item-content{
  color:var(--bone-dim) !important;
  border:none !important;
  padding:0 20px 18px !important;
  font-size:15.5px;
  line-height:1.65;
}
.regenred-accordion .elementor-accordion-icon,
.regenred-accordion .e-n-accordion-item-title-icon{
  color:var(--oxygen) !important;
}

/* Data table (Light Density) */
.rlt-table-wrap{
  width:100%;
  overflow-x:auto;
  margin-top:20px;
  border:1px solid var(--line);
  border-radius:6px;
}
.rlt-table{
  width:100%;
  border-collapse:collapse;
  font-size:14.5px;
}
.rlt-table th,
.rlt-table td{
  padding:14px 16px;
  text-align:left;
  border-bottom:1px solid var(--line);
  color:var(--bone-dim);
}
.rlt-table th{
  color:var(--bone);
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  background:rgba(245,239,233,.04);
}
.rlt-table tbody tr:last-child td{border-bottom:none}
.rlt-table td:first-child{
  color:var(--bone);
  font-weight:600;
}

@media (max-width:960px){
  .rlt-two-col.e-con,
  .e-con.rlt-two-col,
  .rlt-benefit-grid.e-con,
  .e-con.rlt-benefit-grid,
  .rlt-media-row.e-con,
  .e-con.rlt-media-row,
  .rlt-media-row--flip.e-con,
  .e-con.rlt-media-row--flip{
    grid-template-columns:1fr !important;
  }
  .rlt-cta-panel{
    padding:28px 22px !important;
  }
}
