/*
 * Every rule here is scoped under .holoo-widget so it can sit inside any
 * theme without touching <body>, <html>, or global element selectors the
 * way the standalone site's stylesheet did - that page owned the whole
 * document; a shortcode owns only its own box.
 */

/* The native `hidden` attribute is only a `display: none` in the browser's
   own (lowest-priority) stylesheet - any of this plugin's own rules that set
   `display` on the same element, like .holoo-btn's `display: inline-flex`,
   wins over it regardless of selector specificity, because author styles
   always beat the user-agent stylesheet. Without this, a `hidden` button
   (the nav's sign-out control, notably) renders visible even though the
   DOM's own `.hidden` property is correctly `true`. Scoped to .holoo-widget,
   not global, so it only ever affects this plugin's own markup. */
.holoo-widget [hidden] {
  display: none !important;
}

/*
 * Declared on :root, not .holoo-widget, specifically so a site owner can
 * override the look from Appearance > Customize > Additional CSS - a normal
 * WordPress admin screen - without editing this file or any plugin code:
 *
 *   :root { --holoo-accent: #ff6b35; --holoo-bg: #0a0a0a; }
 *
 * overrides both the widget's own colours and the full-bleed landing page's
 * <body> background (see body.holoo-fullbleed below) from one place. Keep
 * every colour/radius the plugin uses behind one of these variables rather
 * than a literal value, so this stays true as the stylesheet grows.
 */
:root {
  --holoo-bg: #0d1017;
  --holoo-bg-soft: #131722;
  --holoo-panel: #1e222d;
  --holoo-border: #2a2e39;
  --holoo-text: #d1d4dc;
  --holoo-text-strong: #f0f3fa;
  --holoo-dim: #868993;
  --holoo-accent: #2962ff;
  --holoo-up: #26a69a;
  --holoo-down: #ef5350;
  --holoo-radius: 10px;
  --holoo-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

.holoo-widget {
  box-sizing: border-box;
  color-scheme: dark;
  font-family: var(--holoo-font);
  color: var(--holoo-text);
  /* No text selection or iOS's long-press "copy/lookup" callout within this
     plugin's own widgets, and touch-action: manipulation removes the
     double-tap-to-zoom gesture specifically (the viewport meta's
     user-scalable=no in includes/shortcodes.php's
     holoo_account_lock_viewport_zoom only covers pinch-zoom - double-tap
     needs this too, on WebKit in particular). Form inputs are exempted
     below: selecting text you've typed to edit/copy it has to keep working.
     Buttons/links still work identically - only selecting and the
     right-click/callout menus are affected. */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
}

.holoo-widget input,
.holoo-widget textarea {
  -webkit-touch-callout: default;
  -webkit-user-select: text;
  user-select: text;
}

.holoo-widget *,
.holoo-widget *::before,
.holoo-widget *::after {
  box-sizing: inherit;
}

.holoo-widget h1,
.holoo-widget h2,
.holoo-widget h3 {
  color: var(--holoo-text-strong);
  margin: 0 0 8px;
}

.holoo-dim {
  color: var(--holoo-dim);
}

.holoo-grow {
  flex: 1 1 auto;
}

/* --- buttons -------------------------------------------------------------- */

.holoo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 16px;
  border-radius: 8px;
  border: 1px solid transparent;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

.holoo-btn:disabled {
  opacity: 0.6;
  cursor: default;
}

.holoo-btn--primary {
  background: var(--holoo-accent);
  color: #fff;
}

.holoo-btn--primary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--holoo-accent) 88%, white);
}

.holoo-btn--ghost {
  background: transparent;
  border-color: var(--holoo-border);
  color: var(--holoo-text);
}

.holoo-btn--ghost:hover:not(:disabled) {
  background: var(--holoo-bg-soft);
}

.holoo-btn--lg {
  padding: 13px 24px;
  font-size: 15px;
}

.holoo-btn--danger {
  background: var(--holoo-down);
  color: #fff;
}

.holoo-btn--danger:hover:not(:disabled) {
  background: color-mix(in srgb, var(--holoo-down) 88%, white);
}

/* --- confirm dialog --------------------------------------------------------
 * A themed stand-in for window.confirm() (see common.js's confirmDialog) -
 * not scoped under .holoo-widget since it is appended straight to <body> so
 * it can sit above everything on the page, not just whichever shortcode
 * happened to call it. */

.holoo-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(6, 8, 12, 0.6);
  padding: 16px;
  font-family: var(--holoo-font);
}

