/* Joyfile AI Speech Writer (extends builder.css) */
.jfsp .jfcv-form { max-width: 920px; }
.jfsp .jfcv-nav { align-items: center; }
.jfsp .jfcv-nav .jfcv-fine { margin: 0; max-width: 420px; }
.jfsp-paper { background: #fff; border: 2px solid var(--c-ink); border-radius: 18px; box-shadow: 4px 4px 0 var(--c-ink); padding: clamp(20px, 4vw, 48px); font-family: "Lora", Georgia, serif; }
.jfsp-title, .jfsp-title-in { font: 700 clamp(22px, 2.6vw, 30px)/1.2 var(--font-display, sans-serif); margin: 0 0 4px; color: var(--c-ink); }
.jfsp-title-in { width: 100%; border: 0 !important; border-bottom: 2px dashed var(--c-line) !important; border-radius: 0 !important; padding: 2px 0 6px !important; background: transparent !important; }
.jfsp-meta { font: 600 13px var(--font-body, Inter, sans-serif); color: var(--c-muted); margin: 0 0 20px; }
.jfsp-text p, .jfsp-blur p { font-size: 18px; line-height: 1.75; margin: 0 0 16px; color: #26222f; }
.jfsp-text-in { width: 100%; min-height: 320px; border: 2px solid var(--c-line) !important; border-radius: 12px !important; padding: 16px 18px !important; font: 400 18px/1.75 "Lora", Georgia, serif !important; color: #26222f; resize: vertical; background: #fffdf8 !important; }
.jfsp-toast-l { margin-top: 16px; }
.jfsp-toast-l input { font-style: italic; font-weight: 600 !important; }
.jfsp-tips { margin-top: 22px; padding: 16px 18px; border-radius: 12px; background: var(--c-sun-soft); font-family: var(--font-body, Inter, sans-serif); }
.jfsp-tips h4 { margin: 0 0 8px; font-size: 15px; }
.jfsp-tips ul { margin: 0; padding-left: 18px; font-size: 14.5px; line-height: 1.5; }
.jfsp-lock { position: relative; margin-top: 4px; }
.jfsp-blur { filter: blur(6px); user-select: none; pointer-events: none; max-height: 340px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 40%, transparent); mask-image: linear-gradient(#000 40%, transparent); }
.jfsp-lock-card { position: absolute; left: 50%; top: 70px; transform: translateX(-50%); width: min(420px, 92%); background: #fff; border: 2px solid var(--c-ink); border-radius: 16px; box-shadow: 4px 4px 0 var(--c-ink); padding: 20px; text-align: center; font-family: var(--font-body, Inter, sans-serif); display: grid; gap: 8px; }
.jfsp-lock-card strong { font-size: 19px; }
.jfsp-lock-card span { color: var(--c-ink2); font-size: 14.5px; }
.jfsp-lock-card .jfcv-btn { margin-top: 6px; }
.jfsp-lock-card .price del { opacity: .6; font-weight: 500; }
.jfsp-lock-card .price ins, .jfsp-lock-card ins { text-decoration: none; }
.jfsp .jfcv-buy .jfcv-btn + .jfcv-btn { margin-top: 10px; }
@media (max-width: 960px) { .jfsp-paper { order: -1; } }
@font-face { font-family: "Lora"; font-weight: 400; font-display: swap; src: url("../fonts/Lora-Regular.ttf") format("truetype"); }
@font-face { font-family: "Lora"; font-weight: 700; font-display: swap; src: url("../fonts/Lora-Bold.ttf") format("truetype"); }
@font-face { font-family: "Lora"; font-style: italic; font-display: swap; src: url("../fonts/Lora-Italic.ttf") format("truetype"); }
.jfsp .jfsp-title-in { font: 700 clamp(22px, 2.6vw, 30px)/1.2 var(--font-display, sans-serif) !important; margin-top: 0; }
.jfsp-paper label { font-family: var(--font-body, Inter, sans-serif); }
.jfsp-lock { min-height: 300px; }
