.fc-app{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:1180px;margin:30px auto;color:#171717}.fc-head{text-align:center;margin-bottom:24px}.fc-kicker{font-size:12px;letter-spacing:.18em;font-weight:800}.fc-head h2{font-size:34px;line-height:1.1;margin:8px 0}.fc-head p{color:#666}.fc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fc-card{background:#fff;border:1px solid #e6e6e6;border-radius:18px;padding:22px;box-shadow:0 8px 30px rgba(0,0,0,.05)}.fc-card h3{margin-top:0}.fc-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fc-fields label{font-size:13px;font-weight:700;display:flex;flex-direction:column;gap:7px}.fc-fields .fc-wide{grid-column:1/-1}.fc-fields input,.fc-fields select,.fc-fields textarea{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #d7d7d7;border-radius:10px;background:#fff;font:inherit;font-weight:400}.fc-fields textarea{min-height:90px}.fc-checks{display:grid;gap:10px;margin-bottom:18px}.fc-checks label{font-size:14px}.fc-total{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#171717;color:#fff;border-radius:18px;padding:20px 24px;margin-top:2px}.fc-total span{display:block;font-size:12px;opacity:.7}.fc-total strong{font-size:28px}.fc-btn{border:0;border-radius:10px;padding:12px 18px;background:#fff;color:#171717;font-weight:800;cursor:pointer}.fc-total .fc-btn{background:#d4af37}.fc-cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fc-preview{text-align:center}.fc-preview canvas{width:min(100%,500px);height:auto;box-shadow:0 10px 40px rgba(0,0,0,.15);border-radius:4px;margin-bottom:15px}#fc-total{flex-wrap:wrap}
#fc-message{flex:1 1 100%;min-width:0;font-size:14px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}
#fc-message:empty{display:none}
#fc-message .fc-error{display:block;box-sizing:border-box;width:100%;padding:11px 14px;border:1px solid #d9d9d9;border-left:5px solid #b42318;border-radius:8px;background:#ffffff !important;color:#7f1d1d !important;font-weight:700;line-height:1.5;box-shadow:0 1px 3px rgba(0,0,0,.08)}
#fc-message .fc-ok{display:block;box-sizing:border-box;width:100%;padding:11px 14px;border:1px solid #9ed6b0;border-left:5px solid #16803c;border-radius:8px;background:#effaf2;color:#14532d !important;font-weight:700;line-height:1.5}@media(max-width:800px){.fc-grid,.fc-cover-grid{grid-template-columns:1fr}.fc-fields{grid-template-columns:1fr}.fc-fields .fc-wide{grid-column:auto}.fc-total{flex-direction:column;align-items:stretch}.fc-total .fc-btn{width:100%}}

.fc-clear-customer{margin-top:10px;padding:7px 12px;border:1px solid #ccc;border-radius:4px;background:#f5f5f5;cursor:pointer;font-size:12px}.fc-clear-customer:hover{background:#eee}


.fc-clear-customer,
.fc-clear-customer:hover,
.fc-clear-customer:focus,
.fc-clear-customer:active {
  color: #222 !important;
  background: #f5f5f5 !important;
  border: 1px solid #999 !important;
}


/* Movable cover logo */
#fc-cover-canvas{touch-action:none;cursor:default;user-select:none;-webkit-user-select:none;}
#fc-cover-canvas.fc-logo-dragging{cursor:grabbing;}
.fc-logo-help{display:block;margin-top:5px;font-size:12px;opacity:.75;line-height:1.4;}
#fc-reset-logo{margin-top:8px;}

/* v0.1.18 */
#fc-cover-canvas {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  touch-action:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}
#fc-reset-logo {
  position:relative;
  z-index:5;
  pointer-events:auto !important;
}

/* v0.1.23 calculator color controls are intentionally hidden:
   the cover designer is the single source of truth. */
/* v0.1.23: colors are selected only in the cover designer. */
#fc-color, #fc-lettering { display:none !important; }



/* v0.1.26 - color controls belong to the cover designer */
.fc-app[data-fc="cover"] label:has(> #cv-color),
.fc-app[data-fc="cover"] label:has(> #cv-letter) {
  display:flex !important;
  visibility:visible !important;
}
.fc-app[data-fc="cover"] #cv-color,
.fc-app[data-fc="cover"] #cv-letter {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  width:100% !important;
  min-height:38px !important;
}

/* v0.1.26: calculator keeps technical color values hidden; designer controls stay visible. */
.fc-app[data-fc="calculator"] .fc-calculator-color-hidden{display:none !important;}


/* v0.1.41 - always-visible live total */
#fc-sticky-total{position:fixed;left:0;right:0;bottom:0;z-index:99999;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #d9d9d9;box-shadow:0 -8px 28px rgba(0,0,0,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#fc-sticky-total .fc-sticky-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:12px}
#fc-sticky-total .fc-sticky-main{margin-right:auto;display:flex;align-items:baseline;gap:12px;min-width:0}
#fc-sticky-total .fc-sticky-main span{font-size:13px;font-weight:700;color:#555;white-space:nowrap}
#fc-sticky-total .fc-sticky-total-value{font-size:24px;line-height:1.1;white-space:nowrap}
#fc-sticky-total button{border:0;border-radius:9px;padding:10px 15px;font:inherit;font-weight:800;cursor:pointer}
#fc-sticky-total .fc-sticky-details-btn{background:#eee;color:#222}
#fc-sticky-total .fc-sticky-order{background:#d4af37;color:#171717}
#fc-sticky-total .fc-sticky-details{max-width:1180px;margin:10px auto 0;padding:10px 0 2px;border-top:1px solid #e5e5e5;max-height:42vh;overflow:auto}
#fc-sticky-total .fc-sticky-detail-row{display:flex;justify-content:space-between;gap:20px;padding:5px 0;font-size:13px}
#fc-sticky-total .fc-sticky-detail-row strong{white-space:nowrap}
#fc-sticky-total .fc-sticky-empty{font-size:13px;color:#666;padding:4px 0}
body:has(#fc-sticky-total){padding-bottom:76px}
@media(max-width:800px){
  #fc-sticky-total{padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
  #fc-sticky-total .fc-sticky-inner{gap:7px}
  #fc-sticky-total .fc-sticky-main{display:block;min-width:0}
  #fc-sticky-total .fc-sticky-main span{display:block;font-size:11px}
  #fc-sticky-total .fc-sticky-total-value{font-size:20px}
  #fc-sticky-total button{padding:9px 10px;font-size:12px}
  #fc-sticky-total .fc-sticky-details{max-height:45vh}
}


/* v0.1.43 - több soros borítómezők javítás */
.fc-app[data-fc="cover"] .fc-fields textarea{resize:vertical;line-height:1.35;min-height:62px;}

/* v0.1.44 - szövegmezők is mozgathatók a borító előnézetében */
#fc-cover-canvas.fc-text-dragging{cursor:grabbing !important;}

/* v0.1.45 - borító szövegmezők egyedi betűmérete, a névjegykártya
   kalkulátor kompakt Betűméret vezérlőjével azonos elv szerint */
@media (min-width: 801px){
  .fc-app[data-fc="cover"] .fc-cover-fields-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) 78px;
    gap:7px;
    align-items:end;
    margin-bottom:-4px;
  }
  .fc-app[data-fc="cover"] .fc-cover-fields-header span:last-child{
    font-size:9px;
    font-weight:600;
    text-align:left;
    white-space:nowrap;
  }
  .fc-app[data-fc="cover"] .fc-cover-field-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 78px;
    gap:7px;
    align-items:end;
  }
  .fc-app[data-fc="cover"] .fc-cover-field-row > label:first-child{
    min-width:0;
  }
  .fc-app[data-fc="cover"] .fc-cover-size-inline{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    font-size:9px;
    font-weight:600;
    white-space:nowrap;
  }
  .fc-app[data-fc="cover"] .fc-cover-size-inline input{
    width:48px;
    height:30px;
    padding:4px 5px;
    border-radius:5px;
    font-size:12px;
    box-sizing:border-box;
  }
  .fc-app[data-fc="cover"] .fc-cover-cityyear-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
}

@media (max-width: 800px){
  .fc-app[data-fc="cover"] .fc-cover-fields-header{
    display:none;
  }
  .fc-app[data-fc="cover"] .fc-cover-field-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 64px;
    gap:8px;
    align-items:end;
  }
  .fc-app[data-fc="cover"] .fc-cover-size-inline input{
    width:58px;
    height:38px;
    padding:6px 7px;
    border-radius:8px;
    font-size:13px;
    box-sizing:border-box;
  }
  .fc-app[data-fc="cover"] .fc-cover-cityyear-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
}

/* 0.1.73: force readable validation messages even when the active WordPress theme overrides backgrounds */
body .fc-app #fc-message .fc-error,
body .fc-app #fc-message .fc-error * {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #7f1d1d !important;
  opacity: 1 !important;
}