.holoo-confirm-box {
  width: 100%;
  max-width: 360px;
  background: var(--holoo-panel);
  border: 1px solid var(--holoo-border);
  border-radius: var(--holoo-radius);
  padding: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.holoo-confirm-message {
  margin: 0 0 18px;
  color: var(--holoo-text-strong);
  font-size: 14px;
  line-height: 1.5;
}

.holoo-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* --- cards ------------------------------------------------------------- */

.holoo-card {
  padding: 22px;
  margin-bottom: 20px;
  background: var(--holoo-panel);
  border: 1px solid var(--holoo-border);
  border-radius: var(--holoo-radius);
}

.holoo-card h3 {
  font-size: 17px;
}

.holoo-card p {
  color: var(--holoo-dim);
  font-size: 14px;
}

/* --- form fields --------------------------------------------------------- */

.holoo-widget label {
  display: block;
  margin-bottom: 14px;
  color: var(--holoo-dim);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.holoo-widget input[type='text'],
.holoo-widget input[type='email'],
.holoo-widget input[type='password'],
.holoo-widget input[type='url'],
.holoo-widget select {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 9px 11px;
  /* !important on both: some host themes ship their own
     `input[type=...]`/`select` rule with a specificity this could otherwise
     lose to (or that loads after this stylesheet) - the field silently
     rendering with the theme's default white background/black text instead
     of this one is exactly that, not a caching issue. A `<select>` was
     missing from this rule entirely until it was noticed sitting there
     white and a different width than every text input next to it - browsers
     don't give a bare `<select>` any of the styling an `<input>` gets for
     free, so it needs the exact same rule, not a lighter one. */
  background: var(--holoo-bg) !important;
  border: 1px solid var(--holoo-border);
  border-radius: 6px;
  color: #fff !important;
  font: inherit;
  font-size: 14px;
  text-transform: none;
  letter-spacing: 0;
  box-sizing: border-box;
}

.holoo-widget select {
  /* The native dropdown arrow comes with its own light-theme chrome baked
     in on most browsers - a plain custom one instead, so the whole control
     actually looks like it belongs with the text fields around it. */
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23868993' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 11px center !important;
  /* Without an explicit size the SVG rendered at some large intrinsic
     default instead of a small icon - the "oversized double arrow" that
     was reported. */
  background-size: 11px 7px !important;
  padding-right: 30px;
}

.holoo-widget select option {
  background-color: var(--holoo-bg) !important;
  color: var(--holoo-text) !important;
}

.holoo-widget select optgroup {
  background-color: var(--holoo-panel) !important;
  color: var(--holoo-text-strong) !important;
}

.holoo-widget input:focus,
.holoo-widget select:focus {
  outline: none;
  border-color: var(--holoo-accent);
}

/* Chrome/Safari paint a saved-password or autofilled field's background
   solid white via an internal UA style that the normal `background`
   property cannot override, no matter its specificity - the one documented
   way around it is forcing the field's own background via an absurdly
   large inset box-shadow, which paints above the browser's autofill layer,
   plus -webkit-text-fill-color since `color` alone is similarly overridden.
   transition with a very long duration is the standard trick to stop
   Chrome's own autofill background-color *animation* from re-asserting
   white a moment after this applies. */
.holoo-widget input:-webkit-autofill,
.holoo-widget input:-webkit-autofill:hover,
.holoo-widget input:-webkit-autofill:focus,
.holoo-widget input:-webkit-autofill:active {
  -webkit-text-fill-color: #fff;
  -webkit-box-shadow: 0 0 0 1000px var(--holoo-bg) inset;
  box-shadow: 0 0 0 1000px var(--holoo-bg) inset;
  caret-color: #fff;
  transition: background-color 600000s 0s, color 600000s 0s;
}

.holoo-hint {
  display: block;
  margin-top: 4px;
  color: var(--holoo-dim);
  font-size: 11px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}

.holoo-check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  text-transform: none;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  cursor: pointer;
}

.holoo-check input {
  width: auto;
  margin: 0;
}

/* A small "?" that shows an explanation on hover/focus/tap - used next to
   the broker connection's "save my password" checkbox, where the trade-off
   is worth spelling out rather than assuming everyone already knows it. */
.holoo-hint-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex: none;
  border-radius: 50%;
  border: 1px solid var(--holoo-border);
  color: var(--holoo-dim);
  font-size: 11px;
  font-weight: 700;
  cursor: help;
  position: relative;
}

.holoo-hint-icon:hover::after,
.holoo-hint-icon:focus::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  padding: 10px 12px;
  background: var(--holoo-bg, #14171f);
  border: 1px solid var(--holoo-border);
  border-radius: 8px;
  color: var(--holoo-text);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
  text-align: left;
  white-space: normal;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  z-index: 20;
}

/* A compact on/off pill, same shape as the terminal's own - used for the
   "mirroring on" switch in the connected broker's summary. This is itself a
   <label> (wrapping the checkbox, same as every other form label in this
   plugin), so `.holoo-widget label` above - block, uppercase, margin-bottom
   - would otherwise win on specificity (class+element beats this single
   class) and break its row layout entirely: the extra selector here
   (label.holoo-switch) matches that specificity and every property below
   needs to explicitly override, not just add to, that base rule. */
.holoo-widget label.holoo-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: normal;
  text-transform: none;
  color: var(--holoo-text);
  cursor: pointer;
}

.holoo-switch input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.holoo-switch__track {
  position: relative;
  width: 34px;
  height: 19px;
  border-radius: 10px;
  background: var(--holoo-border);
  transition: background 0.12s ease;
  flex: none;
}

.holoo-switch__thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.12s ease;
}

.holoo-switch input:checked + .holoo-switch__track {
  background: var(--holoo-accent);
}

