@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ============================================================
   GuideNest AI Chatbot Widget — ContentPen / Helpin AI Design
   ============================================================ */

.guidenest-container {
    --gn-primary: #ff4d15;
    --gn-primary-hover: #e03e0a;
    --gn-primary-2: #ff6b3d;
    --gn-primary-rgb: 255, 77, 21;
    --gn-bg: #ffffff;
    --gn-text-main: #111827;
    --gn-text-muted: #667085;
    --gn-border: #d8dee8;
    --gn-radius: 22px;
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    z-index: 9999999 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-sizing: border-box !important;
}

.guidenest-container *,
.guidenest-container *::before,
.guidenest-container *::after {
    box-sizing: border-box !important;
}

.guidenest-container.guidenest-position-left {
    right: auto !important;
    left: 24px !important;
}

.guidenest-container.guidenest-position-left .guidenest-window {
    right: auto !important;
    left: 0 !important;
}

/* Floating Launcher Button */
.guidenest-badge-button {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, var(--gn-primary) 0%, var(--gn-primary-2) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 8px 24px rgba(var(--gn-primary-rgb), 0.4) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    position: relative !important;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease !important;
    padding: 0 !important;
    outline: none !important;
}

.guidenest-badge-button:hover {
    transform: scale(1.06) !important;
    box-shadow: 0 12px 30px rgba(var(--gn-primary-rgb), 0.55) !important;
}

.guidenest-badge-button svg {
    width: 26px !important;
    height: 26px !important;
    stroke-width: 2.2 !important;
    stroke: #ffffff !important;
}

