.cform__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: clamp(1rem, 3vw, 2rem); align-items: start; }
.cform__grid--single { grid-template-columns: minmax(0, 760px); justify-content: center; }
.cform__card {
  padding: clamp(1.4rem, 4vw, 2.75rem); border-radius: calc(var(--radius) + 8px);
  background: var(--color-surface); border: 1px solid var(--color-border);
  box-shadow: 0 24px 50px -38px rgba(18, 59, 120, .55);
}
.cform__title { margin-bottom: .4em; }
.cform__intro { margin-bottom: 1.5rem; color: color-mix(in srgb, var(--color-text) 85%, transparent); }
.cform__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.1rem; }
.cform__field { display: grid; gap: .4rem; }
.cform__field--full { grid-column: 1 / -1; }
.cform__field label { font-weight: 700; font-size: .88rem; color: var(--color-heading); }
.cform__field label span { color: #b42318; }
.cform__field .field { background: color-mix(in srgb, var(--color-heading) 3%, var(--color-surface)); }
.cform__field textarea.field { resize: vertical; min-height: 8rem; }
.cform__field select.field { appearance: none; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 20px) 55%, calc(100% - 15px) 55%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 2.5rem; }
.cform__consent { margin: 1rem 0 0; font-size: .8rem; color: color-mix(in srgb, var(--color-text) 70%, transparent); }
.cform__submit { margin-top: 1.25rem; min-width: 12rem; }
.cform__errors { margin-bottom: 1rem; }
.cform__errors ul { margin: 0; padding-left: 1.1rem; }
.cform__success { display: flex; align-items: center; gap: .9rem; padding: 1.1rem 1.25rem; border-radius: var(--radius); background: color-mix(in srgb, var(--color-accent) 22%, var(--color-surface)); font-weight: 700; color: var(--color-heading); }
.cform__success p { margin: 0; }
.cform__success-icon { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--color-accent); color: var(--palette-heading); flex: none; }

