/**
 * Campamento de Verano 2026 — Club de Golf La Cañada
 * Form UI — v8 (mayo 2026)
 */

:root {
  --lcg-blue:       #005D9E;
  --lcg-blue-mid:   #1A72B8;
  --lcg-blue-light: #3A8FD4;
  --lcg-gold:       #D4A843;
  --lcg-gold-light: #F0C842;
  --lcg-cream:      #F5EFE6;
  --lcg-white:      #FFFFFF;
  --lcg-gray-100:   #F7F4EF;
  --lcg-gray-200:   #E5DDD3;
  --lcg-gray-400:   #A09588;
  --lcg-gray-600:   #6B6057;
  --lcg-gray-800:   #2D2520;
  --lcg-red:        #C94F4F;
  --lcg-shadow-sm:  0 2px 8px rgba(0,93,158,0.07);
  --lcg-shadow-md:  0 8px 32px rgba(0,93,158,0.13);
  --lcg-shadow-lg:  0 16px 48px rgba(0,93,158,0.20);
  --lcg-radius:     20px;
  --lcg-radius-sm:  12px;
  --lcg-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ══════════════════════════════════════
   CONTENEDOR GENERAL
══════════════════════════════════════ */

.entry-content, .post-content, .page-content,
[class*="elementor-widget-gravityforms"] {
  max-width: 100% !important;
  width: 100% !important;
}

.gform_wrapper,
.gform_legacy_markup_wrapper {
  background: var(--lcg-cream) !important;
  border-radius: var(--lcg-radius) !important;
  padding: 40px 32px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-family: Montserrat, sans-serif !important;
}

.gf_progressbar_wrapper,
.gf_page_steps,
.gform_page_steps { display: none !important; }

/* ══════════════════════════════════════
   STEP INDICATOR MODERNO
══════════════════════════════════════ */

#lcg-steps-indicator {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 0 auto 40px !important;
  max-width: 680px !important;
  padding: 0 8px !important;
}

.lcg-step {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 !important;
  position: relative !important;
}

/* Línea conectora entre pasos */
.lcg-step:not(:last-child)::after {
  content: '' !important;
  position: absolute !important;
  top: 20px !important;
  left: calc(50% + 20px) !important;
  right: calc(-50% + 20px) !important;
  height: 2px !important;
  background: var(--lcg-gray-200) !important;
  z-index: 0 !important;
  transition: background 0.4s ease !important;
}

.lcg-step.active:not(:last-child)::after,
.lcg-step.done:not(:last-child)::after {
  background: var(--lcg-blue) !important;
}

/* Círculo del paso */
.lcg-step-dot {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: var(--lcg-white) !important;
  border: 2px solid var(--lcg-gray-200) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: var(--lcg-gray-400) !important;
  position: relative !important;
  z-index: 1 !important;
  transition: var(--lcg-transition) !important;
  font-family: Montserrat, sans-serif !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}

.lcg-step.done .lcg-step-dot {
  background: var(--lcg-blue) !important;
  border-color: var(--lcg-blue) !important;
  color: white !important;
  box-shadow: 0 4px 12px rgba(0,93,158,0.30) !important;
}

.lcg-step.done .lcg-step-dot::before {
  content: '✓' !important;
  font-size: 16px !important;
}

.lcg-step.done .lcg-step-dot span { display: none !important; }

.lcg-step.active .lcg-step-dot {
  background: var(--lcg-blue) !important;
  border-color: var(--lcg-blue) !important;
  color: white !important;
  box-shadow: 0 0 0 5px rgba(0,93,158,0.18), 0 4px 12px rgba(0,93,158,0.28) !important;
  transform: scale(1.1) !important;
}

/* Label del paso */
.lcg-step-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--lcg-gray-400) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  white-space: nowrap !important;
  transition: var(--lcg-transition) !important;
  font-family: Montserrat, sans-serif !important;
  text-align: center !important;
}

.lcg-step.active .lcg-step-label {
  color: var(--lcg-blue) !important;
  font-weight: 800 !important;
}

.lcg-step.done .lcg-step-label {
  color: var(--lcg-blue-light) !important;
}

/* ══════════════════════════════════════
   CARD POR PÁGINA
══════════════════════════════════════ */