/* Chat Window Modal (Helpin AI Height & Proportions) */
.guidenest-window {
    position: absolute !important;
    bottom: 80px !important;
    right: 0 !important;
    width: 420px !important;
    max-width: calc(100vw - 32px) !important;
    height: min(640px, calc(100dvh - 112px)) !important;
    min-height: 480px !important;
    max-height: calc(100vh - 110px) !important;
    background: #ffffff !important;
    border: 1px solid rgba(229, 231, 235, 0.95) !important;
    border-radius: var(--gn-radius) !important;
    box-shadow: 0 20px 50px -10px rgba(0, 0, 0, 0.14), 0 0 1px rgba(0, 0, 0, 0.08) !important;
    display: none !important;
    flex-direction: column !important;
    overflow: hidden !important;
    animation: gnSlideUp 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@keyframes gnSlideUp {
    from { opacity: 0; transform: translateY(16px) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Window Header (Helpin AI Style) */
.guidenest-window-header {
    background: #ffffff !important;
    padding: 15px 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    border-bottom: 1px solid #f3f4f6 !important;
    flex-shrink: 0 !important;
}

.header-back-btn {
    background: transparent !important;
    border: none !important;
    color: #4b5563 !important;
    cursor: pointer !important;
    padding: 4px !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

.header-back-btn:hover {
    background: #f3f4f6 !important;
    color: #111827 !important;
}

.header-avatar-badge {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, var(--gn-primary) 0%, var(--gn-primary-2) 100%) !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    box-shadow: 0 2px 6px rgba(var(--gn-primary-rgb), 0.25) !important;
}

.header-avatar-badge img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.header-avatar-badge svg {
    stroke: #ffffff !important;
}

.header-info {
    flex: 1 !important;
}

.header-info h4 {
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.2 !important;
}

.header-subtitle {
    font-size: 11.5px !important;
    color: #667085 !important;
    display: block !important;
    margin-top: 2px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
}

.header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.header-action-btn {
    background: transparent !important;
    border: none !important;
    color: #6b7280 !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
}

.header-action-btn:hover {
    background: #f3f4f6 !important;
    color: #111827 !important;
}

/* Messages Area & Custom Scrollbars */
.guidenest-messages {
    flex: 1 !important;
    padding: 18px !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    background: #ffffff !important;
}

.guidenest-messages::-webkit-scrollbar {
    width: 5px !important;
}

.guidenest-messages::-webkit-scrollbar-track {
    background: transparent !important;
}

.guidenest-messages::-webkit-scrollbar-thumb {
    background: #e5e7eb !important;
    border-radius: 10px !important;
}

.guidenest-messages::-webkit-scrollbar-thumb:hover {
    background: #d1d5db !important;
}

/* Date Divider Pill */
.gn-date-divider {
    text-align: center !important;
    margin: 4px 0 8px 0 !important;
}

.gn-date-divider span {
    background: #f3f4f6 !important;
    color: #6b7280 !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    padding: 3px 12px !important;
    border-radius: 12px !important;
    display: inline-block !important;
}

/* Message Structure */
.gn-message {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    width: 100% !important;
}

.gn-message.user {
    align-self: flex-end !important;
    align-items: flex-end !important;
    max-width: 85% !important;
}

.gn-message.bot {
    align-self: flex-start !important;
    align-items: flex-start !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Bot Author Line */
.gn-msg-author {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin-bottom: 6px !important;
}

.gn-author-avatar {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: #f3f4f6 !important;
    color: #4b5563 !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.gn-author-name {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #374151 !important;
}

/* Message Content Bubbles */
.gn-msg-content {
    border-radius: 16px !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    position: relative !important;
}

.gn-message.bot .gn-msg-content {
    width: calc(100% - 27px) !important;
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%) !important;
    color: #1f2937 !important;
    padding: 14px 16px 15px !important;
    margin-left: 27px !important;
    border: 1px solid #e5eaf1 !important;
    border-radius: 6px 16px 16px 16px !important;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.055) !important;
}

.gn-message.user .gn-msg-content {
    background: var(--gn-primary) !important;
    color: #ffffff !important;
    padding: 12px 16px !important;
    font-weight: 450 !important;
    box-shadow: 0 2px 8px rgba(var(--gn-primary-rgb), 0.2) !important;
    border-radius: 16px !important;
}

/* Rich answer typography. Every selector is scoped to the widget so the host
   theme cannot restyle AI answers and these rules cannot leak into the site. */
.gn-message.bot .gn-msg-content > :first-child {
    margin-top: 0 !important;
}

.gn-message.bot .gn-msg-content > :last-child {
    margin-bottom: 0 !important;
}

.gn-message.bot .gn-msg-content p {
    margin: 0 0 10px !important;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: normal !important;
}

.gn-message.bot .gn-msg-content h3,
.gn-message.bot .gn-msg-content h4 {
    padding: 0 !important;
    border: 0 !important;
    color: #0f172a !important;
    font-family: inherit !important;
    font-style: normal !important;
    text-transform: none !important;
    letter-spacing: -0.012em !important;
}

.gn-message.bot .gn-msg-content h3 {
    margin: 17px 0 7px !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

.gn-message.bot .gn-msg-content h4 {
    margin: 14px 0 6px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

.gn-message.bot .gn-msg-content h3.gn-answer-title {
    margin: 2px 0 11px !important;
    font-size: 15.5px !important;
    line-height: 1.35 !important;
}

.gn-message.bot .gn-msg-content h4.gn-answer-section {
    display: block !important;
    margin: 14px 0 8px !important;
    padding: 7px 10px !important;
    border: 0 !important;
    border-left: 3px solid var(--gn-primary) !important;
    border-radius: 6px !important;
    background: rgba(var(--gn-primary-rgb), 0.075) !important;
    color: #172033 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
}

.gn-message.bot .gn-msg-content ul,
.gn-message.bot .gn-msg-content ol {
    display: block !important;
    margin: 8px 0 12px !important;
    padding: 0 0 0 20px !important;
    color: inherit !important;
    list-style-position: outside !important;
}

.gn-message.bot .gn-msg-content ul {
    list-style: disc outside !important;
}

.gn-message.bot .gn-msg-content ol {
    list-style: decimal outside !important;
}

.gn-message.bot .gn-msg-content li {
    display: list-item !important;
    margin: 0 0 6px !important;
    padding-left: 2px !important;
    color: inherit !important;
    font: inherit !important;
}

.gn-message.bot .gn-msg-content li:last-child {
    margin-bottom: 0 !important;
}

.gn-message.bot .gn-msg-content li > ul,
.gn-message.bot .gn-msg-content li > ol {
    margin: 6px 0 2px !important;
    padding-left: 18px !important;
}

.gn-message.bot .gn-msg-content li::marker {
    color: var(--gn-primary) !important;
    font-weight: 700 !important;
}

.gn-message.bot .gn-msg-content strong {
    color: #0f172a !important;
    font-weight: 700 !important;
}

.gn-message.user .gn-msg-content strong {
    color: #ffffff !important;
}

.gn-message.bot .gn-msg-content em {
    color: #475569 !important;
}

.gn-message.bot .gn-msg-content a {
    color: var(--gn-primary-hover) !important;
    font-weight: 650 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
    overflow-wrap: anywhere !important;
}

.gn-message.bot .gn-msg-content a:hover {
    color: var(--gn-primary) !important;
    text-decoration-thickness: 2px !important;
}

.gn-message.bot .gn-msg-content code {
    display: inline !important;
    padding: 2px 5px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 5px !important;
    background: #f1f5f9 !important;
    color: #9f1239 !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
    font-size: 0.88em !important;
    line-height: inherit !important;
    white-space: break-spaces !important;
}

.gn-message.bot .gn-msg-content hr {
    height: 1px !important;
    margin: 14px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #e2e8f0 !important;
}

.gn-message.bot .gn-msg-content br + br {
    display: none !important;
}

/* TTS Speaker Button */
.gn-tts-btn {
    background: transparent !important;
    border: none !important;
    color: #9ca3af !important;
    cursor: pointer !important;
    padding: 4px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 6px !important;
    vertical-align: middle !important;
    transition: all 0.2s ease !important;
}

.gn-tts-btn:hover {
    color: var(--gn-primary) !important;
    background: #e5e7eb !important;
}

/* Sources & Reference Chips */
.gn-sources {
    margin-top: 10px !important;
    margin-left: 27px !important;
    padding-top: 8px !important;
    border-top: 1px solid #e5e7eb !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: calc(100% - 27px) !important;
}

.gn-sources-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #6b7280 !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin-bottom: 2px !important;
}

.gn-sources-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}

.gn-source-chip {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 7px 10px !important;
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    color: #374151 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.gn-source-chip:hover {
    background: #ffffff !important;
    border-color: var(--gn-primary) !important;
    color: var(--gn-primary) !important;
    transform: translateX(2px) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
}

.gn-source-chip svg {
    flex-shrink: 0 !important;
    color: var(--gn-primary) !important;
}

.gn-source-chip-text {
    flex: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.gn-source-arrow {
    opacity: 0.5 !important;
    transition: opacity 0.2s ease, transform 0.2s ease !important;
}

.gn-source-chip:hover .gn-source-arrow {
    opacity: 1 !important;
    transform: translateX(2px) !important;
}

/* Feedback Action Bar */
.gn-feedback {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 6px !important;
    margin-left: 27px !important;
}

.gn-feedback-btn {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    color: #6b7280 !important;
    padding: 4px 10px !important;
    border-radius: 14px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    transition: all 0.2s ease !important;
}

.gn-feedback-btn:hover {
    border-color: #d1d5db !important;
    color: #111827 !important;
    background: #f9fafb !important;
}

.gn-feedback-btn.gn-feedback-active {
    background: #ecfdf5 !important;
    border-color: #10b981 !important;
    color: #059669 !important;
}

/* Bottom Container & Input Card (Helpin AI Style) */
.guidenest-bottom-container {
    padding: 10px 16px 14px 16px !important;
    background: #ffffff !important;
    flex-shrink: 0 !important;
}

.guidenest-input-card {
    border: 1px solid #cfd6e2 !important;
    border-radius: 16px !important;
    padding: 11px 11px 10px 14px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.guidenest-input-card:focus-within {
    border-color: var(--gn-primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--gn-primary-rgb), 0.12) !important;
}

/* TOTAL RESET OF THEME INPUT OUTLINES / BLUE BOXES */
.guidenest-container input.gn-user-input,
.guidenest-container input[type="text"].gn-user-input,
.guidenest-container input.gn-user-input:focus,
.guidenest-container input[type="text"].gn-user-input:focus,
.guidenest-container input.gn-user-input:active,
.guidenest-container input.gn-user-input:hover {
    border: 0 !important;
    border-width: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    outline: none !important;
    outline-width: 0 !important;
    outline-style: none !important;
    outline-color: transparent !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    padding: 0 0 8px 0 !important;
    margin: 0 !important;
    width: 100% !important;
    color: #111827 !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.gn-user-input::placeholder {
    color: #9ca3af !important;
    opacity: 1 !important;
}

.gn-input-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 2px !important;
}

.gn-tools-left {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.gn-tool-btn {
    background: transparent !important;
    border: none !important;
    color: #9ca3af !important;
    cursor: pointer !important;
    padding: 4px !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.2s ease !important;
}

.gn-tool-btn:hover {
    color: #4b5563 !important;
}

.gn-send-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: none !important;
    background: #f3f4f6 !important;
    color: #9ca3af !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
}

.gn-send-btn:hover,
.gn-send-btn.gn-send-btn-active {
    background: var(--gn-primary) !important;
    color: #ffffff !important;
    transform: scale(1.05) !important;
}

.gn-send-btn svg {
    stroke: currentColor !important;
}

.guidenest-footer-credit {
    font-size: 11px !important;
    color: #9ca3af !important;
    text-align: center !important;
    margin-top: 8px !important;
    font-weight: 500 !important;
}

.guidenest-footer-credit a {
    color: #6b7280 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

.guidenest-window.gn-open {
    display: flex !important;
}

/* ============================================================
   Complete frontend control system
   ============================================================ */

.guidenest-container button,
.guidenest-container textarea,
.guidenest-container input {
    font: inherit !important;
}

.guidenest-container button {
    -webkit-appearance: none !important;
    appearance: none !important;
}

.guidenest-container button:focus-visible,
.guidenest-container a:focus-visible,
.guidenest-container textarea:focus-visible,
.guidenest-container input:focus-visible {
    outline: 3px solid rgba(var(--gn-primary-rgb), 0.28) !important;
    outline-offset: 2px !important;
}

.guidenest-container button:disabled {
    cursor: not-allowed !important;
}

.gn-quick-replies {
    width: calc(100% - 27px) !important;
    margin: 0 0 2px 27px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.guidenest-container button.gn-quick-chip {
    min-width: 0 !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 9px 10px 9px 12px !important;
    border: 1px solid #d8dee8 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #263244 !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    text-align: left !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
    cursor: pointer !important;
    transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease !important;
}

.guidenest-container button.gn-quick-chip:hover {
    border-color: rgba(var(--gn-primary-rgb), 0.55) !important;
    background: rgba(var(--gn-primary-rgb), 0.055) !important;
    color: #111827 !important;
    box-shadow: 0 4px 12px rgba(16, 24, 40, 0.08) !important;
    transform: translateY(-1px) !important;
}

.gn-quick-chip-label {
    min-width: 0 !important;
}

.gn-quick-chip svg {
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
    color: var(--gn-primary) !important;
}

.guidenest-container textarea.gn-user-input,
.guidenest-container textarea.gn-user-input:hover,
.guidenest-container textarea.gn-user-input:focus,
.guidenest-container textarea.gn-user-input:active {
    width: 100% !important;
    min-height: 28px !important;
    max-height: 112px !important;
    height: 28px;
    margin: 0 !important;
    padding: 3px 4px 4px 0 !important;
    resize: none !important;
    overflow-y: auto !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #111827 !important;
    font-size: 14px !important;
    font-weight: 450 !important;
    line-height: 1.5 !important;
}

.guidenest-container textarea.gn-user-input::placeholder {
    color: #7b8798 !important;
    opacity: 1 !important;
}

.guidenest-container textarea.gn-user-input:disabled {
    color: #667085 !important;
    -webkit-text-fill-color: #667085 !important;
}

.gn-input-toolbar {
    min-height: 36px !important;
    margin-top: 3px !important;
    gap: 12px !important;
}

.gn-composer-hint {
    color: #667085 !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

.gn-send-btn {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    background: var(--gn-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(var(--gn-primary-rgb), 0.26) !important;
}

.gn-send-btn:hover:not(:disabled),
.gn-send-btn.gn-send-btn-active {
    background: var(--gn-primary) !important;
    box-shadow: 0 6px 14px rgba(var(--gn-primary-rgb), 0.34) !important;
    transform: translateY(-1px) !important;
}

.gn-send-btn:disabled {
    background: #e9edf3 !important;
    color: #8a96a8 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.gn-is-sending .gn-send-btn svg {
    animation: gnSendPulse 900ms ease-in-out infinite alternate !important;
}

@keyframes gnSendPulse {
    to { opacity: 0.4; transform: translateX(2px); }
}

.gn-tts-btn {
    min-width: 30px !important;
    min-height: 30px !important;
    margin-left: 5px !important;
}

.gn-tts-btn.speaking {
    background: rgba(var(--gn-primary-rgb), 0.1) !important;
    color: var(--gn-primary) !important;
}

.gn-no-tts .gn-tts-btn {
    display: none !important;
}

.guidenest-lead-gate {
    position: absolute !important;
    inset: 67px 0 0 !important;
    z-index: 5 !important;
    padding: 24px !important;
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(8px) !important;
    overflow-y: auto !important;
}

.lead-gate-box {
    max-width: 330px !important;
    margin: 28px auto 0 !important;
    padding: 22px !important;
    border: 1px solid #d8dee8 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(16, 24, 40, 0.12) !important;
}

.lead-gate-box h5 {
    margin: 0 0 7px !important;
    color: #111827 !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
}

.lead-gate-box p {
    margin: 0 0 16px !important;
    color: #536174 !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
}

.guidenest-container .lead-gate-box input:not(.gn-honeypot) {
    width: 100% !important;
    height: 44px !important;
    margin: 0 0 10px !important;
    padding: 0 12px !important;
    border: 1px solid #cfd6e2 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #111827 !important;
    font-size: 13px !important;
    box-shadow: none !important;
}

.gn-honeypot {
    position: absolute !important;
    left: -10000px !important;
}

.gn-btn-submit-lead,
.gn-handoff-btn,
.gn-prod-buy {
    min-height: 44px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: var(--gn-primary) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.gn-btn-submit-lead {
    width: 100% !important;
    margin-top: 4px !important;
}

.gn-handoff-btn {
    margin: 0 0 0 27px !important;
    padding: 0 16px !important;
}

.gn-product-card {
    width: calc(100% - 27px) !important;
    margin-left: 27px !important;
    padding: 12px !important;
    border: 1px solid #d8dee8 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 12px !important;
    box-shadow: 0 4px 12px rgba(16, 24, 40, 0.06) !important;
}

.gn-product-card img,
.gn-prod-placeholder {
    width: 58px !important;
    height: 58px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
}

.gn-prod-placeholder {
    background: #f1f4f8 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
}

.gn-prod-details {
    min-width: 0 !important;
    color: #111827 !important;
    font-size: 12.5px !important;
}

.gn-prod-title {
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.gn-prod-price {
    margin: 3px 0 8px !important;
    color: #344054 !important;
    font-weight: 650 !important;
}

.gn-prod-buy {
    min-height: 34px !important;
    padding: 0 11px !important;
    font-size: 11.5px !important;
}

@media (max-width: 600px) {
    .guidenest-container,
    .guidenest-container.guidenest-position-left {
        right: 12px !important;
        left: auto !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
    }

    .guidenest-window,
    .guidenest-container.guidenest-position-left .guidenest-window {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        height: 100dvh !important;
        min-height: 0 !important;
        max-height: none !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    .guidenest-window-header {
        padding-top: max(14px, env(safe-area-inset-top)) !important;
    }

    .guidenest-messages {
        padding: 16px 14px !important;
    }

    .guidenest-bottom-container {
        padding: 8px 12px max(12px, env(safe-area-inset-bottom)) !important;
    }

    .guidenest-container textarea.gn-user-input {
        font-size: 16px !important;
    }

    .gn-composer-hint {
        display: none !important;
    }

    .gn-input-toolbar {
        justify-content: flex-end !important;
    }
}

@media (max-width: 380px) {
    .gn-quick-replies {
        grid-template-columns: 1fr !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .guidenest-container *,
    .guidenest-container *::before,
    .guidenest-container *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Shortcode/block placement behaves as an embedded support panel. */
.guidenest-container.guidenest-inline {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 24px auto !important;
}

.guidenest-inline .guidenest-badge-button,
.guidenest-inline .gn-close-btn {
    display: none !important;
}

.guidenest-inline .guidenest-window,
.guidenest-container.guidenest-inline .guidenest-window {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: min(640px, 80dvh) !important;
    min-height: 480px !important;
    border-radius: 20px !important;
}
