{"id":1546,"date":"2025-05-31T07:35:48","date_gmt":"2025-05-31T07:35:48","guid":{"rendered":"https:\/\/crehistor.com\/?page_id=1546"},"modified":"2025-07-09T16:05:57","modified_gmt":"2025-07-09T16:05:57","slug":"romance","status":"publish","type":"page","link":"https:\/\/crehistor.com\/en\/romance\/","title":{"rendered":"Romance"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"1546\" class=\"elementor elementor-1546\">\n\t\t\t\t<div class=\"elementor-element elementor-element-51368bb e-flex e-con-boxed e-con e-parent\" data-id=\"51368bb\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-d136aeb e-con-full e-flex e-con e-child\" data-id=\"d136aeb\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-e6d0990 e-con-full e-flex e-con e-child\" data-id=\"e6d0990\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-02416c6 e-con-full e-flex e-con e-child\" data-id=\"02416c6\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-adc3e43 elementor-widget elementor-widget-shortcode\" data-id=\"adc3e43\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cinzel:wght@400;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&display=swap\" rel=\"stylesheet\">\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n\n<style>\n:root {\n    --forge-obsidian: #0d0d0f;\n    --forge-anthracite: #1a1a1e;\n    --forge-graphite: #252529;\n    --forge-steel: #3a3a42;\n    --forge-silver: #b0b0b8;\n    --forge-gold: #c9a54e;\n    --forge-gold-light: #e8c86d;\n    --forge-gold-pale: #f5e6c3;\n    --forge-white: #ffffff;\n    --forge-rose: #c97b7b;\n    --forge-rose-light: #d4a5a5;\n    --font-display: 'Cinzel', Georgia, serif;\n    --font-body: 'Cormorant Garamond', Georgia, serif;\n    --shadow-elevated: 0 8px 32px rgba(0,0,0,0.4), 0 2px 8px rgba(201,123,123,0.1);\n    --shadow-glow: 0 0 20px rgba(201,165,78,0.15);\n    --text-shadow: 0 1px 2px rgba(0,0,0,0.3);\n    --transition-smooth: cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n#rom-root {\n    max-width: 540px;\n    margin: 48px auto;\n    background: var(--forge-anthracite);\n    border-radius: 3px;\n    padding: 40px 36px;\n    box-shadow: var(--shadow-elevated);\n    font-family: var(--font-body);\n    color: var(--forge-white);\n    position: relative;\n}\n\n#rom-root::before {\n    content: '';\n    position: absolute;\n    top: 0; left: 0; right: 0;\n    height: 2px;\n    background: linear-gradient(90deg, transparent 0%, var(--forge-rose) 20%, var(--forge-gold) 50%, var(--forge-rose) 80%, transparent 100%);\n}\n\n.rom-box { text-align: center; animation: romFadeIn 0.5s var(--transition-smooth); }\n@keyframes romFadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }\n\n.rom-title { font-family: var(--font-display); font-size: 1.5em; font-weight: 700; color: var(--forge-gold); margin-bottom: 8px; letter-spacing: 0.08em; text-transform: uppercase; text-shadow: var(--text-shadow); }\n.rom-subtitle { font-size: 1.1em; font-weight: 500; color: var(--forge-rose-light); margin-bottom: 24px; font-style: italic; text-shadow: var(--text-shadow); }\n\n.rom-langbar { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }\n.rom-lang-btn { background: transparent; color: var(--forge-silver); border: 1px solid var(--forge-steel); padding: 6px 14px; font-family: var(--font-body); font-size: 0.95em; font-weight: 500; border-radius: 2px; cursor: pointer; transition: all 0.25s var(--transition-smooth); }\n.rom-lang-btn:hover { border-color: var(--forge-rose); color: var(--forge-rose); }\n.rom-lang-btn.active { background: var(--forge-gold); color: var(--forge-obsidian); border-color: var(--forge-gold); font-weight: 600; }\n\n.rom-slider { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 24px; }\n.rom-slider-arrow { background: transparent; border: 1px solid var(--forge-steel); color: var(--forge-rose); width: 40px; height: 40px; border-radius: 2px; font-size: 1.2em; cursor: pointer; transition: all 0.25s var(--transition-smooth); }\n.rom-slider-arrow:hover { background: var(--forge-rose); color: var(--forge-white); border-color: var(--forge-rose); }\n.rom-slider-img { width: 180px; height: 120px; border-radius: 2px; overflow: hidden; border: 1px solid var(--forge-steel); }\n.rom-slider-img img { width: 100%; height: 100%; object-fit: cover; filter: sepia(15%) saturate(1.1); transition: opacity 0.3s; }\n\n.rom-step-info { font-family: var(--font-display); font-size: 0.9em; color: var(--forge-rose); letter-spacing: 0.1em; margin-bottom: 16px; text-shadow: var(--text-shadow); }\n.rom-question { font-family: var(--font-display); font-size: 1.1em; font-weight: 600; color: var(--forge-white); margin-bottom: 20px; text-shadow: var(--text-shadow); }\n\n.rom-input { width: 100%; max-width: 350px; padding: 14px 18px; font-family: var(--font-body); font-size: 1.1em; font-weight: 500; border: 1px solid var(--forge-steel); border-radius: 2px; background: var(--forge-graphite); color: var(--forge-white); text-align: center; margin-bottom: 16px; box-sizing: border-box; transition: all 0.25s var(--transition-smooth); }\n.rom-input::placeholder { color: var(--forge-silver); font-style: italic; }\n.rom-input:focus { outline: none; border-color: var(--forge-rose); box-shadow: 0 0 0 3px rgba(201,123,123,0.15); }\n\n.rom-suggestions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 24px; }\n.rom-sug { padding: 8px 14px; border: 1px solid var(--forge-steel); background: transparent; border-radius: 2px; color: var(--forge-white); font-family: var(--font-body); font-size: 0.95em; font-weight: 500; cursor: pointer; transition: all 0.25s var(--transition-smooth); text-shadow: var(--text-shadow); }\n.rom-sug:hover { background: var(--forge-rose); border-color: var(--forge-rose); color: var(--forge-white); transform: translateY(-1px); }\n\n.rom-btn { background: linear-gradient(135deg, var(--forge-gold) 0%, var(--forge-gold-light) 50%, var(--forge-gold) 100%); color: var(--forge-obsidian); border: none; padding: 14px 32px; border-radius: 2px; font-family: var(--font-display); font-size: 0.95em; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: all 0.3s var(--transition-smooth); box-shadow: 0 2px 8px rgba(0,0,0,0.3); text-decoration: none; display: inline-block; margin: 6px; }\n.rom-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow); filter: brightness(1.1); }\n.rom-btn-secondary { background: transparent; color: var(--forge-rose); border: 1px solid var(--forge-rose); padding: 12px 24px; font-weight: 600; }\n.rom-btn-secondary:hover { background: var(--forge-rose); color: var(--forge-white); }\n.rom-btn-link { background: none; border: none; color: var(--forge-rose); font-family: var(--font-body); font-size: 1em; font-weight: 600; cursor: pointer; padding: 8px 16px; text-shadow: var(--text-shadow); }\n.rom-btn-link:hover { color: var(--forge-rose-light); }\n\n.rom-loading { padding: 40px 0; }\n.rom-loading-text { font-style: italic; font-size: 1.2em; font-weight: 600; color: var(--forge-rose-light); margin-bottom: 24px; text-shadow: var(--text-shadow); }\n.rom-spinner { width: 40px; height: 40px; margin: 0 auto; border: 2px solid var(--forge-steel); border-top-color: var(--forge-rose); border-radius: 50%; animation: romSpin 1s linear infinite; }\n@keyframes romSpin { to { transform: rotate(360deg); } }\n\n.rom-result-title { font-family: var(--font-display); font-size: 1.4em; font-weight: 700; color: var(--forge-gold); margin-bottom: 20px; text-shadow: var(--text-shadow); }\n\n.rom-story {\n    background: var(--forge-graphite);\n    border-left: 3px solid var(--forge-rose);\n    padding: 28px 24px;\n    border-radius: 0 2px 2px 0;\n    text-align: left;\n    font-size: 1.1em;\n    font-weight: 500;\n    line-height: 1.9;\n    color: var(--forge-white);\n    font-style: italic;\n    margin-bottom: 24px;\n    text-shadow: var(--text-shadow);\n}\n\n.rom-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 20px; }\n\n.rom-btn-login, .rom-btn-credits { background: linear-gradient(135deg, var(--forge-gold) 0%, var(--forge-gold-light) 50%, var(--forge-gold) 100%) !important; color: var(--forge-obsidian) !important; border: none !important; padding: 18px 48px !important; border-radius: 3px !important; font-family: var(--font-display) !important; font-size: 1.05em !important; font-weight: 700 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; cursor: pointer !important; text-decoration: none !important; display: inline-block !important; box-shadow: 0 4px 20px rgba(201,165,78,0.4) !important; margin-top: 10px !important; transition: all 0.3s var(--transition-smooth) !important; }\n.rom-btn-login:hover, .rom-btn-credits:hover { transform: translateY(-3px) !important; box-shadow: 0 6px 30px rgba(201,165,78,0.6) !important; filter: brightness(1.1) !important; }\n\n.rom-error { color: #d4873f; font-size: 0.95em; margin-top: 8px; text-shadow: var(--text-shadow); }\n\n@media (max-width: 600px) { #rom-root { margin: 24px 16px; padding: 28px 20px; } .rom-slider-img { width: 140px; height: 95px; } .rom-actions { flex-direction: column; } .rom-btn { width: 100%; } .rom-suggestions { gap: 6px; } .rom-sug { padding: 6px 10px; font-size: 0.9em; } }\n<\/style>\n\n<div id=\"rom-root\"><div class=\"rom-box\" id=\"rom-content\"><\/div><\/div>\n\n<script>\n(function() {\n    const config = {\n        ui: {\"main_title\":{\"fr\":\"Histoires d'Amour\",\"en\":\"Love Stories\",\"es\":\"Historias de Amor\",\"it\":\"Storie d'Amore\",\"de\":\"Liebesgeschichten\"},\"subtitle\":{\"fr\":\"Cr\u00e9e ta romance parfaite\",\"en\":\"Create your perfect romance\",\"es\":\"Crea tu romance perfecta\",\"it\":\"Crea la tua storia romantica\",\"de\":\"Erstelle deine perfekte Romanze\"},\"intro\":{\"fr\":\"R\u00e9ponds aux questions pour g\u00e9n\u00e9rer une histoire romantique unique.\",\"en\":\"Answer questions to generate a unique love story.\",\"es\":\"Responde para generar una historia de amor \u00fanica.\",\"it\":\"Rispondi per generare una storia d'amore unica.\",\"de\":\"Beantworte f\u00fcr eine einzigartige Liebesgeschichte.\"},\"questions\":{\"fr\":[\"Nom de l'auteur\",\"Genre\\\/ambiance (com\u00e9die, tragique, moderne\u2026)\",\"Nom du personnage principal\",\"Nom de la personne aim\u00e9e\",\"Lieu de leur rencontre\",\"Le moment cl\u00e9 de leur histoire\",\"L'obstacle majeur \u00e0 leur amour\",\"Un secret ou non-dit entre eux\",\"Une aide inattendue\",\"Un symbole ou objet important\",\"R\u00e9solution ou retournement final\",\"Morale ou message de l'histoire\"],\"en\":[\"Author name\",\"Genre\\\/mood (comedy, drama, modern\u2026)\",\"Main character's name\",\"Love interest's name\",\"Where they meet\",\"Key moment in their story\",\"Major obstacle to their love\",\"A secret between them\",\"Unexpected help\",\"Important symbol or object\",\"Final resolution or twist\",\"Moral or message\"],\"es\":[\"Nombre del autor\",\"G\u00e9nero\\\/ambiente (comedia, drama, moderno\u2026)\",\"Nombre del protagonista\",\"Nombre del ser amado\",\"Lugar de encuentro\",\"Momento clave de su historia\",\"Obst\u00e1culo principal\",\"Un secreto entre ellos\",\"Ayuda inesperada\",\"S\u00edmbolo u objeto importante\",\"Resoluci\u00f3n o giro final\",\"Moraleja o mensaje\"],\"it\":[\"Nome dell'autore\",\"Genere\\\/atmosfera (commedia, dramma, moderno\u2026)\",\"Nome del protagonista\",\"Nome dell'amato\\\/a\",\"Luogo del loro incontro\",\"Momento chiave della storia\",\"Ostacolo principale al loro amore\",\"Un segreto tra loro\",\"Aiuto inaspettato\",\"Simbolo o oggetto importante\",\"Risoluzione o colpo di scena finale\",\"Morale o messaggio\"],\"de\":[\"Name des Autors\",\"Genre\\\/Stimmung (Kom\u00f6die, Drama, modern\u2026)\",\"Name der Hauptfigur\",\"Name der geliebten Person\",\"Ort ihrer Begegnung\",\"Schl\u00fcsselmoment ihrer Geschichte\",\"Haupthindernis f\u00fcr ihre Liebe\",\"Ein Geheimnis zwischen ihnen\",\"Unerwartete Hilfe\",\"Wichtiges Symbol oder Objekt\",\"Finale Aufl\u00f6sung oder Wendung\",\"Moral oder Botschaft\"]},\"suggestions\":{\"fr\":[[\"Emma\",\"Victor\",\"Clara\",\"Antoine\",\"Sophie\"],[\"Com\u00e9die romantique\",\"Romance tragique\",\"Moderne urbain\",\"Historique\",\"Fantasy romantique\",\"Drame passionnel\"],[\"\u00c9lise\",\"Lucas\",\"Camille\",\"Th\u00e9o\",\"Marie\",\"Jules\"],[\"Antoine\",\"Sophie\",\"Julien\",\"L\u00e9a\",\"Gabriel\",\"Chlo\u00e9\"],[\"Caf\u00e9 parisien\",\"Biblioth\u00e8que ancienne\",\"Plage au coucher de soleil\",\"Train de nuit\",\"Mariage d'un ami\",\"A\u00e9roport\"],[\"Premier regard \u00e9chang\u00e9\",\"Danse sous la pluie\",\"Lettre secr\u00e8te d\u00e9couverte\",\"Sauvetage inattendu\",\"Aveu au clair de lune\",\"Retrouvailles apr\u00e8s des ann\u00e9es\"],[\"Distance g\u00e9ographique\",\"Familles en conflit\",\"Malentendu douloureux\",\"Ex jaloux\",\"Diff\u00e9rence sociale\",\"Maladie\"],[\"Double vie cach\u00e9e\",\"Amour d'enfance oubli\u00e9\",\"Promesse non tenue\",\"Identit\u00e9 secr\u00e8te\",\"Lettre jamais envoy\u00e9e\"],[\"Ami d'enfance sage\",\"Inconnu myst\u00e9rieux\",\"Grand-m\u00e8re bienveillante\",\"Animal fid\u00e8le\",\"Destin\"],[\"Bague de famille\",\"Rose s\u00e9ch\u00e9e\",\"Montre arr\u00eat\u00e9e \u00e0 minuit\",\"Collier bris\u00e9\",\"Livre annot\u00e9\",\"\u00c9toile filante\"],[\"D\u00e9claration publique\",\"Fuite romantique\",\"R\u00e9conciliation \u00e9mouvante\",\"Sacrifice h\u00e9ro\u00efque\",\"Mariage surprise\"],[\"L'amour triomphe toujours\",\"Vivre l'instant pr\u00e9sent\",\"Pardonner c'est aimer\",\"\u00c9couter son c\u0153ur\",\"Le destin existe\"]],\"en\":[[\"Emma\",\"Victor\",\"Clara\",\"Anthony\",\"Sophie\"],[\"Romantic comedy\",\"Tragic romance\",\"Modern urban\",\"Historical\",\"Romantic fantasy\",\"Passionate drama\"],[\"Elise\",\"Lucas\",\"Camille\",\"Theo\",\"Marie\",\"James\"],[\"Anthony\",\"Sophie\",\"Julian\",\"Lea\",\"Gabriel\",\"Chloe\"],[\"Paris caf\u00e9\",\"Old library\",\"Sunset beach\",\"Night train\",\"Friend's wedding\",\"Airport\"],[\"First glance\",\"Dancing in the rain\",\"Secret letter found\",\"Unexpected rescue\",\"Moonlight confession\",\"Reunion after years\"],[\"Long distance\",\"Feuding families\",\"Painful misunderstanding\",\"Jealous ex\",\"Social difference\",\"Illness\"],[\"Hidden double life\",\"Forgotten childhood love\",\"Broken promise\",\"Secret identity\",\"Unsent letter\"],[\"Wise childhood friend\",\"Mysterious stranger\",\"Kind grandmother\",\"Faithful pet\",\"Destiny\"],[\"Family ring\",\"Dried rose\",\"Watch stopped at midnight\",\"Broken necklace\",\"Annotated book\",\"Shooting star\"],[\"Public declaration\",\"Romantic escape\",\"Emotional reconciliation\",\"Heroic sacrifice\",\"Surprise wedding\"],[\"Love always wins\",\"Live in the moment\",\"To forgive is to love\",\"Follow your heart\",\"Destiny exists\"]],\"es\":[[\"Emma\",\"Victor\",\"Clara\",\"Antonio\",\"Sofia\"],[\"Comedia rom\u00e1ntica\",\"Romance tr\u00e1gico\",\"Moderno urbano\",\"Hist\u00f3rico\",\"Fantas\u00eda rom\u00e1ntica\",\"Drama apasionado\"],[\"Elisa\",\"Lucas\",\"Camila\",\"Theo\",\"Mar\u00eda\",\"Jaime\"],[\"Antonio\",\"Sofia\",\"Juli\u00e1n\",\"Lea\",\"Gabriel\",\"Chloe\"],[\"Caf\u00e9 parisino\",\"Biblioteca antigua\",\"Playa al atardecer\",\"Tren nocturno\",\"Boda de un amigo\",\"Aeropuerto\"],[\"Primera mirada\",\"Bailando bajo la lluvia\",\"Carta secreta encontrada\",\"Rescate inesperado\",\"Confesi\u00f3n a la luz de la luna\",\"Reencuentro despu\u00e9s de a\u00f1os\"],[\"Larga distancia\",\"Familias en conflicto\",\"Malentendido doloroso\",\"Ex celoso\",\"Diferencia social\",\"Enfermedad\"],[\"Doble vida oculta\",\"Amor de infancia olvidado\",\"Promesa rota\",\"Identidad secreta\",\"Carta nunca enviada\"],[\"Amigo sabio de la infancia\",\"Extra\u00f1o misterioso\",\"Abuela bondadosa\",\"Mascota fiel\",\"Destino\"],[\"Anillo familiar\",\"Rosa seca\",\"Reloj parado a medianoche\",\"Collar roto\",\"Libro anotado\",\"Estrella fugaz\"],[\"Declaraci\u00f3n p\u00fablica\",\"Fuga rom\u00e1ntica\",\"Reconciliaci\u00f3n emotiva\",\"Sacrificio heroico\",\"Boda sorpresa\"],[\"El amor siempre gana\",\"Vivir el momento\",\"Perdonar es amar\",\"Seguir el coraz\u00f3n\",\"El destino existe\"]],\"it\":[[\"Emma\",\"Victor\",\"Clara\",\"Antonio\",\"Sofia\"],[\"Commedia romantica\",\"Romance tragico\",\"Moderno urbano\",\"Storico\",\"Fantasy romantico\",\"Dramma passionale\"],[\"Elisa\",\"Luca\",\"Camilla\",\"Theo\",\"Maria\",\"Giacomo\"],[\"Antonio\",\"Sofia\",\"Giuliano\",\"Lea\",\"Gabriele\",\"Chloe\"],[\"Caff\u00e8 parigino\",\"Biblioteca antica\",\"Spiaggia al tramonto\",\"Treno notturno\",\"Matrimonio di un amico\",\"Aeroporto\"],[\"Primo sguardo\",\"Ballando sotto la pioggia\",\"Lettera segreta trovata\",\"Salvataggio inaspettato\",\"Confessione al chiaro di luna\",\"Ritrovarsi dopo anni\"],[\"Distanza geografica\",\"Famiglie in conflitto\",\"Malinteso doloroso\",\"Ex geloso\",\"Differenza sociale\",\"Malattia\"],[\"Doppia vita nascosta\",\"Amore d'infanzia dimenticato\",\"Promessa non mantenuta\",\"Identit\u00e0 segreta\",\"Lettera mai inviata\"],[\"Amico saggio d'infanzia\",\"Sconosciuto misterioso\",\"Nonna benevola\",\"Animale fedele\",\"Destino\"],[\"Anello di famiglia\",\"Rosa secca\",\"Orologio fermo a mezzanotte\",\"Collana rotta\",\"Libro annotato\",\"Stella cadente\"],[\"Dichiarazione pubblica\",\"Fuga romantica\",\"Riconciliazione commovente\",\"Sacrificio eroico\",\"Matrimonio a sorpresa\"],[\"L'amore vince sempre\",\"Vivere il momento\",\"Perdonare \u00e8 amare\",\"Ascoltare il cuore\",\"Il destino esiste\"]],\"de\":[[\"Emma\",\"Victor\",\"Clara\",\"Anton\",\"Sophie\"],[\"Romantische Kom\u00f6die\",\"Tragische Romanze\",\"Modern urban\",\"Historisch\",\"Romantische Fantasy\",\"Leidenschaftliches Drama\"],[\"Elise\",\"Lukas\",\"Camille\",\"Theo\",\"Marie\",\"Jakob\"],[\"Anton\",\"Sophie\",\"Julian\",\"Lea\",\"Gabriel\",\"Chloe\"],[\"Pariser Caf\u00e9\",\"Alte Bibliothek\",\"Strand bei Sonnenuntergang\",\"Nachtzug\",\"Hochzeit eines Freundes\",\"Flughafen\"],[\"Erster Blick\",\"Tanzen im Regen\",\"Geheimer Brief gefunden\",\"Unerwartete Rettung\",\"Gest\u00e4ndnis im Mondlicht\",\"Wiedersehen nach Jahren\"],[\"Fernbeziehung\",\"Verfeindete Familien\",\"Schmerzhaftes Missverst\u00e4ndnis\",\"Eifers\u00fcchtiger Ex\",\"Sozialer Unterschied\",\"Krankheit\"],[\"Verstecktes Doppelleben\",\"Vergessene Kinderliebe\",\"Gebrochenes Versprechen\",\"Geheime Identit\u00e4t\",\"Nie gesendeter Brief\"],[\"Weiser Kindheitsfreund\",\"Mysteri\u00f6ser Fremder\",\"G\u00fctige Gro\u00dfmutter\",\"Treues Haustier\",\"Schicksal\"],[\"Familienring\",\"Getrocknete Rose\",\"Um Mitternacht stehende Uhr\",\"Zerbrochene Kette\",\"Kommentiertes Buch\",\"Sternschnuppe\"],[\"\u00d6ffentliche Erkl\u00e4rung\",\"Romantische Flucht\",\"Emotionale Vers\u00f6hnung\",\"Heroisches Opfer\",\"\u00dcberraschungshochzeit\"],[\"Liebe siegt immer\",\"Den Moment leben\",\"Vergeben hei\u00dft lieben\",\"Dem Herzen folgen\",\"Schicksal existiert\"]]},\"random_word\":{\"fr\":\"Suggestion\",\"en\":\"Suggestion\",\"es\":\"Sugerencia\",\"it\":\"Suggerimento\",\"de\":\"Vorschlag\"},\"all_random\":{\"fr\":\"Tout au hasard\",\"en\":\"Fill randomly\",\"es\":\"Todo al azar\",\"it\":\"Tutto casuale\",\"de\":\"Alles zuf\u00e4llig\"},\"next\":{\"fr\":\"Suivant\",\"en\":\"Next\",\"es\":\"Siguiente\",\"it\":\"Avanti\",\"de\":\"Weiter\"},\"generate\":{\"fr\":\"\u00c9crire l'histoire\",\"en\":\"Write the story\",\"es\":\"Escribir la historia\",\"it\":\"Scrivere la storia\",\"de\":\"Geschichte schreiben\"},\"pdf\":{\"fr\":\"T\u00e9l\u00e9charger PDF\",\"en\":\"Download PDF\",\"es\":\"Descargar PDF\",\"de\":\"PDF herunterladen\",\"it\":\"Scarica PDF\"},\"whatsapp\":{\"fr\":\"Partager\",\"en\":\"Share\",\"es\":\"Compartir\",\"de\":\"Teilen\",\"it\":\"Condividi\"},\"new\":{\"fr\":\"Nouvelle romance\",\"en\":\"New romance\",\"es\":\"Nueva historia\",\"de\":\"Neue Geschichte\",\"it\":\"Nuova storia\"},\"generating\":{\"fr\":\"\u00c9criture en cours\u2026\",\"en\":\"Writing in progress\u2026\",\"es\":\"Escribiendo\u2026\",\"de\":\"Wird geschrieben\u2026\",\"it\":\"Scrittura in corso\u2026\"},\"question\":{\"fr\":\"Question\",\"en\":\"Question\",\"es\":\"Pregunta\",\"de\":\"Frage\",\"it\":\"Domanda\"},\"login_welcome\":{\"fr\":\"Bienvenue\",\"en\":\"Welcome\",\"es\":\"Bienvenido\",\"de\":\"Willkommen\",\"it\":\"Benvenuto\"},\"login_text\":{\"fr\":\"Connecte-toi pour cr\u00e9er tes romances.\",\"en\":\"Log in to create your love stories.\",\"es\":\"Inicia sesi\u00f3n para crear tus historias.\",\"de\":\"Melde dich an f\u00fcr deine Geschichten.\",\"it\":\"Accedi per creare le tue storie.\"},\"login_btn\":{\"fr\":\"Connexion \\\/ Inscription\",\"en\":\"Login \\\/ Sign up\",\"es\":\"Iniciar sesi\u00f3n\",\"de\":\"Anmelden\",\"it\":\"Accedi\"},\"credits_text\":{\"fr\":\"Tu n'as plus de cr\u00e9dits.\",\"en\":\"You're out of credits.\",\"es\":\"No tienes cr\u00e9ditos.\",\"de\":\"Keine Credits mehr.\",\"it\":\"Crediti esauriti.\"},\"credits_btn\":{\"fr\":\"Acheter des cr\u00e9dits\",\"en\":\"Buy credits\",\"es\":\"Comprar cr\u00e9ditos\",\"de\":\"Credits kaufen\",\"it\":\"Acquista crediti\"}},\n        languages: [{\"key\":\"fr\",\"label\":\"Fran\u00e7ais\",\"flag\":\"\ud83c\uddeb\ud83c\uddf7\"},{\"key\":\"en\",\"label\":\"English\",\"flag\":\"\ud83c\uddec\ud83c\udde7\"},{\"key\":\"es\",\"label\":\"Espa\u00f1ol\",\"flag\":\"\ud83c\uddea\ud83c\uddf8\"},{\"key\":\"it\",\"label\":\"Italiano\",\"flag\":\"\ud83c\uddee\ud83c\uddf9\"},{\"key\":\"de\",\"label\":\"Deutsch\",\"flag\":\"\ud83c\udde9\ud83c\uddea\"}],\n        covers: [\"\\\/wp-content\\\/uploads\\\/2025\\\/cover\\\/romance1.jpg\",\"\\\/wp-content\\\/uploads\\\/2025\\\/cover\\\/romance2.jpg\",\"\\\/wp-content\\\/uploads\\\/2025\\\/cover\\\/romance3.jpg\",\"\\\/wp-content\\\/uploads\\\/2025\\\/cover\\\/romance4.jpg\"],\n        ajaxUrl: 'https:\/\/crehistor.com\/wp-admin\/admin-ajax.php'\n    };\n\n    const userState = {\n        loggedIn: false,\n        credits: 0    };\n\n    let state = { lang: localStorage.getItem('rom_lang') || 'fr', step: 0, answers: [], coverIndex: 0, generated: null };\n    let sliderTimer;\n\n    function tr(key) { return config.ui[key] && config.ui[key][state.lang] ? config.ui[key][state.lang] : (config.ui[key] ? config.ui[key]['fr'] : key); }\n    function setLang(lang) { state.lang = lang; localStorage.setItem('rom_lang', lang); }\n\n    function renderLangBar() { return `<div class=\"rom-langbar\">${config.languages.map(l => `<button class=\"rom-lang-btn${state.lang === l.key ? ' active' : ''}\" data-lang=\"${l.key}\">${l.flag} ${l.label}<\/button>`).join('')}<\/div>`; }\n\n    function renderSlider() {\n        const img = config.covers[state.coverIndex % config.covers.length];\n        return `<div class=\"rom-slider\"><button class=\"rom-slider-arrow\" id=\"rom-slider-prev\">\u25c0<\/button><div class=\"rom-slider-img\"><img decoding=\"async\" src=\"${img}\"><\/div><button class=\"rom-slider-arrow\" id=\"rom-slider-next\">\u25b6<\/button><\/div>`;\n    }\n\n    function startSlider() {\n        if (sliderTimer) clearTimeout(sliderTimer);\n        sliderTimer = setTimeout(() => { state.coverIndex = (state.coverIndex + 1) % config.covers.length; const img = document.querySelector('.rom-slider-img img'); if (img) { img.style.opacity = '0'; setTimeout(() => { img.src = config.covers[state.coverIndex]; img.style.opacity = '1'; }, 300); } startSlider(); }, 3500);\n    }\n\n    function stopSlider() { if (sliderTimer) clearTimeout(sliderTimer); }\n    function bindLangButtons() { document.querySelectorAll('.rom-lang-btn').forEach(btn => { btn.onclick = () => { setLang(btn.dataset.lang); state.step = 0; state.answers = []; state.generated = null; render(); }; }); }\n    function bindSliderButtons() { const prev = document.getElementById('rom-slider-prev'); const next = document.getElementById('rom-slider-next'); if (prev) prev.onclick = () => { state.coverIndex = (state.coverIndex + config.covers.length - 1) % config.covers.length; render(); }; if (next) next.onclick = () => { state.coverIndex = (state.coverIndex + 1) % config.covers.length; render(); }; }\n\n    function fillAllRandom() {\n        const qs = config.ui.questions[state.lang] || config.ui.questions.fr;\n        const suggs = config.ui.suggestions[state.lang] || config.ui.suggestions.fr;\n        state.answers = qs.map((_, i) => { const arr = suggs[i] || []; return arr[Math.floor(Math.random() * arr.length)] || ''; });\n        state.step = qs.length + 1;\n        render();\n        setTimeout(generate, 300);\n    }\n\n    function render() {\n        const root = document.getElementById('rom-content');\n        const qs = config.ui.questions[state.lang] || config.ui.questions.fr;\n\n        if (!userState.loggedIn) {\n            root.innerHTML = `${renderLangBar()}${renderSlider()}<h1 class=\"rom-title\">${tr('login_welcome')}<\/h1><p class=\"rom-subtitle\">${tr('login_text')}<\/p><button class=\"rom-btn-login xoo-el-login-tgr\">${tr('login_btn')}<\/button>`;\n            bindLangButtons(); startSlider(); bindSliderButtons(); return;\n        }\n\n        if (userState.credits < 1) {\n            root.innerHTML = `${renderLangBar()}${renderSlider()}<h1 class=\"rom-title\">${tr('login_welcome')}<\/h1><p class=\"rom-subtitle\">${tr('credits_text')}<\/p><a href=\"\/boutique\" class=\"rom-btn-credits\">${tr('credits_btn')}<\/a>`;\n            bindLangButtons(); startSlider(); bindSliderButtons(); return;\n        }\n\n        \/\/ Questions\n        if (state.step >= 0 && state.step < qs.length) {\n            stopSlider();\n            const q = qs[state.step];\n            const suggs = (config.ui.suggestions[state.lang] || config.ui.suggestions.fr)[state.step] || [];\n\n            let html = `${renderLangBar()}`;\n            if (state.step === 0) html += `${renderSlider()}<h1 class=\"rom-title\">${tr('main_title')}<\/h1><p class=\"rom-subtitle\">${tr('subtitle')}<\/p>`;\n            html += `<div class=\"rom-step-info\">\ud83d\udc95 ${tr('question')} ${state.step + 1} \/ ${qs.length}<\/div><div class=\"rom-question\">${q}<\/div><input type=\"text\" class=\"rom-input\" id=\"rom-answer\" value=\"${state.answers[state.step] || ''}\" autocomplete=\"off\"><div class=\"rom-suggestions\">${suggs.map(s => `<button class=\"rom-sug\">${s}<\/button>`).join('')}<\/div><div class=\"rom-actions\"><button class=\"rom-btn-link\" id=\"rom-all-random\">${tr('all_random')}<\/button><\/div><div class=\"rom-actions\"><button class=\"rom-btn\" id=\"rom-next\">${state.step < qs.length - 1 ? tr('next') : tr('generate')}<\/button><\/div>`;\n\n            root.innerHTML = html;\n            bindLangButtons();\n            if (state.step === 0) { startSlider(); bindSliderButtons(); }\n            document.getElementById('rom-answer').focus();\n            document.getElementById('rom-answer').onkeydown = e => { if (e.key === 'Enter') document.getElementById('rom-next').click(); };\n            document.querySelectorAll('.rom-sug').forEach(btn => { btn.onclick = () => document.getElementById('rom-answer').value = btn.textContent; });\n            document.getElementById('rom-all-random').onclick = fillAllRandom;\n            document.getElementById('rom-next').onclick = () => { const val = document.getElementById('rom-answer').value.trim(); if (!val && state.step === 0) { return; } state.answers[state.step] = val; state.step++; if (state.step >= qs.length) generate(); else render(); };\n            return;\n        }\n\n        if (state.generated) renderResult();\n    }\n\n    function generate() {\n        const root = document.getElementById('rom-content');\n        root.innerHTML = `${renderLangBar()}<div class=\"rom-loading\"><div class=\"rom-loading-text\">\ud83d\udc95 ${tr('generating')}<\/div><div class=\"rom-spinner\"><\/div><\/div>`;\n        bindLangButtons();\n\n        fetch(config.ajaxUrl + '?action=rom_generate', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ lang: state.lang, answers: state.answers }) })\n        .then(r => r.json())\n        .then(data => { state.generated = data; if (userState.credits > 0) userState.credits--; renderResult(); })\n        .catch(() => { state.generated = { title: 'Erreur', story: '\u00c9chec de la g\u00e9n\u00e9ration.' }; renderResult(); });\n    }\n\n    function renderResult() {\n        const root = document.getElementById('rom-content');\n        const data = state.generated;\n        \n        root.innerHTML = `${renderLangBar()}\n            <div class=\"rom-result-title\">\ud83d\udc95 ${data.title}<\/div>\n            <div class=\"rom-story\">${(data.story || '').replace(\/\\n\/g, '<br>')}<\/div>\n            <div class=\"rom-actions\"><button class=\"rom-btn\" id=\"rom-pdf\">\ud83d\udcc4 ${tr('pdf')}<\/button><a href=\"https:\/\/wa.me\/?text=${encodeURIComponent(data.title + '\\n\\n' + (data.story || '').substring(0, 500))}\" target=\"_blank\" class=\"rom-btn rom-btn-secondary\">\ud83d\udcf1 ${tr('whatsapp')}<\/a><\/div>\n            <div class=\"rom-actions\" style=\"margin-top:12px;\">${userState.credits > 0 ? `<button class=\"rom-btn rom-btn-secondary\" id=\"rom-new\">\ud83d\udd04 ${tr('new')}<\/button>` : `<a href=\"\/boutique\" class=\"rom-btn-credits\">${tr('credits_btn')}<\/a>`}<\/div>`;\n        bindLangButtons();\n        document.getElementById('rom-pdf').onclick = () => generatePDF(data.title, data.story);\n        const newBtn = document.getElementById('rom-new');\n        if (newBtn) newBtn.onclick = () => { state.step = 0; state.answers = []; state.generated = null; render(); };\n    }\n\n    function generatePDF(title, story) {\n        const { jsPDF } = window.jspdf;\n        const doc = new jsPDF();\n        const pageWidth = doc.internal.pageSize.getWidth();\n        const pageHeight = doc.internal.pageSize.getHeight();\n        const margin = 20;\n        let y = margin;\n\n        doc.setFillColor(255, 250, 250); doc.rect(0, 0, pageWidth, pageHeight, 'F');\n        doc.setDrawColor(201, 123, 123); doc.setLineWidth(1.5); doc.line(margin, 15, pageWidth - margin, 15);\n\n        y = 30;\n        doc.setFont('helvetica', 'bold'); doc.setFontSize(16); doc.setTextColor(201, 123, 123);\n        doc.text('HISTOIRE D\\'AMOUR', pageWidth \/ 2, y, { align: 'center' });\n\n        y += 12;\n        doc.setFontSize(14); doc.setTextColor(60, 60, 60);\n        const titleLines = doc.splitTextToSize(title, pageWidth - margin * 2);\n        titleLines.forEach(line => { doc.text(line, pageWidth \/ 2, y, { align: 'center' }); y += 7; });\n\n        y += 8;\n        doc.setDrawColor(201, 165, 78); doc.setLineWidth(0.5); doc.line(margin + 40, y, pageWidth - margin - 40, y);\n\n        y += 12;\n        doc.setFont('helvetica', 'italic'); doc.setFontSize(11); doc.setTextColor(40, 40, 40);\n        const lines = doc.splitTextToSize(story, pageWidth - margin * 2);\n        lines.forEach(line => { if (y > pageHeight - 25) { doc.addPage(); doc.setFillColor(255, 250, 250); doc.rect(0, 0, pageWidth, pageHeight, 'F'); y = margin; } doc.text(line, margin, y); y += 6; });\n\n        const footerY = pageHeight - 12;\n        doc.setDrawColor(201, 123, 123); doc.setLineWidth(0.3); doc.line(margin, footerY - 5, pageWidth - margin, footerY - 5);\n        doc.setFont('helvetica', 'normal'); doc.setFontSize(9); doc.setTextColor(150, 150, 150);\n        doc.text('G\u00e9n\u00e9r\u00e9 par Romance Parfait \u2014 crehistor.com', pageWidth \/ 2, footerY, { align: 'center' });\n        doc.text(new Date().toLocaleDateString('fr-FR'), pageWidth - margin, footerY, { align: 'right' });\n\n        doc.save('Romance_' + title.replace(\/[^a-zA-Z0-9]\/g, '_').substring(0, 20) + '.pdf');\n    }\n\n    render();\n})();\n<\/script>\n\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4ebe11e e-con-full e-flex e-con e-child\" data-id=\"4ebe11e\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1546","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/pages\/1546","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/comments?post=1546"}],"version-history":[{"count":16,"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/pages\/1546\/revisions"}],"predecessor-version":[{"id":2831,"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/pages\/1546\/revisions\/2831"}],"wp:attachment":[{"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/media?parent=1546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}