.p49-lite-form-section {
  background: #edf7f8;
  padding: 54px 0;
}

.p49-lite-original-heading,
.p49-lite-form .p49-lite-hidden-source,
.p49-lite-form .p49-lite-field-time .form-group {
  display: none !important;
}

.p49-lite-form {
  max-width: 1120px;
  margin: 0 auto;
  color: #07142d;
}

.p49-lite-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 20px;
  align-items: start;
}

.p49-lite-form-main,
.p49-lite-form-summary {
  min-width: 0;
}

.p49-lite-form-main {
  display: grid;
  gap: 16px;
}

.p49-lite-card,
.p49-lite-summary-card {
  background: #fff;
  border: 1px solid #d6e7eb;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(7, 20, 45, 0.08);
}

.p49-lite-card {
  padding: 22px;
}

.p49-lite-card-heading,
.p49-lite-summary-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 14px;
  margin-bottom: 18px;
  border-bottom: 1px solid #d6e7eb;
}

.p49-lite-card-heading i,
.p49-lite-summary-heading i {
  color: #00858b;
  font-size: 18px;
}

.p49-lite-card-heading h2,
.p49-lite-summary-heading h3 {
  margin: 0;
  color: #07142d;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.p49-lite-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px 18px;
}

.p49-lite-field {
  min-width: 0;
}

.p49-lite-field-full {
  grid-column: 1 / -1;
}

.p49-lite-field label {
  display: block;
  margin: 0 0 7px;
  color: #07142d;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
}

.p49-lite-field .form-group {
  position: relative;
  margin: 0 !important;
}

.p49-lite-field input[type="text"],
.p49-lite-field input[type="email"],
.p49-lite-field input[type="tel"],
.p49-lite-field input[type="number"],
.p49-lite-field select,
.p49-lite-field textarea,
.p49-lite-field .form-control {
  width: 100% !important;
  max-width: none !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid #c7dde3 !important;
  border-radius: 5px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #07142d !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  box-sizing: border-box !important;
}

.p49-lite-field textarea {
  height: auto !important;
  min-height: 96px !important;
  padding-top: 14px !important;
  resize: vertical;
}

.p49-lite-field input::placeholder,
.p49-lite-field textarea::placeholder {
  color: #8090a4 !important;
  opacity: 1 !important;
}

.p49-lite-field select {
  appearance: auto !important;
}

.p49-lite-time-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.p49-lite-time-option {
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid #c7dde3;
  border-radius: 5px;
  background: #fff;
  color: #07142d;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.p49-lite-time-option.is-selected {
  border-color: #00858b;
  background: #00858b;
  color: #fff;
}

.p49-lite-submit-card {
  padding-bottom: 20px;
}

.p49-lite-submit-grid {
  display: grid;
  grid-template-columns: minmax(250px, 360px) minmax(220px, 1fr);
  gap: 18px;
  align-items: end;
}

.p49-lite-recaptcha-box {
  min-width: 0;
}

.p49-lite-recaptcha-box > span,
.p49-lite-recaptcha-box > div {
  max-width: 100%;
}

.p49-lite-submit-action {
  display: grid;
  gap: 9px;
  justify-items: stretch;
}

.p49-lite-submit-button,
.p49-lite-form input.p49-lite-submit-button,
.p49-lite-form .btn.p49-lite-submit-button {
  width: 100% !important;
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #00858b !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  box-shadow: 0 14px 28px rgba(0, 117, 123, 0.22) !important;
}

.p49-lite-submit-action small {
  color: #52677c;
  font-size: 12px;
  line-height: 1.35;
  text-align: center;
}

.p49-lite-summary-card {
  position: sticky;
  top: 18px;
  padding: 20px;
}

.p49-lite-summary-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 86px;
  gap: 12px;
  align-items: center;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #d6e7eb;
}

.p49-lite-summary-title {
  display: grid;
  gap: 3px;
}

.p49-lite-summary-title strong {
  color: #07142d;
  font-size: 18px;
  line-height: 1.2;
}

.p49-lite-summary-title span {
  color: #07142d;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
}

.p49-lite-summary-title em {
  color: #00858b;
  font-size: 13px;
  line-height: 1.2;
  font-style: normal;
  font-weight: 900;
}

.p49-lite-summary-image {
  width: 86px;
  height: 58px;
  border-radius: 6px;
  object-fit: cover;
  background: #e8f5f6;
}

.p49-lite-summary-list {
  display: grid;
  gap: 13px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.p49-lite-summary-list li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
  color: #07142d;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 800;
}

