/* ===============================================================
   LR CHECKOUT — shared component for every Checkout V2 page.
   Source of truth: .claude/build-tools/_shared/lr-checkout.css
   Generated 2026-09-04 from page 12776's page-level Custom CSS,
   which 13 checkout pages carried as near-identical copies.

   SCOPING. The original was keyed to #frm_form_<N>_container, one
   ID per form. It is now keyed to :is(#lr-ckv,[data-lr-ckv]) — a data-lr-ckv attribute
   is added to the Formidable container by the frm_form_div_attributes
   filter in the child theme (that filter is the only one that receives
   the form object, so it is the only place the form id is known). :is() takes the specificity of its
   most specific argument, so #lr-ckv (which never exists in the
   DOM) donates exactly the (1,0,0) the old ID selector had.
   Every rule therefore keeps its original weight in the cascade.

   Formidable lays every form out on its own 12-column grid and
   gives .frm_half a 6-column span. The step cards KEEP that grid —
   it is what makes the two-up fields work, and Formidable's own
   <=600px rule then stacks them. Only the outer container and the
   summary rail are re-tracked.

   MODIFIER: [data-lr-pay="2"] renders the payment tiles in two columns
   instead of three. Applied to forms 37,38,40,41,42,43,44,45.
   =============================================================== */


