/* =========================================================
   Casas da Ougueira — WP Booking System
   PAYMENT CONFIRMATION — v10

   Full replacement for v9.
   No JavaScript. No MutationObserver.
========================================================= */

/* =========================================================
   Container
========================================================= */

.cdo-wpbs-booking .wpbs-payment-confirmation {
  float: none !important;
  clear: both !important;

  width: 100% !important;
  max-width: none !important;

  margin: 34px 0 0 !important;
  padding: 34px 36px 36px !important;

  box-sizing: border-box !important;

  border: 1px solid rgba(189, 160, 119, 0.24) !important;
  border-radius: 24px !important;

  background: #fbfaf5 !important;

  box-shadow:
    0 20px 48px rgba(52, 55, 32, 0.09),
    0 5px 14px rgba(52, 55, 32, 0.04) !important;

  color: #343720 !important;
}

.cdo-wpbs-booking .wpbs-payment-confirmation
  .wpbs-payment-confirmation-wrapper,
.cdo-wpbs-booking .wpbs-payment-confirmation
  .wpbs-payment-confirmation-form,
.cdo-wpbs-booking .wpbs-payment-confirmation
  .wpbs-payment-confirmation-inner,
.cdo-wpbs-booking .wpbs-payment-confirmation
  .wpbs-payment-form,
.cdo-wpbs-booking .wpbs-payment-confirmation
  .wpbs-mollie-payment-confirmation {
  float: none !important;
  clear: both !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  box-shadow: none !important;
}

/* =========================================================
   Base typography
========================================================= */

.cdo-wpbs-booking .wpbs-payment-confirmation,
.cdo-wpbs-booking .wpbs-payment-confirmation p,
.cdo-wpbs-booking .wpbs-payment-confirmation td,
.cdo-wpbs-booking .wpbs-payment-confirmation th,
.cdo-wpbs-booking .wpbs-payment-confirmation label,
.cdo-wpbs-booking .wpbs-payment-confirmation span,
.cdo-wpbs-booking .wpbs-payment-confirmation div {
  font-family: "Open Sans", Arial, sans-serif !important;
}

.cdo-wpbs-booking .wpbs-payment-confirmation h1,
.cdo-wpbs-booking .wpbs-payment-confirmation h2,
.cdo-wpbs-booking .wpbs-payment-confirmation h3,
.cdo-wpbs-booking .wpbs-payment-confirmation h4,
.cdo-wpbs-booking .wpbs-payment-confirmation h5,
.cdo-wpbs-booking .wpbs-payment-confirmation h6 {
  font-family: "Antic Didone", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  color: #343720 !important;
}

.cdo-wpbs-booking .wpbs-payment-confirmation > h1,
.cdo-wpbs-booking .wpbs-payment-confirmation > h2 {
  margin: 0 0 24px !important;

  font-size: clamp(31px, 3vw, 38px) !important;
  line-height: 1.08 !important;
}

.cdo-wpbs-booking .wpbs-payment-confirmation h3,
.cdo-wpbs-booking .wpbs-payment-confirmation h4,
.cdo-wpbs-booking .wpbs-payment-confirmation h5,
.cdo-wpbs-booking .wpbs-payment-confirmation h6,
.cdo-wpbs-booking .wpbs-payment-confirmation
  .wpbs-payment-confirmation-wrapper h2,
.cdo-wpbs-booking .wpbs-payment-confirmation
  .wpbs-payment-form h2,
.cdo-wpbs-booking .wpbs-payment-confirmation
  .wpbs-mollie-payment-confirmation h2 {
  margin: 0 0 14px !important;

  font-family: "Antic Didone", Georgia, serif !important;
  font-size: 23px !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
}

/* =========================================================
   Selected dates
========================================================= */

.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-form-selected-dates,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-payment-confirmation-selected-dates {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;

  width: 100% !important;

  margin: 0 0 26px !important;
  padding: 22px 24px !important;

  box-sizing: border-box !important;

  border: 1px solid rgba(52, 55, 32, 0.08) !important;
  border-radius: 16px !important;

  background: rgba(222, 218, 207, 0.24) !important;
}

