/* ============================================================
   Reckless Hearts MC — Elementor compatibility layer
   Maps the brand design system onto Elementor's widget DOM.
   Selectors are intentionally high-specificity (and use !important
   on identity properties) so they beat Elementor's own stylesheet,
   which loads after the theme's. Helper classes go in each widget's
   Advanced → CSS Classes field (the importer sets these for you).
   ============================================================ */

/* Keep Elementor sections transparent on the dark page */
.elementor-section{ background:transparent; }
.elementor-section.elementor-section-boxed > .elementor-container{ max-width:1240px; }

/* ---------- Headings ---------- */
/* CSS Classes land on the widget wrapper (.elementor-widget); target the
   inner title from there, with .elementor-widget in the selector to outrank
   Elementor's own .elementor-widget-heading .elementor-heading-title rule. */
.elementor-widget.rh-eyebrow .elementor-heading-title{
  font-family:var(--label) !important;font-weight:500 !important;font-size:13px !important;
  letter-spacing:.42em !important;text-transform:uppercase !important;color:var(--acc-bright) !important;
  display:inline-flex;align-items:center;gap:.9em;line-height:1.4 !important;
}
.elementor-widget.rh-eyebrow .elementor-heading-title::before,
.elementor-widget.rh-eyebrow .elementor-heading-title::after{ content:"\2605";font-size:.8em;color:var(--acc);letter-spacing:0; }
.elementor-widget.rh-eyebrow.rh-solo .elementor-heading-title::after{ display:none; }

.elementor-widget.rh-display .elementor-heading-title{
  font-family:var(--display) !important;font-weight:600 !important;line-height:1.0 !important;letter-spacing:-.01em !important;color:var(--text);
}
.elementor-widget.rh-h1 .elementor-heading-title{ font-weight:700 !important;font-size:clamp(40px,5.6vw,72px) !important;line-height:1.05 !important; }
.elementor-widget.rh-h2 .elementor-heading-title{ font-weight:600 !important;font-size:clamp(32px,4.6vw,58px) !important;line-height:1.02 !important; }
.elementor-widget.rh-h3 .elementor-heading-title{ font-weight:600 !important;font-size:clamp(24px,3vw,34px) !important;line-height:1.1 !important; }
.elementor-widget.rh-center .elementor-heading-title{ text-align:center; }

/* Gilt gradient text — on the title or any .gilt span inside it */
.elementor-heading-title .gilt,
.elementor-widget .elementor-heading-title.gilt,
.gilt{
  background:var(--grad-title) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
}
.elementor-heading-title .italic,
.elementor-widget.rh-italic .elementor-heading-title,
.italic{ font-style:italic !important; }

/* Neon script line */
.elementor-widget.rh-neon .elementor-heading-title{
  font-family:var(--script) !important;font-weight:400 !important;color:var(--acc-soft) !important;
  font-size:clamp(30px,4vw,46px) !important;line-height:1.05 !important;letter-spacing:0 !important;text-transform:none !important;
  text-shadow:0 0 6px rgba(var(--acc-rgb),.9),0 0 18px rgba(var(--acc-rgb),.7),0 0 38px rgba(var(--acc-rgb),.5);
}

/* ---------- Body / lede text (Text Editor widget) ---------- */
.elementor-widget.rh-lede .elementor-widget-container{
  font-size:clamp(18px,2vw,21px) !important;line-height:1.6 !important;color:var(--text-dim) !important;font-weight:400 !important;
}
.elementor-widget.rh-lede .elementor-widget-container p{ color:var(--text-dim) !important; }
.elementor-widget.rh-muted .elementor-widget-container{ color:var(--text-dim) !important; }
.elementor-widget.rh-center .elementor-widget-container{ text-align:center; }