.gform_page {
  background: var(--lcg-white) !important;
  border-radius: var(--lcg-radius) !important;
  box-shadow: var(--lcg-shadow-md) !important;
  padding: 48px 56px !important;
  margin-bottom: 24px !important;
  border: 1px solid rgba(0,93,158,0.06) !important;
  animation: lcgFadeUp 0.35s cubic-bezier(0.4,0,0.2,1) both !important;
}

@keyframes lcgFadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ══════════════════════════════════════
   SECCIONES
══════════════════════════════════════ */

.gsection {
  border: none !important;
  padding: 0 !important;
  margin: 32px 0 4px !important;
  grid-column: 1 / -1 !important;
}

.gsection_title {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: var(--lcg-blue) !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding: 12px 18px !important;
  background: linear-gradient(90deg, rgba(0,93,158,0.07) 0%, transparent 100%) !important;
  border-left: 5px solid var(--lcg-blue) !important;
  border-radius: 0 8px 8px 0 !important;
  margin-bottom: 20px !important;
  display: block !important;
  line-height: 1.3 !important;
}

.gsection_description {
  font-size: 13px !important;
  color: var(--lcg-gray-600) !important;
  margin-top: 4px !important;
}

/* ══════════════════════════════════════
   LABELS
══════════════════════════════════════ */

.gfield_label, .gform-field-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--lcg-gray-600) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.gfield_required { color: var(--lcg-gold) !important; margin-left: 2px; }

/* ══════════════════════════════════════
   INPUTS DE TEXTO
══════════════════════════════════════ */

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="date"],
.gform_wrapper textarea {
  width: 100% !important;
  padding: 14px 18px !important;
  font-size: 15px !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 500 !important;
  color: var(--lcg-gray-800) !important;
  background: var(--lcg-gray-100) !important;
  border: 2px solid transparent !important;
  border-radius: var(--lcg-radius-sm) !important;
  outline: none !important;
  transition: var(--lcg-transition) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="date"]:focus,
.gform_wrapper textarea:focus {
  background: var(--lcg-white) !important;
  border-color: var(--lcg-blue) !important;
  box-shadow: 0 0 0 4px rgba(0,93,158,0.12) !important;
}

.gform_wrapper textarea {
  min-height: 80px !important;
  height: 80px !important;
  resize: vertical !important;
}

/* ══════════════════════════════════════
   SELECT
══════════════════════════════════════ */

.gform_wrapper select,
.gform_wrapper .gfield select,
body .gform_wrapper select {
  width: 100% !important;
  padding: 14px 44px 14px 18px !important;
  font-size: 15px !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 500 !important;
  color: var(--lcg-gray-800) !important;
  background-color: var(--lcg-gray-100) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23005D9E' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 18px !important;
  border: 2px solid var(--lcg-gray-200) !important;
  border-radius: var(--lcg-radius-sm) !important;
  outline: none !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  transition: var(--lcg-transition) !important;
}

.gform_wrapper select:focus,
.gform_wrapper .gfield select:focus {
  background-color: var(--lcg-white) !important;
  border-color: var(--lcg-blue) !important;
  box-shadow: 0 0 0 4px rgba(0,93,158,0.12) !important;
}

/* ══════════════════════════════════════
   EMAIL — doble input
══════════════════════════════════════ */

.gfield--type-email { grid-column: 1 / -1 !important; }

.gfield--type-email .ginput_container_email {
  display: flex !important;
  flex-direction: row !important;
  gap: 20px !important;
  width: 100% !important;
}

