
:root{
  --alora-theme-pink:#f04a8e;
  --alora-theme-soft:#fff0f6;
  --alora-theme-ink:#2b1d24;
  --alora-theme-muted:#8d6d78;
  --alora-theme-line:#ffd1e1;
}

.alora-theme-part{
  box-sizing:border-box;
  width:100%;
  position:relative;
  z-index:20;
}

.alora-theme-part *{
  box-sizing:border-box;
}

.alora-theme-part .alora-section,
.alora-theme-preview-shell .alora-section{
  width:100%;
  max-width:1180px;
  margin:0 auto 18px;
  padding:44px;
  border-radius:28px;
  background:var(--alora-theme-soft);
  border:1px solid var(--alora-theme-line);
  color:var(--alora-theme-ink);
  box-shadow:0 18px 60px rgba(240,74,142,.10);
}

.alora-theme-part h1,
.alora-theme-part h2,
.alora-theme-part h3,
.alora-theme-preview-shell h1,
.alora-theme-preview-shell h2,
.alora-theme-preview-shell h3{
  color:var(--alora-theme-ink);
  line-height:1.05;
  letter-spacing:-.04em;
  margin:0 0 14px;
}

.alora-theme-part p,
.alora-theme-preview-shell p{
  color:var(--alora-theme-muted);
  line-height:1.55;
}

.alora-theme-part button,
.alora-theme-preview-shell button{
  appearance:none;
  border:1px solid var(--alora-theme-pink);
  background:var(--alora-theme-pink);
  color:#fff;
  border-radius:999px;
  padding:12px 18px;
  font-weight:900;
  cursor:pointer;
}

.alora-theme-part button + button,
.alora-theme-preview-shell button + button{
  background:#fff;
  color:var(--alora-theme-ink);
  border-color:var(--alora-theme-line);
}

.alora-theme-popup{
  position:fixed;
  inset:auto 24px 24px auto;
  max-width:min(420px, calc(100vw - 48px));
  z-index:99999;
}

.alora-theme-preview-body{
  margin:0;
  padding:32px;
  background:#fff7fb;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.alora-theme-preview-shell{
  max-width:1240px;
  margin:auto;
}

.alora-preview-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:18px;
  padding:14px 16px;
  border:1px solid var(--alora-theme-line);
  border-radius:18px;
  background:#fff;
  color:var(--alora-theme-muted);
}

.alora-preview-meta strong{
  color:var(--alora-theme-ink);
}


/* v4.9 frontend nested runtime */
.alora-theme-part .alora-nested-node {
  border:0;
  border-radius:22px;
  padding:18px;
  margin:14px 0;
}

.alora-theme-part .alora-nested-label {
  display:none;
}

