/* Site Designer: an intentionally separate, functional editing workspace.
   Public site styling is unchanged unless explicitly published. */
.cx-designer{
  background:#202638;color:#eae2f2;
  padding:clamp(35px,5vw,72px) clamp(15px,2.6vw,45px) 90px;
  min-height:75vh
}
.cx-designer *{box-sizing:border-box}
.cx-designer [hidden]{display:none!important}
.cx-designer-heading{text-align:center;max-width:890px;margin:0 auto clamp(24px,3.8vw,42px)}
.cx-designer-heading h1{color:#f7effb;font:500 clamp(45px,5vw,72px)/1.09 var(--serif);margin:8px 0 16px}
.cx-designer-heading p:not(.eyebrow){color:#d5cadd;font:18px/1.5 var(--serif)}
.cx-help-links{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin:20px 0 0}
.cx-help-links a{color:#d4bfec;text-decoration:underline;text-underline-offset:4px;font-size:12px}
.cx-status{margin:14px auto 24px;padding:12px 18px;max-width:1150px;background:#30384f;border:1px solid #615773;border-radius:10px;color:#e8dff3;font:13px/1.5 var(--sans)}
.cx-login-card{width:min(100%,480px);margin:28px auto 50px;padding:30px;border:1px solid #73668a;border-radius:15px;background:#2b3247}
.cx-login-card h2{font:500 33px/1.2 var(--serif);color:#f7ecff;margin:0 0 15px}
.cx-login-card p{font:16px/1.5 var(--serif);color:#cfc1dd}
.cx-login-card form{display:grid;gap:15px;margin-top:19px}
.cx-designer label{font:600 11px/1.4 var(--sans);letter-spacing:.055em;color:#d5c8e7}
.cx-designer input:not([type=checkbox]),.cx-designer select{
  display:block;width:100%;min-width:0;margin:6px 0 11px;padding:10px 12px;min-height:41px;
  border-radius:8px;border:1px solid #766987;background:#202638;
  font:13px/1.45 var(--sans);color:#f3eafc
}
.cx-designer input[type=file]{font-size:12px;white-space:normal}
.cx-designer input[type=color]{height:43px;padding:5px;cursor:pointer}
.cx-designer :is(input,select,button,[contenteditable]):focus-visible{outline:2px solid #e1c9fa;outline-offset:2px}
.cx-designer button{cursor:pointer}
.cx-designer button:disabled{opacity:.45;cursor:not-allowed}
.cx-main-toolbar{
  display:flex;align-items:end;gap:clamp(7px,1.2vw,14px);flex-wrap:wrap;
  padding:clamp(14px,1.8vw,22px);border:1px solid #716782;border-radius:13px;
  background:#2c3348;margin:0 0 19px
}
.cx-page-control{min-width:180px;flex:1 1 210px}
.cx-page-control label{display:block}
.cx-main-toolbar select{margin:4px 0 0}
.cx-preview-views{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.cx-zoom-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.cx-zoom-controls #cx-zoom-label{min-width:48px;text-align:center;
  color:#e4d4f2;font:600 12px/1.3 var(--sans);font-variant-numeric:tabular-nums}
.cx-zoom-controls .cx-outline-button{min-width:36px;min-height:36px;padding:7px 10px}
.cx-text-update-actions{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}
.cx-text-update-actions button{flex:1 1 120px;min-height:38px}
#cx-text-update-status{margin-top:5px}

.cx-outline-button,.cx-insert-grid button,.cx-format-buttons button,.cx-tabs button{
  border:1px solid #80718e;color:#e7dcef;background:#aea0c116;
  border-radius:999px;padding:10px 13px;min-height:36px;
  font:600 11px/1.3 var(--sans);letter-spacing:.03em;
  box-shadow:none
}
.cx-outline-button:hover,.cx-insert-grid button:hover,.cx-format-buttons button:hover,
.cx-tabs button:hover,.cx-outline-button.active,.cx-tabs button.active{
  background:#9882b23d;border-color:#b9a0d7;color:#fff9ff
}
.cx-main-toolbar #cx-unsaved{
  color:#cbb6de;font:italic 13px/1.4 var(--serif);margin:8px 3px
}
.cx-stepper{display:flex;align-items:stretch;gap:5px;width:100%;margin:5px 0 11px}
.cx-designer .cx-stepper input[type=number]{flex:1;min-width:0;width:40px!important;text-align:center;margin:0!important;min-height:38px}
.cx-designer .cx-stepper button{flex:0 0 31px;min-height:38px;padding:0;border:1px solid #80718e;border-radius:8px;background:#aea0c116;color:#e7dcef;font:600 19px/1 var(--sans)}
.cx-designer .cx-stepper button:hover{background:#9882b23d;border-color:#b9a0d7}
.cx-designer .cx-stepper input::-webkit-outer-spin-button,.cx-designer .cx-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cx-designer .cx-stepper input[type=number]{appearance:textfield;-moz-appearance:textfield}
.cx-hidden-library{display:grid;gap:9px;margin:12px 0 20px}
.cx-removed-item{display:flex;gap:8px;align-items:center;justify-content:space-between;border:1px solid #75698980;border-radius:10px;padding:9px 10px;background:#22283b}
.cx-removed-item span{min-width:0;overflow-wrap:anywhere;font:12px/1.4 var(--sans);color:#dacee8}
.cx-removed-item .cx-outline-button{flex:none;min-height:32px;padding:6px 10px}
.cx-created-header,.cx-created-footer{padding:24px 18px;margin:24px auto;max-width:100%;min-height:55px;text-align:center}
.cx-created-header h2{font:500 32px/1.2 var(--serif);color:inherit}
.cx-created-footer p{font:15px/1.6 var(--serif);color:inherit}
.cx-drag-control{min-width:155px;max-width:205px;flex:1 1 155px;font:600 10px/1.3 var(--sans)}
.cx-designer .cx-drag-control select{margin:5px 0 0!important;min-height:36px!important;padding:7px 8px!important}
.cx-position-controls{border-top:1px solid #72688680;margin-top:12px;padding-top:13px}
.cx-position-controls h3{font:500 19px/1.25 var(--serif);margin:0 0 10px}
.cx-position-controls .cx-fields{margin-top:12px}
.cx-align-buttons{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.cx-align-buttons button{border:1px solid #80718e;border-radius:999px;background:#aea0c116;
  color:#e7dcef;padding:7px 13px;min-height:35px;flex:1;font:600 11px/1.2 var(--sans)}
.cx-align-buttons button[aria-pressed="true"]{background:#9784b656;border-color:#d6bdec;color:#fff}
.cx-align-buttons button:hover{background:#9882b23d}
.cx-inspector-panel[data-cx-panel=rule] .cx-inline-check{display:flex;align-items:center;gap:9px;margin:10px 0}
.cx-inspector-panel[data-cx-panel=rule] .cx-inline-check input{width:auto;min-width:auto}
.cx-inspector-panel[data-cx-panel=rule] #cx-rule-reset{margin-top:10px}
.cx-history-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cx-history-controls .cx-outline-button{min-width:72px}
.cx-history-controls .cx-outline-button:disabled{opacity:.4;border-color:#696177}
.cx-inspector-panel[data-cx-panel=divider] .cx-inline-check{display:flex;align-items:center;gap:10px;margin:12px 0}
.cx-inspector-panel[data-cx-panel=divider] .cx-inline-check input{width:auto;min-width:auto}
.cx-inspector-panel[data-cx-panel=divider] #cx-divider-reset{margin-top:12px}
.cx-main-toolbar .btn{min-height:39px!important}
.cx-editor-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,345px);
  align-items:start;gap:clamp(15px,2vw,27px)
}
.cx-preview-area{min-width:0}
.cx-preview-instructions{color:#cdbde0;text-align:center;font:italic 15px/1.45 var(--serif);margin:10px 0 17px}
.cx-viewport{
  width:100%;max-width:100%;
  min-height:770px;
  display:flex;justify-content:center;
  border:1px solid #71688a;border-radius:13px;
  overflow:auto;
  padding:clamp(7px,1vw,16px);
  background:#151b2b
}
.cx-preview-holder{flex:0 0 auto;position:relative;width:100%;height:850px}
.cx-preview-canvas{position:absolute;left:0;top:0;transform-origin:top left;width:100%;height:850px}
.cx-preview-canvas iframe{
  display:block;width:100%;height:850px;min-height:730px;
  background:#202638;border:0;border-radius:8px;
  box-shadow:0 8px 40px #03071470
}
.cx-below-preview{display:flex;flex-wrap:wrap;justify-content:center;gap:13px;margin:14px 0}
.cx-inspector{
  width:100%;max-height:calc(100vh - 20px);
  overflow:auto;position:sticky;top:10px;
  padding:19px;border:1px solid #706481;border-radius:13px;
  background:#2b3247;box-shadow:0 18px 38px #11172944
}
.cx-inspector h2{font:500 29px/1.2 var(--serif);margin:0 0 7px;color:#f3e8fa}
.cx-inspector h3{font:500 23px/1.25 var(--serif);margin:19px 0 13px;color:#e5d5f5}
.cx-inspector p{font:14px/1.55 var(--serif)}
.cx-inspector-top{padding-bottom:14px;border-bottom:1px solid #72688680}
.cx-inspector-top #cx-selection{color:#c9b9d9;overflow-wrap:anywhere}
.cx-inspector-top .cx-outline-button{margin-top:8px}
.cx-quick-actions{display:flex;flex-wrap:wrap;gap:7px}
.cx-quick-actions .cx-outline-button{margin-top:8px;font-size:10px;min-height:34px;padding:7px 10px}
.cx-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:14px 0;border-bottom:1px solid #72688680}
.cx-tabs button{font-size:10px;padding:8px 10px;min-height:32px}
.cx-inspector-panel{padding:10px 0 23px}
.cx-hint{color:#c9b9d9;font-size:13px!important;line-height:1.45!important}
.cx-format-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}
.cx-format-buttons button{min-width:32px;border-radius:7px;padding:8px}
#cx-rich{
  display:block;width:100%;min-height:155px;max-height:370px;overflow-y:auto;
  background:#181e2d;border:1px solid #817291;border-radius:8px;
  padding:14px;color:#fff4ff;font:17px/1.55 var(--serif);
  margin:12px 0 17px;overflow-wrap:anywhere
}
#cx-rich h1,#cx-rich h2,#cx-rich h3{font-family:var(--serif);margin:.4em 0}
#cx-rich ul,#cx-rich ol{padding-left:21px}
.cx-fields{display:grid;gap:12px}
.cx-fields-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cx-fields label{min-width:0}
.cx-inspector-panel>.btn{margin-top:17px}
.cx-insert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 22px}
.cx-insert-grid button{border-radius:8px;min-height:41px;text-align:center}
.cx-section-picker{display:flex;gap:8px;flex-wrap:wrap}
.cx-section-picker button{font-size:10px}
.cx-form{display:grid;gap:10px;margin:15px 0 22px;border:1px solid #6c6082;border-radius:10px;padding:15px;background:#222a3d}
.cx-form .btn{justify-self:start}
.cx-designer .btn,.cx-designer .btn-lavender{white-space:normal!important}
.cx-created-divider{color:#cdbbe0}
@media(max-width:1150px){
  .cx-editor-grid{grid-template-columns:minmax(0,1fr) 300px;gap:14px}
  .cx-inspector{padding:13px}
  .cx-main-toolbar{align-items:center}
}
@media(max-width:850px){
  .cx-editor-grid{grid-template-columns:minmax(0,1fr)}
  .cx-inspector{position:static;max-height:none;order:1}
  .cx-preview-area{order:2}
  .cx-viewport iframe{height:680px;min-height:610px}
  .cx-main-toolbar{gap:9px}
  .cx-inspector-panel{max-height:none}
  .cx-designer-heading h1{font-size:45px}
}
@media(max-width:500px){
  .cx-designer{padding:35px 12px 55px}
  .cx-main-toolbar{padding:11px}
  .cx-main-toolbar .cx-outline-button{font-size:10px;padding:7px 10px}
  .cx-fields-two{gap:8px}
  .cx-viewport{padding:4px;min-height:560px}
  .cx-viewport iframe{height:620px;min-height:550px}
  .cx-inspector{padding:14px}
}


/* Published visual-designer additions must render on public pages as well.
   The preview bridge applies extra selection-only outlines separately. */
.cx-hidden-by-editor{display:none!important}
.cx-created-divider{
  display:block;
  width:min(80%,700px);
  margin:clamp(35px,6vw,70px) auto;
  min-height:30px;
  color:#d0b9e9;
  font:24px/30px Georgia,serif;
  text-align:center;
  background:linear-gradient(#8b799f,#8b799f) left center / calc(50% - 25px) 1px no-repeat,
    linear-gradient(#8b799f,#8b799f) right center / calc(50% - 25px) 1px no-repeat
}
.cx-created-section{
  width:min(100%,1160px);
  margin:clamp(36px,6vw,80px) auto;
  padding:clamp(24px,4vw,55px) 22px;
  text-align:center;
  color:#f1e8f8
}
.cx-created-container{width:min(100%,1100px);margin:15px auto;padding:10px}
.cx-created-heading,.cx-created-paragraph{
  max-width:min(100%,1000px);
  text-align:center;
  margin:15px auto;
  color:#eee3f5
}
.cx-created-heading{font:500 clamp(28px,4vw,53px)/1.2 var(--serif)}
.cx-created-paragraph{font:19px/1.55 var(--serif)}
.cx-created-button{
  display:inline-flex;
  justify-content:center;align-items:center;
  padding:10px 22px;
  border:1px solid #a999c0;
  border-radius:999px;
  background:#ad90ce22;
  color:#ecddfa;
  text-decoration:none
}
.cx-created-button:hover{background:#ad90ce44}
.cx-created-image{
  display:block;
  width:auto;max-width:min(100%,950px);
  height:auto;max-height:620px;
  object-fit:contain;
  margin:24px auto
}
@media(max-width:600px){
  .cx-created-section{padding:28px 15px}
  .cx-created-divider{width:calc(100% - 40px);font-size:19px}
}

/* Allow individual customisation of original, pseudo-element dividers. */
.work-section.cx-divider-hidden::after,
.home-commissions-section.cx-divider-hidden::after,
.home-about-section.cx-divider-hidden::after,
.whispers-invite-section.cx-divider-hidden::after,
.home-featured-stack>div.cx-divider-hidden+div::before{
  display:none!important
}
.cx-inline-check{
  display:flex;align-items:center;gap:10px;
  padding:10px 0;
  font:13px/1.4 var(--sans)!important;
  text-transform:none;letter-spacing:0!important
}
.cx-inline-check input[type=checkbox]{width:18px;height:18px;accent-color:#ad92cd}

/* Batch font import and progress feedback. */
.cx-font-drop{border:1px dashed #9787ad;border-radius:10px;padding:20px 12px;text-align:center;color:#d7c6e9;background:#9e8cad10;font-size:12px;margin:12px 0}
.cx-font-drop.cx-drop-active{border-color:#e3c9ff;background:#c4ade632}
.cx-font-results{max-height:170px;overflow:auto;margin-top:8px}
.cx-font-results p{margin:4px 0!important;overflow-wrap:anywhere}
#cx-font-progress{width:100%;height:12px;accent-color:#bba0d6;margin-top:10px}

/* Zoom measures the same logical preview height on desktop, tablet and phone. */
.cx-designer .cx-preview-canvas iframe{height:850px!important;min-height:850px!important;width:100%!important}