.holoo-switch input:checked + .holoo-switch__track .holoo-switch__thumb {
  transform: translateX(15px);
}

/* The two ways to connect a broker read as clearly separate, equally-weighted
   choices - a plain "TradeLocker" login form under a "cTrader" OAuth button
   used to leave the form with no label of its own, as if it were the only
   option rather than the second half of a choice. */
.holoo-broker-option-title {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--holoo-dim);
}

.holoo-broker-option-divider {
  position: relative;
  margin: 18px 0;
  text-align: center;
  border-top: 1px solid var(--holoo-border);
}

.holoo-broker-option-divider span {
  position: relative;
  top: -10px;
  padding: 0 10px;
  background: var(--holoo-panel);
  color: var(--holoo-dim);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.holoo-broker-summary {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.holoo-broker-summary > div {
  flex: 1 1 auto;
  min-width: 0;
}

.holoo-widget label.holoo-switch {
  flex: 0 0 auto;
  white-space: nowrap;
}

.holoo-broker-account-picker {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 14px;
}

.holoo-broker-account-picker label {
  flex: 1;
  /* Overrides the global label's margin-bottom: 14px - with align-items:
     flex-end above, that trailing margin was part of the label's own flex
     box, so the button aligned to the bottom of the margin, not the visible
     bottom edge of the <select> it sits next to - it visibly sat lower
     than the dropdown instead of level with it. */
  margin-bottom: 0;
}

.holoo-mono {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  letter-spacing: 0.5px;
}

.holoo-lede {
  margin: 0 0 16px;
  color: var(--holoo-dim);
  font-size: 13px;
  line-height: 1.5;
}

.holoo-lede--lg {
  font-size: 16px;
  max-width: 54ch;
}

/* --- messages ------------------------------------------------------------- */

.holoo-error {
  margin: 0 0 12px;
  padding: 9px 11px;
  background: rgba(239, 83, 80, 0.12);
  border: 1px solid rgba(239, 83, 80, 0.35);
  border-radius: 6px;
  color: var(--holoo-down);
  font-size: 13px;
}

.holoo-success {
  margin: 0 0 12px;
  padding: 9px 11px;
  background: rgba(38, 166, 154, 0.12);
  border: 1px solid rgba(38, 166, 154, 0.35);
  border-radius: 6px;
  color: var(--holoo-up);
  font-size: 13px;
}

.holoo-notice {
  padding: 12px 14px;
  margin-bottom: 20px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.5;
}

.holoo-notice--warn {
  background: rgba(255, 179, 0, 0.12);
  border: 1px solid rgba(255, 179, 0, 0.35);
  color: #ffca66;
}

.holoo-notice--warn a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  margin-left: 6px;
}

/* --- the sign-in/sign-up/MFA form set ------------------------------------- */

.holoo-auth {
  width: min(100%, 392px);
  padding: 26px;
  background: var(--holoo-panel);
  border: 1px solid var(--holoo-border);
  border-radius: 12px;
}

.holoo-auth__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
}

/* As a modal: the widget IS the scrim, and .holoo-auth is the centred card
   inside it - as an inline embed, .holoo-scrim never applies. */
.holoo-widget.holoo-scrim {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(8, 10, 15, 0.72);
  backdrop-filter: blur(3px);
}

.holoo-widget.holoo-scrim[hidden] {
  display: none;
}

.holoo-qr {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 180px;
  margin-bottom: 16px;
  padding: 12px;
  background: #ffffff;
  border-radius: 8px;
  color: #4b5563;
  font-size: 13px;
}

.holoo-qr svg {
  width: 190px;
  height: 190px;
}

/* --- full-bleed landing page: hide the theme's own header/footer ---------- */
/* Added only on pages that actually carry [holoo_landing] - see the
   holoo_account_landing_body_class filter in includes/shortcodes.php. */

/* --holoo-bg now lives on :root (see the top of this file), so this only
   needs to apply it - not redeclare it - and an Additional CSS override of
   --holoo-bg automatically reaches this background too. */
body.holoo-fullbleed {
  background: var(--holoo-bg);
}

/* Two different conventions have to be covered, not one - a block theme
   (Twenty Twenty-Four etc.) renders its header/footer as
   header/footer.wp-block-template-part; a classic theme (Kadence, Astra,
   most others) renders them as #masthead / #colophon instead. Missing
   either one means that theme's own header silently stacks on top of this
   plugin's dark nav - exactly what happened switching from a block theme to
   Kadence on 2026-09-26, caught by checking the live HTML after the switch,
   not by assuming the selector generalised. */
body.holoo-fullbleed header.wp-block-template-part,
body.holoo-fullbleed footer.wp-block-template-part,
body.holoo-fullbleed #masthead,
body.holoo-fullbleed #colophon,
body.holoo-fullbleed .entry-hero,
body.holoo-fullbleed .wp-block-post-title {
  display: none;
}

