/* Gravity Forms with the PAMA look. Scoped to forms tagged `pama-gf`; variants mirror pages.css. */

.gform_wrapper.gravity-theme.pama-gf_wrapper {
  font-family: var(--font-sans);
  color: var(--color-ink);
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gform_heading,
.gform_wrapper.gravity-theme.pama-gf_wrapper .gform_required_legend,
.gform_wrapper.gravity-theme.pama-gf_wrapper .gfield_required {
  display: none;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gfield_label,
.gform_wrapper.gravity-theme.pama-gf_wrapper .gform-field-label,
.gform_wrapper.gravity-theme.pama-gf_wrapper legend.gfield_label {
  margin: 0 0 8px;
  color: #1c1b1f;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.41;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gform-field-label--type-sub {
  display: none;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gfield--type-name > legend.gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gfield--type-name .gform-field-label--type-sub {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  color: #1c1b1f;
  font-size: 13px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]),
.gform_wrapper.gravity-theme.pama-gf_wrapper textarea,
.gform_wrapper.gravity-theme.pama-gf_wrapper select {
  width: 100%;
  height: 44px;
  min-height: 0;
  padding: 11px 13px;
  border: 1px solid #d1d1d1;
  border-radius: 6px;
  background: #fff;
  box-shadow: none;
  color: #1c1b1f;
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.35;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gfield .ginput_container textarea {
  height: 120px;
  resize: vertical;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper input::placeholder,
.gform_wrapper.gravity-theme.pama-gf_wrapper textarea::placeholder {
  color: #868589;
  font-weight: 400;
  opacity: 1;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]):focus,
.gform_wrapper.gravity-theme.pama-gf_wrapper textarea:focus,
.gform_wrapper.gravity-theme.pama-gf_wrapper select:focus {
  border-color: #004759;
  outline: 3px solid rgba(0, 71, 89, .12);
  outline-offset: 0;
  box-shadow: none;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper input[type=radio],
.gform_wrapper.gravity-theme.pama-gf_wrapper input[type=checkbox] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #004759;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gchoice {
  display: grid;
  grid-template-columns: 18px 1fr;
  align-items: center;
  gap: 12px;
  min-height: 36px;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gchoice .gform-field-label {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  font-size: 16px;
  font-weight: 400;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .ginput_price {
  color: #004759;
  font-weight: 700;
  white-space: nowrap;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gsection {
  padding: 0;
  border: 0;
  margin-top: 16px;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gsection_title {
  margin: 0;
  padding: 13px 24px;
  border-radius: 7px;
  background: #004759;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  text-transform: uppercase;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gfield--type-total input.ginput_total:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]) {
  height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: #004759;
  font-size: 16px;
  font-weight: 700;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gform_footer {
  margin-top: 8px;
  padding: 0;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gform_footer .button {
  width: 100%;
  min-height: 50px;
  padding: 12px 28px;
  border: 0;
  border-radius: 8px;
  background: var(--color-accent);
  color: #1c1b1f;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 500;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px 1px rgba(0, 0, 0, .15);
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gform_validation_errors {
  border-radius: 8px;
  background: #fce8e6;
  color: #8c1d18;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gform_footer .button:hover {
  background: #e57f00;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-columns {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-column {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  align-content: start;
  gap: 18px 16px;
}

/* Contact */

.gform_wrapper.gravity-theme.pama-gf--contact_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]),
.gform_wrapper.gravity-theme.pama-gf--contact_wrapper textarea,
.gform_wrapper.gravity-theme.pama-gf--donation_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]) {
  font-size: 13px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--contact_wrapper .gform_footer .contact-submit {
  width: 200px;
  height: 48px;
  min-height: 0;
  padding: 0;
  border: 1px solid #004759;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  color: #004759;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}

.gform_wrapper.gravity-theme.pama-gf--contact_wrapper .gform_footer .contact-submit:hover {
  background: #004759;
  color: #fff;
}

/* Donation */

.gform_wrapper.gravity-theme.pama-gf--donation_wrapper .gfield_radio {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.gform_wrapper.gravity-theme.pama-gf--donation_wrapper .gfield_radio .gchoice {
  display: block;
  min-height: 0;
}

.gform_wrapper.gravity-theme.pama-gf--donation_wrapper .gfield_radio input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gform_wrapper.gravity-theme.pama-gf--donation_wrapper .gfield_radio .gform-field-label {
  display: flex;
  width: 100%;
  max-width: none;
  align-items: center;
  justify-content: center;
  height: 40px;
  border: 1px solid #d1d1d1;
  border-radius: 6px;
  background: #fff;
  color: #1c1b1f;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.gform_wrapper.gravity-theme.pama-gf--donation_wrapper .gfield_radio input:checked + .gform-field-label {
  border-color: #ffce8f;
  background: #ffce8f;
}

.gform_wrapper.gravity-theme.pama-gf--donation_wrapper .gfield_radio input:focus-visible + .gform-field-label {
  outline: 2px solid #004759;
  outline-offset: 2px;
}

.gform_wrapper.gravity-theme.pama-gf--donation_wrapper .gfield_radio .ginput_price {
  display: none;
}

.gform_wrapper.gravity-theme.pama-gf--donation_wrapper .gform_footer .button {
  height: 48px;
  border: 1px solid #004759;
  background: #004759;
  color: #fff;
}

.gform_wrapper.gravity-theme.pama-gf--donation_wrapper .gform_footer .button:hover {
  background: #003746;
}

/* Membership */

/* Figma: each section is a teal bar with its own grey panel underneath, not one big card. */

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gform_fields {
  row-gap: 0;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-columns {
  margin-top: 13px;
  padding: 32px;
  border-radius: 8px;
  background: #eff5f6;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gsection {
  margin-top: 33px;
}

/* A conditional section hidden by Gravity Forms (display: none inline) must not leave its panel behind. */
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gsection[style*="display: none"] + .pama-gf-columns,
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gsection[style*="display:none"] + .pama-gf-columns {
  display: none;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield.pama-gf-full:not(.gsection) {
  margin-top: 20px;
}

/* Payment panel: only the left column has fields, so it is centred like in Figma. */
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-columns:has(> .pama-gf-column:last-child:empty) {
  grid-template-columns: minmax(0, 360px);
  justify-content: center;
}

/* Membership type list: squares with the price on the right, no group label in the centred payment panel */
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-product .gfield_radio .gchoice {
  display: grid;
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 41px;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-product .gfield_radio input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  margin: 0;
  border: 1px solid #c4d1d4;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-product .gfield_radio input[type=radio]:checked {
  border-color: #004759;
  background: #004759;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-product .gfield_radio input[type=radio]:focus-visible {
  outline: 2px solid #004759;
  outline-offset: 2px;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-product .gfield_radio .gform-field-label {
  color: #1c1b1f;
  font-size: 15px;
  font-weight: 400;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-product .pama-gf-fee-price {
  color: #004759;
  font-size: 15px;
  font-weight: 600;
}

/* Multiple choice (Option field, checkboxes): same list as the radios, with a check mark when selected */
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-option .gfield_checkbox .gchoice {
  display: grid;
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 41px;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-option .gfield_checkbox input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  margin: 0;
  border: 1px solid #c4d1d4;
  border-radius: 4px;
  background: #fff center / 14px no-repeat;
  cursor: pointer;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-option .gfield_checkbox input[type=checkbox]:checked {
  border-color: #004759;
  background-color: #004759;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-option .gfield_checkbox input[type=checkbox]:focus-visible {
  outline: 2px solid #004759;
  outline-offset: 2px;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-option .gfield_checkbox .gform-field-label {
  color: #1c1b1f;
  font-size: 15px;
  font-weight: 400;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-option .pama-gf-fee-price {
  color: #004759;
  font-size: 15px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-option .gform-field-label .ginput_price {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-columns:has(> .pama-gf-column:last-child:empty) .gfield--type-option > legend.gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* Two steps (Gravity Forms pages): step 1 = data and plans, step 2 = summary and payment */
/* No "Paso 1 de 2" blue bar: step 2 is obvious from the summary and the back button */
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gf_progressbar_wrapper {
  display: none;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gf_page_steps {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin: 0 0 24px;
  padding: 0;
  border: 0;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gf_step {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #49454f;
  font-size: 15px;
  opacity: .7;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gf_step_active,
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gf_step_completed {
  color: #004759;
  font-weight: 600;
  opacity: 1;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gf_step_number {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #c4d1d4;
  color: #1c1b1f;
  font-size: 14px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gf_step_active .gf_step_number,
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gf_step_completed .gf_step_number {
  background: #004759;
  color: #fff;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gform_page_footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 16px 32px 32px;
  border-radius: 0 0 8px 8px;
  background: #eff5f6;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gform_page_footer .button {
  width: 100%;
  max-width: 360px;
  min-height: 50px;
  margin: 0;
  border-radius: 6px;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gform_page_footer .gform_next_button,
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gform_page_footer .gform_button {
  border: 0;
  background: var(--color-accent);
  color: #1c1b1f;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px 1px rgba(0, 0, 0, .15);
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gform_page_footer .gform_previous_button {
  border: 1px solid #004759;
  background: transparent;
  color: #004759;
  box-shadow: none;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gform_page_footer .gform_ppcp_smart_payment_buttons {
  width: 100%;
  max-width: 360px;
  margin: 0;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-summary-recap {
  margin: 0 0 10px;
  padding: 0 0 10px;
  border-bottom: 1px solid #d4dcde;
  list-style: none;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-summary-recap li {
  padding: 4px 0;
  color: #49454f;
  font-size: 14px;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-summary-recap li b {
  max-width: 60%;
  overflow-wrap: anywhere;
  color: #1c1b1f;
  font-weight: 500;
  text-align: right;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-pay-step > .gform_page_fields {
  padding: 32px;
  border-radius: 8px 8px 0 0;
  background: #eff5f6;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-pay-step .gform_fields > .gfield,
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-pay-step .pama-gf-summary {
  width: 100%;
  max-width: 360px;
  margin-inline: auto;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-summary {
  grid-column: 1 / -1;
  margin-bottom: 18px;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-summary-title {
  margin: 0 0 8px;
  color: #004759;
  font-size: 16px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-summary ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-summary li,
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-summary-total {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 10px 0;
  color: #1c1b1f;
  font-size: 15px;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-summary li b,
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-summary-total b {
  color: #004759;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-summary-total {
  margin-top: 6px;
  padding-top: 18px;
  border-top: 1px solid #d4dcde;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-columns:has(> .pama-gf-column:last-child:empty) .gfield--type-product > legend.gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* Total: a divider, then label on the left and amount on the right */
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-total {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  margin-top: 6px;
  padding-top: 24px;
  border-top: 1px solid #d4dcde;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-total .gfield_label {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-total .ginput_container_total {
  justify-self: end;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield--type-total input.ginput_total:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]) {
  width: auto;
  min-width: 0;
  color: #004759;
  font-size: 18px;
  font-weight: 600;
  text-align: right;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-column:empty {
  display: none;
}

/* "+ Agregar datos de ..." link (a lone checkbox that opens the next section) */
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-toggle-link > legend.gfield_label,
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-toggle-link > .gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-toggle-link input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-toggle-link .gchoice {
  display: block;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-toggle-link .gform-field-label {
  color: #004759;
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-toggle-link input:focus-visible + label {
  outline: 2px solid #004759;
  outline-offset: 3px;
}

/* Compact - 0 + control for number fields (children) */
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-stepper > .ginput_container {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-stepper .qty-control {
  display: grid;
  grid-template-columns: 32px 31px 32px;
  width: 95px;
  height: 42px;
  border: 1px solid #c4d1d4;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-stepper .qty-control button {
  width: auto;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  color: #1c1b1f;
  font-family: var(--font-sans);
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-stepper .qty-control button:hover {
  background: #def8ff;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-stepper .qty-control output {
  display: grid;
  place-items: center;
  font-size: 15px;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-column-title {
  color: #49454f;
  font-size: 16px;
  font-weight: 400;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gfield_label,
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper legend.gfield_label {
  margin-bottom: 2px;
  font-size: 16px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]) {
  height: 46px;
  padding: 12px 14px;
  border-radius: 4px;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper input::placeholder {
  font-weight: 300;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .gsection_title {
  padding: 12px 32px;
  border-radius: 8px;
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .ginput_container_fileupload {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding: 12px 16px;
  border: 1px dashed #d1d1d1;
  border-radius: 4px;
  background: #fff;
  color: #868589;
  font-size: 14px;
  text-align: center;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .ginput_container_fileupload input[type=file] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .ginput_container_fileupload .gform_fileupload_rules {
  display: none;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-upload-label {
  pointer-events: none;
  overflow-wrap: anywhere;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .ginput_container_fileupload:hover,
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .ginput_container_fileupload:focus-within {
  border-color: #004759;
}

/* The submit / next button (and the PayPal buttons) live inside the last panel, under the total, as in Figma */
.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-footer-in-panel {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  border-radius: 0;
  background: none;
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-footer-in-panel .button {
  width: 100%;
  max-width: none;
  min-height: 50px;
  margin: 0;
  border-radius: 6px;
  color: #1c1b1f;
  font-size: 15px;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px 1px rgba(0, 0, 0, .15);
}

.gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-footer-in-panel .gform_ppcp_smart_payment_buttons {
  width: 100%;
  max-width: none;
  margin: 0;
}

/* Sponsorship */

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gform_body {
  padding: 28px 17px 25px;
  border-radius: 8px;
  background: #eff5f6;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield_label,
.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper legend.gfield_label {
  font-size: 16px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]),
.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper textarea {
  height: 46px;
  min-height: 46px;
  padding: 12px 14px;
  border-color: #c4d1d4;
  border-radius: 4px;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gsection_title {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #1c1b1f;
  font-size: 20px;
  font-weight: 700;
  text-transform: none;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield .ginput_container textarea {
  height: 46px;
  min-height: 46px;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-product.gfield--input-type-singleproduct {
  display: none;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .pama-gf-sponsor-group > legend.gfield_label {
  margin: 10px 0 8px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.3;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .pama-gf-sponsor-platino > legend.gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield_checkbox {
  display: grid;
  gap: 14px;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield_checkbox .gchoice {
  min-height: 0;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .pama-gf-sponsor-platino .gform-field-label {
  font-weight: 700;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .pama-gf-sponsor-platino .ginput_price {
  color: #e66a00;
  font-size: 18px;
}

/* Figma: package list as checkbox rows with the price on the right, total on its own row, button inside the panel */
.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-option .gfield_checkbox .gchoice {
  display: grid;
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  gap: 12px;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-option .gfield_checkbox input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  margin: 0;
  border: 1px solid #c4d1d4;
  border-radius: 4px;
  background: #fff center / 14px no-repeat;
  cursor: pointer;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-option .gfield_checkbox input[type=checkbox]:checked {
  border-color: #004759;
  background-color: #004759;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-option .gfield_checkbox input[type=checkbox]:focus-visible {
  outline: 2px solid #004759;
  outline-offset: 2px;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-option .gfield_checkbox .gform-field-label {
  color: #1c1b1f;
  font-size: 15px;
  font-weight: 400;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .pama-gf-sponsor-platino .gfield_checkbox .gform-field-label {
  font-weight: 700;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-option .pama-gf-fee-price {
  color: #004759;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .pama-gf-sponsor-platino .pama-gf-fee-price {
  color: #e66a00;
  font-size: 18px;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-option .gform-field-label .ginput_price {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield .ginput_container textarea {
  height: auto;
  min-height: 94px;
  overflow-y: hidden;
  resize: none !important;
  field-sizing: content;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-total {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  margin-top: 6px;
  padding-top: 24px;
  border-top: 1px solid #d4dcde;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-total .gfield_label {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-total .ginput_container_total {
  justify-self: end;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gfield--type-total input.ginput_total:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]) {
  width: auto;
  min-width: 0;
  color: #004759;
  font-size: 18px;
  font-weight: 600;
  text-align: right;
}

/* The submit / next button (and the PayPal buttons) live inside the last panel, under the total, as in Figma */
.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .pama-gf-footer-in-panel {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  border-radius: 0;
  background: none;
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .pama-gf-footer-in-panel .button {
  width: 100%;
  max-width: none;
  min-height: 50px;
  margin: 0;
  border-radius: 6px;
  color: #1c1b1f;
  font-size: 15px;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px 1px rgba(0, 0, 0, .15);
}

.gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .pama-gf-footer-in-panel .gform_ppcp_smart_payment_buttons {
  width: 100%;
  max-width: none;
  margin: 0;
}

/* Tickets: welcome reception, gala, bazaar */

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper {
  max-width: 620px;
  padding: 54px 78px 48px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(0, 71, 89, .1);
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .gfield_label,
.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper legend.gfield_label {
  font-size: 14px;
  font-weight: 400;
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]) {
  height: 46px;
  padding: 12px 14px;
  border-color: #c4d1d4;
  border-radius: 4px;
  font-size: 14px;
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .gsection {
  margin-top: 4px;
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .gsection_title {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #1c1b1f;
  font-size: 16px;
  font-weight: 500;
  text-transform: none;
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .gfield--type-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 18px;
  border-top: 1px solid #c4d1d4;
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .gfield--type-total .gfield_label {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .gfield--type-total .ginput_container {
  width: auto;
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .gfield--type-checkbox > legend.gfield_label {
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 500;
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .gfield_checkbox {
  display: grid;
  gap: 10px;
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .gfield_checkbox .gchoice {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 0;
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .gfield_checkbox .gform-field-label {
  font-size: 14px;
}

.gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .gfield--type-total input.ginput_total:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]) {
  width: auto;
  text-align: right;
}

/* Counters (tickets and convention): the theme's .ticket-line/.qty-control markup, built by gravity-forms.js */

.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-counter > .gfield_label,
.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-counter > .ginput_container {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-counter .ticket-line {
  display: grid;
  grid-template-columns: 1fr 60px 96px;
  align-items: center;
  gap: 10px;
  min-height: 49px;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-counter .ticket-line > span {
  color: #1c1b1f;
  font-weight: 400;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-counter .ticket-line > b {
  justify-self: end;
  color: #004759;
  font-size: 15px;
  font-weight: 500;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-counter .qty-control {
  display: grid;
  grid-template-columns: 32px 32px 32px;
  height: 32px;
  border: 1px solid #c4d1d4;
  border-radius: 4px;
  overflow: hidden;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-counter .qty-control button {
  width: auto;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  color: #1c1b1f;
  font-family: var(--font-sans);
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-counter .qty-control button:hover {
  background: #def8ff;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-counter .qty-control button:active {
  background: #ffc785;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-counter .qty-control output {
  display: grid;
  place-items: center;
  background: #fff;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gfield.pama-gf-counter {
  margin: 0;
}

/* Convention */

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .gsection_title {
  display: flex;
  align-items: center;
  min-height: 57px;
  padding-inline: 32px;
  font-size: 18px;
  font-weight: 600;
  text-transform: none;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .gfield--type-product .gchoice .gform-field-label {
  font-size: 16px;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-counter .ticket-line {
  grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) 128px;
  min-height: 44px;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-counter .qty-control {
  grid-template-columns: 42px 42px 42px;
  width: 128px;
  justify-self: end;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .gfield--type-total {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 28px 32px 18px;
  border-radius: 7px;
  background: #004759;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .gfield--type-total .gfield_label {
  margin: 0;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .gfield--type-total input.ginput_total:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]) {
  width: 10ch;
  min-width: 0;
  max-width: 100%;
  color: #fff;
  font-size: 24px;
  text-align: right;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .gform_footer .button {
  width: 280px;
  min-height: 48px;
}

/* Convention (Figma): fee groups, activity headings, yes/no, list links */

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-hide-label > .gfield_label,
.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-hide-label > legend {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .gfield_description {
  margin: 0 0 12px;
  color: #49454f;
  font-size: 14px;
  line-height: 1.4;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-fee-group {
  margin: 18px 0 8px;
  color: #004759;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-fee-group:first-child {
  margin-top: 4px;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-fee-groups .gfield_radio {
  display: grid;
  gap: 0;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-fee-groups .gchoice {
  display: grid;
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 36px;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-fee-price {
  color: #004759;
  font-size: 15px;
  font-weight: 500;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper input[type=radio] {
  accent-color: #004759;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-activity-field {
  margin: 22px 0 0;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-activity {
  display: grid;
  gap: 4px;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-activity strong {
  color: #1c1b1f;
  font-size: 16px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-activity span {
  color: #49454f;
  font-size: 14px;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-yesno .gfield_radio {
  display: flex;
  gap: 28px;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link > .gfield_label {
  margin-bottom: 2px;
  color: #1c1b1f;
  font-size: 16px;
  font-weight: 600;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link .gfield_description {
  margin: 0 0 6px;
  padding: 0;
  color: #868589;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link .gfield_header_item,
.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link .gfield_list_header th {
  color: #868589;
  font-size: 14px;
  font-weight: 400;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link table,
.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link thead,
.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link tbody {
  display: block;
  width: 100%;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link tr {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link th,
.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link td {
  flex: 1 1 200px;
  padding: 0;
  text-align: left;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link th:empty {
  display: none;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link .gfield_list_icons {
  display: flex;
  flex: 0 0 100%;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link .gfield_list_group:not(:last-child) .add_list_item {
  display: none;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link .add_list_item {
  width: auto;
  opacity: 1;
  height: auto;
  padding: 0;
  border: 0;
  background: none !important;
  -webkit-mask: none;
  mask: none;
  color: #004759;
  font-size: 0;
  cursor: pointer;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link .add_list_item::before {
  content: none;
}

.gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-list-link .add_list_item::after {
  content: var(--pama-add-label, "+");
  color: #004759;
  font-size: 14px;
  font-weight: 600;
}

@media (max-width: 1000px) {
  .gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-columns {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 640px) {
  .gform_wrapper.gravity-theme.pama-gf--tickets_wrapper {
    padding: 36px 22px;
  }

  .gform_wrapper.gravity-theme.pama-gf--tickets_wrapper .pama-gf-counter .ticket-line {
    grid-template-columns: 1fr 50px 96px;
  }

  .gform_wrapper.gravity-theme.pama-gf--donation_wrapper .gfield_radio {
    grid-template-columns: 1fr 1fr;
  }

  .gform_wrapper.gravity-theme.pama-gf--sponsorship_wrapper .gform_body,
  .gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-columns {
    padding: 20px;
  }

  .gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-counter .ticket-line {
    grid-template-columns: 1fr auto;
  }

  .gform_wrapper.gravity-theme.pama-gf--convention_wrapper .pama-gf-counter .qty-control {
    grid-column: 1 / -1;
    justify-self: start;
    margin: 8px 0 12px;
  }
}

/* PayPal only: no "PayPal Checkout / Tarjeta de crédito" selector. The PayPal buttons are the payment method. */
.gform_wrapper.gravity-theme.pama-gf_wrapper .gfield--type-paypal .gform_ppcp_payment_method {
  display: none;
}

.gform_wrapper.gravity-theme.pama-gf_wrapper .gfield--type-paypal > legend.gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* Mobile: +/- steppers get 44px touch targets */
@media (max-width: 760px) {
  .gform_wrapper.gravity-theme.pama-gf_wrapper .pama-gf-counter .qty-control,
  .gform_wrapper.gravity-theme.pama-gf--membership_wrapper .pama-gf-stepper .qty-control {
    grid-template-columns: 44px 44px 44px;
    width: auto;
    height: 44px;
  }
}