.gfield--type-email .ginput_left,
.gfield--type-email .ginput_right,
.gfield--type-email .gform-grid-col {
  flex: 1 1 50% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.gfield--type-email input[type="email"] {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* ══════════════════════════════════════
   RADIO PILLS — campos tipo radio normales
══════════════════════════════════════ */

.gfield--type-radio .gfield_radio {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.gfield--type-radio .gchoice {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gfield--type-radio .gchoice label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 14px 10px !important;
  border-radius: var(--lcg-radius-sm) !important;
  border: 2px solid var(--lcg-gray-200) !important;
  background: var(--lcg-gray-100) !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--lcg-gray-600) !important;
  transition: var(--lcg-transition) !important;
  min-height: 52px !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.gfield--type-radio .gchoice label:hover {
  border-color: var(--lcg-blue-mid) !important;
  background: var(--lcg-white) !important;
  color: var(--lcg-blue) !important;
  box-shadow: var(--lcg-shadow-sm) !important;
}

.gfield--type-radio .gchoice input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

.gfield--type-radio .gchoice input[type="radio"]:checked + label {
  background: var(--lcg-blue) !important;
  border-color: var(--lcg-blue) !important;
  color: var(--lcg-white) !important;
  box-shadow: 0 4px 16px rgba(0,93,158,0.30) !important;
}

/* ══════════════════════════════════════
   OPTION FIELDS PILLS
   (GF Product Add-on con inputType=radio)
   Clase: .gfield--type-option
   Contiene .gfield_radio + .gchoice
══════════════════════════════════════ */

/* Ocultar precio nativo GF (+$240.00) */
.gfield--type-option .gfield_price,
.gfield--type-option .ginput_product_price,
.gfield--type-option .price_label,
.gfield--type-option label .gfield_price,
.gfield--type-option .gchoice label .gfield_price,
body .gfield--type-option label span.gfield_price {
  display: none !important;
}

/* Grid de pills para option fields */
.gfield--type-option .gfield_radio {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.gfield--type-option .gchoice {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Label como pill */
body .gfield--type-option .gchoice label,
body .gform_wrapper .gfield--type-option .gchoice label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 14px 10px !important;
  border-radius: var(--lcg-radius-sm) !important;
  border: 2px solid var(--lcg-gray-200) !important;
  background: var(--lcg-gray-100) !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--lcg-gray-600) !important;
  transition: var(--lcg-transition) !important;
  min-height: 52px !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body .gfield--type-option .gchoice label:hover {
  border-color: var(--lcg-blue-mid) !important;
  background: var(--lcg-white) !important;
  color: var(--lcg-blue) !important;
  box-shadow: var(--lcg-shadow-sm) !important;
}

/* Ocultar radio nativo */
body .gfield--type-option .gchoice input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* Pill seleccionada */
body .gfield--type-option .gchoice input[type="radio"]:checked + label {
  background: var(--lcg-blue) !important;
  border-color: var(--lcg-blue) !important;
  color: var(--lcg-white) !important;
  box-shadow: 0 4px 16px rgba(0,93,158,0.30) !important;
}

/* También por ID específico (máxima especificidad) */
body #field_1_77 .gchoice label,
body #field_1_79 .gchoice label,
body #field_1_81 .gchoice label,
body #field_1_83 .gchoice label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 14px 10px !important;
  border-radius: var(--lcg-radius-sm) !important;
  border: 2px solid var(--lcg-gray-200) !important;
  background: var(--lcg-gray-100) !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--lcg-gray-600) !important;
  transition: var(--lcg-transition) !important;
  min-height: 52px !important;
  line-height: 1.3 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body #field_1_77 .gchoice input[type="radio"]:checked + label,
body #field_1_79 .gchoice input[type="radio"]:checked + label,
body #field_1_81 .gchoice input[type="radio"]:checked + label,
body #field_1_83 .gchoice input[type="radio"]:checked + label {
  background: var(--lcg-blue) !important;
  border-color: var(--lcg-blue) !important;
  color: var(--lcg-white) !important;
  box-shadow: 0 4px 16px rgba(0,93,158,0.30) !important;
}

body #field_1_77 .gchoice input[type="radio"],
body #field_1_79 .gchoice input[type="radio"],
body #field_1_81 .gchoice input[type="radio"],
body #field_1_83 .gchoice input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* Precio oculto también por ID */
body #field_1_77 label .gfield_price,
body #field_1_79 label .gfield_price,
body #field_1_81 label .gfield_price,
body #field_1_83 label .gfield_price {
  display: none !important;
}

/* Grid 3 columnas para estos campos */
body #field_1_77 .gfield_radio,
body #field_1_79 .gfield_radio,
body #field_1_81 .gfield_radio,
body #field_1_83 .gfield_radio {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════
   CHECKBOX PILLS — semanas
══════════════════════════════════════ */

.gfield--type-checkbox .gfield_checkbox {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.gfield--type-checkbox .gchoice {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gfield--type-checkbox .gchoice label {
  display: flex !important;
  flex-direction: column !important;
  padding: 16px 14px !important;
  border-radius: var(--lcg-radius-sm) !important;
  border: 2px solid var(--lcg-gray-200) !important;
  background: var(--lcg-gray-100) !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--lcg-gray-600) !important;
  transition: var(--lcg-transition) !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  position: relative !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 52px !important;
  justify-content: center !important;
}

.gfield--type-checkbox .gchoice label:hover {
  border-color: var(--lcg-gold) !important;
  background: var(--lcg-white) !important;
  box-shadow: var(--lcg-shadow-sm) !important;
}

.gfield--type-checkbox .gchoice input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

.gfield--type-checkbox .gchoice input[type="checkbox"]:checked + label {
  background: linear-gradient(135deg, var(--lcg-blue) 0%, var(--lcg-blue-mid) 100%) !important;
  border-color: var(--lcg-blue) !important;
  color: var(--lcg-white) !important;
  box-shadow: 0 4px 16px rgba(0,93,158,0.30) !important;
}

.gfield--type-checkbox .gchoice input[type="checkbox"]:checked + label::after {
  content: '✓' !important;
  position: absolute !important;
  top: 8px !important;
  right: 10px !important;
  width: 20px !important;
  height: 20px !important;
  background: var(--lcg-gold) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: white !important;
  line-height: 20px !important;
  text-align: center !important;
}

.gfield--type-checkbox .gchoice input[type="checkbox"]:disabled + label {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  background: var(--lcg-gray-100) !important;
  border-color: var(--lcg-gray-200) !important;
  color: var(--lcg-gray-400) !important;
}

/* ══════════════════════════════════════
   LAYOUT GRID 2 COLUMNAS
══════════════════════════════════════ */

.gform_fields {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px 24px !important;
  align-items: start !important;
}

.gfield--type-section,
.gfield--type-html,
.gfield--type-radio,
.gfield--type-option,
.gfield--type-checkbox,
.gfield--type-textarea,
.gfield--type-select,
.gfield--type-hidden,
.gfield--type-email,
.gfield_visibility_hidden {
  grid-column: 1 / -1 !important;
}

#field_1_7,
#field_1_15,
#field_1_73 {
  grid-column: 1 / -1 !important;
}

/* ══════════════════════════════════════
   CAMPO CÓDIGO DESCUENTO
══════════════════════════════════════ */

#field_1_7 {
  background: linear-gradient(135deg, #EAF3F9 0%, #F0F7FC 100%) !important;
  border: 1.5px dashed var(--lcg-blue-mid) !important;
  border-radius: var(--lcg-radius-sm) !important;
  padding: 20px !important;
  margin-top: 8px !important;
}

#field_1_7 .gfield_label { color: var(--lcg-blue) !important; }

/* ══════════════════════════════════════
   BOTONES DE NAVEGACIÓN
══════════════════════════════════════ */

.gform_page_footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: 36px !important;
  padding-top: 28px !important;
  border-top: 1px solid var(--lcg-gray-200) !important;
}