body.holoo-fullbleed .wp-site-blocks,
body.holoo-fullbleed .content-area,
body.holoo-fullbleed .entry-content-wrap,
body.holoo-fullbleed #main,
body.holoo-fullbleed .site-main,
body.holoo-fullbleed .entry {
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* .site-container is Kadence's own centering wrapper (max-width + margin:
   0 auto) - zeroing its margin the same way as the others above collapses
   that centering and left-aligns the whole page (caught live on
   trading.holoo.com.au after the first fix shipped: the double header was
   gone, but everything had shifted to the left edge). Only its padding is
   this plugin's to reset; its margin stays Kadence's. */
body.holoo-fullbleed .site-container {
  padding: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Ambient background - three soft, colour-matched glows fixed to the
   viewport, so scrolling never runs off the edge of a flat effect the way
   a background only on .holoo-hero would. z-index: -1 keeps it behind
   every normal in-flow element without needing to touch any of their own
   stacking - the standard "fixed decorative background" pattern. Built from
   --holoo-accent/--holoo-up so it re-tints automatically with an Additional
   CSS colour override, the same as everything else in this file. */
body.holoo-fullbleed::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(640px circle at 12% 15%, color-mix(in srgb, var(--holoo-accent) 22%, transparent), transparent 60%),
    radial-gradient(520px circle at 88% 10%, color-mix(in srgb, var(--holoo-up) 18%, transparent), transparent 60%),
    radial-gradient(760px circle at 50% 100%, color-mix(in srgb, var(--holoo-accent) 12%, transparent), transparent 70%);
}

/* --- [holoo_portfolio] ------------------------------------------------------ */

.holoo-portfolio-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 24px 20px 64px;
}

.holoo-portfolio-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.holoo-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.holoo-history-head h3 {
  margin: 0;
}

