{"id":1231,"date":"2025-07-13T07:36:52","date_gmt":"2025-07-13T07:36:52","guid":{"rendered":"https:\/\/bawabatak.com\/ai-prompt\/?p=1231"},"modified":"2025-07-13T07:44:01","modified_gmt":"2025-07-13T07:44:01","slug":"luxury-coffee-ad-with-cracked-bean-floating-granules","status":"publish","type":"post","link":"https:\/\/bawabatak.com\/ai-prompt\/luxury-coffee-ad-with-cracked-bean-floating-granules\/","title":{"rendered":"Luxury Coffee Ad with Cracked Bean &amp; Floating Granules"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1232 size-full\" src=\"https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt.png?resize=1019%2C679&#038;ssl=1\" alt=\"\" width=\"1019\" height=\"679\" srcset=\"https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt.png?w=1019&amp;ssl=1 1019w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt.png?resize=300%2C200&amp;ssl=1 300w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt.png?resize=768%2C512&amp;ssl=1 768w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt.png?resize=150%2C100&amp;ssl=1 150w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n\n\n<div class=\"ai-prompt-container\" style=\"\n    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);\n    border-radius: 15px;\n    padding: 30px;\n    margin: 20px 0;\n    border: 1px solid #333;\n    box-shadow: 0 10px 30px rgba(0, 168, 255, 0.1);\n    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n    position: relative;\n\">\n    <div class=\"prompt-header\" style=\"\n        display: flex;\n        align-items: center;\n        margin-bottom: 20px;\n        border-bottom: 2px solid #00A8FF;\n        padding-bottom: 15px;\n    \">\n        <div class=\"prompt-icon\" style=\"\n            background: linear-gradient(45deg, #00A8FF, #0080CC);\n            width: 50px;\n            height: 50px;\n            border-radius: 12px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            margin-right: 15px;\n            box-shadow: 0 5px 15px rgba(0, 168, 255, 0.3);\n        \">\n            <span style=\"color: white; font-size: 24px; font-weight: bold;\">\u2728<\/span>\n        <\/div>\n        <div>\n            <h3 style=\"\n                color: #fff;\n                margin: 0;\n                font-size: 24px;\n                font-weight: 600;\n            \">Luxurious Coffee Ad<\/h3>\n            <p style=\"\n                color: #00A8FF;\n                margin: 5px 0 0 0;\n                font-size: 14px;\n                font-weight: 500;\n            \">AI Image Generation Prompt<\/p>\n        <\/div>\n    <\/div>\n\n    <div class=\"instructions-section\" style=\"\n        background: rgba(0, 168, 255, 0.05);\n        border-radius: 10px;\n        padding: 20px;\n        margin-bottom: 25px;\n        border-left: 4px solid #00A8FF;\n    \">\n        <h4 style=\"color: #00A8FF; margin: 0 0 15px 0; font-size: 18px; font-weight: 600;\">\ud83d\udccb How to Use:<\/h4>\n        <ol style=\"color: #e0e0e0; line-height: 1.6; margin: 0; padding-left: 20px;\">\n            <li style=\"margin-bottom: 8px;\">Open ChatGPT<\/li>\n            <li style=\"margin-bottom: 8px;\">Copy and paste the prompt below<\/li>\n        <\/ol>\n    <\/div>\n\n    <div class=\"prompt-content\" style=\"\n        background: rgba(0, 168, 255, 0.05);\n        border-left: 4px solid #00A8FF;\n        padding: 20px;\n        border-radius: 8px;\n        margin-bottom: 25px;\n    \">\n        <div class=\"prompt-text\" style=\"\n            color: #e0e0e0;\n            line-height: 1.6;\n            font-size: 16px;\n            white-space: pre-wrap;\n            word-wrap: break-word;\n        \" id=\"promptText\">A <span class=\"editable-word\" data-key=\"realism_ad_type\">hyper-realistic ad<\/span> of a <span class=\"editable-word\" data-key=\"product_description_start\">luxurious coffee jar labeled<\/span> &#8216;<span class=\"editable-word\" data-key=\"jar_label\">instant-o-Coffee<\/span>&#8216; <span class=\"editable-word\" data-key=\"main_subject_placement\">placed in front of a giant cracked coffee bean<\/span>. <span class=\"editable-word\" data-key=\"atmospheric_elements\">Floating granules, golden reflections, smoky gradients, and moody lighting<\/span> create a <span class=\"editable-word\" data-key=\"atmosphere_descriptor\">rich, aromatic atmosphere<\/span>. Style: <span class=\"editable-word\" data-key=\"overall_style\">product photography \u00d7 surreal \u00d7 commercial<\/span>. Format: <span class=\"editable-word\" data-key=\"format\">4:5 Instagram portrait<\/span>.<\/div>\n    <\/div>\n\n    <div class=\"prompt-actions\" style=\"\n        display: flex;\n        gap: 15px;\n        align-items: center;\n        flex-wrap: wrap;\n        position: relative;\n    \">\n        <button onclick=\"copyPrompt()\" id=\"copyButton\" style=\"\n            background: linear-gradient(45deg, #00A8FF, #0080CC);\n            color: white;\n            border: none;\n            padding: 12px 25px;\n            border-radius: 25px;\n            font-size: 16px;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            box-shadow: 0 5px 15px rgba(0, 168, 255, 0.3);\n            display: flex;\n            align-items: center;\n            gap: 8px;\n            position: relative;\n            overflow: hidden;\n        \" onmouseover=\"this.style.transform='translateY(-2px)'; this.style.boxShadow='0 8px 25px rgba(0, 168, 255, 0.4)'\"\n            onmouseout=\"this.style.transform='translateY(0)'; this.style.boxShadow='0 5px 15px rgba(0, 168, 255, 0.3)'\">\n            <span id=\"copyIcon\">\ud83d\udccb<\/span>\n            <span id=\"copyText\">Copy Prompt<\/span>\n        <\/button>\n\n        <a href=\"https:\/\/chat.openai.com\/\" target=\"_blank\" style=\"\n            background: linear-gradient(45deg, #10A37F, #0D8A6B);\n            color: white;\n            text-decoration: none;\n            padding: 12px 25px;\n            border-radius: 25px;\n            font-size: 16px;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            box-shadow: 0 5px 15px rgba(16, 163, 127, 0.3);\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n        \" onmouseover=\"this.style.transform=&#039;translateY(-2px)&#039;; this.style.boxShadow=&#039;0 8px 25px rgba(16, 163, 127, 0.4)&#039;\" onmouseout=\"this.style.transform=&#039;translateY(0)&#039;; this.style.boxShadow=&#039;0 5px 15px rgba(16, 163, 127, 0.3)&#039;\" rel=\"noopener\">\n            <span>\ud83d\ude80<\/span>\n            Try in ChatGPT\n        <\/a>\n\n        <button onclick=\"toggleCustomizer()\" id=\"customizeButton\" style=\"\n            background: rgba(255, 193, 7, 0.1);\n            color: #FFC107;\n            border: 2px solid #FFC107;\n            padding: 10px 20px;\n            border-radius: 25px;\n            font-size: 16px;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        \" onmouseover=\"this.style.background='rgba(255, 193, 7, 0.2)'\"\n            onmouseout=\"this.style.background='rgba(255, 193, 7, 0.1)'\">\n            <span>\u2699\ufe0f<\/span>\n            <span id=\"customizeText\">Customize<\/span>\n        <\/button>\n    <\/div>\n\n    <div id=\"customizerPanel\" style=\"\n        display: none;\n        background: rgba(0, 168, 255, 0.05);\n        border: 1px solid #00A8FF;\n        border-radius: 12px;\n        padding: 25px;\n        margin-top: 25px;\n        backdrop-filter: blur(10px);\n    \">\n        <div style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;\">\n            <h4 style=\"color: #00A8FF; margin: 0; font-size: 18px; font-weight: 600; display: flex; align-items: center; gap: 10px;\">\n                <span>\ud83c\udfaf<\/span> Customize Your Prompt\n            <\/h4>\n            <button onclick=\"resetToDefaults()\" id=\"resetButton\" style=\"\n                background: rgba(220, 53, 69, 0.1);\n                color: #dc3545;\n                border: 2px solid #dc3545;\n                padding: 8px 16px;\n                border-radius: 20px;\n                font-size: 14px;\n                font-weight: 600;\n                cursor: pointer;\n                transition: all 0.3s ease;\n                display: flex;\n                align-items: center;\n                gap: 6px;\n            \" onmouseover=\"this.style.background='rgba(220, 53, 69, 0.2)'\"\n                onmouseout=\"this.style.background='rgba(220, 53, 69, 0.1)'\">\n                <span>\ud83d\udd04<\/span>\n                Reset\n            <\/button>\n        <\/div>\n\n        <div class=\"customizer-grid\" style=\"\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n            gap: 20px;\n            margin-bottom: 25px;\n        \">\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udf1f Realism\/Ad Type:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('realism_ad_type', 'hyper-realistic ad')\" data-active=\"true\">Hyper-realistic Ad<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('realism_ad_type', 'stylized commercial illustration')\">Stylized Commercial Illustration<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('realism_ad_type', 'minimalist product shot')\">Minimalist Product Shot<\/button>\n                <\/div>\n                <input type=\"text\" id=\"realism_ad_type-custom\" placeholder=\"Or enter custom realism\/ad type...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\udce6 Product Description Start:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('product_description_start', 'luxurious coffee jar labeled')\" data-active=\"true\">Luxurious Coffee Jar Labeled<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('product_description_start', 'premium instant beverage container')\">Premium Instant Beverage Container<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('product_description_start', 'modern glass jar')\">Modern Glass Jar<\/button>\n                <\/div>\n                <input type=\"text\" id=\"product_description_start-custom\" placeholder=\"Or enter custom product description start...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udff7\ufe0f Jar Label Text:<\/label>\n                <input type=\"text\" id=\"jar_label-custom\" placeholder=\"e.g., Instant Brew, Morning Glory\" value=\"instant-o-Coffee\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\udccd Main Subject Placement:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('main_subject_placement', 'placed in front of a giant cracked coffee bean')\" data-active=\"true\">In front of Giant Cracked Coffee Bean<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('main_subject_placement', 'sitting on a polished wooden surface with steam rising')\">On Polished Wooden Surface with Steam<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('main_subject_placement', 'floating amidst a swirling vortex of coffee liquid')\">Floating in Swirling Coffee Vortex<\/button>\n                <\/div>\n                <input type=\"text\" id=\"main_subject_placement-custom\" placeholder=\"Or enter custom placement...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\u2728 Atmospheric Elements:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('atmospheric_elements', 'Floating granules, golden reflections, smoky gradients, and moody lighting')\" data-active=\"true\">Floating Granules, Golden Reflections, Smoky Gradients, Moody Lighting<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('atmospheric_elements', 'Soft bokeh background, warm rim lighting, and subtle steam effects')\">Soft Bokeh, Warm Rim Lighting, Subtle Steam<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('atmospheric_elements', 'Sharp focus, crisp shadows, and bright, even illumination')\">Sharp Focus, Crisp Shadows, Bright Illumination<\/button>\n                <\/div>\n                <input type=\"text\" id=\"atmospheric_elements-custom\" placeholder=\"Or enter custom atmospheric elements...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udf2c\ufe0f Atmosphere Descriptor:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('atmosphere_descriptor', 'rich, aromatic atmosphere')\" data-active=\"true\">Rich, Aromatic Atmosphere<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('atmosphere_descriptor', 'clean, refreshing ambiance')\">Clean, Refreshing Ambiance<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('atmosphere_descriptor', 'vibrant, energetic mood')\">Vibrant, Energetic Mood<\/button>\n                <\/div>\n                <input type=\"text\" id=\"atmosphere_descriptor-custom\" placeholder=\"Or enter custom atmosphere descriptor...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udfa8 Overall Style:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('overall_style', 'product photography \u00d7 surreal \u00d7 commercial')\" data-active=\"true\">Product Photography \u00d7 Surreal \u00d7 Commercial<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('overall_style', 'abstract art \u00d7 minimalist design \u00d7 editorial')\">Abstract Art \u00d7 Minimalist Design \u00d7 Editorial<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('overall_style', 'vintage illustration \u00d7 hand-drawn \u00d7 rustic')\">Vintage Illustration \u00d7 Hand-drawn \u00d7 Rustic<\/button>\n                <\/div>\n                <input type=\"text\" id=\"overall_style-custom\" placeholder=\"Or enter custom overall style...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\udccf Format:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('format', '4:5 Instagram portrait')\" data-active=\"true\">4:5 Instagram Portrait<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('format', '16:9 cinematic widescreen')\">16:9 Cinematic Widescreen<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('format', '1:1 square for social media')\">1:1 Square for Social Media<\/button>\n                <\/div>\n                <input type=\"text\" id=\"format-custom\" placeholder=\"Or enter custom format...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n        <\/div>\n\n        <div style=\"display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;\">\n            <button onclick=\"applyCustomChanges()\" id=\"applyButton\" style=\"\n                background: linear-gradient(45deg, #FFC107, #FF9800);\n                color: #1a1a1a;\n                border: none;\n                padding: 12px 30px;\n                border-radius: 25px;\n                font-size: 16px;\n                font-weight: 700;\n                cursor: pointer;\n                transition: all 0.3s ease;\n                box-shadow: 0 5px 15px rgba(255, 193, 7, 0.3);\n                display: inline-flex;\n                align-items: center;\n                gap: 8px;\n            \" onmouseover=\"this.style.transform='translateY(-2px)'; this.style.boxShadow='0 8px 25px rgba(255, 193, 7, 0.4)'\"\n                onmouseout=\"this.style.transform='translateY(0)'; this.style.boxShadow='0 5px 15px rgba(255, 193, 7, 0.3)'\">\n                <span>\ud83d\ude80<\/span>\n                Apply Changes\n            <\/button>\n        <\/div>\n    <\/div>\n\n    <div class=\"tips-section\" style=\"\n        background: rgba(255, 193, 7, 0.1);\n        border-left: 4px solid #FFC107;\n        border-radius: 8px;\n        padding: 20px;\n        margin-top: 25px;\n    \">\n        <h4 style=\"color: #FFC107; margin: 0 0 15px 0; font-size: 16px; font-weight: 600;\">\ud83d\udca1 Pro Tips:<\/h4>\n        <ul style=\"color: #e0e0e0; line-height: 1.6; margin: 0; padding-left: 20px;\">\n            <li style=\"margin-bottom: 8px;\">The <span style=\"color: #00A8FF; font-weight: 600;\">highlighted words<\/span> in the prompt above can be customized<\/li>\n            <li style=\"margin-bottom: 8px;\">Use the <span style=\"color: #FFC107; font-weight: 600;\">Customize button<\/span> to modify different elements<\/li>\n            <li style=\"margin-bottom: 8px;\">Click <span style=\"color: #dc3545; font-weight: 600;\">Reset<\/span> to restore original prompt<\/li>\n            <li style=\"margin-bottom: 8px;\">Try different combinations for unique artistic effects<\/li>\n        <\/ul>\n    <\/div>\n<\/div>\n\n<style>\n@keyframes bounceScale {\n    0% { transform: scale(1); }\n    25% { transform: scale(0.95); }\n    50% { transform: scale(1.1); }\n    75% { transform: scale(0.98); }\n    100% { transform: scale(1); }\n}\n\n@keyframes slideDown {\n    0% { opacity: 0; transform: translateY(-20px); max-height: 0; }\n    100% { opacity: 1; transform: translateY(0); max-height: 1200px; } \/* Increased max-height for more fields *\/\n}\n\n@keyframes slideUp {\n    0% { opacity: 1; transform: translateY(0); max-height: 1200px; } \/* Increased max-height *\/\n    100% { opacity: 0; transform: translateY(-20px); max-height: 0; }\n}\n\n@keyframes resetPulse {\n    0%, 100% { transform: scale(1); }\n    50% { transform: scale(1.05); }\n}\n\n\/* Base style for editable words - transparent by default, no special hover *\/\n.editable-word {\n    background: transparent;\n    color: inherit; \/* Inherit color from parent (.prompt-text) so it's readable *\/\n    padding: 2px 6px;\n    border-radius: 4px;\n    font-weight: 600; \/* Keep bold for distinction *\/\n    cursor: pointer;\n    transition: none; \/* Ensure no transitions on hover or initial state *\/\n    display: inline-block;\n}\n\n\/* Ensure no changes on hover *\/\n.editable-word:hover {\n    background: transparent;\n    color: inherit;\n    transform: none; \/* No scale or other transforms *\/\n}\n\n\/* Class for dynamically applied highlight when a word is modified *\/\n.modified-highlight {\n    background: rgba(0, 168, 255, 0.2); \/* Subtle transparent blue *\/\n    color: white; \/* Make text white for better contrast with highlight *\/\n}\n\n\n.preset-btn {\n    background: rgba(255, 255, 255, 0.1);\n    color: #e0e0e0;\n    border: 1px solid #333;\n    padding: 6px 12px;\n    border-radius: 15px;\n    font-size: 12px;\n    font-weight: 500;\n    cursor: pointer;\n    transition: all 0.3s ease;\n}\n\n.preset-btn:hover {\n    background: rgba(0, 168, 255, 0.2);\n    border-color: #00A8FF;\n    color: #00A8FF;\n}\n\n.preset-btn[data-active=\"true\"] {\n    background: linear-gradient(45deg, #00A8FF, #0080CC);\n    color: white;\n    border-color: #00A8FF;\n}\n\n.customizer-show {\n    display: block !important;\n    animation: slideDown 0.5s ease-out !important;\n}\n\n.customizer-hide {\n    animation: slideUp 0.3s ease-in !important;\n}\n\n.ai-prompt-container button:active {\n    transform: scale(0.98) !important;\n}\n\n.copy-button-success {\n    background: linear-gradient(45deg, #4CAF50, #45a049) !important;\n    animation: bounceScale 0.6s ease-in-out !important;\n    box-shadow: 0 8px 25px rgba(76, 175, 80, 0.4) !important;\n}\n\n.reset-button-success {\n    background: linear-gradient(45deg, #4CAF50, #45a049) !important;\n    color: white !important;\n    border-color: #4CAF50 !important;\n    animation: resetPulse 0.6s ease-in-out !important;\n}\n\n@media (max-width: 768px) {\n    .ai-prompt-container {\n        padding: 20px !important;\n        margin: 15px 0 !important;\n    }\n\n    .prompt-actions {\n        flex-direction: column !important;\n        align-items: stretch !important;\n    }\n\n    .prompt-actions button,\n    .prompt-actions a {\n        width: 100% !important;\n        justify-content: center !important;\n    }\n\n    .customizer-grid {\n        grid-template-columns: 1fr !important;\n    }\n\n    .preset-btn {\n        font-size: 11px !important;\n        padding: 5px 10px !important;\n    }\n\n    #customizerPanel > div:first-child {\n        flex-direction: column !important;\n        align-items: flex-start !important;\n        gap: 15px !important;\n    }\n\n    #resetButton {\n        align-self: flex-end !important;\n    }\n}\n<\/style>\n\n<script>\n\/\/ Default values\nconst defaultValues = {\n    realism_ad_type: 'hyper-realistic ad',\n    product_description_start: 'luxurious coffee jar labeled',\n    jar_label: 'instant-o-Coffee',\n    main_subject_placement: 'placed in front of a giant cracked coffee bean',\n    atmospheric_elements: 'Floating granules, golden reflections, smoky gradients, and moody lighting',\n    atmosphere_descriptor: 'rich, aromatic atmosphere',\n    overall_style: 'product photography \u00d7 surreal \u00d7 commercial',\n    format: '4:5 Instagram portrait'\n};\n\n\/\/ Current values (will be modified by user actions)\nlet currentValues = {...defaultValues};\n\nfunction copyPrompt() {\n    const promptText = document.getElementById('promptText').innerText;\n    const copyButton = document.getElementById('copyButton');\n    const copyIcon = document.getElementById('copyIcon');\n    const copyText = document.getElementById('copyText');\n\n    copyButton.classList.add('copy-button-success');\n    copyIcon.textContent = '\u2705';\n    copyText.textContent = 'Copied!';\n\n    if (navigator.clipboard && window.isSecureContext) {\n        navigator.clipboard.writeText(promptText).then(function() {\n            \/\/ Success\n        }).catch(function(err) {\n            fallbackCopyTextToClipboard(promptText);\n        });\n    } else {\n        fallbackCopyTextToClipboard(promptText);\n    }\n\n    setTimeout(() => {\n        copyButton.classList.remove('copy-button-success');\n        copyIcon.textContent = '\ud83d\udccb';\n        copyText.textContent = 'Copy Prompt';\n    }, 2000);\n}\n\nfunction fallbackCopyTextToClipboard(text) {\n    const textArea = document.createElement(\"textarea\");\n    textArea.value = text;\n    textArea.style.top = \"0\";\n    textArea.style.left = \"0\";\n    textArea.style.position = \"fixed\";\n\n    document.body.appendChild(textArea);\n    textArea.focus();\n    textArea.select();\n\n    try {\n        document.execCommand('copy');\n    } catch (err) {\n        console.error('Fallback: Oops, unable to copy', err);\n    }\n\n    document.body.removeChild(textArea);\n}\n\nfunction toggleCustomizer() {\n    const panel = document.getElementById('customizerPanel');\n    const button = document.getElementById('customizeButton');\n    const buttonText = document.getElementById('customizeText');\n\n    if (panel.style.display === 'none' || panel.style.display === '') {\n        panel.classList.add('customizer-show');\n        panel.style.display = 'block';\n        buttonText.textContent = 'Close';\n        button.style.background = 'rgba(255, 193, 7, 0.2)';\n    } else {\n        panel.classList.remove('customizer-show');\n        panel.classList.add('customizer-hide');\n        buttonText.textContent = 'Customize';\n        button.style.background = 'rgba(255, 193, 7, 0.1)';\n\n        setTimeout(() => {\n            panel.style.display = 'none';\n            panel.classList.remove('customizer-hide');\n        }, 300);\n    }\n}\n\nfunction findButtonsForCustomizer(key) {\n    const customInput = document.getElementById(`${key}-custom`);\n    if (!customInput) return [];\n\n    let currentElement = customInput.parentElement;\n    const buttons = currentElement.querySelectorAll('.preset-btn');\n    return Array.from(buttons);\n}\n\nfunction applyPreset(key, value) {\n    currentValues[key] = value;\n\n    \/\/ Update active button\n    const buttons = findButtonsForCustomizer(key);\n    buttons.forEach(btn => {\n        btn.removeAttribute('data-active');\n        if (btn.onclick.toString().includes(`'${value}'`)) {\n            btn.setAttribute('data-active', 'true');\n        }\n    });\n\n    \/\/ Clear custom input\n    const customInput = document.getElementById(`${key}-custom`);\n    if (customInput) customInput.value = '';\n\n    updatePrompt(); \/\/ Re-render prompt to apply highlight if value is different from default\n}\n\nfunction applyCustomChanges() {\n    \/\/ Get custom values from inputs\n    Object.keys(defaultValues).forEach(key => {\n        const customInput = document.getElementById(`${key}-custom`);\n        if (customInput && customInput.value.trim()) {\n            currentValues[key] = customInput.value.trim();\n\n            \/\/ Remove active state from preset buttons as custom input overrides\n            const buttons = findButtonsForCustomizer(key);\n            buttons.forEach(btn => btn.removeAttribute('data-active'));\n        }\n    });\n\n    updatePrompt(); \/\/ Re-render prompt to apply highlights based on new custom values\n\n    \/\/ Show success feedback\n    const applyButton = document.getElementById('applyButton');\n    const originalText = applyButton.innerHTML;\n    applyButton.innerHTML = '<span>\u2705<\/span> Applied!';\n    applyButton.style.background = 'linear-gradient(45deg, #4CAF50, #45a049)';\n\n    setTimeout(() => {\n        applyButton.innerHTML = originalText;\n        applyButton.style.background = 'linear-gradient(45deg, #FFC107, #FF9800)';\n    }, 2000);\n}\n\nfunction resetToDefaults() {\n    \/\/ Reset values to defaults\n    currentValues = JSON.parse(JSON.stringify(defaultValues)); \/\/ Deep copy\n\n    \/\/ Clear all custom inputs\n    Object.keys(defaultValues).forEach(key => {\n        const input = document.getElementById(`${key}-custom`);\n        if (input) input.value = '';\n    });\n\n    \/\/ Reset ALL preset buttons first\n    document.querySelectorAll('.preset-btn').forEach(btn => {\n        btn.removeAttribute('data-active');\n    });\n\n    \/\/ Activate default buttons for each category based on defaultValues\n    const defaultButtonMappings = [\n        { key: 'realism_ad_type', value: 'hyper-realistic ad', buttonText: 'Hyper-realistic Ad' },\n        { key: 'product_description_start', value: 'luxurious coffee jar labeled', buttonText: 'Luxurious Coffee Jar Labeled' },\n        { key: 'jar_label', value: 'instant-o-Coffee', buttonText: 'instant-o-Coffee' }, \/\/ No preset button, but setting its default value\n        { key: 'main_subject_placement', value: 'placed in front of a giant cracked coffee bean', buttonText: 'In front of Giant Cracked Coffee Bean' },\n        { key: 'atmospheric_elements', value: 'Floating granules, golden reflections, smoky gradients, and moody lighting', buttonText: 'Floating Granules, Golden Reflections, Smoky Gradients, Moody Lighting' },\n        { key: 'atmosphere_descriptor', value: 'rich, aromatic atmosphere', buttonText: 'Rich, Aromatic Atmosphere' },\n        { key: 'overall_style', value: 'product photography \u00d7 surreal \u00d7 commercial', buttonText: 'Product Photography \u00d7 Surreal \u00d7 Commercial' },\n        { key: 'format', value: '4:5 Instagram portrait', buttonText: '4:5 Instagram Portrait' }\n    ];\n\n    defaultButtonMappings.forEach(({ key, value, buttonText }) => {\n        const buttons = findButtonsForCustomizer(key);\n        buttons.forEach(btn => {\n            if (btn.textContent.trim() === buttonText) {\n                btn.setAttribute('data-active', 'true');\n            }\n        });\n    });\n\n    \/\/ Handle jar_label text specifically as it doesn't have preset buttons but needs its default value\n    document.getElementById('jar_label-custom').value = defaultValues['jar_label'];\n\n    \/\/ Force update the prompt to remove all highlights\n    updatePrompt();\n\n    \/\/ Show success feedback on reset button\n    const resetButton = document.getElementById('resetButton');\n    const originalText = resetButton.innerHTML;\n    resetButton.classList.add('reset-button-success');\n    resetButton.innerHTML = '<span>\u2705<\/span> Reset!';\n\n    setTimeout(() => {\n        resetButton.classList.remove('reset-button-success');\n        resetButton.innerHTML = originalText;\n    }, 2000);\n}\n\n\/\/ Function to dynamically update the prompt string with conditional highlighting\nfunction updatePrompt() {\n    const promptElement = document.getElementById('promptText');\n\n    \/\/ Helper to generate a span with conditional highlighting\n    const createEditableSpan = (key) => {\n        const isModified = currentValues[key] !== defaultValues[key];\n        const highlightClass = isModified ? ' modified-highlight' : '';\n        return `<span class=\"editable-word${highlightClass}\" data-key=\"${key}\">${currentValues[key]}<\/span>`;\n    };\n\n    \/\/ Construct the prompt string based on current values and original phrasing\n    const template = `A ${createEditableSpan('realism_ad_type')} of a ${createEditableSpan('product_description_start')} '<span class=\"editable-word\" data-key=\"jar_label\">${currentValues['jar_label']}<\/span>' ${createEditableSpan('main_subject_placement')}. ${createEditableSpan('atmospheric_elements')} create a ${createEditableSpan('atmosphere_descriptor')}. Style: ${createEditableSpan('overall_style')}. Format: ${createEditableSpan('format')}.`;\n\n    promptElement.innerHTML = template;\n}\n\n\/\/ Initialize the prompt and customizer buttons on load\ndocument.addEventListener('DOMContentLoaded', () => {\n    updatePrompt(); \/\/ Render the initial prompt\n    \/\/ Set initial active state for default preset buttons\n    Object.keys(defaultValues).forEach(key => {\n        if (key !== 'jar_label') { \/\/ jar_label is handled by input value, not preset buttons\n            const buttons = findButtonsForCustomizer(key);\n            buttons.forEach(btn => {\n                if (btn.onclick.toString().includes(`'${defaultValues[key]}'`)) {\n                    btn.setAttribute('data-active', 'true');\n                }\n            });\n        }\n    });\n});\n<\/script>\n\n\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1233 size-full\" src=\"https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt-image.png?resize=1024%2C1536&#038;ssl=1\" alt=\"\" width=\"1024\" height=\"1536\" srcset=\"https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt-image.png?w=1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt-image.png?resize=200%2C300&amp;ssl=1 200w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt-image.png?resize=683%2C1024&amp;ssl=1 683w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt-image.png?resize=768%2C1152&amp;ssl=1 768w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt-image.png?resize=150%2C225&amp;ssl=1 150w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>","protected":false},"excerpt":{"rendered":"<p>\u2728 Luxurious Coffee Ad AI Image Generation Prompt \ud83d\udccb How to Use: Open ChatGPT Copy and paste the prompt below A hyper-realistic ad of a luxurious coffee jar labeled &#8216;instant-o-Coffee&#8216; placed in front of a giant cracked coffee bean. Floating granules, golden reflections, smoky gradients, and moody lighting create a rich, aromatic atmosphere. Style: product &hellip;<\/p>\n","protected":false},"author":1,"featured_media":1233,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[35,39],"tags":[118,110,115,105,114,109,111,113,106,107,116,117,108,119,112],"class_list":["post-1231","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-image","category-product","tag-45-format","tag-ai-packaging-design","tag-aromatic-atmosphere","tag-coffee-ad","tag-commercial-style","tag-cracked-coffee-bean","tag-floating-granules","tag-food-beverage-ai","tag-golden-reflections","tag-instagram-portrait","tag-luxury-branding","tag-moody-lighting","tag-product-photography","tag-smoky-gradients","tag-surreal-render"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Luxury-Coffee-Ad-with-Cracked-Bean-Floating-Granules-bawabatak-chatgpt-prompt-image.png?fit=1024%2C1536&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/posts\/1231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/comments?post=1231"}],"version-history":[{"count":3,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/posts\/1231\/revisions"}],"predecessor-version":[{"id":1236,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/posts\/1231\/revisions\/1236"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/media\/1233"}],"wp:attachment":[{"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/media?parent=1231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/categories?post=1231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/tags?post=1231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}