.gform_next_button,
.gform_button[type="submit"] {
  padding: 15px 36px !important;
  font-size: 15px !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 700 !important;
  background: var(--lcg-blue) !important;
  color: var(--lcg-white) !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  transition: var(--lcg-transition) !important;
  box-shadow: 0 4px 20px rgba(0,93,158,0.28) !important;
  min-width: 160px !important;
}

.gform_next_button:hover,
.gform_button[type="submit"]:hover {
  background: var(--lcg-blue-mid) !important;
  box-shadow: 0 8px 28px rgba(0,93,158,0.40) !important;
  transform: translateY(-2px) !important;
}

.gform_button[type="submit"] {
  background: linear-gradient(135deg, var(--lcg-gold) 0%, var(--lcg-gold-light) 100%) !important;
  color: var(--lcg-blue) !important;
  box-shadow: 0 4px 20px rgba(212,168,67,0.35) !important;
}

.gform_button[type="submit"]:hover {
  box-shadow: 0 8px 28px rgba(212,168,67,0.50) !important;
  background: linear-gradient(135deg, #C09830 0%, var(--lcg-gold) 100%) !important;
}

.gform_previous_button {
  padding: 14px 28px !important;
  font-size: 14px !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 600 !important;
  background: transparent !important;
  color: var(--lcg-gray-600) !important;
  border: 2px solid var(--lcg-gray-200) !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  transition: var(--lcg-transition) !important;
}

.gform_previous_button:hover {
  background: var(--lcg-gray-100) !important;
  border-color: var(--lcg-gray-400) !important;
  color: var(--lcg-blue) !important;
}

/* ══════════════════════════════════════
   VALIDACIÓN
══════════════════════════════════════ */

.gfield_error {
  background: rgba(217,79,79,0.04) !important;
  border-radius: var(--lcg-radius-sm) !important;
  padding: 12px !important;
}

.gfield_error input,
.gfield_error select,
.gfield_error textarea {
  border-color: var(--lcg-red) !important;
  background: var(--lcg-white) !important;
}

.validation_message {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--lcg-red) !important;
  margin-top: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.validation_message::before { content: '⚠ ' !important; }

.gform_validation_errors {
  background: rgba(217,79,79,0.06) !important;
  border: 1.5px solid rgba(217,79,79,0.3) !important;
  border-radius: var(--lcg-radius-sm) !important;
  padding: 16px 20px !important;
  margin-bottom: 24px !important;
}

.gform_validation_errors h2 {
  font-size: 14px !important;
  color: var(--lcg-red) !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════
   RESUMEN FINAL — página 4
══════════════════════════════════════ */

#lcg-resumen-final-box {
  background: linear-gradient(135deg, #004d85 0%, var(--lcg-blue-mid) 100%) !important;
  border-radius: var(--lcg-radius) !important;
  padding: 36px !important;
  margin-bottom: 28px !important;
  color: var(--lcg-white) !important;
  box-shadow: var(--lcg-shadow-lg) !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  grid-column: 1 / -1 !important;
}

#lcg-resumen-final-box * {
  color: var(--lcg-white) !important;
}

#lcg-resumen-final-box h3 {
  font-size: 18px !important;
  font-weight: 800 !important;
  margin: 0 0 20px !important;
  color: var(--lcg-white) !important;
  border-bottom: 1px solid rgba(255,255,255,0.2) !important;
  padding-bottom: 16px !important;
}