.holoo-range-picker {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.holoo-history-status {
  min-height: 1.25em;
  margin: -4px 0 12px;
  font-size: 12px;
}

.holoo-range-select,
.holoo-range-from,
.holoo-range-to {
  padding: 7px 9px;
  background: var(--holoo-bg);
  border: 1px solid var(--holoo-border);
  border-radius: 6px;
  color: #fff;
  font: inherit;
  font-size: 13px;
}

.holoo-range-custom {
  display: flex;
  align-items: center;
  gap: 6px;
}

.holoo-history-chart-wrap {
  position: relative;
  margin-bottom: 18px;
}

.holoo-history-chart {
  display: block;
  width: 100%;
  height: 140px;
}

.holoo-history-chart rect.is-up {
  fill: var(--holoo-up);
}

.holoo-history-chart rect.is-down {
  fill: var(--holoo-down);
}

.holoo-history-chart__zero {
  stroke: var(--holoo-border);
  stroke-width: 1;
}

.holoo-history-chart-empty {
  text-align: center;
  padding: 20px 0;
  font-size: 13px;
}

.holoo-mode-toggle {
  display: inline-flex;
  border: 1px solid var(--holoo-border);
  border-radius: 8px;
  overflow: hidden;
}

.holoo-mode-toggle button {
  padding: 8px 16px;
  border: none;
  background: transparent;
  color: var(--holoo-dim);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
}

.holoo-mode-toggle button.is-active {
  background: var(--holoo-accent);
  color: #fff;
}

.holoo-stat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.holoo-stat {
  padding: 14px 16px;
  background: var(--holoo-panel);
  border: 1px solid var(--holoo-border);
  border-radius: var(--holoo-radius);
}

.holoo-stat span {
  display: block;
  font-size: 12px;
  color: var(--holoo-dim);
  margin-bottom: 4px;
}

.holoo-stat strong {
  font-size: 18px;
  font-weight: 700;
  color: var(--holoo-text-strong);
}

.holoo-stat strong.is-up {
  color: var(--holoo-up);
}

.holoo-stat strong.is-down {
  color: var(--holoo-down);
}

.holoo-table-wrap {
  overflow-x: auto;
}

.holoo-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.holoo-table th {
  text-align: left;
  padding: 8px 10px;
  color: var(--holoo-dim);
  font-weight: 600;
  border-bottom: 1px solid var(--holoo-border);
  white-space: nowrap;
}

.holoo-table td {
  padding: 10px;
  border-bottom: 1px solid var(--holoo-border);
  white-space: nowrap;
}

.holoo-table tr:last-child td {
  border-bottom: none;
}

.holoo-table .is-up {
  color: var(--holoo-up);
}

.holoo-table .is-down {
  color: var(--holoo-down);
}

.holoo-table-empty td {
  color: var(--holoo-dim);
  text-align: center;
  padding: 24px 10px;
}

/* --- [holoo_landing] ------------------------------------------------------ */

.holoo-landing {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
}

.holoo-eyebrow {
  margin: 0 0 12px;
  color: var(--holoo-accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.holoo-grad {
  background: linear-gradient(90deg, var(--holoo-up), var(--holoo-accent));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Nav ---------------------------------------------------------------- */

.holoo-nav {
  display: flex;
  align-items: center;
  gap: 24px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 20px 0;
}

.holoo-nav__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 21px;
  font-weight: 800;
  color: var(--holoo-text-strong);
  text-decoration: none;
  margin-right: auto;
}

.holoo-nav__mark {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
}

/* .holoo-nav__panel wraps both the links and the sign-in/chart-button
   actions, so on a narrow screen the hamburger toggle can show or hide the
   whole group as one unit rather than the two independently. On a wide
   screen it's just a plain flex passthrough - the grouping costs nothing
   there. */
.holoo-nav__panel {
  display: flex;
  align-items: center;
  gap: 24px;
}

.holoo-nav__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.holoo-nav__links {
  display: flex;
  gap: 24px;
}

.holoo-nav__links a {
  color: var(--holoo-dim);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}

.holoo-nav__links a:hover {
  color: var(--holoo-text-strong);
}

/* Hidden entirely above the mobile breakpoint (see the media query at the
   bottom of this file) - a hamburger button has nothing to do when every
   link already fits on one line. */
.holoo-nav__toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 34px;
  height: 34px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--holoo-border);
  border-radius: 8px;
  cursor: pointer;
}

.holoo-nav__toggle span {
  width: 16px;
  height: 2px;
  margin: 0 auto;
  background: var(--holoo-text);
  border-radius: 1px;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.holoo-nav.is-open .holoo-nav__toggle span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.holoo-nav.is-open .holoo-nav__toggle span:nth-child(2) {
  opacity: 0;
}

.holoo-nav.is-open .holoo-nav__toggle span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Hero ----------------------------------------------------------------- */

.holoo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: center;
  gap: 48px;
  padding: 48px 0 72px;
}

.holoo-hero h1 {
  font-size: clamp(32px, 4.2vw, 52px);
  line-height: 1.08;
  margin-bottom: 18px;
  letter-spacing: -0.5px;
}

.holoo-hero__cta {
  margin-top: 28px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.holoo-hero__trust {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--holoo-dim);
}

.holoo-hero__trust li {
  display: flex;
  align-items: center;
  gap: 6px;
}

.holoo-hero__trust li::before {
  content: '✓';
  color: var(--holoo-up);
  font-weight: 700;
}

.holoo-hero__visual {
  position: relative;
}

/* A soft glow ring behind the card, slightly larger and blurred, rather
   than only a box-shadow on the card itself - reads as the card floating
   in front of the ambient background instead of sitting flat on it. */
.holoo-hero__visual::before {
  content: '';
  position: absolute;
  inset: -24px;
  z-index: -1;
  background: radial-gradient(
    circle at 30% 20%,
    color-mix(in srgb, var(--holoo-accent) 35%, transparent),
    transparent 65%
  );
  filter: blur(32px);
}

.holoo-mock {
  background: linear-gradient(
    165deg,
    color-mix(in srgb, var(--holoo-panel) 88%, var(--holoo-up) 6%),
    var(--holoo-bg-soft) 60%,
    color-mix(in srgb, var(--holoo-bg) 90%, var(--holoo-up) 4%)
  );
  border: 1px solid color-mix(in srgb, var(--holoo-border) 70%, var(--holoo-accent) 15%);
  border-radius: 16px;
  overflow: hidden;
  backdrop-filter: blur(6px);
  box-shadow: 0 40px 90px -35px color-mix(in srgb, var(--holoo-accent) 55%, transparent),
    0 12px 36px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.holoo-mock--image {
  /* height was previously left to the parent grid/card, with the <img>
     itself pinned to aspect-ratio + object-fit: cover. That backfired live
     on trading.holoo.com.au (Kadence's theme CSS constrains this card's
     height in a way this local WordPress sandbox does not reproduce), so
     "cover" cropped the bottom of the image off instead of preventing
     distortion. line-height: 0 here removes the few px of inline-image
     baseline gap under the <img> - the actual reason `display:block` was
     on the <img> before - without needing any height rule on this wrapper
     that a theme could then constrain. */
  line-height: 0;
}

.holoo-mock--image img {
  /* width:100% + height:auto derives the height from the image's own
     intrinsic ratio - it cannot crop, because nothing ever asks it to be a
     specific height; the box just becomes whatever the image needs. This
     is the failure-mode-free option: worse case here is the card ending up
     visually taller than the text column beside it, never a cut-off image. */
  display: block;
  width: 100%;
  height: auto;
}

/* Stats ------------------------------------------------------------------ */

.holoo-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  padding: 28px 0;
  margin-bottom: 24px;
  border-top: 1px solid var(--holoo-border);
  border-bottom: 1px solid var(--holoo-border);
}

.holoo-stats > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.holoo-stats strong {
  font-size: 28px;
  font-weight: 800;
  color: var(--holoo-text-strong);
}

.holoo-stats span {
  font-size: 13px;
  color: var(--holoo-dim);
}

/* Features ----------------------------------------------------------- */

.holoo-section-head {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 36px;
}

.holoo-section-head h2 {
  font-size: clamp(24px, 3vw, 32px);
  margin: 0;
}

.holoo-features {
  padding: 64px 0;
}

.holoo-features__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.holoo-card {
  transition: transform 0.15s ease, border-color 0.15s ease;
}

.holoo-features .holoo-card:hover {
  transform: translateY(-2px);
  border-color: var(--holoo-accent);
}

.holoo-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(41, 98, 255, 0.18), rgba(38, 166, 154, 0.18));
  font-size: 18px;
  color: var(--holoo-text-strong);
}

