
@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&display=swap');
:root{--fpe-font:'Onest', sans-serif;}

/* Basic styles */
.fpe-wrap{margin:10px 0}
.fpe-flex{display:flex;gap:30px;flex-wrap:wrap}
.fpe-controls{flex:1 1 260px}
.fpe-canvas-wrap{flex:2 1 480px;position:relative}
.fpe-canvas{max-width:100%;border:1px solid #ddd;background:#eee}
.fpe-slider{width:100%}
.fpe-badges{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
.fpe-badge{padding:6px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#f5f6f7;cursor:pointer;user-select:none}
.fpe-badge.active{background:#eaecef}
.fpe-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:10000}
.fpe-modal__box{background:#fff;padding:24px;border-radius:8px;max-width:560px;width:92%;text-align:center}
.fpe-modal__img{width:240px;height:240px;border-radius:50%;object-fit:cover;margin:12px auto;display:block}
.fpe-row{margin-bottom:10px}
.fpe-row label{display:block;margin-bottom:4px}
.fpe-btn{display:inline-block;padding:8px 14px;border-radius:6px;border:0;background:#c74365;color:#fff;text-decoration:none;cursor:pointer}
.fpe-btn.secondary{background:#c9c9c9;color:#333}
.fpe-note{font-size:12px;color:#666}

.fpe-area-label{position:absolute;top:-28px;right:0;font-weight:600}
.fpe-canvas-wrap{padding-top:36px;}
.fpe-rotate{display:flex;align-items:center;gap:10px}
.fpe-rot-btn{background:#fff;border:1px solid var(--fpe-border,#e5e7eb);border-radius:999px;padding:6px 12px;cursor:pointer}
.fpe-rot-btn:hover{background:#f3f4f6}
.fpe-rot-reset{font-size:12px;padding:6px 10px}
/* A4 container and rulers UI */
.fpe-canvas-wrap{position:relative;display:inline-block}
.fpe-a4{position:relative;width:540px;height:382px;margin:auto;background:#e6e6e6;border:1px solid #d0d0d0}
.fpe-canvas{width:100%;height:100%;display:block;background:#fff}
.fpe-area-label{position:absolute;top:-30px;right:0;font-weight:600}
.fpe-rulers{position:absolute;inset:0;pointer-events:none}
.fpe-ruler-top{position:absolute;left:0;right:0;top:-26px;height:26px}
.fpe-ruler-top:before{content:"";position:absolute;left:0;right:0;top:14px;height:1px;background:#333}
.fpe-ruler-top::after{content:"";position:absolute;left:0;right:0;top:14px;height:1px;background:transparent}
.fpe-ruler-top span{position:absolute;left:50%;transform:translateX(-50%);top:-2px;font-size:12px;color:#333}
.fpe-ruler-left{position:absolute;top:0;bottom:0;left:-42px;width:42px}
.fpe-ruler-left:before{content:"";position:absolute;top:0;bottom:0;left:22px;width:1px;background:#333}
.fpe-ruler-left span{position:absolute;top:50%;left:8px;transform:translateY(-50%) rotate(-90deg);transform-origin:left top;font-size:12px;color:#333}
.fpe-a4-label{position:absolute;top:6px;left:6px;font-weight:700;color:#333}

.fpe-row input.is-disabled{opacity:.6;background:#f5f5f5;cursor:not-allowed}

.fpe-size-fields{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}
.fpe-size-w,.fpe-size-h{display:flex;flex-direction:column}
.fpe-size-mult{align-self:center}
.fpe-hint{font-size:12px;color:#666;margin-top:4px}
.fpe-error{font-size:12px;color:#c02626;margin-top:6px}
.fpe-input-invalid{border-color:#c02626 !important; box-shadow:0 0 0 1px rgba(192,38,38,.2)}

.fpe-input-disabled{background:#f5f5f5!important;opacity:.8;cursor:not-allowed}


/* ===== Bakerymag theme v1.9 ===== */
:root{
  --fpe-primary:#C74365;
  --fpe-primary-hover:#A83450;
  --fpe-accent:#F9F9FB;
  --fpe-text:#222222;
  --fpe-muted:#6B7280;
  --fpe-border:#E5E7EB;
  --fpe-radius:12px;
  --fpe-font:"Inter","Arial",sans-serif;
}

/* Layout */
.fpe-wrap{font-family:var(--fpe-font);color:var(--fpe-text)}
.fpe-flex{align-items:flex-start}
.fpe-controls{max-width:420px}
.fpe-canvas-wrap{padding-top:52px}

/* Headings mimic site */
.fpe-wrap .fpe-row > label{font-weight:600;margin-bottom:6px;color:#3b3b3b}

/* Buttons */
.fpe-btn{background:var(--fpe-primary);color:#fff;border:none;border-radius:var(--fpe-radius);
  padding:12px 18px;font-weight:600;transition:background .2s,transform .05s}
.fpe-btn:hover{background:var(--fpe-primary-hover)}
.fpe-btn:active{transform:translateY(1px)}
.fpe-btn.secondary{background:#eef0f2;color:#222}
.fpe-btn.secondary:hover{background:#e6e8ea}

/* Badges (shape toggles) */
.fpe-badge{background:var(--fpe-accent);border:1px solid var(--fpe-border);
  padding:8px 14px;border-radius:999px;font-weight:600}
.fpe-badge.active{background:var(--fpe-primary);border-color:var(--fpe-primary);color:#fff}

/* Inputs */
.fpe-row input[type="text"],.fpe-row input[type="number"],.fpe-row input[type="email"],.fpe-row input[type="tel"],.fpe-row textarea{
  width:100%;border:1px solid var(--fpe-border);border-radius:var(--fpe-radius);
  padding:10px 12px;background:#fff;transition:border-color .15s, box-shadow .15s}
.fpe-row input:focus,.fpe-row textarea:focus{outline:none;border-color:var(--fpe-primary);
  box-shadow:0 0 0 3px rgba(199,67,101,.15)}
.fpe-input-disabled{background:#f5f5f5!important;opacity:.85;cursor:not-allowed}
.fpe-input-invalid{border-color:#c02626!important;box-shadow:0 0 0 2px rgba(192,38,38,.1)}

/* Radio list */
.fpe-controls label input[type="radio"]{margin-right:8px}
.fpe-controls .fpe-note{color:var(--fpe-muted)}

/* Hints + errors */
.fpe-hint{color:var(--fpe-muted);font-size:12px;margin-top:4px}
.fpe-error{color:#c02626;font-size:12px;margin-top:6px}

/* Modal */
.fpe-modal__box{border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.fpe-modal__img{box-shadow:0 8px 24px rgba(0,0,0,.18)}

/* A4 board */
.fpe-a4{background:#ECECEC;border:1px solid var(--fpe-border);border-radius:8px}
.fpe-ruler-top:before{background:#999}
.fpe-ruler-left:before{background:#999}
.fpe-a4-label{color:#666;font-weight:700}

/* Slider */
.fpe-slider{-webkit-appearance:none;appearance:none;height:6px;border-radius:999px;background:#e5e7eb;outline:none}
.fpe-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;
  background:var(--fpe-primary);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:pointer}
.fpe-slider::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:var(--fpe-primary);cursor:pointer}

/* Area label */
.fpe-area-label{font-weight:700;color:#3b3b3b}


/* v2.0 Styling */
/* Buttons */
.fpe-btn, .fpe-file-btn, input[type=submit].fpe-btn {
  background: linear-gradient(180deg, #FF2D87 0%, #E72677 100%);
  color:#fff;
  border:none;
  border-radius:999px;
  padding:12px 28px;
  font-weight:600;
  font-family:var(--fpe-font);
  transition:opacity .2s, transform .05s;
}
.fpe-btn:hover, .fpe-file-btn:hover, input[type=submit].fpe-btn:hover{opacity:.9}
.fpe-btn:active, .fpe-file-btn:active{transform:translateY(1px)}
/* Shape toggle pill */
.fpe-shape-toggle{display:flex;border:1px solid #C74365;border-radius:999px;overflow:hidden;width:max-content}
.fpe-shape-toggle .fpe-badge{flex:1;text-align:center;padding:10px 20px;font-weight:600;font-family:var(--fpe-font);border:none;border-radius:0;background:transparent;color:#12315E;cursor:pointer;transition:background .2s,color .2s}
.fpe-shape-toggle .fpe-badge.active{background:#12315E;color:#fff}


/* v2.1 exact styles from refs */
:root{
  --fpe-blue:#0B315D;
  --fpe-blue-ghost:rgba(11,49,93,0.08);
  --fpe-pink:#FF2D87;
  --fpe-pink-2:#E72677;
}
.fpe-shape-toggle{
  display:flex;
  border:1px solid var(--fpe-blue);
  border-radius:999px;
  overflow:hidden;
  width:max-content;
  background:#fff;
}
.fpe-shape-toggle .fpe-badge{
  margin:0;
  border:none;
  border-radius:0;
  padding:12px 28px;
  font-weight:600;
  color:var(--fpe-blue);
  background:transparent;
  cursor:pointer;
  transition:background .2s,color .2s, box-shadow .2s;
}
.fpe-shape-toggle .fpe-badge.active{
  background:var(--fpe-blue);
  color:#fff;
  box-shadow:inset 0 0 0 1px var(--fpe-blue);
}
.fpe-badges{display:none}
.fpe-file-btn{
  display:inline-block;
  background:linear-gradient(180deg, var(--fpe-pink) 0%, var(--fpe-pink-2) 100%);
  color:#fff;
  border:none;
  border-radius:999px;
  padding:12px 24px;
  font-weight:600;
  cursor:pointer;
}
.fpe-file-btn:hover{opacity:.9}