.p49-lite-summary-list i {
  color: #00858b;
  margin-top: 2px;
}

.p49-lite-summary-list span:last-child {
  color: #006d73;
  text-align: right;
  text-transform: uppercase;
}

.p49-lite-summary-total,
.p49-lite-summary-secure {
  border-radius: 6px;
  background: #f5fafb;
  border: 1px solid #d6e7eb;
}

.p49-lite-summary-total {
  padding: 16px;
  margin-bottom: 16px;
}

.p49-lite-summary-total span {
  display: block;
  margin-bottom: 7px;
  color: #006d73;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.p49-lite-summary-total strong {
  display: block;
  color: #00858b;
  font-size: 28px;
  line-height: 1;
  font-weight: 900;
}

.p49-lite-summary-total small {
  display: block;
  margin-top: 8px;
  color: #07142d;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
}

.p49-lite-summary-secure {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
  align-items: center;
}

.p49-lite-summary-secure i {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #e8f5f6;
  color: #00858b;
}

.p49-lite-summary-secure strong {
  display: block;
  color: #006d73;
  font-size: 13px;
  line-height: 1.2;
}

.p49-lite-summary-secure span {
  display: block;
  color: #52677c;
  font-size: 12px;
  line-height: 1.35;
}

@media (max-width: 980px) {
  .p49-lite-form-layout {
    grid-template-columns: 1fr;
  }

  .p49-lite-summary-card {
    position: static;
  }
}

@media (max-width: 760px) {
  .p49-lite-form-section {
    padding: 30px 10px;
  }

  .p49-lite-card,
  .p49-lite-summary-card {
    border-radius: 7px;
    box-shadow: 0 14px 32px rgba(7, 20, 45, 0.08);
  }

  .p49-lite-card {
    padding: 16px;
  }

  .p49-lite-fields,
  .p49-lite-submit-grid,
  .p49-lite-time-options {
    grid-template-columns: 1fr;
  }

  .p49-lite-card-heading h2,
  .p49-lite-summary-heading h3 {
    font-size: 16px;
  }

  .p49-lite-field label {
    font-size: 12px;
  }

  .p49-lite-field input[type="text"],
  .p49-lite-field input[type="email"],
  .p49-lite-field input[type="tel"],
  .p49-lite-field input[type="number"],
  .p49-lite-field select,
  .p49-lite-field textarea,
  .p49-lite-field .form-control {
    height: 46px !important;
    min-height: 46px !important;
    font-size: 13px !important;
    padding: 0 12px !important;
  }

  .p49-lite-submit-action small {
    font-size: 11px;
  }
}

/* Font-independent icons for this quote form. Avoids broken webfont glyphs. */
.p49-lite-form .p49-lite-card-heading i,
.p49-lite-form .p49-lite-summary-heading i,
.p49-lite-form .p49-lite-summary-list i,
.p49-lite-form .p49-lite-summary-secure i {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: #00858b;
  font-family: Arial, sans-serif !important;
  font-size: 0 !important;
  font-style: normal !important;
  line-height: 1 !important;
}

.p49-lite-form .p49-lite-card-heading i::before,
.p49-lite-form .p49-lite-summary-heading i::before,
.p49-lite-form .p49-lite-summary-list i::before,
.p49-lite-form .p49-lite-summary-secure i::before {
  content: "" !important;
  display: block;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--p49-lite-icon) center / contain no-repeat;
  mask: var(--p49-lite-icon) center / contain no-repeat;
}

.p49-lite-form .fa-calendar-alt {
  --p49-lite-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M8 2v4M16 2v4M3 10h18'/%3E%3C/svg%3E");
}

.p49-lite-form .fa-ship {
  --p49-lite-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17h16l-2 4H6l-2-4Z'/%3E%3Cpath d='M6 13h12l2 4H4l2-4Z'/%3E%3Cpath d='M9 13V6h6v7M8 6h8'/%3E%3C/svg%3E");
}

.p49-lite-form .fa-users {
  --p49-lite-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-8 0v2'/%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.8M2 21v-2a4 4 0 0 1 3-3.8M19 7.5a3 3 0 0 1 0 5M5 7.5a3 3 0 0 0 0 5'/%3E%3C/svg%3E");
}

.p49-lite-form .fa-clock {
  --p49-lite-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6l4 2'/%3E%3C/svg%3E");
}