/* Why self-hosted ------------------------------------------------------ */

.holoo-why {
  padding: 32px 0 72px;
}

.holoo-why__copy {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.holoo-why__copy h2 {
  font-size: clamp(24px, 3vw, 32px);
  margin: 0 0 28px;
}

.holoo-why__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
  text-align: left;
}

.holoo-why__list li {
  padding: 16px 18px;
  background: var(--holoo-panel);
  border: 1px solid var(--holoo-border);
  border-radius: var(--holoo-radius);
  color: var(--holoo-dim);
  font-size: 14px;
  line-height: 1.5;
}

.holoo-why__list li strong {
  color: var(--holoo-text-strong);
}

/* Closing CTA ------------------------------------------------------------ */

.holoo-cta-banner {
  text-align: center;
  padding: 56px 32px;
  margin: 0 0 64px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(41, 98, 255, 0.14), rgba(38, 166, 154, 0.14));
  border: 1px solid var(--holoo-border);
}

.holoo-cta-banner h2 {
  margin: 0 0 8px;
  font-size: clamp(22px, 3vw, 30px);
}

.holoo-cta-banner p {
  margin: 0 0 24px;
  color: var(--holoo-dim);
}

.holoo-landing-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 28px 0 48px;
  border-top: 1px solid var(--holoo-border);
}

.holoo-landing-footer p {
  margin: 0;
  font-size: 13px;
}

@media (max-width: 860px) {
  .holoo-hero {
    grid-template-columns: 1fr;
    padding-top: 24px;
  }

  .holoo-hero__visual {
    order: -1;
  }

  .holoo-nav {
    position: relative;
    flex-wrap: wrap;
  }

  .holoo-nav__toggle {
    display: flex;
  }

  /* The panel becomes a dropdown card anchored under the bar, not part of
     the flex row - hidden entirely (not just visually) until .is-open, so
     it can never be tabbed into or read by a screen reader while closed. */
  .holoo-nav__panel {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 16px;
    background: var(--holoo-panel);
    border: 1px solid var(--holoo-border);
    border-radius: var(--holoo-radius);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
    z-index: 20;
  }

  .holoo-nav.is-open .holoo-nav__panel {
    display: flex;
  }

  .holoo-nav__links {
    flex-direction: column;
    gap: 4px;
  }

  .holoo-nav__links a {
    padding: 8px 4px;
  }

  .holoo-nav__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .holoo-nav__actions .holoo-btn {
    width: 100%;
  }
}

/* --- general mobile/tablet polish, applies to every shortcode ------------- */

@media (max-width: 640px) {
  .holoo-landing,
  .holoo-portfolio-page,
  .holoo-account-page {
    padding-left: 16px;
    padding-right: 16px;
  }

  .holoo-nav {
    padding: 14px 0;
  }

  .holoo-features,
  .holoo-why {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .holoo-cta-banner {
    padding: 36px 20px;
  }

  .holoo-portfolio-head,
  .holoo-history-head {
    flex-direction: column;
    align-items: stretch;
  }

  .holoo-range-picker {
    width: 100%;
  }

  .holoo-range-select,
  .holoo-history-refresh,
  .holoo-history-export-csv,
  .holoo-history-export-excel {
    width: 100%;
  }

  .holoo-range-picker > button {
    flex: 1 1 calc(33.333% - 8px);
  }

  .holoo-range-custom {
    flex-wrap: wrap;
  }

  .holoo-range-from,
  .holoo-range-to {
    flex: 1 1 auto;
    min-width: 0;
  }

  .holoo-landing-footer {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  /* Data tables (portfolio positions/history) stay usable rather than
     forcing the whole page wider than the screen - .holoo-table-wrap's own
     overflow-x:auto already lets a table scroll horizontally on its own,
     this only tightens the padding so more of it fits before that kicks in. */
  .holoo-table th,
  .holoo-table td {
    padding: 8px 6px;
    font-size: 12px;
  }

  /* Every button row in the plugin (sign-in/sign-up/MFA actions, the
     account page's password/MFA/danger-zone rows, the method picker) shares
     this shape: a flex row with a couple of buttons and often a .holoo-grow
     spacer pushing the last one right. On a real phone that never wraps on
     its own - flex items don't shrink below their content width by default -
     so it silently overflows the card instead of breaking onto a second
     line, exactly what happened on the sign-in modal at 460px wide. Stacking
     everything full-width below this breakpoint is the general fix, not a
     one-off for that one form. */
  .holoo-auth__actions,
  .holoo-form__actions,
  .holoo-account-danger,
  .holoo-mfa-method-picker,
  .holoo-mode-toggle {
    flex-direction: column;
    align-items: stretch;
  }

  .holoo-auth__actions .holoo-grow,
  .holoo-form__actions .holoo-grow {
    display: none;
  }

  .holoo-auth__actions .holoo-btn,
  .holoo-form__actions .holoo-btn,
  .holoo-account-danger .holoo-btn,
  .holoo-mfa-method-picker .holoo-btn,
  .holoo-mode-toggle button {
    width: 100%;
  }

  .holoo-hero__cta .holoo-btn {
    width: 100%;
  }
}

/* --- [holoo_account] ------------------------------------------------------ */

.holoo-account-page {
  max-width: 640px;
  margin: 0 auto;
  padding: 24px 20px 64px;
}

.holoo-signed-out {
  text-align: center;
}

.holoo-signed-out .holoo-btn {
  margin-top: 12px;
}

.holoo-form__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}

.holoo-mfa-method-status {
  margin: 2px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--holoo-down);
}