.alora-theme-part .alora-nested-columns {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.alora-theme-part .alora-nested-column {
  border:1px solid var(--alora-theme-line);
  border-radius:18px;
  background:#fff;
  padding:22px;
}

@media (max-width:782px){
  .alora-theme-part .alora-nested-columns {
    grid-template-columns:1fr;
  }
}


/* v4.9.1 nested frontend runtime */
.alora-theme-part [data-nested-node="true"] {
  box-sizing:border-box;
}

.alora-theme-part .alora-column-resize-handle,
.alora-theme-part .alora-nested-resize-handle {
  display:none !important;
}


/* v4.9.2 frontend independent columns */
.alora-theme-part .alora-nested-column {
  position: relative;
  overflow: visible;
}


/* v4.9.3 frontend cleanup */
.alora-theme-part .alora-nested-mini-tools {
  display: none !important;
}


/* v4.9.4 frontend detached columns */
.alora-theme-part .alora-nested-columns.alora-columns-has-detached {
  position: relative;
  display: block;
  min-height: 260px;
}

.alora-theme-part .alora-nested-column.alora-column-detached {
  position: absolute;
}

/* v4.9.6 frontend cleanup */
.alora-theme-part .alora-nested-mini-tools,.alora-theme-part .alora-nested-grip{display:none!important;}


/* v5.0 frontend real components */
.alora-theme-part .alora-component-v50 {
  position:relative;
  margin:12px 0;
  padding:var(--component-padding, 22px);
  border-radius:var(--component-radius, 22px);
  background:var(--component-bg, #fff0f6);
  color:var(--component-color, #2b1d24);
  border:1px solid rgba(240,74,142,.18);
}

.alora-theme-part .alora-component-v50-toolbar {
  display:none !important;
}

.alora-theme-part .alora-component-v50.component-shadow-none { box-shadow:none; }
.alora-theme-part .alora-component-v50.component-shadow-soft { box-shadow:0 14px 38px rgba(240,74,142,.10); }
.alora-theme-part .alora-component-v50.component-shadow-luxury { box-shadow:0 24px 70px rgba(240,74,142,.18); }

.alora-theme-part .alora-component-v50 h1,
.alora-theme-part .alora-component-v50 h2,
.alora-theme-part .alora-component-v50 h3 {
  margin:0 0 10px;
  color:inherit;
  line-height:1.08;
  letter-spacing:-.04em;
}

.alora-theme-part .alora-component-v50 p {
  margin:0 0 10px;
  color:inherit;
  opacity:.78;
  line-height:1.55;
}

.alora-theme-part .alora-component-button,
.alora-theme-part .alora-component-v50 button {
  display:inline-flex;
  border:1px solid var(--alora-theme-pink, #f04a8e);
  background:var(--alora-theme-pink, #f04a8e);
  color:#fff;
  border-radius:999px;
  padding:11px 16px;
  font-weight:900;
  text-decoration:none;
}

.alora-theme-part .alora-image-placeholder {
  min-height:160px;
  display:grid;
  place-items:center;
  border:1px dashed var(--alora-theme-line, #ffd1e1);
  border-radius:18px;
  background:#fff;
}

.alora-theme-part .alora-component-form {
  display:grid;
  gap:10px;
}

.alora-theme-part .alora-component-form input,
.alora-theme-part .alora-component-form textarea {
  border:1px solid var(--alora-theme-line, #ffd1e1);
  border-radius:14px;
  background:#fff;
  padding:11px 12px;
}

.alora-theme-part .alora-component-navbar,
.alora-theme-part .alora-component-footer {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  justify-content:space-between;
}

.alora-theme-part .alora-component-navbar a,
.alora-theme-part .alora-component-footer a {
  color:inherit;
  font-weight:800;
  text-decoration:none;
}

@media (min-width: 1025px) {
  .alora-theme-part .alora-component-v50.hide-desktop { display:none !important; }
}

@media (min-width: 783px) and (max-width: 1024px) {
  .alora-theme-part .alora-component-v50.hide-tablet { display:none !important; }
}

@media (max-width: 782px) {
  .alora-theme-part .alora-component-v50.hide-mobile { display:none !important; }
  .alora-theme-part .alora-component-navbar,
  .alora-theme-part .alora-component-footer {
    display:grid;
    justify-content:stretch;
  }
}

/* v5.1 frontend token + responsive runtime */
.alora-theme-part{font-family:var(--alora-token-font,Inter,system-ui,sans-serif)}
.alora-theme-part .alora-section{background:var(--alora-token-surface,#fff0f6);color:var(--alora-token-ink,#2b1d24);box-shadow:var(--alora-token-shadow,0 24px 70px rgba(240,74,142,.18))}
.alora-theme-part .alora-component-v50{background:var(--component-bg,var(--alora-token-surface,#fff0f6));color:var(--component-color,var(--alora-token-ink,#2b1d24));padding:calc(var(--component-padding,22px)*var(--alora-spacing-scale,1));border-radius:calc(var(--component-radius,22px)*var(--alora-radius-scale,1));width:var(--component-desktop-width,100%)}
.alora-theme-part .alora-component-button,.alora-theme-part .alora-component-v50 button{background:var(--alora-token-primary,#f04a8e);border-color:var(--alora-token-primary,#f04a8e)}
@media(max-width:1024px) and (min-width:783px){.alora-theme-part .alora-component-v50{width:var(--component-tablet-width,100%)}}
@media(max-width:782px){.alora-theme-part .alora-component-v50{width:var(--component-mobile-width,100%);font-size:var(--component-mobile-font,95%)}}


/* v5.1.1 Preview Runtime Controller */
.alora-preview-runtime-controller{position:fixed!important;left:50%!important;bottom:22px!important;transform:translateX(-50%)!important;z-index:2147483000!important;display:flex!important;align-items:center!important;gap:10px!important;padding:12px 14px!important;border:1px solid rgba(240,74,142,.22)!important;border-radius:999px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 20px 60px rgba(240,74,142,.18)!important;backdrop-filter:blur(14px)!important;font-family:Inter,system-ui,sans-serif!important}
.alora-preview-runtime-controller strong{color:#2b1d24!important;font-size:13px!important;font-weight:900!important;white-space:nowrap!important}
.alora-preview-runtime-controller .alora-preview-btn,.alora-preview-runtime-controller .alora-preview-close{border:1px solid rgba(240,74,142,.22)!important;background:#fff!important;color:#f04a8e!important;border-radius:999px!important;padding:9px 13px!important;font-size:12px!important;font-weight:900!important;line-height:1!important;cursor:pointer!important}
.alora-preview-runtime-controller .alora-preview-btn.is-primary{background:#f04a8e!important;color:#fff!important;border-color:#f04a8e!important}
.alora-preview-runtime-controller .alora-preview-close{width:34px!important;height:34px!important;padding:0!important;display:inline-grid!important;place-items:center!important;font-size:18px!important}
@media(max-width:700px){.alora-preview-runtime-controller{left:12px!important;right:12px!important;bottom:12px!important;transform:none!important;justify-content:center!important;flex-wrap:wrap!important;border-radius:22px!important}}


/* v5.1.2 Runtime Top Controls */
.runtime-frontend-edit-btn {
  border: 1px solid rgba(240,74,142,.22) !important;
  background: #fff !important;
  color: #f04a8e !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.runtime-frontend-edit-btn.is-active,
.runtime-frontend-edit-btn[data-runtime-frontend-edit="on"] {
  background: #f04a8e !important;
  color: #fff !important;
  border-color: #f04a8e !important;
  box-shadow: 0 14px 30px rgba(240,74,142,.18) !important;
}

.alora-frontend-editing-on #alora-live-canvas [contenteditable="true"],
.alora-frontend-editing-on #alora-live-canvas .alora-component-v50 {
  outline: 2px dashed rgba(240,74,142,.35) !important;
  outline-offset: 4px !important;
}

.alora-frontend-editing-off #alora-live-canvas [contenteditable="true"] {
  outline: none !important;
}

.alora-preview-runtime-controller .alora-preview-btn[data-action="frontend"] {
  background: #fff7fb !important;
}


/* v5.1.3 Safe Preview Shell Controller */
.alora-preview-shell-controller{top:18px!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;min-width:min(920px,calc(100vw - 32px))!important;justify-content:center!important}
.alora-preview-shell-controller .alora-preview-btn[data-preview-action="frontend"].is-active{background:#f04a8e!important;color:#fff!important;border-color:#f04a8e!important}
@media(max-width:760px){.alora-preview-shell-controller{top:10px!important;left:10px!important;right:10px!important;transform:none!important;min-width:0!important}}


/* v5.1.4 Safe Preview Owner Mount Fix */
#alora-preview-runtime-controller.alora-preview-shell-controller {
  top: 18px !important;
  bottom: auto !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  min-width: min(920px, calc(100vw - 32px)) !important;
  justify-content: center !important;
  z-index: 2147483647 !important;
}
#alora-preview-runtime-controller .alora-preview-btn[data-preview-action="frontend"].is-active {
  background: #f04a8e !important;
  color: #fff !important;
  border-color: #f04a8e !important;
}

.alora-published-runtime{width:100%;box-sizing:border-box}.alora-published-runtime *{box-sizing:border-box}


/* v5.5 frontend responsive output */
.alora-published-runtime .alora-responsive-managed,
.alora-theme-part .alora-responsive-managed {
  width: var(--desktop-width, var(--component-desktop-width, 100%));
  font-size: var(--desktop-font, var(--component-desktop-font, 100%));
}

@media (max-width: 1024px) and (min-width: 783px) {
  .alora-published-runtime .alora-responsive-managed,
  .alora-theme-part .alora-responsive-managed {
    width: var(--tablet-width, var(--component-tablet-width, 100%));
    font-size: var(--tablet-font, var(--component-tablet-font, 100%));
  }
  .alora-published-runtime .hide-tablet,
  .alora-theme-part .hide-tablet {
    display: none !important;
  }
}

@media (max-width: 782px) {
  .alora-published-runtime .alora-responsive-managed,
  .alora-theme-part .alora-responsive-managed {
    width: var(--mobile-width, var(--component-mobile-width, 100%));
    font-size: var(--mobile-font, var(--component-mobile-font, 95%));
  }
  .alora-published-runtime .hide-mobile,
  .alora-theme-part .hide-mobile {
    display: none !important;
  }
}

@media (min-width: 1025px) {
  .alora-published-runtime .hide-desktop,
  .alora-theme-part .hide-desktop {
    display: none !important;
  }
}


/* v5.9.0 neutralize old experimental animation leftovers */
.alora-animation-test-proof,.alora-animation-previewing{animation:none!important}
.alora-js-runtime-ready[data-alora-js-animation],.alora-animation-persist[data-alora-animation]{will-change:auto}
