:root{
  --lilpw-green:#3f7f35;
  --lilpw-green-dark:#2f6428;
  --lilpw-border:#d9e6d9;
  --lilpw-text:#1f2937;
  --lilpw-muted:#65716b;
  --lilpw-surface:#f3f8f1;
  --lilpw-emerald:#0f9f72;
  --lilpw-teal:#0d9488;
}
.lilpw-panel,.lilpw-panel *{box-sizing:border-box}
.lilpw-panel{max-width:1120px;margin:28px auto;padding:20px;border:1px solid var(--lilpw-border);border-radius:18px;background:var(--lilpw-surface)}
.lilpw-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:22px;align-items:start}
.lilpw-preview-column{position:sticky;top:24px;min-width:0;padding:14px;border:1px solid var(--lilpw-border);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(25,55,31,.08)}
.lilpw-preview-heading{display:grid;gap:3px;margin-bottom:10px;color:var(--lilpw-text)}
.lilpw-preview-heading span{color:var(--lilpw-muted);font-size:12px}
.lilpw-preview-stage{position:relative;display:grid;place-items:center;min-height:360px;overflow:hidden;border:1px dashed #a9c4aa;border-radius:12px;background:linear-gradient(145deg,#f7fbf6,#edf5eb);touch-action:pan-y}
.lilpw-preview-canvas{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;user-select:none;-webkit-user-select:none}
.lilpw-preview-canvas[hidden],.lilpw-preview-empty[hidden],.lilpw-gesture-hint[hidden]{display:none!important}
.lilpw-preview-empty{padding:36px 20px;color:var(--lilpw-muted);text-align:center}
.lilpw-gesture-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:6px 10px;border-radius:999px;background:rgba(17,24,39,.72);color:#fff;font-size:11px;line-height:1;pointer-events:none;white-space:nowrap}
.lilpw-template-picker{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:7px;align-items:center;margin-top:12px}
.lilpw-template-strip{display:flex;gap:8px;min-width:0;padding:3px;overflow-x:auto;scroll-behavior:smooth;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.lilpw-scroll{width:34px;height:58px;padding:0;border:1px solid var(--lilpw-border);border-radius:9px;background:#fff;color:var(--lilpw-green-dark);font-size:25px;cursor:pointer}
.lilpw-template-thumb{flex:0 0 74px;width:74px;height:74px;padding:3px;overflow:hidden;border:2px solid transparent;border-radius:11px;background:#fff;box-shadow:0 2px 7px rgba(25,55,31,.12);cursor:pointer}
.lilpw-template-thumb img{display:block;width:100%;height:100%;border-radius:7px;object-fit:cover}
.lilpw-template-thumb.is-selected{border-color:var(--lilpw-emerald);box-shadow:0 0 0 3px rgba(15,159,114,.18),0 5px 12px rgba(25,55,31,.18)}
.lilpw-controls-column{min-width:0;display:grid;gap:14px}
.lilpw-control-card,.lilpw-build-note{display:grid;gap:12px;padding:16px;border:1px solid var(--lilpw-border);border-radius:14px;background:#fff;color:var(--lilpw-text)}
.lilpw-control-card h3{margin:0;font-size:18px}
.lilpw-build-note span,.lilpw-help,.lilpw-privacy{color:var(--lilpw-muted);line-height:1.55}
.lilpw-upload-button{display:flex;align-items:center;justify-content:center;min-height:46px;padding:11px 16px;border-radius:10px;background:linear-gradient(135deg,var(--lilpw-emerald),var(--lilpw-teal));color:#fff;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(4,78,68,.18)}
.lilpw-upload-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.lilpw-help{margin:-4px 0 0;font-size:12px}
.lilpw-photo-controls{display:grid;gap:14px}
.lilpw-photo-controls[hidden]{display:none!important}
.lilpw-photo-controls label{display:grid;gap:6px;color:var(--lilpw-text);font-size:13px;font-weight:700}
.lilpw-photo-controls input[type=range]{width:100%;accent-color:var(--lilpw-green)}
.lilpw-reset-photo{min-height:42px;padding:10px 14px;border:1px solid var(--lilpw-green);border-radius:9px;background:#fff;color:var(--lilpw-green-dark);font:inherit;font-weight:700;cursor:pointer}
.lilpw-status{min-height:18px;margin:8px 0 0;color:var(--lilpw-muted);font-size:12px;text-align:center}
.lilpw-privacy{margin:0;font-size:12px}
.lilpw-photo-wishes-gallery.lilpw-enhanced{display:grid!important}
@media(max-width:900px){.lilpw-workspace{grid-template-columns:1fr}.lilpw-preview-column{position:static}.lilpw-preview-stage{min-height:300px}}
@media(max-width:768px){.lilpw-preview-stage{touch-action:pan-y}.lilpw-preview-canvas{touch-action:none;-ms-touch-action:none}.lilpw-controls-column{gap:12px}.lilpw-photo-controls{gap:16px}.lilpw-photo-controls input[type=range]{min-height:34px}}
@media(max-width:640px){.lilpw-panel{padding:14px}.lilpw-preview-column{padding:10px}.lilpw-preview-stage{min-height:240px}.lilpw-template-picker{grid-template-columns:30px minmax(0,1fr) 30px;gap:5px}.lilpw-scroll{width:30px;height:54px}.lilpw-template-thumb{flex-basis:64px;width:64px;height:64px}.lilpw-control-card,.lilpw-build-note{padding:14px}}

/* Build C — Text + Preprinted Engine */
.lilpw-control-card[hidden]{display:none!important}
.lilpw-control-card label{display:grid;gap:6px;color:var(--lilpw-text);font-size:13px;font-weight:700}
.lilpw-control-card input[type=range]{width:100%;accent-color:var(--lilpw-green)}
.lilpw-message,.lilpw-name{width:100%;padding:11px 12px;border:1px solid #9bb49a;border-radius:9px;background:#fff;color:var(--lilpw-text);font:inherit}
.lilpw-message{min-height:108px;resize:vertical;line-height:1.45}
.lilpw-message:focus,.lilpw-name:focus{outline:none;border-color:var(--lilpw-green);box-shadow:0 0 0 3px rgba(63,127,53,.15)}
.lilpw-counter{margin-top:-7px;color:var(--lilpw-muted);font-size:12px;text-align:right}
.lilpw-reset-all{min-height:44px;padding:10px 14px;border:1px solid var(--lilpw-green);border-radius:9px;background:#fff;color:var(--lilpw-green-dark);font:inherit;font-weight:700;cursor:pointer}
.lilpw-colour-slider{height:28px;border-radius:999px;background:linear-gradient(90deg,#fff 0%,#f00 5%,#ff0 20%,#0f0 35%,#0ff 50%,#00f 65%,#f0f 80%,#111 100%);appearance:none;-webkit-appearance:none;cursor:pointer}
.lilpw-colour-slider::-webkit-slider-runnable-track{height:14px;border-radius:999px;background:transparent}
.lilpw-colour-slider::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-6px;border:3px solid #fff;border-radius:50%;background:#222;box-shadow:0 2px 8px rgba(0,0,0,.28)}
.lilpw-colour-slider::-moz-range-track{height:14px;border-radius:999px;background:transparent}
.lilpw-colour-slider::-moz-range-thumb{width:22px;height:22px;border:3px solid #fff;border-radius:50%;background:#222;box-shadow:0 2px 8px rgba(0,0,0,.28)}
.lilpw-preview-stage.is-interacting{touch-action:none}
@media(max-width:768px){
  .lilpw-control-card{gap:14px}
  .lilpw-control-card input[type=range]{min-height:36px}
  .lilpw-colour-slider{min-height:30px!important}
  .lilpw-message,.lilpw-name,.lilpw-message-picker-trigger,.lilpw-message-option{font-size:16px}
}


/* Build D — v1.0.0 Release Candidate: preview actions + responsive polish */
.lilpw-preview-actions{position:absolute;z-index:8;top:10px;right:10px;display:flex;gap:8px}
.lilpw-preview-actions button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid rgba(209,250,229,.82);border-radius:50%;background:linear-gradient(135deg,rgba(15,159,114,.94),rgba(13,148,136,.90));color:#fff;box-shadow:0 8px 18px rgba(4,78,68,.28);cursor:pointer;-webkit-backdrop-filter:blur(7px) saturate(135%);backdrop-filter:blur(7px) saturate(135%);transition:transform .18s ease,filter .18s ease,opacity .18s ease}
.lilpw-preview-actions button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.07)}
.lilpw-preview-actions button:disabled{opacity:.42;cursor:not-allowed}
.lilpw-preview-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lilpw-preview-actions button:focus-visible{outline:3px solid rgba(16,185,129,.35);outline-offset:3px}
@media(max-width:768px){
  .lilpw-preview-actions{top:8px;right:8px;gap:7px}
  .lilpw-preview-actions button{width:40px;height:40px}
  .lilpw-controls-column .lilpw-control-card label{width:100%}
  .lilpw-controls-column input[type=range]{width:100%}
}


/* RC3 Fine Fix — wrapped custom message picker */
.lilpw-message-picker{position:relative;width:100%}
.lilpw-message-picker-trigger{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:46px;padding:10px 12px;border:1px solid #9bb49a;border-radius:9px;background:#fff;color:var(--lilpw-text);font:inherit;font-weight:500;text-align:left;cursor:pointer}
.lilpw-message-picker-trigger:focus-visible,.lilpw-message-picker-trigger[aria-expanded="true"]{outline:none;border-color:var(--lilpw-green);box-shadow:0 0 0 3px rgba(63,127,53,.15)}
.lilpw-message-picker-trigger:disabled{opacity:.55;cursor:not-allowed}
.lilpw-message-picker-value{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.lilpw-message-picker-chevron{font-size:20px;line-height:1;transition:transform .18s ease}
.lilpw-message-picker-trigger[aria-expanded="true"] .lilpw-message-picker-chevron{transform:rotate(180deg)}
.lilpw-message-picker-popover{position:absolute;z-index:1000;top:calc(100% + 6px);left:0;right:0;padding:8px;border:1px solid var(--lilpw-border);border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(25,55,31,.18)}
.lilpw-message-picker-popover[hidden]{display:none!important}
.lilpw-message-options{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.lilpw-message-option{display:block;width:100%;padding:10px 11px;border:1px solid transparent;border-radius:8px;background:#f8faf7;color:var(--lilpw-text);font:inherit;font-weight:500;line-height:1.45;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:normal;cursor:pointer}
.lilpw-message-option:hover,.lilpw-message-option:focus-visible{outline:none;border-color:#9fc39d;background:#edf6eb}
.lilpw-message-option.is-selected{border-color:var(--lilpw-green);background:#e5f2e2;color:var(--lilpw-green-dark)}
.lilpw-message-empty{padding:12px;color:var(--lilpw-muted);font-size:13px;text-align:center}
@media(max-width:768px){.lilpw-message-picker-popover{position:static;margin-top:6px;box-shadow:0 8px 22px rgba(25,55,31,.12)}.lilpw-message-options{max-height:320px}}


/* RC4 Mobile Pinch Isolation — custom canvas gestures without browser page zoom */
@media(max-width:768px){
  .lilpw-preview-canvas{touch-action:none!important;-ms-touch-action:none!important;overscroll-behavior:contain;}
}


/* v1.0.0 UI polish — clearer Name field + consistent primary/secondary controls */
.lilpw-name{
  min-height:46px;
  padding:11px 13px;
  border:2px solid #6e8b69;
  border-radius:9px;
  background:#fff;
}
.lilpw-name:hover{border-color:#5d7e58;}
.lilpw-name:focus{
  border-color:var(--lilpw-green);
  box-shadow:0 0 0 3px rgba(63,127,53,.18);
}
.lilpw-upload-button{
  min-height:46px;
  border:2px solid transparent;
}
.lilpw-reset-photo,.lilpw-reset-all{
  min-height:46px;
  border:2px solid var(--lilpw-green);
}
.lilpw-reset-photo:hover,.lilpw-reset-all:hover{
  background:#eff8ed;
}
@media(max-width:768px){
  .lilpw-name,.lilpw-upload-button,.lilpw-reset-photo,.lilpw-reset-all{
    width:100%;
    min-height:48px;
  }
}

/* v1.0.0 Name Field Boundary Hard Fix — theme override proof */
.lilpw-shell .lilpw-name-card input.lilpw-name,
.lilpw-panel .lilpw-name-card input.lilpw-name,
.lilpw-controls-column .lilpw-name-card input[type="text"].lilpw-name{
  -webkit-appearance:none !important;
  appearance:none !important;
  display:block !important;
  width:100% !important;
  min-height:46px !important;
  box-sizing:border-box !important;
  padding:11px 13px !important;
  border:2px solid #6e8b69 !important;
  border-style:solid !important;
  border-width:2px !important;
  border-color:#6e8b69 !important;
  border-radius:9px !important;
  background:#ffffff !important;
  color:var(--lilpw-text) !important;
  box-shadow:inset 0 0 0 1px rgba(63,127,53,.12) !important;
  outline:none !important;
}
.lilpw-shell .lilpw-name-card input.lilpw-name:hover,
.lilpw-panel .lilpw-name-card input.lilpw-name:hover{
  border-color:#4e7348 !important;
  box-shadow:inset 0 0 0 1px rgba(63,127,53,.16) !important;
}
.lilpw-shell .lilpw-name-card input.lilpw-name:focus,
.lilpw-shell .lilpw-name-card input.lilpw-name:focus-visible,
.lilpw-panel .lilpw-name-card input.lilpw-name:focus{
  border-color:var(--lilpw-green) !important;
  box-shadow:0 0 0 3px rgba(63,127,53,.20), inset 0 0 0 1px rgba(63,127,53,.12) !important;
  outline:none !important;
}
@media(max-width:768px){
  .lilpw-shell .lilpw-name-card input.lilpw-name,
  .lilpw-panel .lilpw-name-card input.lilpw-name{
    min-height:48px !important;
    font-size:16px !important;
  }
}

/* v1.0.0 Mobile Name Pinch Smooth Fix */
@media (max-width:768px){
  .lilpw-preview-stage.is-interacting,
  .lilpw-preview-stage.is-interacting .lilpw-preview-canvas{
    touch-action:none!important;
    overscroll-behavior:contain;
  }
}


/* v1.0.0 Preprinted gallery + mobile text interaction fix */
.lilpw-gesture-hint{display:none!important}
.lilpw-photo-wishes-gallery.lilpw-enhanced,
.lilpw-photo-wishes-gallery.lilpw-direct-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:1120px;
  margin:24px auto;
}
.lilpw-direct-card{position:relative!important;overflow:hidden;border-radius:14px}
.lilpw-direct-card img{display:block;width:100%;height:auto}
.lilpw-direct-actions{position:absolute;z-index:12;top:9px;right:9px;display:flex;gap:7px}
.lilpw-direct-actions button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(15,159,114,.92);color:#fff;box-shadow:0 5px 14px rgba(4,78,68,.25);cursor:pointer}
.lilpw-direct-actions svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lilpw-direct-actions button:hover{filter:brightness(1.08)}
@media(max-width:900px){.lilpw-photo-wishes-gallery.lilpw-enhanced,.lilpw-photo-wishes-gallery.lilpw-direct-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.lilpw-photo-wishes-gallery.lilpw-enhanced,.lilpw-photo-wishes-gallery.lilpw-direct-gallery{grid-template-columns:1fr;gap:14px}.lilpw-direct-actions button{width:42px;height:42px}}


/* v1.0.1 Split Gallery Architecture */
.lilpw-photo-wishes-gallery.lilpw-enhanced{display:none!important;}
.lilpw-preprinted-wishes-gallery.lilpw-enhanced,
.lilpw-preprinted-wishes-gallery.lilpw-direct-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:1120px;
  margin:22px auto;
}
.lilpw-preprinted-wishes-gallery .lilpw-direct-card{position:relative;}
@media(max-width:900px){
  .lilpw-preprinted-wishes-gallery.lilpw-enhanced,
  .lilpw-preprinted-wishes-gallery.lilpw-direct-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  .lilpw-preprinted-wishes-gallery.lilpw-enhanced,
  .lilpw-preprinted-wishes-gallery.lilpw-direct-gallery{grid-template-columns:1fr;gap:14px;}
}


/* v1.0.3 Mobile Ultra-Compact Controls */
.lilpw-workspace{gap:12px}
.lilpw-controls-column{gap:7px}
.lilpw-control-card{gap:6px;padding:9px 10px;border-radius:10px}
.lilpw-control-card h3{margin:0;font-size:16px;line-height:1.15}
.lilpw-control-card label{gap:3px;font-size:12px;line-height:1.25}
.lilpw-photo-controls{gap:6px}
.lilpw-photo-controls label{gap:3px;font-size:12px;line-height:1.25}
.lilpw-help{margin:0;font-size:10.5px;line-height:1.25}
.lilpw-upload-button{min-height:38px;padding:7px 11px}
.lilpw-message-picker-trigger{min-height:38px;padding:7px 9px}
.lilpw-message{min-height:74px;padding:8px 9px;line-height:1.32}
.lilpw-counter{margin-top:-3px;font-size:10.5px}
.lilpw-reset-photo,.lilpw-reset-all{min-height:38px;padding:7px 11px}
.lilpw-privacy{margin-top:0;font-size:10.5px;line-height:1.25}

@media(max-width:768px){
  .lilpw-panel{padding:10px}
  .lilpw-workspace{gap:8px}
  .lilpw-controls-column{gap:6px}
  .lilpw-control-card{gap:5px;padding:8px 9px;border-radius:10px}
  .lilpw-control-card h3{font-size:15px;line-height:1.1;margin:0 0 1px}
  .lilpw-control-card label,
  .lilpw-photo-controls label{gap:2px;font-size:11.5px;line-height:1.2}
  .lilpw-photo-controls{gap:5px}
  .lilpw-control-card input[type=range],
  .lilpw-photo-controls input[type=range]{min-height:20px;height:24px;margin:0}
  .lilpw-colour-slider{height:22px!important;min-height:22px!important;margin:0!important}
  .lilpw-upload-button{min-height:38px;padding:7px 10px}
  .lilpw-help{margin:-1px 0 0;font-size:10px;line-height:1.2}
  .lilpw-reset-photo,.lilpw-reset-all{min-height:38px;padding:7px 10px}
  .lilpw-message-picker-trigger{min-height:38px;padding:7px 9px;line-height:1.25}
  .lilpw-message-picker-value{-webkit-line-clamp:2;line-height:1.25}
  .lilpw-message{min-height:70px;padding:7px 9px;line-height:1.3}
  .lilpw-name-card input.lilpw-name,
  .lilpw-panel .lilpw-name-card input.lilpw-name,
  .lilpw-shell .lilpw-name-card input.lilpw-name{min-height:40px!important;padding:7px 9px!important;font-size:16px!important}
  .lilpw-counter{margin-top:-2px;font-size:10px;line-height:1.1}
  .lilpw-name-card,.lilpw-reset-card{gap:4px}
}

@media(max-width:480px){
  .lilpw-panel{padding:8px}
  .lilpw-controls-column{gap:5px}
  .lilpw-control-card{padding:7px 8px;gap:4px}
  .lilpw-photo-controls{gap:4px}
  .lilpw-control-card input[type=range],
  .lilpw-photo-controls input[type=range]{height:22px;min-height:18px}
  .lilpw-message{min-height:66px}
}


/* v1.0.4 — higher text travel, slim colour slider, larger preprinted gallery */
.lilpw-colour-slider{
  height:18px!important;
  min-height:18px!important;
}
.lilpw-colour-slider::-webkit-slider-runnable-track{
  height:10px!important;
}
.lilpw-colour-slider::-webkit-slider-thumb{
  width:20px!important;
  height:20px!important;
  margin-top:-5px!important;
  border-width:2px!important;
}
.lilpw-colour-slider::-moz-range-track{
  height:10px!important;
}
.lilpw-colour-slider::-moz-range-thumb{
  width:18px!important;
  height:18px!important;
  border-width:2px!important;
}

/* WordPress gallery items often retain small percentage/flex widths. Override them
   only inside the dedicated preprinted gallery. */
.lilpw-preprinted-wishes-gallery.lilpw-enhanced,
.lilpw-preprinted-wishes-gallery.lilpw-direct-gallery{
  grid-template-columns:repeat(3,minmax(220px,1fr))!important;
  gap:20px!important;
  align-items:start!important;
}
.lilpw-preprinted-wishes-gallery > figure,
.lilpw-preprinted-wishes-gallery .wp-block-image,
.lilpw-preprinted-wishes-gallery .lilpw-direct-card{
  width:100%!important;
  max-width:none!important;
  flex-basis:auto!important;
  margin:0!important;
}
.lilpw-preprinted-wishes-gallery .lilpw-direct-card img,
.lilpw-preprinted-wishes-gallery figure img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:900px){
  .lilpw-preprinted-wishes-gallery.lilpw-enhanced,
  .lilpw-preprinted-wishes-gallery.lilpw-direct-gallery{
    grid-template-columns:repeat(2,minmax(200px,1fr))!important;
  }
}
@media(max-width:640px){
  .lilpw-colour-slider{height:16px!important;min-height:16px!important;}
  .lilpw-colour-slider::-webkit-slider-runnable-track{height:8px!important;}
  .lilpw-colour-slider::-webkit-slider-thumb{width:20px!important;height:20px!important;margin-top:-6px!important;}
  .lilpw-colour-slider::-moz-range-track{height:8px!important;}
  .lilpw-colour-slider::-moz-range-thumb{width:18px!important;height:18px!important;}
  .lilpw-preprinted-wishes-gallery.lilpw-enhanced,
  .lilpw-preprinted-wishes-gallery.lilpw-direct-gallery{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
}


/* v1.0.6 Unlimited Templates + Free Text Transform */
.lilpw-text-style-card .lilpw-text-rotation{margin:0!important;}
.lilpw-preview-stage.is-interacting{cursor:grabbing;}
.lilpw-preview-canvas{cursor:default;}
@media(max-width:768px){
  .lilpw-text-style-card label{margin:0!important;}
  .lilpw-text-style-card .lilpw-text-rotation{height:22px;min-height:18px;}
}

/* v1.0.9 Mobile Simplified Selection UI */
.lilpw-mobile-layer-selector{display:none}

@media(max-width:768px){
  /* Photo is edited directly on the preview by touch; keep only upload/reset. */
  .lilpw-photo-editor .lilpw-photo-controls label{display:none!important}
  .lilpw-photo-editor .lilpw-photo-controls{display:block!important;margin-top:4px}
  .lilpw-photo-editor .lilpw-photo-controls[hidden]{display:none!important}
  .lilpw-photo-editor .lilpw-reset-photo{width:100%;margin:0}

  /* Keep Text colour, remove the redundant position/size/tilt sliders on mobile. */
  .lilpw-photo-editor .lilpw-text-position-row,
  .lilpw-photo-editor .lilpw-text-size-row,
  .lilpw-photo-editor .lilpw-text-tilt-row{display:none!important}

  /* Explicit touch-first layer selection so Photo/Text selection is always visible. */
  .lilpw-photo-editor .lilpw-mobile-layer-selector{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:7px;
    padding:7px 8px;
    border:1px solid #cfe0cf;
    border-radius:10px;
    background:#f8fcf8;
  }
  .lilpw-mobile-layer-label{font-size:11px;font-weight:700;line-height:1.2;color:var(--lilpw-text)}
  .lilpw-mobile-layer-buttons{display:flex;gap:6px;flex:0 0 auto}
  .lilpw-layer-button{
    min-width:72px;
    min-height:36px;
    padding:6px 10px;
    border:1.5px solid #86ab87;
    border-radius:999px;
    background:#fff;
    color:var(--lilpw-text);
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
  }
  .lilpw-layer-button.is-selected{
    border-color:var(--lilpw-emerald);
    background:rgba(15,159,114,.12);
    box-shadow:0 0 0 2px rgba(15,159,114,.12);
    color:#0b6f52;
  }
  .lilpw-layer-button:disabled{opacity:.45;cursor:not-allowed}

  /* Keep template/image selection visually prominent on mobile. */
  .lilpw-photo-editor .lilpw-template-picker{margin-top:7px}
  .lilpw-photo-editor .lilpw-template-thumb{border-width:2px}
  .lilpw-photo-editor .lilpw-template-thumb.is-selected{box-shadow:0 0 0 3px rgba(15,159,114,.20),0 4px 10px rgba(25,55,31,.14)}

  /* Keep message selection and manual text entry fully visible. */
  .lilpw-photo-editor .lilpw-message-card,
  .lilpw-photo-editor .lilpw-message-picker,
  .lilpw-photo-editor .lilpw-message{display:block!important}
}


/* v1.0.12 Per-Template Mask + Text Width Control */
.lilpw-text-width-row{margin:0}
.lilpw-text-width-row input[type=range]{margin:0}

@media(max-width:768px){
  /* Text width remains visible on mobile because it changes wrapping (e.g. 4 lines to 2). */
  .lilpw-photo-editor .lilpw-text-width-row{
    display:flex!important;
    flex-direction:column;
    gap:2px;
  }
  .lilpw-photo-editor .lilpw-text-width-row input[type=range]{
    height:22px;
    min-height:18px;
    margin:0!important;
  }
}


/* v1.0.13 Frame Shape Reliability Fix */
.lilpw-photo-shape-row{display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.2}
.lilpw-photo-shape{width:100%;min-height:36px;padding:6px 8px;border:1px solid #b8c7b1;border-radius:8px;background:#fff}
@media(max-width:768px){
  .lilpw-photo-shape-row{display:flex!important;gap:2px;font-size:11.5px}
  .lilpw-photo-shape{min-height:38px;padding:6px 8px;font-size:14px}
}


/* v1.0.14 Transparent Window Overlay */
.lilpw-photo-shape-row[style*="display: none"]{display:none!important}


/* v1.0.16 — automatic "Use This Message" button for page messages */
.lil-personalizable-message + .lilpw-use-message-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  margin:7px 0 14px;padding:6px 12px;border:1px solid #9fbd96;border-radius:7px;
  background:#fff;color:#4d7d40;font:inherit;font-size:13px;font-weight:600;line-height:1.2;
  cursor:pointer;box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.lil-personalizable-message + .lilpw-use-message-btn:hover,
.lil-personalizable-message + .lilpw-use-message-btn:focus-visible{
  background:#edf6eb;border-color:#6fa263;color:#315f29;outline:none;
}
.lil-personalizable-message + .lilpw-use-message-btn:active{transform:translateY(1px)}
.lil-personalizable-message + .lilpw-use-message-btn.is-selected{
  background:#e5f2e2;border-color:#4f8a43;color:#2f6726;
}
@media(max-width:768px){
  .lil-personalizable-message + .lilpw-use-message-btn{font-size:13px;padding:7px 11px;margin-top:6px}
}


/* v1.0.17 — smooth jump highlight after selecting a page message */
.lilpw-message-jump-highlight{
  animation:lilpwMessageJumpHighlight 1.35s ease;
}
@keyframes lilpwMessageJumpHighlight{
  0%,100%{box-shadow:inherit}
  18%,68%{box-shadow:0 0 0 4px rgba(79,138,67,.18),0 10px 28px rgba(31,74,24,.12)}
}
@media (prefers-reduced-motion:reduce){
  .lilpw-message-jump-highlight{animation:none}
}
