    /* --- Gemini Chat Widget Styles (Final with Fullscreen Icon) --- */
    .gc-bubble, .gc-bubble * { font-family: 'Sarabun', sans-serif !important; box-sizing: content-box !important; }
    .gc-widget, .gc-widget * { font-family: 'Sarabun', sans-serif !important; box-sizing: border-box !important; }
    .gc-bubble { position: fixed !important; bottom: 20px !important; right: 20px !important; background-color: #007bff !important; color: white !important; width: 60px !important; height: 60px !important; line-height: 60px !important; border-radius: 50% !important; display: flex !important; justify-content: center !important; align-items: center !important; font-size: 28px !important; cursor: pointer !important; box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important; z-index: 9998 !important; transition: transform 0.2s, box-shadow 0.2s !important; }
    .gc-bubble:hover { transform: scale(1.1) !important; box-shadow: 0 6px 16px rgba(0,0,0,0.2) !important; }
    .gc-widget { display: none !important; position: fixed !important; bottom: 20px !important; right: 20px !important; width: 370px !important; max-width: calc(100% - 40px) !important; max-height: 75vh !important; background-color: white !important; border: none !important; border-radius: 15px !important; box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important; z-index: 9999 !important; overflow: hidden !important; flex-direction: column !important; transition: all 0.3s ease-in-out !important; opacity: 0 !important; transform: translateY(20px) !important; }
    .gc-widget.gc-widget--open { display: flex !important; opacity: 1 !important; transform: translateY(0) !important; }
    .gc-widget__header { background: linear-gradient(45deg, #007bff, #0056b3) !important; color: white !important; padding: 1rem 1.25rem !important; font-weight: 600 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; border: none !important; flex-shrink: 0 !important; }
    .gc-widget__header-text { display: flex !important; align-items: center !important; font-size: 1.15rem !important; }
    .gc-widget__header-text svg { margin-right: 10px !important; }
    .gc-widget__close-btn { background: none !important; border: none !important; color: white !important; font-size: 24px !important; cursor: pointer !important; opacity: 0.8 !important; padding: 0 !important; line-height: 1 !important; }
    .gc-widget__close-btn:hover { opacity: 1 !important; }
    .gc-widget__pre-chat { padding: 1.5rem !important; text-align: center !important; }
    .gc-widget__pre-chat h4 { margin-top: 0 !important; margin-bottom: 1rem !important; color: #333 !important; font-size: 1.25rem !important; font-weight: 600 !important; }
    .gc-widget__pre-chat p { font-size: 0.95rem !important; color: #6c757d !important; margin-bottom: 1.5rem !important; }
    .gc-widget__name-input { width: 100% !important; padding: 0.75rem !important; margin-bottom: 1rem !important; border: 1px solid #ccc !important; border-radius: 8px !important; font-size: 1rem !important; }
    .gc-widget__start-btn { width: 100% !important; padding: 0.75rem !important; background-color: #007bff !important; color: white !important; border: none !important; border-radius: 8px !important; cursor: pointer !important; font-weight: 500 !important; font-size: 1rem !important; }
    .gc-widget__main-chat { display: none !important; flex-direction: column !important; flex-grow: 1 !important; height: 100% !important; overflow: hidden !important; }
    .gc-widget__main-chat--active { display: flex !important; }
    .gc-widget__messages { flex-grow: 1 !important; padding: 1rem !important; overflow-y: auto !important; background-color: #f8f9fa !important; min-height: 250px !important; display: flex !important; flex-direction: column !important; }
    .gc-message-row { display: flex !important; margin-bottom: 1rem !important; }
    .gc-message-row .gc-message__avatar { width: 32px !important; height: 32px !important; border-radius: 50% !important; background-color: #e9ecef !important; flex-shrink: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; }
    .gc-message-row .gc-message__content { max-width: 80% !important; }
    .gc-widget__message { padding: 0.6rem 1rem !important; border-radius: 1.25rem !important; word-wrap: break-word !important; line-height: 1.5 !important; }
    .gc-message-row--visitor { justify-content: flex-end !important; }
    .gc-message-row--visitor .gc-message__content { margin-right: 10px !important; order: 1 !important; }
    .gc-message-row--visitor .gc-message__avatar { order: 2 !important; }
    .gc-widget__message--visitor { background-color: #007bff !important; color: white !important; }
    .gc-message-row--admin { justify-content: flex-start !important; }
    .gc-message-row--admin .gc-message__content { margin-left: 10px !important; }
    .gc-widget__message--admin { background-color: #e9ecef !important; color: #333 !important; }
    .gc-widget__input-area { display: flex !important; border-top: 1px solid #ddd !important; padding: 0.75rem !important; align-items: center !important; flex-shrink: 0 !important; }
    .gc-widget__text-input { flex-grow: 1 !important; border: none !important; padding: 0.5rem !important; outline: none !important; background: none !important; font-size: 1rem !important; font-family: 'Sarabun', sans-serif !important; }
    .gc-widget__send-btn { background-color: #007bff !important; color: white !important; border: none !important; border-radius: 50% !important; width: 40px !important; height: 40px !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
    .gc-widget__fullscreen-btn { background: none !important; border: none !important; color: white !important; cursor: pointer !important; opacity: 0.8 !important; padding: 0 !important; margin-right: 10px !important; line-height: 1 !important; }
    .gc-widget__fullscreen-btn:hover { opacity: 1 !important; }
    .gc-widget.gc-widget--fullscreen { top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; border-radius: 0 !important; transform: none !important; }
    .gc-widget.gc-widget--fullscreen .gc-bubble { display: none !important; }
    .gc-widget .icon-collapse { display: none !important; }
    .gc-widget .icon-expand { display: inline-block !important; }
    .gc-widget.gc-widget--fullscreen .icon-expand { display: none !important; }
    .gc-widget.gc-widget--fullscreen .icon-collapse { display: inline-block !important; }