/*
   Entrada / Saída and the date:
   exactly the same family, font-size and line-height.
*/
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-form-selected-date
  .wpbs-form-field-label,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-form-selected-date
  .wpbs-form-field-label *,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-payment-confirmation-selected-date
  .wpbs-form-field-label,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-payment-confirmation-selected-date
  .wpbs-form-field-label *,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-form-selected-date
  .wpbs-form-field-input,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-form-selected-date
  .wpbs-form-field-input *,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-payment-confirmation-selected-date
  .wpbs-form-field-input,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-payment-confirmation-selected-date
  .wpbs-form-field-input * {
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;

  color: #343720 !important;
}

/* Entrada / Saída: same size as date, only slightly heavier */
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-form-selected-date
  .wpbs-form-field-label,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-form-selected-date
  .wpbs-form-field-label *,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-payment-confirmation-selected-date
  .wpbs-form-field-label,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-payment-confirmation-selected-date
  .wpbs-form-field-label * {
  margin: 0 0 4px !important;

  font-weight: 600 !important;
}

/* Date value regular */
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-form-selected-date
  .wpbs-form-field-input,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-form-selected-date
  .wpbs-form-field-input *,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-payment-confirmation-selected-date
  .wpbs-form-field-input,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-payment-confirmation-selected-date
  .wpbs-form-field-input * {
  font-weight: 400 !important;
}

/* =========================================================
   Resumo da reserva / edit link
========================================================= */

/*
   The link is inside <h4>, so without an explicit rule it inherits
   Antic Didone from the heading. Keep the action link in Open Sans.
*/
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  #wpbs-edit-order,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  #wpbs-edit-order *,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-edit-order,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-edit-order * {
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;

  color: #a85b77 !important;
}

.cdo-wpbs-booking
  .wpbs-payment-confirmation
  #wpbs-edit-order,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-edit-order {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;

  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cdo-wpbs-booking
  .wpbs-payment-confirmation
  #wpbs-edit-order svg,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-edit-order svg {
  width: 12px !important;
  height: 12px !important;
}

.cdo-wpbs-booking
  .wpbs-payment-confirmation
  #wpbs-edit-order:hover,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-edit-order:hover {
  color: #343720 !important;
}

/* =========================================================
   Pricing table
========================================================= */

