/* BidCliq post CTA: lead magnet + booking calendar */
.bq-cta-aside { display: block; margin-top: 3.5rem !important; }
.bq-cta-wrap { display: grid; gap: 1.25rem; font-family: var(--font-sans); hyphens: manual; }
.bq-cta-wrap > * { margin: 0 !important; }
.bq-cta-card { padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--c-rule); border-radius: calc(var(--radius, .5rem) * 1.5); background: color-mix(in srgb, var(--c-text) 3%, var(--c-bg)); }
.bq-cta-card > * { margin: 0 !important; }
.bq-cta-card > * + * { margin-top: .9rem !important; }
.bq-cta-lead { border-top: 3px solid #2565ea; }
.prose .bq-cta-kicker { font: 600 .72rem/1.4 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: #2565ea; }
.prose .bq-cta-title { margin-top: .4rem !important; font-family: var(--font-reading); font-size: clamp(1.375rem, 1.15rem + 1vw, 1.75rem); font-weight: 700; line-height: 1.2; letter-spacing: -.01em; color: var(--c-heading); }
.prose .bq-cta-text { font-family: var(--font-sans); font-size: 1rem; line-height: 1.6; color: var(--c-text); max-width: 60ch; }
.prose .bq-cta-note { font-size: .85rem; color: var(--c-meta); }

.prose ul.bq-cta-checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .35rem 1.25rem; padding: 0 !important; list-style: none; }
.prose ul.bq-cta-checks > li { position: relative; margin: 0 !important; padding-left: 1.6rem; font-family: var(--font-sans); font-size: .95rem; line-height: 1.5; color: var(--c-text); }
.prose ul.bq-cta-checks > li::marker { content: none; }
.prose ul.bq-cta-checks > li::before { content: "✓" !important; position: absolute; left: 0 !important; top: 0; width: auto; height: auto; -webkit-mask: none !important; mask: none !important; background: none !important; font-weight: 700; color: #2565ea; }

/* Form */
.bq-cta-wrap .wpcf7 { margin-top: 1.4rem !important; }
.bq-cta-wrap .wpcf7 form > p { margin: 0; }
.bq-f-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1rem; }
@media (max-width: 600px) { .bq-f-grid { grid-template-columns: 1fr; } }
.bq-f { display: block; margin: 0; }
.bq-f > span:first-child, .bq-f > br { display: block; }
.bq-f > span:first-child { margin-bottom: .35rem; font: 600 .8rem/1.3 var(--font-sans); color: var(--c-meta); }
.bq-cta-wrap .wpcf7-form-control-wrap { display: block; }
.bq-cta-wrap input.wpcf7-text, .bq-cta-wrap input.wpcf7-email, .bq-cta-wrap select.wpcf7-select {
  box-sizing: border-box; width: 100%; padding: .72rem .85rem; border: 1px solid var(--c-rule); border-radius: var(--radius, .5rem);
  background: var(--c-bg); color: var(--c-heading); font: 400 1rem/1.3 var(--font-sans); outline: none; transition: border-color .15s, box-shadow .15s;
}
.bq-cta-wrap select.wpcf7-select { appearance: none; -webkit-appearance: none; padding-right: 2.25rem; background-image: linear-gradient(45deg, transparent 50%, var(--c-meta) 50%), linear-gradient(135deg, var(--c-meta) 50%, transparent 50%); background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%; background-size: 5px 5px; background-repeat: no-repeat; }
.bq-cta-wrap input::placeholder { color: color-mix(in srgb, var(--c-meta) 75%, transparent); }
.bq-cta-wrap input:focus, .bq-cta-wrap select:focus { border-color: #2565ea; box-shadow: 0 0 0 3px color-mix(in srgb, #2565ea 22%, transparent); }
.bq-f-consent { margin-top: 1rem; font: 400 .85rem/1.5 var(--font-sans); color: var(--c-meta); }
.bq-f-consent .wpcf7-list-item { margin: 0; }
.bq-f-consent label { display: flex; gap: .55rem; align-items: flex-start; cursor: pointer; }
.bq-f-consent input[type=checkbox] { margin-top: .2rem; accent-color: #2565ea; width: 16px; height: 16px; flex: none; }
.bq-f-consent a { color: var(--c-heading); }
.bq-f-submit { margin-top: 1.1rem; }
.bq-cta-wrap .wpcf7-submit {
  appearance: none; padding: .85rem 1.5rem; border: 0; border-radius: var(--radius, .5rem); background: #2565ea; color: #fff;
  font: 600 1rem/1.2 var(--font-sans); cursor: pointer; transition: background .15s, transform .15s;
}
.bq-cta-wrap .wpcf7-submit:hover { background: #1b4fc0; }
.bq-cta-wrap .wpcf7-submit:active { transform: translateY(1px); }
.bq-cta-wrap .wpcf7-submit:disabled { opacity: .6; cursor: not-allowed; }
.bq-cta-wrap .wpcf7-spinner { vertical-align: middle; }
.bq-cta-wrap .wpcf7-not-valid-tip { margin-top: .3rem; font: 500 .8rem/1.3 var(--font-sans); color: #d93025; }
.bq-cta-wrap .wpcf7-not-valid { border-color: #d93025 !important; }
.bq-cta-wrap .wpcf7 form .wpcf7-response-output { margin: 1rem 0 0; padding: .75rem 1rem; border-radius: var(--radius, .5rem); font: 500 .9rem/1.45 var(--font-sans); }
.bq-cta-wrap .wpcf7 form.sent .wpcf7-response-output { border-color: #1e8e3e; background: color-mix(in srgb, #1e8e3e 10%, var(--c-bg)); color: var(--c-heading); }

/* Booking calendar */
.bq-cal { position: relative; min-height: 120px; margin-top: 1.25rem !important; border-radius: var(--radius, .5rem); overflow: hidden; }
.bq-cal.is-loading { min-height: 540px; }
.bq-cal.is-loading::before { content: "Loading calendar…"; position: absolute; inset: 0; display: grid; place-items: center; font: 500 .9rem var(--font-sans); color: var(--c-meta); z-index: 0; }
.bq-cal iframe { position: relative; z-index: 1; }
.prose .bq-cal-fallback { display: inline-block; padding: .8rem 1.35rem; border: 1px solid var(--c-rule); border-radius: var(--radius, .5rem); font: 600 .95rem/1.2 var(--font-sans); color: var(--c-heading); text-decoration: none; background-image: none; }
.bq-cal[data-loaded] .bq-cal-fallback { display: none; }

/* Keep the theme's back-to-top button clear of the floating "Book a call" button */
.single-post .to-top { bottom: 5.25rem !important; }
