/* Quote / lead form (from src/components/shared/LeadCaptureModal.jsx) and the open states of product page widgets */
#ind-lead[hidden] { display: none; }
.ind-lead-backdrop { position: fixed; inset: 0; background: rgba(13, 27, 46, 0.6); backdrop-filter: blur(4px); z-index: 9998; animation: ind-fade 0.2s ease-out; }
.ind-lead-panel { position: fixed; top: 0; right: 0; bottom: 0; width: min(480px, 100vw); background: #fff; box-shadow: -4px 0 32px rgba(13, 27, 46, 0.15); z-index: 9999; display: flex; flex-direction: column; animation: ind-slide 0.3s cubic-bezier(0.4, 0, 0.2, 1); font-family: 'DM Sans', sans-serif; }
@keyframes ind-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ind-slide { from { transform: translateX(100%); } to { transform: translateX(0); } }
.ind-lead-head { padding: 28px 32px; border-bottom: 1px solid #e4e8ef; background: linear-gradient(135deg, #f8faff 0%, #ffffff 100%); }
.ind-lead-headrow { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; }
.ind-lead-eyebrow { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.18em; color: #0b50da; text-transform: uppercase; margin: 0 0 8px; }
.ind-lead-head h2 { font-family: 'Fraunces', serif; font-size: 26px; font-weight: 700; color: #0d1b2e; margin: 0; line-height: 1.2; }
.ind-lead-x { width: 36px; height: 36px; border-radius: 8px; border: 1px solid #e4e8ef; background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.15s; padding: 0; }
.ind-lead-x:hover { background: #f1f5f9; border-color: #94a3b8; }
.ind-lead-sub { font-size: 13.5px; color: #7a8a9e; margin: 0; line-height: 1.6; }
.ind-lead-done { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 48px; text-align: center; }
.ind-lead-done[hidden] { display: none; }
.ind-lead-tick { width: 80px; height: 80px; border-radius: 50%; background: linear-gradient(135deg, #10b981, #059669); display: flex; align-items: center; justify-content: center; margin-bottom: 24px; box-shadow: 0 8px 24px rgba(16, 185, 129, 0.3); }
.ind-lead-done h3 { font-family: 'Fraunces', serif; font-size: 24px; font-weight: 700; color: #0d1b2e; margin: 0 0 12px; }
.ind-lead-done p { font-size: 14px; color: #3a4a5e; margin: 0; line-height: 1.6; }
.ind-lead-form { flex: 1; overflow-y: auto; padding: 32px; }
.ind-lead-form[hidden] { display: none; }
.ind-lead-context { padding: 12px 16px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; margin-bottom: 24px; }
.ind-lead-context[hidden] { display: none; }
.ind-lead-ctxlabel { font-family: 'DM Mono', monospace; font-size: 9px; letter-spacing: 0.1em; color: #0b50da; text-transform: uppercase; margin: 0 0 4px; }
.ind-lead-ctxname { font-size: 14px; font-weight: 600; color: #0d1b2e; margin: 0; }
.ind-lead-field { margin-bottom: 20px; }
.ind-lead-msg { margin-bottom: 24px; }
.ind-lead-field label { font-size: 13px; font-weight: 600; color: #0d1b2e; display: block; margin-bottom: 8px; }
.ind-lead-wrap { position: relative; }
.ind-lead-wrap svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); }
.ind-lead-msg .ind-lead-wrap svg { top: 14px; transform: none; }
.ind-lead-wrap input, .ind-lead-wrap textarea { font-family: 'DM Sans', sans-serif; width: 100%; box-sizing: border-box; padding: 12px 12px 12px 44px; font-size: 14px; border: 1px solid #e4e8ef; border-radius: 8px; outline: none; transition: border-color 0.15s; background: #fff; color: #0d1b2e; }
.ind-lead-wrap textarea { resize: none; min-height: 120px; }
.ind-lead-wrap input:focus, .ind-lead-wrap textarea:focus { border-color: #0b50da; }
.ind-lead-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ind-lead-submit { font-family: 'DM Sans', sans-serif; width: 100%; padding: 16px; font-size: 14px; font-weight: 600; background: #0b50da; color: #fff; border: none; border-radius: 8px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: opacity 0.15s; margin-bottom: 16px; }
.ind-lead-submit:hover { opacity: 0.88; }
.ind-lead-submit[disabled] { opacity: 0.6; cursor: not-allowed; }
.ind-lead-error { font-size: 13px; color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; border-radius: 8px; padding: 10px 12px; margin: 0 0 16px; }
.ind-lead-error[hidden] { display: none; }
.ind-lead-fine { font-size: 11.5px; color: #7a8a9e; text-align: center; margin: 0; opacity: 0.7; line-height: 1.5; }
html.ind-lead-open { overflow: hidden; }

/* image zoom (both product layouts) */
.ind-zoom { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; cursor: zoom-out; background: rgba(5, 10, 20, 0.94); }
.ind-ppl .ind-zoom { background: rgba(0, 0, 0, 0.8); }
.ind-zoom img { max-width: 90vw; max-height: 90vh; object-fit: contain; border-radius: 10px; }
.ind-ppl .ind-zoom img { max-width: 90%; max-height: 90%; border-radius: 0; }
.ind-zoom button { position: absolute; top: 24px; right: 24px; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.22); color: rgba(255, 255, 255, 0.85); font-size: 16px; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.ind-ppl .ind-zoom button { display: none; }

/* FAQ accordion: open states (inline styles carry the closed state) */
.ind-hf .ind-faq-open { background: #f0f4ff !important; }
.ind-hf .ind-faq-open > button > div { background: #0b50da !important; border-color: #0b50da !important; }
.ind-hf .ind-faq-open > button svg { stroke: #fff !important; transform: rotate(180deg) !important; }
.ind-ppl .ind-faq-open > button { background: #f7f8fb !important; }
.ind-ppl .ind-faq-open > button svg { transform: rotate(180deg) !important; }