/* ---------- Buttons ---------- */
.elementor-widget.rh-btn .elementor-button{
  background:linear-gradient(180deg,var(--acc-bright),var(--acc) 60%,var(--acc-deep)) !important;
  color:#11070a !important;border:1px solid transparent !important;border-radius:var(--btn-radius) !important;
  font-family:var(--label) !important;font-weight:600 !important;font-size:14px !important;letter-spacing:.16em !important;text-transform:uppercase !important;
  padding:15px 30px !important;box-shadow:0 8px 26px rgba(var(--acc-rgb),.32),0 1px 0 rgba(255,255,255,.25) inset;
  display:inline-flex;align-items:center;gap:.6em;transition:transform .18s,box-shadow .25s;fill:#11070a;
}
.elementor-widget.rh-btn .elementor-button .elementor-button-text{ color:#11070a !important; }
.elementor-widget.rh-btn .elementor-button:hover{ transform:translateY(-2px); }
.elementor-widget.rh-btn.rh-lg .elementor-button{ padding:18px 38px !important;font-size:15px !important; }
.elementor-widget.rh-btn.rh-ghost .elementor-button{
  background:transparent !important;color:var(--acc-soft) !important;border:1px solid rgba(var(--acc-rgb),.45) !important;box-shadow:none;
}
.elementor-widget.rh-btn.rh-ghost .elementor-button .elementor-button-text{ color:var(--acc-soft) !important; }
.elementor-widget.rh-btn.rh-ghost .elementor-button:hover{ background:rgba(var(--acc-rgb),.1) !important;border-color:var(--acc) !important; }
.elementor-widget.rh-btn.rh-ghost .elementor-button:hover .elementor-button-text{ color:#fff !important; }
.elementor-widget.rh-btn.rh-dark .elementor-button{
  background:linear-gradient(180deg,var(--surface-2),var(--surface)) !important;color:var(--text) !important;border:1px solid var(--line) !important;
}
.elementor-widget.rh-btn.rh-dark .elementor-button .elementor-button-text{ color:var(--text) !important; }

/* ---------- Columns as brand cards ---------- */
.elementor-column.rh-card > .elementor-widget-wrap,
.elementor-column.rh-card > .elementor-element-populated{
  background:linear-gradient(170deg,var(--surface),var(--bg-2));
  border:1px solid var(--line);border-radius:var(--radius);padding:30px;
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.elementor-column.rh-card:hover > .elementor-element-populated{ border-color:var(--hairline);transform:translateY(-3px);box-shadow:0 22px 50px rgba(0,0,0,.5); }

/* Tier cards */
.elementor-column.tier > .elementor-element-populated{
  background:linear-gradient(180deg,var(--surface),var(--bg-2));
  border:1px solid var(--line);border-radius:16px;padding:28px 24px;position:relative;
}
.elementor-column.tier.feat > .elementor-element-populated{
  border-color:rgba(var(--acc-rgb),.55);
  background:linear-gradient(180deg,rgba(var(--acc-rgb),.10),var(--bg-2) 60%);
  box-shadow:0 0 0 1px rgba(var(--acc-rgb),.25),0 24px 60px rgba(0,0,0,.5);
}
.elementor-column.tier .t-name .elementor-heading-title{ font-family:var(--label) !important;font-weight:600 !important;font-size:13px !important;letter-spacing:.22em !important;text-transform:uppercase !important;color:var(--acc-soft) !important; }
.elementor-column.tier .t-tag .elementor-widget-container{ font-size:13px !important;color:var(--text-faint) !important; }
.elementor-column.tier .t-price .elementor-widget-container{ font-family:var(--display) !important;font-weight:700 !important;font-size:46px !important;line-height:1 !important;color:var(--text) !important; }
.elementor-column.tier .t-sub .elementor-widget-container{ font-size:12px !important;color:var(--text-faint) !important; }
.elementor-column.tier .t-perks .elementor-widget-container ul{ list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px; }
.elementor-column.tier .t-perks .elementor-widget-container li{ position:relative;padding-left:27px;font-size:14.5px;color:var(--text-dim);line-height:1.45;list-style:none; }
.elementor-column.tier .t-perks .elementor-widget-container li::before{ content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 50% 40%,var(--acc-bright),var(--acc-deep));box-shadow:0 0 0 1px rgba(var(--acc-rgb),.3); }
.elementor-column.tier .ribbon .elementor-heading-title{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  font-family:var(--label) !important;font-size:10.5px !important;font-weight:600 !important;letter-spacing:.2em !important;text-transform:uppercase !important;
  background:linear-gradient(180deg,var(--acc-bright),var(--acc-deep));color:#fff !important;padding:6px 16px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 18px rgba(var(--acc-rgb),.45);
}

/* ---------- FAQ accordion ---------- */
/* Classic Accordion widget markup */
.elementor-accordion .elementor-accordion-item{ border:0 !important;border-bottom:1px solid var(--line) !important; }
.elementor-accordion .elementor-tab-title{ background:transparent !important;padding:24px 4px !important; }
.elementor-accordion .elementor-tab-title,
.elementor-accordion .elementor-tab-title .elementor-accordion-title{
  font-family:var(--display) !important;font-weight:600 !important;font-size:21px !important;color:var(--text) !important;line-height:1.2 !important;
}
.elementor-accordion .elementor-tab-title.elementor-active,
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title,
.elementor-accordion .elementor-tab-title:hover,
.elementor-accordion .elementor-tab-title:hover .elementor-accordion-title{ color:var(--acc-soft) !important; }
.elementor-accordion .elementor-tab-content{ background:transparent !important;color:var(--text-dim) !important;font-size:16px !important;padding:0 4px 26px !important;border:0 !important; }
.elementor-accordion .elementor-tab-content p{ color:var(--text-dim) !important; }
.elementor-accordion .elementor-tab-title .elementor-accordion-icon,
.elementor-accordion .elementor-tab-title .elementor-accordion-icon i{ color:var(--acc-soft) !important; }

/* Nested Accordion widget markup (Elementor 3.15+ default) */
.e-n-accordion .e-n-accordion-item{ border:0 !important;border-bottom:1px solid var(--line) !important;border-radius:0 !important;background:transparent !important; }
.e-n-accordion .e-n-accordion-item-title{ background:transparent !important;padding:24px 4px !important; }
.e-n-accordion .e-n-accordion-item-title,
.e-n-accordion .e-n-accordion-item-title-text,
.e-n-accordion .e-n-accordion-item-title .e-n-accordion-item-title-header{
  font-family:var(--display) !important;font-weight:600 !important;font-size:21px !important;color:var(--text) !important;line-height:1.2 !important;
}
.e-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-text,
.e-n-accordion .e-n-accordion-item-title:hover .e-n-accordion-item-title-text{ color:var(--acc-soft) !important; }
.e-n-accordion .e-n-accordion-item-title-icon,
.e-n-accordion .e-n-accordion-item-title-icon svg{ fill:var(--acc-soft) !important;color:var(--acc-soft) !important; }
.e-n-accordion .e-n-accordion-item > .e-con,
.e-n-accordion .e-n-accordion-item .e-con-inner{ color:var(--text-dim) !important;font-size:16px !important; }
.e-n-accordion .e-n-accordion-item p{ color:var(--text-dim) !important; }

/* ---------- Card title / body / quote ---------- */
.elementor-column.rh-card .rh-ctitle .elementor-heading-title{ font-family:var(--display) !important;font-weight:600 !important;font-size:25px !important;line-height:1.1 !important;color:var(--text) !important; }
.elementor-column.rh-card .rh-cbody .elementor-widget-container{ color:var(--text-dim) !important;font-size:15.5px !important;line-height:1.6 !important; }
.elementor-column.rh-card .rh-quote .elementor-widget-container{ font-family:var(--display) !important;font-style:italic !important;font-size:21px !important;line-height:1.45 !important;color:var(--text) !important; }
.elementor-column.rh-card .rh-quote-who .elementor-widget-container{ font-family:var(--label) !important;font-size:13px !important;letter-spacing:.06em !important;text-transform:uppercase !important;color:var(--text) !important; }

/* Feature numeral + step badge */
.elementor-widget.feature-idx .elementor-heading-title{
  font-family:var(--display) !important;font-weight:600 !important;font-size:42px !important;line-height:1 !important;color:transparent !important;-webkit-text-stroke:1px rgba(var(--acc-rgb),.55);
}
.elementor-widget.rh-stepnum .elementor-heading-title{
  font-family:var(--label) !important;font-weight:700 !important;font-size:13px !important;letter-spacing:.1em !important;color:var(--acc-soft) !important;
  width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(var(--acc-rgb),.08);border:1px solid rgba(var(--acc-rgb),.4);
}

/* Rounded cover image */
.rh-cover img{ border-radius:8px;box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px var(--line); }

/* ---------- Section paddings ---------- */
.elementor-section.rh-pad > .elementor-container{ padding-top:clamp(56px,8vw,110px);padding-bottom:clamp(56px,8vw,110px); }
