/* ============================================================================
  ND26 / Equity Chart Module CSS (Single Source)
  Ziel: exakt "Logo -> Contact us" Breite – unabhängig vom HubSpot Parent
  + Inset Padding im EQS Frame (damit der Chart nicht am Rand klebt)
============================================================================ */

/* =========================
   0) BREAKOUT (wichtig!)
   - Modul kann breiter sein als die Content-Spalte, obwohl es darin liegt
========================= */
.nd-equity-chart-module{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  /* verhindert horizontales Scrollen durch 100vw/Scrollbar */
  overflow-x: clip;
}
@supports not (overflow: clip){
  .nd-equity-chart-module{ overflow-x: hidden; }
}

/* =========================
   1) TOKENS / SETTINGS
   -> HIER steuerst du Desktop Breite & Padding
========================= */
.nd-equity-chart-module{
  /* ✅ Desktop Breite (Logo -> Contact us)
     Typische Werte: 1320 / 1440 / 1870 */
  --nd-equity-container-max: 1870px;

  /* ✅ horizontales Padding (wie Ad Slider) */
  --nd-equity-pad-sm: 20px;
  --nd-equity-pad-md: 55px;
  --nd-equity-pad-lg: 125px;  /* Desktop Padding */

  /* ✅ Inset im Frame (damit Inhalt nicht an der Box klebt)
     Desktop ~25px, mobile etwas weniger */
  --nd-equity-frame-inset: clamp(16px, 2vw, 25px);

  /* Vertical rhythm */
  --nd-equity-py-sm: 32px;
  --nd-equity-py-md: 48px;

  /* Frame */
  --nd-equity-radius: 16px;
  --nd-equity-surface: var(--color-surface-muted, #f3f4f6);

  /* Brand tokens for styling (used for inline overrides + EQS copy block) */
  --nd-eqs-font-sans: "ABCFavoritExtendedNormal", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --nd-eqs-text: #111827;
  --nd-eqs-muted: rgba(17,24,39,0.65);
  --nd-eqs-border: rgba(17,24,39,0.14);

  --nd-eqs-accent-lime: #C8D900;
  --nd-eqs-accent-blue: #2791BF;

  --nd-eqs-pill-bg: rgba(255,255,255,0.75);
  --nd-eqs-pill-bg-hover: rgba(255,255,255,0.92);
  --nd-eqs-pill-radius: 9999px;
  --nd-eqs-focus: rgba(39,145,191,0.55);
}

/* =========================
   2) SECTION SPACING
========================= */
.nd-equity-chart-module .nd-equity-section{
  padding-top: var(--nd-equity-py-sm);
  padding-bottom: var(--nd-equity-py-sm);
}
@media (min-width: 768px){
  .nd-equity-chart-module .nd-equity-section{
    padding-top: var(--nd-equity-py-md);
    padding-bottom: var(--nd-equity-py-md);
  }
}

/* =========================
   3) HEADER-ALIGNED CONTAINER
========================= */
.nd-equity-chart-module .nd-equity-container{
  width: 100%;
  max-width: var(--nd-equity-container-max);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;

  padding-left: var(--nd-equity-pad-sm);
  padding-right: var(--nd-equity-pad-sm);
}
@media (min-width: 768px){
  .nd-equity-chart-module .nd-equity-container{
    padding-left: var(--nd-equity-pad-md);
    padding-right: var(--nd-equity-pad-md);
  }
}
@media (min-width: 1024px){
  .nd-equity-chart-module .nd-equity-container{
    padding-left: var(--nd-equity-pad-lg);
    padding-right: var(--nd-equity-pad-lg);
  }
}

/* =========================
   4) FRAME + INSET (NEU)
========================= */
.nd-equity-chart-module .nd-equity-frame{
  width: 100%;
  border-radius: var(--nd-equity-radius);
  overflow: hidden;
  background: var(--nd-equity-surface);

  /* ✅ Innenabstand zum EQS-Content */
  padding: var(--nd-equity-frame-inset);
  box-sizing: border-box;

  box-shadow:
    0 10px 15px -3px rgba(0,0,0,0.08),
    0 4px 6px -4px rgba(0,0,0,0.04);
}

/* Defensive: iFrame never breaks layout */
.nd-equity-chart-module .nd-equity-frame iframe{
  width: 100% !important;
  max-width: 100% !important;
  display: block;
  border: 0;
}

/* ============================================================================
  INLINE OVERRIDES (nur wirksam, wenn EQS NICHT cross-origin iFrame ist)
============================================================================ */
.nd-equity-chart-module .nd-equity-frame{
  font-family: var(--nd-eqs-font-sans);
  color: var(--nd-eqs-text);
}

.nd-equity-chart-module .nd-equity-frame svg text{
  font-family: var(--nd-eqs-font-sans) !important;
}

.nd-equity-chart-module .nd-equity-frame .range-selector__wrap{
  gap: 10px;
}

.nd-equity-chart-module .nd-equity-frame .range-selector__link{
  font-family: var(--nd-eqs-font-sans);
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.01em;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 14px;
  border-radius: var(--nd-eqs-pill-radius);

  background: var(--nd-eqs-pill-bg);
  border: 1px solid var(--nd-eqs-border);

  color: var(--nd-eqs-text);
  text-decoration: none;

  transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}

.nd-equity-chart-module .nd-equity-frame .range-selector__link:hover{
  background: var(--nd-eqs-pill-bg-hover);
  transform: translateY(-1px);
}

.nd-equity-chart-module .nd-equity-frame .range-selector__link:focus-visible{
  outline: 3px solid var(--nd-eqs-focus);
  outline-offset: 2px;
}

.nd-equity-chart-module .nd-equity-frame .range-selector__item.is-active .range-selector__link{
  background: linear-gradient(90deg,
    rgba(39,145,191,0.35) 0%,
    rgba(200,217,0,0.85) 100%);
  border-color: rgba(200,217,0,0.95);
  color: var(--nd-eqs-text);
}

.nd-equity-chart-module .nd-equity-frame .range-selector__price-change{
  font-family: var(--nd-eqs-font-sans);
  color: var(--nd-eqs-muted);
}

/* ============================================================================
  EQS IFRAME SKIN (COPY BLOCK)
  -> Copy/paste diesen Block 1:1 in euer EQS main.css, damit Range Selector & Fonts
     im iFrame greifen. In HubSpot selbst greift das NICHT, wenn iFrame cross-origin ist.
  Scope: body#shareChart existiert nur im EQS Widget.
============================================================================ */
body#shareChart{
  --nd-eqs-font-sans: "ABCFavoritExtendedNormal", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --nd-eqs-text: #111827;
  --nd-eqs-muted: rgba(17,24,39,0.65);
  --nd-eqs-border: rgba(17,24,39,0.14);
  --nd-eqs-pill-bg: rgba(255,255,255,0.75);
  --nd-eqs-pill-bg-hover: rgba(255,255,255,0.92);
  --nd-eqs-pill-radius: 9999px;
  --nd-eqs-focus: rgba(39,145,191,0.55);

  font-family: var(--nd-eqs-font-sans);
  color: var(--nd-eqs-text);
  background: transparent;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body#shareChart svg text{
  font-family: var(--nd-eqs-font-sans) !important;
}

body#shareChart .range-selector__wrap{
  gap: 10px;
}

body#shareChart .range-selector__link{
  font-family: var(--nd-eqs-font-sans);
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.01em;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 14px;
  border-radius: var(--nd-eqs-pill-radius);

  background: var(--nd-eqs-pill-bg);
  border: 1px solid var(--nd-eqs-border);

  color: var(--nd-eqs-text);
  text-decoration: none;

  transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}

body#shareChart .range-selector__link:hover{
  background: var(--nd-eqs-pill-bg-hover);
  transform: translateY(-1px);
}

body#shareChart .range-selector__link:focus-visible{
  outline: 3px solid var(--nd-eqs-focus);
  outline-offset: 2px;
}

body#shareChart .range-selector__item.is-active .range-selector__link{
  background: linear-gradient(90deg,
    rgba(39,145,191,0.35) 0%,
    rgba(200,217,0,0.85) 100%);
  border-color: rgba(200,217,0,0.95);
  color: var(--nd-eqs-text);
}

body#shareChart .range-selector__price-change{
  font-family: var(--nd-eqs-font-sans);
  color: var(--nd-eqs-muted);
}