/* --- form shell --- */
:is(#lr-ckv,[data-lr-ckv]) { max-width: none; }
:is(#lr-ckv,[data-lr-ckv]) fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
:is(#lr-ckv,[data-lr-ckv]) legend { display: none; }
:is(#lr-ckv,[data-lr-ckv]) p { margin: 0; }

:is(#lr-ckv,[data-lr-ckv]) .frm_fields_container {
  grid-template-columns: minmax(0, 1fr) 24rem;
  column-gap: 2.75rem;
  row-gap: 0;
  align-items: start;
}
:is(#lr-ckv,[data-lr-ckv]) .frm_fields_container > .ckv-step {
  grid-column: 1;
  margin: 0 0 1.125rem;
}
:is(#lr-ckv,[data-lr-ckv]) .frm_fields_container > .ckv-side {
  grid-column: 2;
  grid-row: 1 / span 99;
  align-self: start;
  position: sticky;
  top: 1.5rem;
  margin: 0;
}
:is(#lr-ckv,[data-lr-ckv]) .frm_fields_container > input[type="hidden"] { display: none; }

/* Calculation / integration fields. They must stay in the DOM so Formidable
   recalculates and posts them, but they are not content: display:none keeps
   them out of the layout AND out of the tab order. */
:is(#lr-ckv,[data-lr-ckv]) .ckv-hidden-calc { display: none !important; }

/* --- step card --- */
:is(#lr-ckv,[data-lr-ckv]) .ckv-step {
  column-gap: 1rem;
  row-gap: 0;
  background: #FFFFFF;
  border: 1px solid #E4E4E8;
  border-radius: 0.875rem;
  padding: 1.75rem 1.875rem 1.875rem;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-step > .frm_form_field { margin: 0 0 1rem; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-step > .frm_form_field:last-child { margin-bottom: 0; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-step > h3.frm_pos_top {
  position: relative;
  margin: 0;
  padding: 0 0 0 2.875rem;
  border: 0;
  font-family: "Lora", Georgia, serif;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.25;
  color: #102A4C;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-step > h3.frm_pos_top::before {
  position: absolute;
  left: 0; top: 0.0625rem;
  width: 1.875rem; height: 1.875rem;
  border-radius: 50%;
  background: #102A4C;
  color: #D9B98A;
  font-size: 0.9375rem;
  line-height: 1.875rem;
  text-align: center;
  font-weight: 600;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-step-1 > h3.frm_pos_top::before { content: "1"; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-step-2 > h3.frm_pos_top::before { content: "2"; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-step-3 > h3.frm_pos_top::before { content: "3"; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-step > .frm_description {
  margin: 0.375rem 0 1.375rem;
  padding-left: 2.875rem;
  font-size: 0.84375rem;
  line-height: 1.6;
  color: #6B7280;
  max-width: 62ch;
}
:is(#lr-ckv,[data-lr-ckv]) .frm_required { color: #A98352; font-weight: 400; margin-left: 0.125rem; }

/* --- term toggle (segmented pill) --- */
:is(#lr-ckv,[data-lr-ckv]) .ckv-term > .frm_primary_label { display: none; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-term .frm_opt_container {
  display: inline-flex;
  gap: 0.25rem;
  background: #F2F2F4;
  border-radius: 999px;
  padding: 0.25rem;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-term .frm_radio { margin: 0; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-term .frm_radio label {
  display: flex;
  align-items: center;
  gap: 0.5625rem;
  margin: 0;
  padding: 0.625rem 1.25rem;
  border-radius: 999px;
  cursor: pointer;
  font-family: "Inter", sans-serif;
  font-size: 0.84375rem;
  font-weight: 600;
  color: #6B7280;
  white-space: nowrap;
  transition: background .16s ease, color .16s ease;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-term .frm_radio input[type="radio"] {
  position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-term .frm_radio:has(input:checked) label { background: #102A4C; color: #FFFFFF; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-term .frm_radio:has(input:focus-visible) label { outline: 2px solid #C9A36E; outline-offset: 2px; }
.ckv-term-save {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #A98352;
  background: #F4F1EC;
  border-radius: 0.25rem;
  padding: 0.1875rem 0.4375rem;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-term .frm_radio:has(input:checked) .ckv-term-save { color: #102A4C; background: #D9B98A; }
/* --- selectable cards: plans and add-on --- */
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans > .frm_primary_label,
:is(#lr-ckv,[data-lr-ckv]) .ckv-addon > .frm_primary_label { display: none; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans .frm_opt_container,
:is(#lr-ckv,[data-lr-ckv]) .ckv-addon .frm_opt_container { display: grid; gap: 0.75rem; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans .frm_radio,
:is(#lr-ckv,[data-lr-ckv]) .ckv-addon .frm_checkbox { margin: 0; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans .frm_radio label,
:is(#lr-ckv,[data-lr-ckv]) .ckv-addon .frm_checkbox label {
  display: grid;
  grid-template-columns: 1.1875rem minmax(0, 1fr);
  column-gap: 0.875rem;
  align-items: start;
  margin: 0;
  background: #FFFFFF;
  border: 1px solid #E4E4E8;
  border-radius: 0.5rem;
  padding: 1.125rem 1.25rem;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans .frm_radio label:hover,
:is(#lr-ckv,[data-lr-ckv]) .ckv-addon .frm_checkbox label:hover { border-color: #C9A36E; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans .frm_radio:has(input:checked) label {
  border-color: #C9A36E; background: #F4F1EC; box-shadow: inset 0 0 0 1px #C9A36E;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-addon .frm_checkbox:has(input:checked) label { border-color: #C9A36E; background: #F4F1EC; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans .frm_radio:has(input:focus-visible) label,
:is(#lr-ckv,[data-lr-ckv]) .ckv-addon .frm_checkbox:has(input:focus-visible) label { outline: 2px solid #C9A36E; outline-offset: 2px; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans input[type="radio"] {
  grid-row: 1 / span 3;
  width: 1.125rem; height: 1.125rem;
  margin: 0.1875rem 0 0;
  -webkit-appearance: none; appearance: none;
  border: 1.5px solid #E4E4E8 !important;
  border-radius: 50%;
  background: #FFFFFF !important;
  cursor: pointer;
  transition: border-color .16s ease, border-width .16s ease;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans input[type="radio"]:checked {
  border-color: #C9A36E !important;
  border-width: 5px;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-addon input[type="checkbox"] {
  grid-row: 1 / span 2;
  width: 1.1875rem; height: 1.1875rem;
  margin: 0.0625rem 0 0;
  -webkit-appearance: none; appearance: none;
  border: 1.5px solid #E4E4E8 !important;
  border-radius: 0.25rem;
  background: #FFFFFF;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-addon input[type="checkbox"]:checked {
  background-color: #C9A36E !important;
  border-color: #C9A36E !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M4.5 9.2 1.3 6l1.1-1.1 2.1 2.1 5-5L10.7 3z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.6875rem;
}
.ckv-plan-top, .ckv-plan-line, .ckv-plan-save, .ckv-addon-top, .ckv-addon-d { grid-column: 2; }
.ckv-plan-top { display: flex; align-items: baseline; gap: 0.625rem; flex-wrap: wrap; }
.ckv-plan-top strong { font-family: "Lora", Georgia, serif; font-size: 1.1875rem; font-weight: 600; color: #102A4C; }
.ckv-flag, .ckv-opt {
  font-family: "Inter", sans-serif;
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  border-radius: 0.25rem;
  padding: 0.125rem 0.375rem;
  white-space: nowrap;
}
.ckv-flag { color: #A98352; border: 1px solid rgba(201, 163, 110, 0.5); }
.ckv-opt { color: #6B7280; border: 1px solid #E4E4E8; }
.ckv-plan-price { margin-left: auto; font-family: "Lora", Georgia, serif; font-size: 1.375rem; font-weight: 600; color: #102A4C; white-space: nowrap; }
.ckv-per { font-family: "Inter", sans-serif; font-size: 0.78125rem; font-weight: 400; color: #6B7280; }
.ckv-plan-line, .ckv-addon-d { display: block; font-size: 0.84375rem; line-height: 1.55; color: #6B7280; margin-top: 0.3125rem; max-width: 62ch; }
.ckv-plan-save { display: block; font-size: 0.8125rem; line-height: 1.5; font-weight: 600; color: #1F7A42; margin-top: 0.4375rem; }
.ckv-addon-top { display: flex; align-items: baseline; gap: 0.75rem; flex-wrap: wrap; }
.ckv-addon-top strong { font-family: "Inter", sans-serif; font-size: 0.9375rem; font-weight: 600; color: #102A4C; }
.ckv-addon-price { margin-left: auto; font-weight: 600; font-size: 0.84375rem; color: #A98352; white-space: nowrap; }

/* --- text inputs --- */
:is(#lr-ckv,[data-lr-ckv]) .ckv-field .frm_primary_label,
:is(#lr-ckv,[data-lr-ckv]) .ckv-cc .frm_primary_label,
:is(#lr-ckv,[data-lr-ckv]) .ckv-file .frm_primary_label {
  display: block;
  margin: 0 0 0.4375rem;
  padding: 0;
  font-family: "Inter", sans-serif;
  font-size: 0.78125rem;
  font-weight: 600;
  color: #102A4C;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-hint-registered .frm_primary_label::after {
  content: "As registered";
  margin-left: 0.5rem;
  font-weight: 400;
  font-size: 0.71875rem;
  color: #6B7280;
}
:is(#lr-ckv,[data-lr-ckv]) input[type="text"],
:is(#lr-ckv,[data-lr-ckv]) input[type="email"],
:is(#lr-ckv,[data-lr-ckv]) input[type="tel"],
:is(#lr-ckv,[data-lr-ckv]) input[type="number"],
:is(#lr-ckv,[data-lr-ckv]) select {
  width: 100%;
  box-sizing: border-box;
  height: auto;
  padding: 0.75rem 0.875rem;
  border: 1px solid #E4E4E8;
  border-radius: 0.5rem;
  background: #FFFFFF;
  font-family: "Inter", sans-serif;
  font-size: 0.9375rem;
  line-height: 1.4;
  color: #1F2937;
  box-shadow: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}
:is(#lr-ckv,[data-lr-ckv]) input:focus,
:is(#lr-ckv,[data-lr-ckv]) select:focus {
  outline: 0;
  border-color: #C9A36E;
  box-shadow: 0 0 0 3px rgba(201, 163, 110, 0.16);
}
:is(#lr-ckv,[data-lr-ckv]) input::placeholder { color: #9CA3AF; }
/* --- payment method: icon tiles ---
   Picked first in step 3, so it is deliberately the loudest control on the card.
   The icon artwork is a CSS mask keyed to a class in the option label, which is
   why the labels carry <span class="ckv-pay-ico ..."> markup. Swapping in real
   brand logos later means replacing the mask on one class. */
:is(#lr-ckv,[data-lr-ckv]) .ckv-pay > .frm_primary_label { display: none; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-pay .frm_opt_container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}
/* MODIFIER: two tiles rather than three, for the checkouts that offer two
   payment methods. Deliberately fenced to >=768px. The single-column rule for
   phones lives in the max-width:767px block far below and is (1,2,0); this
   selector is (1,3,0), so it would win at EVERY width no matter where in the
   file it sat — which stacked the tiles two-up and cramped on a 390px screen.
   Specificity beats source order, so the breakpoint has to do the fencing. */
@media (min-width: 768px) {
  :is(#lr-ckv,[data-lr-ckv])[data-lr-pay="2"] .ckv-pay .frm_opt_container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-pay .frm_radio { margin: 0; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-pay .frm_radio label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0.75rem;
  row-gap: 0;
  height: 100%;
  margin: 0;
  padding: 1.125rem 1.125rem 1.1875rem;
  background: #FFFFFF;
  border: 1px solid #E4E4E8;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-pay .frm_radio label:hover { border-color: #C9A36E; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-pay .frm_radio:has(input:checked) label {
  border-color: #C9A36E;
  background: #F4F1EC;
  box-shadow: inset 0 0 0 1px #C9A36E;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-pay .frm_radio:has(input:focus-visible) label {
  outline: 2px solid #C9A36E;
  outline-offset: 2px;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-pay input[type="radio"] {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  width: 1.125rem; height: 1.125rem;
  margin: 0;
  -webkit-appearance: none; appearance: none;
  border: 1.5px solid #E4E4E8 !important;
  border-radius: 50%;
  background: #FFFFFF !important;
  cursor: pointer;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-pay input[type="radio"]:checked {
  border-color: #C9A36E !important;
  border-width: 5px;
}
.ckv-pay-ico {
  grid-column: 1;
  grid-row: 1;
  width: 1.75rem; height: 1.75rem;
  margin-bottom: 0.75rem;
  background-color: #102A4C;
  transition: background-color .16s ease;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-pay .frm_radio:has(input:checked) .ckv-pay-ico { background-color: #A98352; }
.ckv-pay-ico-card {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5.5A2.5 2.5 0 0 1 4.5 3h15A2.5 2.5 0 0 1 22 5.5V7H2V5.5zM2 9v9.5A2.5 2.5 0 0 0 4.5 21h15a2.5 2.5 0 0 0 2.5-2.5V9H2zm3 6h5v2H5v-2z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5.5A2.5 2.5 0 0 1 4.5 3h15A2.5 2.5 0 0 1 22 5.5V7H2V5.5zM2 9v9.5A2.5 2.5 0 0 0 4.5 21h15a2.5 2.5 0 0 0 2.5-2.5V9H2zm3 6h5v2H5v-2z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.ckv-pay-ico-wallet {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6.5A2.5 2.5 0 0 1 5.5 4H17a1 1 0 1 1 0 2H5.5a.5.5 0 0 0 0 1H19a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6.5zM16.5 12a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6.5A2.5 2.5 0 0 1 5.5 4H17a1 1 0 1 1 0 2H5.5a.5.5 0 0 0 0 1H19a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6.5zM16.5 12a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.ckv-pay-ico-qr {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h8v8H3V3zm2 2v4h4V5H5zm8-2h8v8h-8V3zm2 2v4h4V5h-4zM3 13h8v8H3v-8zm2 2v4h4v-4H5zm8-2h3v3h-3v-3zm5 0h3v3h-3v-3zm-5 5h3v3h-3v-3zm5 0h3v3h-3v-3z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h8v8H3V3zm2 2v4h4V5H5zm8-2h8v8h-8V3zm2 2v4h4V5h-4zM3 13h8v8H3v-8zm2 2v4h4v-4H5zm8-2h3v3h-3v-3zm5 0h3v3h-3v-3zm-5 5h3v3h-3v-3zm5 0h3v3h-3v-3z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.ckv-pay-name {
  grid-column: 1 / -1;
  grid-row: 2;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.3;
  color: #102A4C;
}
.ckv-pay-sub {
  grid-column: 1 / -1;
  grid-row: 3;
  margin-top: 0.25rem;
  font-family: "Inter", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.45;
  color: #6B7280;
}
/* --- card / QR / bank blocks --- */
:is(#lr-ckv,[data-lr-ckv]) .ckv-msg, .ckv-pay-msg { font-size: 0.84375rem; line-height: 1.6; color: #6B7280; }
.ckv-pay-msg { background: #F2F2F4; border-radius: 0.5rem; padding: 0.875rem 1rem; }
.ckv-pay-msg a { color: #A98352; font-weight: 600; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-qr { grid-column: span 4; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-bank { grid-column: span 8; }
.ckv-qr-inner { display: inline-block; padding: 0.625rem; background: #FFFFFF; border: 1px solid #E4E4E8; border-radius: 0.5rem; }
.ckv-qr-inner img { display: block; width: 100%; max-width: 9.25rem; height: auto; }
.ckv-qr-amt {
  display: block;
  max-width: 10.5rem;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #6B7280;
}
.ckv-qr-amt strong { font-weight: 600; color: #1F2937; }
.ckv-bank-inner { font-size: 0.84375rem; line-height: 1.6; color: #1F2937; }
.ckv-bank-inner p { margin: 0 0 0.875rem; }
.ckv-bank-inner p:last-child { margin-bottom: 0; }
.ckv-bank-h {
  display: block;
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  color: #A98352;
  margin-bottom: 0.25rem;
}
.ckv-bank-inner a { color: #A98352; font-weight: 600; }
.ckv-bank-amt { color: #6B7280; }

/* --- sticky summary rail --- */
:is(#lr-ckv,[data-lr-ckv]) .ckv-side {
  grid-template-columns: minmax(0, 1fr);
  column-gap: 0;
  row-gap: 1rem;
  background: none;
  border: 0;
  padding: 0;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-side > * { grid-column: 1 / -1; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-side > h3.frm_pos_top { display: none; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-side .frm_form_field { margin: 0; }
.ckv-card { background: #FFFFFF; border: 1px solid #E4E4E8; border-radius: 0.875rem; }
.ckv-summary { padding: 1.5rem 1.625rem 1.625rem; }
.ckv-included { padding: 1.375rem 1.625rem 1.5rem; }
.ckv-card-head {
  font-family: "Inter", sans-serif;
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 600;
  color: #A98352;
  margin-bottom: 1rem;
}
.ckv-line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
  padding: 0.8125rem 0;
  border-bottom: 1px solid #E4E4E8;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #102A4C;
}
.ckv-line em { display: block; font-style: normal; font-size: 0.75rem; font-weight: 400; color: #6B7280; margin-top: 0.1875rem; }
.ckv-line-r { white-space: nowrap; font-weight: 600; }
.ckv-line.is-free .ckv-line-r { color: #1F7A42; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 1.125rem 0 1.25rem;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-total .frm_primary_label {
  margin: 0; padding: 0;
  font-family: "Inter", sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6B7280;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-total input[type="text"] {
  width: auto;
  max-width: 10rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: right;
  font-family: "Lora", Georgia, serif;
  font-size: 2.125rem;
  font-weight: 600;
  line-height: 1.1;
  color: #102A4C;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-total input[type="text"]:focus { outline: 0; box-shadow: none; border: 0; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-submit .frm_submit { margin: 0; padding: 0; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-submit .frm_button_submit {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.9375rem 1.25rem;
  border: 0;
  border-radius: 999px;
  background: #C9A36E;
  color: #FFFFFF;
  font-family: "Inter", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.4;
  cursor: pointer;
  transition: background .16s ease;
}
:is(#lr-ckv,[data-lr-ckv]) .ckv-submit .frm_button_submit:hover,
:is(#lr-ckv,[data-lr-ckv]) .ckv-submit .frm_button_submit:focus { background: #A98352; }

/* .ckv-lock mixes an icon with running text, so the icon is positioned
   rather than laid out as a flex item (that would split the text nodes). */
.ckv-lock {
  display: block;
  position: relative;
  margin-top: 1.125rem;
  padding: 1.125rem 0 0 1.6875rem;
  border-top: 1px solid #E4E4E8;
  font-size: 0.78125rem;
  line-height: 1.6;
  color: #6B7280;
}
.ckv-lock::before {
  content: "";
  position: absolute;
  left: 0; top: 1.3125rem;
  width: 1rem; height: 1rem;
  background-color: #A98352;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath d='M10 0 0 3.6v7.2C0 17.2 4.3 22.6 10 24c5.7-1.4 10-6.8 10-13.2V3.6L10 0z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath d='M10 0 0 3.6v7.2C0 17.2 4.3 22.6 10 24c5.7-1.4 10-6.8 10-13.2V3.6L10 0z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.ckv-lock strong { color: #102A4C; }
.ckv-inc { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.6875rem; }
.ckv-inc li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.625rem;
  align-items: start;
  font-size: 0.84375rem;
  line-height: 1.5;
  color: #1F2937;
  margin: 0;
}
.ckv-inc li::before {
  content: "";
  width: 1rem; height: 1rem;
  margin-top: 0.125rem;
  background-color: #2F9E5A;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0a10 10 0 1 0 0 20A10 10 0 0 0 10 0zm-1.2 14.6L4.4 10.2l1.6-1.6 2.8 2.8 5.2-5.2 1.6 1.6-6.8 6.8z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0a10 10 0 1 0 0 20A10 10 0 0 0 10 0zm-1.2 14.6L4.4 10.2l1.6-1.6 2.8 2.8 5.2-5.2 1.6 1.6-6.8 6.8z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.ckv-inc li.is-extra { padding-top: 0.6875rem; border-top: 1px solid #E4E4E8; }
.ckv-help { font-size: 0.8125rem; line-height: 1.6; color: #6B7280; padding: 0 0.25rem; }
.ckv-help a { color: #A98352; font-weight: 600; }

/* --- validation --- */
:is(#lr-ckv,[data-lr-ckv]) .frm_error { margin-top: 0.375rem; font-size: 0.78125rem; color: #B85B5B; }
:is(#lr-ckv,[data-lr-ckv]) .frm_error_style {
  border: 1px solid #B85B5B;
  border-radius: 0.5rem;
  background: rgba(184, 91, 91, 0.06);
  color: #B85B5B;
  padding: 0.875rem 1rem;
  font-size: 0.84375rem;
  margin-bottom: 1rem;
}
/* --- responsive --- */
@media (max-width: 1024px) {
  :is(#lr-ckv,[data-lr-ckv]) .frm_fields_container { grid-template-columns: minmax(0, 1fr); }
  :is(#lr-ckv,[data-lr-ckv]) .frm_fields_container > .ckv-side {
    grid-column: 1;
    grid-row: auto;
    position: static;
    margin-top: 0.625rem;
  }
  .elementor-element[data-id="ckv-after-step-3"] { border-left-width: 0 !important; padding-left: 0 !important; }
}

@media (max-width: 767px) {
  :is(#lr-ckv,[data-lr-ckv]) .ckv-step {
    padding: 1.5rem 1.375rem 1.625rem;
  }
  :is(#lr-ckv,[data-lr-ckv]) .ckv-step > .frm_half,
  :is(#lr-ckv,[data-lr-ckv]) .ckv-qr,
  :is(#lr-ckv,[data-lr-ckv]) .ckv-bank { grid-column: 1 / -1; }
  :is(#lr-ckv,[data-lr-ckv]) .ckv-pay .frm_opt_container { grid-template-columns: minmax(0, 1fr); }
  :is(#lr-ckv,[data-lr-ckv]) .ckv-pay .frm_radio label {
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0.9375rem 1rem;
  }
  .ckv-pay-ico { grid-column: 1; grid-row: 1 / span 2; align-self: center; margin: 0 0.25rem 0 0; }
  .ckv-pay-name { grid-column: 2; grid-row: 1; }
  .ckv-pay-sub { grid-column: 2; grid-row: 2; margin-top: 0.125rem; }
  :is(#lr-ckv,[data-lr-ckv]) .ckv-pay input[type="radio"] { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
  :is(#lr-ckv,[data-lr-ckv]) .ckv-term .frm_opt_container { display: flex; width: 100%; }
  :is(#lr-ckv,[data-lr-ckv]) .ckv-term .frm_radio { flex: 1 1 0; }
  :is(#lr-ckv,[data-lr-ckv]) .ckv-term .frm_radio label { justify-content: center; padding: 0.625rem 0.5rem; }
  :is(#lr-ckv,[data-lr-ckv]) .ckv-plans .frm_radio label,
  :is(#lr-ckv,[data-lr-ckv]) .ckv-addon .frm_checkbox label { padding: 1rem; }
  .ckv-plan-price, .ckv-addon-price { margin-left: 0; }
  .ckv-summary { padding: 1.375rem 1.25rem 1.5rem; }
  .ckv-included { padding: 1.25rem 1.25rem 1.375rem; }
  .elementor-element[data-id^="ckv-after-step-"] {
    border-left-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Formidable forces `grid-column: 1 / span 12 !important` on every field below
   600px. The step cards keep their 12 tracks so that is correct there, but the
   outer container is a two-track grid, where a 12-column span would spill. */
@media (max-width: 600px) {
  :is(#lr-ckv,[data-lr-ckv]) .frm_fields_container > .frm_form_field { grid-column: 1 / -1 !important; }
}

/* --- checked indicator: Formidable draws the dot as ::before and colours it with its own
       active colour, which its !important width also flattens the 5px gold ring into.
       Recolour the dot to gold so the selected state reads in the LR palette. --- */
:is(#lr-ckv,[data-lr-ckv]) .frm_radio input[type="radio"]:checked,
:is(#lr-ckv,[data-lr-ckv]) .frm_checkbox input[type="checkbox"]:checked { border-color: #C9A36E !important; box-shadow: none !important; }
:is(#lr-ckv,[data-lr-ckv]) .frm_radio input[type="radio"]:checked::before,
:is(#lr-ckv,[data-lr-ckv]) .frm_checkbox input[type="checkbox"]:checked::before { background-color: #C9A36E !important; border-color: #C9A36E !important; }

/* --- fixed package card: one package, nothing to choose --- */
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans-fixed .frm_radio label,
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans-fixed .frm_radio label:hover { border-color: #C9A36E; background: #F4F1EC; box-shadow: inset 0 0 0 1px #C9A36E; cursor: default; }
:is(#lr-ckv,[data-lr-ckv]) .ckv-plans-fixed input[type="radio"] { pointer-events: none; }




/* Carried from the Company Secretary page; inert unless a field
   carries .ckv-qr-manual. */
.ckv-qr-manual strong { color: #A98352; }