#lcg-resumen-final-box div[style*="border-bottom"] {
  border-bottom: 1px solid rgba(255,255,255,0.15) !important;
  padding: 12px 0 !important;
}

#lcg-resumen-final-box strong,
#lcg-resumen-final-box span,
#lcg-resumen-final-box p {
  color: var(--lcg-white) !important;
}

#lcg-resumen-final-box [style*="27ae60"],
#lcg-resumen-final-box [style*="color:#27ae60"] {
  color: var(--lcg-gold-light) !important;
}

#lcg-resumen-final-box div[style*="padding-top"] {
  color: var(--lcg-gold-light) !important;
}

/* Ocultar sección/label de GF que duplica el título */
#gform_page_1_4 #field_1_71 { display: none !important; }
#gform_page_1_4 #field_1_72 > .gfield_label { display: none !important; }

/* ══════════════════════════════════════
   PRIVACIDAD / LOPD
══════════════════════════════════════ */

#field_1_74 {
  background: var(--lcg-gray-100) !important;
  border-radius: var(--lcg-radius-sm) !important;
  padding: 20px 24px !important;
  grid-column: 1 / -1 !important;
}

#field_1_74 .gfield_checkbox {
  display: block !important;
  grid-template-columns: unset !important;
}

#field_1_74 .gfield_checkbox .gchoice {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 12px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#field_1_74 .gfield_checkbox .gchoice label {
  display: inline !important;
  flex-direction: unset !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  font-size: 14px !important;
  color: var(--lcg-gray-600) !important;
  line-height: 1.6 !important;
  cursor: pointer !important;
  font-weight: 400 !important;
  min-height: unset !important;
}

#field_1_74 .gfield_checkbox .gchoice label a {
  color: var(--lcg-blue) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

#field_1_74 .gfield_checkbox .gchoice input[type="checkbox"] {
  position: static !important;
  opacity: 1 !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  pointer-events: auto !important;
  margin-top: 3px !important;
  accent-color: var(--lcg-blue) !important;
  flex-shrink: 0 !important;
}

#field_1_74 .gfield_checkbox .gchoice input[type="checkbox"]:checked + label::after {
  display: none !important;
}

/* ══════════════════════════════════════
   AVISOS JS
══════════════════════════════════════ */

[id^="lcg-aviso-"] {
  background: rgba(217,79,79,0.08) !important;
  border: 1px solid rgba(217,79,79,0.25) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--lcg-red) !important;
  margin-top: 12px !important;
}

/* ══════════════════════════════════════
   CONFIRMACIÓN
══════════════════════════════════════ */

.gform_confirmation_wrapper {
  background: var(--lcg-white) !important;
  border-radius: var(--lcg-radius) !important;
  box-shadow: var(--lcg-shadow-md) !important;
  padding: 48px !important;
  text-align: center !important;
}