.holoo-mfa-method-status.is-on {
  color: var(--holoo-up);
}

.holoo-mfa-method-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid var(--holoo-border);
}

.holoo-mfa-method-row:first-of-type {
  border-top: none;
  padding-top: 4px;
}

.holoo-mfa-setup-panel {
  margin: 4px 0 16px;
  padding: 16px;
  border: 1px solid var(--holoo-border);
  border-radius: 8px;
  background: var(--holoo-bg-alt, rgba(255, 255, 255, 0.03));
}

.holoo-mfa-method-picker {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.holoo-link {
  background: none;
  border: none;
  padding: 0;
  color: var(--holoo-accent, #2962ff);
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
}

.holoo-link:disabled {
  opacity: 0.6;
  cursor: default;
}

.holoo-account-danger {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

/* Account and portfolio surfaces share a compact dashboard-style header and
   responsive card grid while keeping the existing form and API hooks intact. */
.holoo-account-page,
.holoo-portfolio-page {
  width: min(1320px, 100%);
  max-width: 1320px;
}

.holoo-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 22px;
  padding: 24px 26px;
  border: 1px solid var(--holoo-border);
  border-radius: 14px;
  background:
    radial-gradient(500px circle at 100% 0, color-mix(in srgb, var(--holoo-accent) 19%, transparent), transparent 65%),
    linear-gradient(135deg, var(--holoo-panel), color-mix(in srgb, var(--holoo-panel) 78%, var(--holoo-bg)));
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.16);
}

.holoo-page-head__copy {
  min-width: 0;
}

.holoo-page-eyebrow {
  display: block;
  margin-bottom: 7px;
  color: var(--holoo-accent);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}

.holoo-page-head h2,
.holoo-portfolio-head h2 {
  margin: 0;
  color: var(--holoo-text-strong);
  font-size: clamp(23px, 3vw, 30px);
  letter-spacing: -0.5px;
}

.holoo-page-head p,
.holoo-portfolio-head p {
  margin: 7px 0 0;
  font-size: 14px;
  line-height: 1.55;
}

.holoo-identity-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  max-width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--holoo-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--holoo-bg) 78%, transparent);
  color: var(--holoo-dim);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.holoo-identity-chip strong {
  color: var(--holoo-text-strong);
}

.holoo-identity-dot {
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: 50%;
  background: var(--holoo-up);
  box-shadow: 0 0 12px color-mix(in srgb, var(--holoo-up) 65%, transparent);
}

.holoo-account-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 16px;
}

.holoo-account-body > .holoo-notice,
.holoo-account-card--security,
.holoo-account-card--broker,
.holoo-account-card--session {
  grid-column: 1 / -1;
}

.holoo-account-card,
.holoo-portfolio-body > .holoo-card {
  min-width: 0;
  margin: 0;
  padding: 22px;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.holoo-account-card h3,
.holoo-portfolio-body > .holoo-card h3 {
  margin-bottom: 14px;
}

.holoo-profile-form,
.holoo-password-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
}

.holoo-profile-form label:nth-child(3),
.holoo-profile-form > p,
.holoo-profile-form .holoo-form__actions,
.holoo-password-form > p,
.holoo-password-form .holoo-form__actions {
  grid-column: 1 / -1;
}

.holoo-account-card--broker {
  background:
    radial-gradient(620px circle at 100% 0, color-mix(in srgb, var(--holoo-accent) 12%, transparent), transparent 68%),
    var(--holoo-panel);
}

.holoo-broker-intro {
  max-width: 760px;
  line-height: 1.65;
}

.holoo-broker-providers {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) 44px minmax(0, 1.18fr);
  align-items: stretch;
  gap: 14px;
  margin-top: 20px;
}

.holoo-broker-provider {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--holoo-border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--holoo-bg) 48%, transparent);
}

.holoo-broker-provider--ctrader .holoo-broker-ctrader-connect {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.holoo-broker-provider--ctrader p {
  margin: 0;
  line-height: 1.6;
}

.holoo-broker-provider .holoo-broker-connected {
  margin-bottom: 16px;
}

.holoo-broker-provider .holoo-broker-summary {
  align-items: flex-start;
}

.holoo-broker-provider .holoo-broker-connect-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 12px;
}

.holoo-broker-provider .holoo-broker-connect-form > label:nth-of-type(2),
.holoo-broker-provider .holoo-broker-connect-form > .holoo-error,
.holoo-broker-provider .holoo-broker-connect-form > .holoo-success,
.holoo-broker-provider .holoo-broker-connect-form > .holoo-form__actions {
  grid-column: 1 / -1;
}