.p49-lite-form .fa-map-marker-alt {
  --p49-lite-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6 7-13a7 7 0 0 0-14 0c0 7 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E");
}

.p49-lite-form .fa-shield-alt {
  --p49-lite-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E");
}

.p49-lite-form .fa-lock {
  --p49-lite-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
}
/* Hide original source submit blocks for rebuilt Bavaro/Cap Cana forms. */
.p49-lite-form.funsea-p49-lite .funsea-submit-box,
.p49-lite-form.ctour-p49-lite .ctour-submit-box,
.p49-lite-form.c36-p49-lite .c36-submit-box,
.p49-lite-form.funcat-p49-lite .funcat-submit-box,
.p49-lite-form.ling-p49-lite .ling-submit-box {
  display: none !important;
}

.p49-lite-form.ling-p49-lite > div[style*="fff8e1"],
.p49-lite-form.ling-p49-lite > br {
  display: none !important;
}
/* Optional lunch add-on for Bavaro catamarans using the Princess 49-style form. */
.p49-lite-lunch-card {
  display: grid;
  gap: 14px;
}

.p49-lite-lunch-heading {
  align-items: center;
}

.p49-lite-lunch-heading h2 {
  flex: 1 1 auto;
}

.p49-lite-lunch-clear {
  appearance: none;
  border: 1px solid #c7dde3;
  border-radius: 999px;
  background: #eef9fa;
  color: #006d73;
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  padding: 9px 13px;
}

.p49-lite-lunch-intro {
  margin: -8px 0 0;
  color: #52677c;
  font-size: 13px;
  line-height: 1.45;
}

.p49-lite-lunch-options {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.p49-lite-lunch-option {
  position: relative;
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 9px;
  border: 1px solid #d6e7eb;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.p49-lite-lunch-option:hover,
.p49-lite-lunch-option.is-selected {
  border-color: #00858b;
  box-shadow: 0 12px 26px rgba(0, 117, 123, 0.12);
}

.p49-lite-lunch-option.is-selected {
  transform: translateY(-1px);
}

.p49-lite-lunch-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.p49-lite-lunch-option img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 6px;
  object-fit: cover;
  background: #e8f5f6;
}

.p49-lite-lunch-option span {
  display: grid;
  gap: 5px;
  min-height: 58px;
}

.p49-lite-lunch-option strong {
  color: #07142d;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 900;
}

.p49-lite-lunch-option em {
  color: #00858b;
  font-size: 12px;
  line-height: 1.2;
  font-style: normal;
  font-weight: 900;
}

.p49-lite-lunch-option b {
  justify-self: center;
  width: 14px;
  height: 14px;
  border: 2px solid #90a6b9;
  border-radius: 50%;
  background: #fff;
}

.p49-lite-lunch-option.is-selected b {
  border-color: #00858b;
  box-shadow: inset 0 0 0 3px #fff;
  background: #00858b;
}

.p49-lite-lunch-details {
  display: grid;
  grid-template-columns: minmax(190px, 0.8fr) minmax(0, 1.2fr);
  gap: 14px 18px;
  align-items: end;
}

.p49-lite-lunch-details label {
  display: grid;
  gap: 7px;
  margin: 0;
  color: #07142d;
  font-size: 12px;
  font-weight: 800;
}

.p49-lite-lunch-details input,
.p49-lite-lunch-details textarea {
  width: 100%;
  border: 1px solid #c7dde3;
  border-radius: 5px;
  background: #fff;
  color: #07142d;
  font-size: 14px;
  font-weight: 700;
  box-sizing: border-box;
}

.p49-lite-lunch-details input {
  height: 50px;
  padding: 0 14px;
}

.p49-lite-lunch-details textarea {
  min-height: 50px;
  padding: 14px;
  resize: vertical;
}

.p49-lite-lunch-details input::placeholder,
.p49-lite-lunch-details textarea::placeholder {
  color: #8090a4;
  opacity: 1;
}

.p49-lite-form .fa-utensils {
  --p49-lite-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3v8M8 3v8M6 3v18M12 3v18M12 3c3 2 4 5 4 8 0 2-1 3-4 3M20 3v18'/%3E%3C/svg%3E");
}

@media (max-width: 980px) {
  .p49-lite-lunch-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .p49-lite-lunch-heading {
    gap: 8px;
  }

  .p49-lite-lunch-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p49-lite-lunch-details {
    grid-template-columns: 1fr;
  }

  .p49-lite-lunch-option strong,
  .p49-lite-lunch-option em {
    font-size: 11px;
  }
}