.gform_confirmation_message {
  font-size: 16px !important;
  color: var(--lcg-gray-600) !important;
  line-height: 1.7 !important;
}

/* ══════════════════════════════════════
   RESPONSIVE MOBILE
══════════════════════════════════════ */

@media (max-width: 768px) {
  .gform_wrapper,
  .gform_legacy_markup_wrapper { padding: 20px 16px !important; }

  .gform_page { padding: 24px 20px !important; }

  .gform_fields { grid-template-columns: 1fr !important; }

  .gfield--type-radio .gfield_radio,
  .gfield--type-option .gfield_radio,
  body #field_1_77 .gfield_radio,
  body #field_1_79 .gfield_radio,
  body #field_1_81 .gfield_radio,
  body #field_1_83 .gfield_radio {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gfield--type-checkbox .gfield_checkbox {
    grid-template-columns: 1fr 1fr !important;
  }

  .gfield--type-email .ginput_container_email {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .gfield--type-email .ginput_left,
  .gfield--type-email .ginput_right {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  .gform_page_footer { flex-direction: column-reverse !important; }

  .gform_next_button,
  .gform_previous_button,
  .gform_button[type="submit"] { width: 100% !important; }

  #lcg-steps-indicator { max-width: 100% !important; }

  .lcg-step-label { font-size: 9px !important; }

  .lcg-step-dot { width: 32px !important; height: 32px !important; font-size: 12px !important; }

  #lcg-resumen-final-box { padding: 24px 20px !important; }
}


/* ── Ocultar precio GF inyectado por JS en labels de option fields ── */
.gfield--type-option .gchoice label .ginput_price,
.gfield--type-option .gchoice .ginput_price {
  display: none !important;
}

/* ══════════════════════════════════════
   CHECKOUT WOOCOMMERCE — ESTILOS
══════════════════════════════════════ */

/* Contenedor principal del checkout */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3#order_review_heading {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--lcg-blue) !important;
  margin-bottom: 16px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid var(--lcg-blue) !important;
}

/* Tabla de resumen del pedido */
.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 14px 16px !important;
  font-size: 14px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  vertical-align: top !important;
}

.woocommerce-checkout-review-order-table thead th {
  background: var(--lcg-blue) !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}

/* Nombre del producto */
.woocommerce-checkout-review-order-table .product-name {
  font-weight: 600 !important;
  color: #1a1a1a !important;
  font-size: 15px !important;
}

.woocommerce-checkout-review-order-table .product-name .product-quantity {
  color: #666 !important;
  font-weight: 400 !important;
  font-size: 13px !important;
}

/* Meta del carrito (Categoría, etc.) */
.woocommerce-checkout-review-order-table .wc-item-meta,
.woocommerce-checkout-review-order-table dl.variation {
  margin-top: 6px !important;
  font-size: 12px !important;
  color: #666 !important;
  list-style: none !important;
  padding: 0 !important;
}

.woocommerce-checkout-review-order-table .wc-item-meta li,
.woocommerce-checkout-review-order-table dl.variation dd,
.woocommerce-checkout-review-order-table dl.variation dt {
  display: inline !important;
  font-size: 12px !important;
  color: #555 !important;
}

/* Precio */
.woocommerce-checkout-review-order-table .product-total {
  text-align: right !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  white-space: nowrap !important;
}

/* Subtotal / Total */
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .order-total td {
  text-align: right !important;
}

.woocommerce-checkout-review-order-table .order-total {
  background: #f0f6fc !important;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--lcg-blue) !important;
  border-bottom: none !important;
}

/* Botón de pago */
#place_order,
.woocommerce #place_order {
  background: var(--lcg-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 16px 32px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background .2s ease !important;
  letter-spacing: .3px !important;
  margin-top: 8px !important;
}

#place_order:hover {
  background: var(--lcg-blue-mid) !important;
}

/* Aviso de privacidad / términos */
.woocommerce-terms-and-conditions-wrapper,
.woocommerce-privacy-policy-text {
  font-size: 12px !important;
  color: #888 !important;
  margin-bottom: 16px !important;
}

/* Campos del checkout (billing) */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--lcg-blue) !important;
  margin-bottom: 16px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid var(--lcg-blue) !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select {
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color .2s !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--lcg-blue) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(46,125,50,.1) !important;
}

/* Badge "Pago seguro" */
.woocommerce-checkout #payment {
  background: #f9f9f9 !important;
  border-radius: 12px !important;
  padding: 24px !important;
  border: 1.5px solid #e8e8e8 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid #e0e0e0 !important;
  margin-bottom: 16px !important;
}