.holoo-broker-option-divider {
  align-self: center;
  margin: 0;
  border-top: 0;
  border-left: 1px solid var(--holoo-border);
  height: 100%;
}

.holoo-broker-option-divider span {
  position: relative;
  top: 50%;
  left: -1px;
  padding: 8px 0;
  background: var(--holoo-panel);
  transform: translate(-50%, -50%);
}

.holoo-portfolio-head {
  align-items: center;
  min-height: 118px;
  padding: 22px 26px;
  border: 1px solid var(--holoo-border);
  border-radius: 14px;
  background:
    radial-gradient(480px circle at 100% 0, color-mix(in srgb, var(--holoo-accent) 18%, transparent), transparent 65%),
    var(--holoo-panel);
}

.holoo-portfolio-head .holoo-mode-toggle {
  flex: none;
  padding: 4px;
  border-radius: 10px;
  background: var(--holoo-bg);
}

.holoo-portfolio-head .holoo-mode-toggle button {
  min-width: 92px;
  border-radius: 7px;
}

.holoo-stat-row {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 175px), 1fr));
  gap: 14px;
  margin: 0 0 18px;
}

.holoo-stat {
  min-width: 0;
  padding: 17px 18px;
  background: linear-gradient(145deg, var(--holoo-panel), color-mix(in srgb, var(--holoo-panel) 82%, var(--holoo-bg)));
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.1);
}

.holoo-stat strong {
  display: block;
  overflow-wrap: anywhere;
  font-size: clamp(16px, 2vw, 20px);
}

.holoo-portfolio-body > .holoo-card + .holoo-card {
  margin-top: 16px;
}

.holoo-range-select,
.holoo-range-from,
.holoo-range-to {
  color-scheme: dark;
  background-color: var(--holoo-bg) !important;
  color: var(--holoo-text-strong) !important;
}

.holoo-range-select option,
.holoo-range-select optgroup {
  background-color: var(--holoo-panel) !important;
  color: var(--holoo-text) !important;
}

@media (max-width: 760px) {
  .holoo-account-body {
    grid-template-columns: minmax(0, 1fr);
  }

  .holoo-account-body > *,
  .holoo-account-body > .holoo-notice,
  .holoo-account-card--security,
  .holoo-account-card--broker,
  .holoo-account-card--session {
    grid-column: 1;
  }

  .holoo-broker-providers {
    grid-template-columns: minmax(0, 1fr);
  }

  .holoo-broker-option-divider {
    height: 1px;
    border-left: 0;
    border-top: 1px solid var(--holoo-border);
  }

  .holoo-broker-option-divider span {
    top: -10px;
    left: 50%;
    padding: 0 10px;
    transform: translateX(-50%);
  }
}

@media (max-width: 520px) {
  .holoo-page-head,
  .holoo-portfolio-head {
    align-items: stretch;
    flex-direction: column;
    padding: 19px;
  }

  .holoo-identity-chip {
    align-self: flex-start;
  }

  .holoo-account-card,
  .holoo-portfolio-body > .holoo-card,
  .holoo-broker-provider {
    padding: 16px;
  }

  .holoo-profile-form,
  .holoo-password-form,
  .holoo-broker-provider .holoo-broker-connect-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .holoo-profile-form > *,
  .holoo-password-form > *,
  .holoo-broker-provider .holoo-broker-connect-form > * {
    grid-column: 1;
  }

  .holoo-portfolio-head .holoo-mode-toggle {
    display: flex;
    width: 100%;
  }

  .holoo-portfolio-head .holoo-mode-toggle button {
    flex: 1 1 0;
  }
}

@media (max-width: 480px) {
  .holoo-auth {
    padding: 20px;
  }
}


/* Keep signup actions compact without splitting button labels. */
.holoo-auth #holoo-step-signup .holoo-auth__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 10px;
}
.holoo-auth #holoo-step-signup .holoo-auth__actions > .holoo-grow { display: none; }
.holoo-auth #holoo-step-signup [data-switch-to='signin'] { grid-column: 1 / -1; }
.holoo-auth #holoo-step-signup .holoo-auth__actions > .holoo-btn {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 8px 10px;
  line-height: 20px;
  white-space: nowrap;
}

/* Sign-in actions keep the intended balanced two-row layout at every viewport. */
.holoo-auth #holoo-step-signin .holoo-auth__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 10px;
}
.holoo-auth #holoo-step-signin .holoo-auth__actions > .holoo-grow { display: none; }
.holoo-auth #holoo-step-signin [data-switch-to='signup'] { grid-column: 1; grid-row: 1; }
.holoo-auth #holoo-step-signin button[type='submit'] { grid-column: 2; grid-row: 1; }
.holoo-auth #holoo-step-signin [data-close] { grid-column: 1; grid-row: 2; }
.holoo-auth #holoo-step-signin [data-switch-to='password-reset'] {
  grid-column: 2;
  grid-row: 2;
  justify-self: center;
  align-self: center;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 12px;
  text-align: center;
}
.holoo-auth #holoo-step-signin .holoo-auth__actions > .holoo-btn {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding-inline: 10px;
  white-space: normal;
}
