/* ============================================================================
   CSS for the standalone "Book a Demo" page. Base tokens already defined
   sitewide in theme.css: .btn-primary, .ease-spring, [data-reveal]. Note:
   .demo-field/.demo-select-wrap/.demo-field-error share class names with
   partners.css but with different exact values -- harmless, since each file
   is enqueued only on its own page template.
   ============================================================================ */
.demo-panel { background:#F3F0EC; border-radius:20px; padding:2.25rem; }
@media (min-width: 640px) { .demo-panel { padding:3rem; } }

.demo-field { width:100%; display:block; border:1.5px solid #181A1B; border-radius:12px; padding:16px 20px; font-size:15px; line-height:1.4; color:#181A1B; background:#fff; transition: border-color .15s ease, box-shadow .15s ease; }
.demo-field::placeholder { color:#181A1B; opacity:.7; }
.demo-field:focus { outline:none; border-color:#0164FF; box-shadow:0 0 0 3px rgba(1,100,255,.14); }
.demo-field:focus::placeholder { opacity:.4; }
select.demo-field { appearance:none; -webkit-appearance:none; cursor:pointer; }
.demo-select-wrap { position:relative; }
.demo-select-wrap::after { content:''; position:absolute; right:20px; top:50%; width:11px; height:11px; margin-top:-7px; pointer-events:none; border-right:1.5px solid #181A1B; border-bottom:1.5px solid #181A1B; transform: rotate(45deg) translateY(-3px); }
select.demo-field:required:invalid { color:rgba(24,26,27,.7); }
textarea.demo-field { border-radius:12px; resize:vertical; min-height:120px; }
.demo-field-error { display:none; margin-top:6px; font-size:12.5px; color:#D3252B; }
.demo-field-error.is-visible { display:block; }
.demo-submit { width:100%; background:#181A1B; color:#fff; border-radius:12px; padding:17px 26px; font-size:15.5px; font-weight:700; transition: transform .25s cubic-bezier(0.34,1.56,0.64,1), background-color .2s ease; }
.demo-submit:hover { background:#000; transform: translateY(-2px); }
.demo-submit:focus-visible { outline:2px solid #0164FF; outline-offset:3px; }