.woocommerce-checkout #payment div.payment_box {
  background: #fff !important;
  border-radius: 8px !important;
  padding: 14px !important;
  font-size: 13px !important;
  color: #555 !important;
}

/* ── Reset fondo azul del tema en sidebar checkout ── */
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-checkout .woocommerce-checkout-review-order-table *,
.woocommerce-checkout #payment,
.woocommerce-checkout .col2-set + div,
.woocommerce-checkout > .col-2,
.woocommerce #order_review {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #1a1a1a !important;
}

/* Texto explícito sobre fondo blanco en la tabla */
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table .product-name,
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout .wc-item-meta,
.woocommerce-checkout .wc-item-meta * {
  color: #1a1a1a !important;
}

/* Cabecera de la tabla sí lleva fondo azul del tema */
.woocommerce-checkout-review-order-table thead tr th {
  background: var(--lcg-blue) !important;
  color: #ffffff !important;
}

/* Total del pedido: azul oscuro destacado */
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  color: var(--lcg-blue) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  background: #f0f6fc !important;
}

/* Heading "Resumen del pedido" */
.woocommerce-checkout h3#order_review_heading {
  color: var(--lcg-blue) !important;
  border-bottom-color: var(--lcg-blue) !important;
  background: transparent !important;
}

/* Categoría meta — texto gris suave */
.woocommerce-checkout .wc-item-meta li p,
.woocommerce-checkout .wc-item-meta .wc-item-meta-label,
.woocommerce-checkout .wc-item-meta dd p {
  color: #666 !important;
  font-size: 12px !important;
}

/* ── Ocultar reviews/valoraciones WooCommerce en página del campamento ── */
.woocommerce-Reviews,
#reviews,
#tab-reviews,
.woocommerce-tabs .reviews_tab,
.woocommerce-tabs ul.tabs li.reviews_tab {
  display: none !important;
}

/* ── Ocultar campo precio total GF (field 73) — se muestra en el box resumen ── */
#field_1_73,
#field_1_73 ~ .gfield--type-total,
.gfield--type-product.gfield_price,
.gform_page_4 .gfield--type-total {
  display: none !important;
}

/* ── Ocultar totalizador GF (gform_totals) — el precio se muestra en el box resumen ── */
#gform_totals_1,
.gform_totals,
ul.gform_fields[id^="gform_totals"] {
  display: none !important;
}



/* ── Sidebar checkout: fondo azul celeste muy claro ──────────────────────────── */
.is-large .wp-block-woocommerce-checkout-order-summary-block {
  background: #e8f4fb !important;
}

/* ── Ocultar meta del producto (categoría, etiquetas) ────────────────────────── */
.product_meta {
  display: none !important;
}

/* ── Página /acceder/: botón Registro → azul ────────────────────────────────── */
/* Botón Regístrate azul en /acceder/ */
.um.um-login a.um-button.um-alt,
.um a.um-button.um-alt[href*="/registro/"],
a.um-button.um-alt[href*="/registro/"] {
  background: var(--lcg-blue) !important;
  color: #ffffff !important;
  border-color: var(--lcg-blue) !important;
  opacity: 1 !important;
}

/* ── /acceder/ (page-id-10844): ocultar submit, ancho completo al enlace Acceder */
/* NOTA: estas reglas usan .page-id-10844 para no afectar /registro/ (misma form ID 10841) */
.page-id-10844 .um-10841 .um-left.um-half { display: none !important; }
.page-id-10844 .um-10841 .um-right.um-half {
  width: 100% !important;
  float: none !important;
}
.page-id-10844 .um-10841 .um-right.um-half a.um-button.um-alt {
  background: #1a73b8 !important;
  color: #fff !important;
  width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}
.page-id-10844 .um-10841 .um-right.um-half a.um-button.um-alt:hover {
  background: #155a94 !important;
}

/* ── /cart/: sidebar resumen pedido — fondo azul celeste ──────────────────── */
.wp-block-woocommerce-cart-order-summary-block {
  background-color: #e8f4fb !important;
}

/* ── /cart/: bloque "Finalizar compra" — fondo azul celeste ───────────────── */
.wp-block-woocommerce-cart-totals-block .wp-block-woocommerce-proceed-to-checkout-block {
  background-color: #e8f4fb !important;
}