.cform__side { display: grid; gap: .9rem; }
.cinfo {
  display: flex; gap: .9rem; align-items: flex-start;
  padding: 1.1rem 1.2rem; border-radius: calc(var(--radius) + 2px);
  background: var(--color-surface); border: 1px solid var(--color-border);
  color: var(--color-text); text-decoration: none;
}
.cinfo > span:last-child { display: grid; gap: .2rem; }
.cinfo strong { color: var(--color-heading); }
.cinfo .rte { font-size: .9rem; }
.cinfo__icon { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; flex: none; border-radius: 50%; background: color-mix(in srgb, var(--color-accent) 30%, var(--color-surface)); color: var(--color-icon); }
.cinfo--wa { background: var(--palette-heading); color: #fff; border-color: transparent; }
.cinfo--wa strong { color: var(--palette-accent); }
.cinfo--wa .cinfo__icon { background: #25d366; color: #fff; }
a.cinfo:hover { transform: translateY(-2px); transition: transform .2s ease; }
@media (max-width: 989px) { .cform__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .cform__fields { grid-template-columns: minmax(0, 1fr); } .cform__submit { width: 100%; } }

.cform { position: relative; }
.cform__anchor { position: absolute; top: -90px; }


/* Deep-blue premium variant: dark section, white form card, glass side cards */
.cform--dark {
  background: var(--section-bg, radial-gradient(100% 120% at 0% 0%, color-mix(in srgb, var(--palette-accent) 20%, var(--palette-heading)) 0%, var(--palette-heading) 50%, color-mix(in srgb, var(--palette-heading) 78%, #000) 100%));
}
.cform--dark .cform__card { box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .6); border-color: transparent; }
.cform--dark .cinfo:not(.cinfo--wa) { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .85); }
.cform--dark .cinfo:not(.cinfo--wa) strong { color: #fff; }
.cform--dark .cinfo--wa { background: #fff; color: var(--palette-heading); }
.cform--dark .cinfo--wa strong { color: var(--palette-heading); }
.cform__card { position: relative; overflow: hidden; }
.cform__card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, var(--palette-accent), color-mix(in srgb, var(--palette-accent) 60%, #f5a300)); }

/* WhatsApp big button under the form (animated) */
.cform__wa { margin-top: 1.4rem; }
.cform__or { display: flex; align-items: center; gap: .8rem; margin: 0 0 1rem; font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: color-mix(in srgb, var(--color-text) 60%, transparent); }
.cform__or::before, .cform__or::after { content: ""; flex: 1; height: 1px; background: var(--color-border); }
.wa-btn {
  --wa: #25d366;
  position: relative; isolation: isolate; display: flex; align-items: center; gap: .9rem;
  width: 100%; padding: .85rem 1.1rem; border-radius: 999px;
  background: linear-gradient(135deg, var(--wa) 0%, #1ebe5b 100%); color: #fff; text-decoration: none;
  box-shadow: 0 16px 30px -16px rgba(37, 211, 102, .9);
  transition: transform .25s ease, box-shadow .25s ease;
}
.wa-btn:hover { transform: translateY(-2px); box-shadow: 0 22px 38px -16px rgba(37, 211, 102, 1); }
.wa-btn__icon { position: relative; display: grid; place-items: center; width: 2.9rem; height: 2.9rem; flex: none; border-radius: 50%; background: #fff; color: var(--wa); }
.wa-btn__icon .icon { width: 1.5rem; height: 1.5rem; }
.wa-btn__text { display: grid; gap: .1rem; flex: 1; line-height: 1.2; }
.wa-btn__text strong { font-size: 1.05rem; }
.wa-btn__text small { font-size: .82rem; opacity: .9; }
.wa-btn__arrow { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; flex: none; border-radius: 50%; background: rgba(255, 255, 255, .2); transition: transform .25s ease; }
.wa-btn:hover .wa-btn__arrow { transform: translateX(4px); }
/* pulse rings around the whole button + icon wiggle */
.wa-btn--pulse::before, .wa-btn--both::before,
.wa-btn--pulse::after, .wa-btn--both::after {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
  border: 2px solid var(--wa); animation: wa-ring 2.4s ease-out infinite;
}
.wa-btn--pulse::after, .wa-btn--both::after { animation-delay: 1.2s; }
.wa-btn--pulse .wa-btn__icon, .wa-btn--both .wa-btn__icon { animation: wa-wiggle 2.4s ease-in-out infinite; }
@keyframes wa-ring { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(1.08, 1.45); opacity: 0; } }
@keyframes wa-wiggle { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(-14deg); } 80% { transform: rotate(12deg); } 85% { transform: rotate(-8deg); } 90% { transform: rotate(4deg); } }
/* shine sweep */
.wa-btn--shine .wa-btn__text, .wa-btn--both .wa-btn__text { position: relative; }
.wa-btn--shine { overflow: hidden; }
.wa-btn--shine::after { content: none; }
.wa-btn--shine::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: -40%; width: 30%; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent); transform: skewX(-20deg);
  animation: wa-shine 3s ease-in-out infinite;
}
.wa-btn--both .wa-btn__text::before {
  content: ""; position: absolute; inset: -.4rem -1rem; pointer-events: none;
  background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .4) 50%, transparent 70%); background-size: 250% 100%;
  animation: wa-shine-bg 3s ease-in-out infinite;
}
@keyframes wa-shine { 0% { left: -40%; } 60%, 100% { left: 120%; } }
@keyframes wa-shine-bg { 0% { background-position: 150% 0; } 60%, 100% { background-position: -100% 0; } }
@media (prefers-reduced-motion: reduce) {
  .wa-btn, .wa-btn::before, .wa-btn::after, .wa-btn__icon, .wa-btn__text::before { animation: none !important; transition: none; }
}

/* spam trap for the Sheet / CRM webhook */
.cform__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Compact WhatsApp button under the form: sized to its content and centered */
.cform__wa .wa-btn { width: fit-content; max-width: 100%; margin-inline: auto; gap: .65rem; padding: .45rem 1.25rem .45rem .45rem; }
.cform__wa .wa-btn__icon { width: 2.2rem; height: 2.2rem; }
.cform__wa .wa-btn__icon .icon { width: 1.15rem; height: 1.15rem; }
.cform__wa .wa-btn__text strong { font-size: .95rem; }
.cform__wa .wa-btn__text small { font-size: .75rem; }