.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table {
  width: 100% !important;

  margin: 0 0 20px !important;

  border: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/*
   Remove plugin backgrounds from ALL table regions:
   header, rows and bottom/total section.
*/
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table thead,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table tbody,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table tfoot,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table tr,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table th,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table td {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/*
   Descrição / Total:
   exactly the same font family and size as table items,
   only bold.
*/
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table thead th,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table thead th * {
  padding: 0 0 10px !important;

  border: 0 !important;
  border-bottom: 1px solid rgba(52, 55, 32, 0.14) !important;

  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;

  color: #343720 !important;
}

/* Normal table rows */
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table tbody td,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table tbody td *,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table tbody th,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table tbody th * {
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;

  color: #343720 !important;
}

.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table tbody td,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table tbody th {
  padding: 9px 0 !important;

  border: 0 !important;
  border-bottom: 1px solid rgba(52, 55, 32, 0.08) !important;

  font-weight: 400 !important;
}

/* Normal rows regular, even when plugin adds wpbs-line-item-bold */
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tbody
  tr:not(.wpbs-line-item-total)
  td,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tbody
  tr:not(.wpbs-line-item-total)
  td *,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tbody
  tr:not(.wpbs-line-item-total)
  th,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tbody
  tr:not(.wpbs-line-item-total)
  th * {
  font-weight: 400 !important;
}

/* Alignment */
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table th:first-child,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table td:first-child {
  text-align: left !important;
}

.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table th:last-child,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table td:last-child {
  text-align: right !important;
}

/* Total row: same size/family, only bold */
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  td,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  td *,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  th,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  th * {
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;

  color: #343720 !important;
}

.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  td,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  th {
  border-bottom: 0 !important;
}

/* =========================================================
   Test-mode notice
========================================================= */

.cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-payment-test-mode-enabled,
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  p {
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

/* =========================================================
   Mollie button
========================================================= */

/*
   Exact markup:
   #mollie-payment-button > a.cdo-mollie-pay-button

   Use a strong selector so plugin/theme styles cannot flatten
   the radius or disturb vertical alignment.
*/
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  #mollie-payment-button
  > a.cdo-mollie-pay-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  float: none !important;
  clear: both !important;

  width: 100% !important;
  max-width: none !important;
  height: 52px !important;
  min-height: 52px !important;

  margin: 22px 0 0 !important;
  padding: 1px 30px 0 !important;

  box-sizing: border-box !important;

  border: 1px solid #343720 !important;
  border-radius: 999px !important;

  background: #343720 !important;

  box-shadow: 0 10px 24px rgba(52, 55, 32, 0.14) !important;

  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  text-align: center !important;
  text-decoration: none !important;
  vertical-align: middle !important;

  color: #ffffff !important;

  visibility: visible !important;
  opacity: 1 !important;
}

.cdo-wpbs-booking
  .wpbs-payment-confirmation
  #mollie-payment-button
  > a.cdo-mollie-pay-button:hover {
  border-color: #bda077 !important;
  background: #bda077 !important;
  color: #343720 !important;
}

/* Hide only the Mollie marketing image, never its parent */
.cdo-wpbs-booking
  .wpbs-payment-confirmation
  #mollie-payment-button
  > img.wpbs-powered-by-mollie {
  display: none !important;
}

/* =========================================================
   Mobile
========================================================= */

@media (max-width: 767px) {

  .cdo-wpbs-booking
    .wpbs-payment-confirmation {
    margin-top: 26px !important;
    padding: 26px 20px 28px !important;

    border-radius: 20px !important;
  }

  .cdo-wpbs-booking
    .wpbs-payment-confirmation > h1,
  .cdo-wpbs-booking
    .wpbs-payment-confirmation > h2 {
    font-size: 31px !important;
  }

  .cdo-wpbs-booking
    .wpbs-payment-confirmation h3,
  .cdo-wpbs-booking
    .wpbs-payment-confirmation h4,
  .cdo-wpbs-booking
    .wpbs-payment-confirmation h5,
  .cdo-wpbs-booking
    .wpbs-payment-confirmation h6 {
    font-size: 21px !important;
  }

  .cdo-wpbs-booking
    .wpbs-payment-confirmation
    .wpbs-form-selected-dates,
  .cdo-wpbs-booking
    .wpbs-payment-confirmation
    .wpbs-payment-confirmation-selected-dates {
    grid-template-columns: 1fr !important;
    gap: 14px !important;

    padding: 18px !important;
  }

  /*
     Keep label and date equal on mobile too.
  */
  .cdo-wpbs-booking
    .wpbs-payment-confirmation
    .wpbs-form-selected-date
    .wpbs-form-field-label,
  .cdo-wpbs-booking
    .wpbs-payment-confirmation
    .wpbs-form-selected-date
    .wpbs-form-field-label *,
  .cdo-wpbs-booking
    .wpbs-payment-confirmation
    .wpbs-form-selected-date
    .wpbs-form-field-input,
  .cdo-wpbs-booking
    .wpbs-payment-confirmation
    .wpbs-form-selected-date
    .wpbs-form-field-input * {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .cdo-wpbs-booking
    .wpbs-payment-confirmation
    .wpbs-pricing-table thead th,
  .cdo-wpbs-booking
    .wpbs-payment-confirmation
    .wpbs-pricing-table tbody td,
  .cdo-wpbs-booking
    .wpbs-payment-confirmation
    .wpbs-pricing-table tbody td * {
    font-size: 13.5px !important;
  }

  .cdo-wpbs-booking
    .wpbs-payment-confirmation
    #mollie-payment-button
    > a.cdo-mollie-pay-button {
    height: 50px !important;
    min-height: 50px !important;
    padding: 1px 22px 0 !important;
  }
}


/* =========================================================
   v11 FINAL OVERRIDES
   - remove residual background from Total row
   - enlarge "editar reserva"
========================================================= */

/* "editar reserva" — larger, still Open Sans */
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  #wpbs-edit-order,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  #wpbs-edit-order * {
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}

body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  #wpbs-edit-order svg {
  width: 14px !important;
  height: 14px !important;
}

/*
   Total row — remove every residual fill that WPBS/theme may apply
   to the row, cells, inner spans or pseudo-elements.
*/
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-pricing-table-total,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  td,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-pricing-table-total
  td,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  td *,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-pricing-table-total
  td * {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total::before,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total::after,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-pricing-table-total::before,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-pricing-table-total::after,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  td::before,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  td::after {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Keep Total typography unchanged: same 14px as rows, only bold. */
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  td,
body .cdo-wpbs-booking
  .wpbs-payment-confirmation
  .wpbs-pricing-table
  tr.wpbs-line-item-total
  td * {
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  color: #343720 !important;
}
