/* ============================
   WP Reservations Frontend — typography
   ============================ */

.wpr-frontend-resources,
.wpr-booking-page,
.wpr-payment-page {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
}

/* ============================
   Frontend Resources
   ============================ */

.wpr-frontend-resources {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin: 30px 0;
}

@media (min-width: 768px) {
  .wpr-frontend-resources {
    grid-template-columns: repeat(3, 1fr);
  }
}

.wpr-resource-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.wpr-resource-title {
  font-size: 18px;
  font-weight: 600; /* was 800 */
  margin-bottom: 10px;
  color: #111827;
}

.wpr-resource-price {
  font-size: 16px;
  font-weight: 600; /* was 700 */
  margin-bottom: 10px;
  color: #0b5fff;
}

.wpr-resource-price--sub {
  font-size: 14px;
  font-weight: 500; /* was 700 */
  color: #111827;
  margin-top: -4px;
  margin-bottom: 20px;
}

.wpr-resource-price span {
  font-size: 13px;
  font-weight: 400; /* was 500 */
  color: #6b7280;
}

/* ============================
   Booking Page
   ============================ */

.wpr-booking-page {
  margin: 30px 0;
}

.wpr-booking-page .wpr-resource-card {
  margin-bottom: 20px;
}

.wpr-booking-type {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 16px 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  margin-bottom: 16px;
}

/* Toggle (day/hour) */
.wpr-toggle {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.wpr-toggle-option {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: #fff;
  cursor: pointer;
  user-select: none;
  font-weight: 500; /* added */
}

.wpr-toggle-option input {
  margin: 0;
}

.wpr-help--tiny {
  margin: 8px 0 0;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.35;
}

/* ============================
   Booking Form
   ============================ */

.wpr-booking-form {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.wpr-booking-form .wpr-form-row label,
.wpr-booking-type .wpr-form-row label {
  display: block;
  font-size: 13px;
  font-weight: 600; /* was 700 */
  color: #111827;
  margin: 0 0 8px;
}

.wpr-booking-form input[type="text"],
.wpr-booking-form input[type="email"],
.wpr-booking-form input[type="date"],
.wpr-booking-form input[type="time"],
.wpr-booking-form input[type="datetime-local"],
.wpr-booking-form select,
.wpr-booking-form textarea {
  width: 100%;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 14px;
  color: #111827;
  outline: none;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.wpr-booking-form textarea {
  resize: vertical;
  min-height: 120px;
}

.wpr-booking-form input:focus,
.wpr-booking-form select:focus,
.wpr-booking-form textarea:focus {
  background: #fff;
  border-color: #0b5fff;
  box-shadow: 0 0 0 3px rgba(11,95,255,0.12);
}

@media (min-width: 768px) {
  .wpr-booking-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 16px;
  }

  .wpr-booking-form .wpr-form-row--notes {
    grid-column: 1 / -1;
  }

  .wpr-booking-form .wpr-form-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
  }
}

.wpr-booking-form .wpr-btn--primary,
.wpr-booking-type .wpr-btn--primary {
  width: fit-content;
  min-width: 190px;
  background: #0b5fff;
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 600; /* was 800 */
  cursor: pointer;
  transition: transform .05s ease, filter .15s ease;
}

.wpr-booking-form .wpr-btn--primary:hover,
.wpr-booking-type .wpr-btn--primary:hover {
  filter: brightness(0.95);
}

.wpr-booking-form .wpr-btn--primary:active,
.wpr-booking-type .wpr-btn--primary:active {
  transform: translateY(1px);
}

.wpr-booking-form .wpr-help {
  margin: 0;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.4;
}

/* Alerts */
.wpr-alert {
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 14px;
  border: 1px solid transparent;
}
.wpr-alert--success { background: #ecfdf3; border-color: #bbf7d0; color: #166534; }
.wpr-alert--error   { background: #fef2f2; border-color: #fecaca; color: #991b1b; }

/* ============================
   Payment Page
   ============================ */

.wpr-payment-page {
  max-width: 900px;
  margin: 30px auto;
}

.wpr-payment-page .wpr-alert {
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 24px;
  font-size: 14px;
  font-weight: 500; /* was 600 */
}

.wpr-payment-title {
  font-size: 28px;
  font-weight: 600; /* was 800 */
  color: #111827;
  margin-bottom: 24px;
}

.wpr-payment-box {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.wpr-payment-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
  font-size: 14px;
  color: #111827;
}

.wpr-payment-row strong {
  font-weight: 600; /* was 700 */
  min-width: 110px;
  color: #374151;
}

.wpr-payment-total {
  font-size: 18px;
  font-weight: 600; /* was 800 */
  color: #0b5fff;
  margin-top: 10px;
}

.wpr-payment-status {
  display: inline-block;
  margin-top: 4px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600; /* was 700 */
  background: #fff7ed;
  color: #9a3412;
  border: 1px solid #fed7aa;
}

.wpr-payment-divider {
  height: 1px;
  background: #e5e7eb;
  margin: 22px 0;
}

.wpr-payment-instructions {
  font-size: 14px;
  color: #374151;
}

.wpr-payment-instructions ul {
  padding-left: 18px;
  margin: 10px 0;
}

.wpr-payment-instructions li {
  margin-bottom: 6px;
}

.wpr-payment-next {
  margin-top: 16px;
  font-size: 13px;
  color: #6b7280;
  font-style: italic;
}

/* Shrink ONLY the "Add Resource" card in admin page. */
#wpr-add-resource-card{
  max-width: 460px;
  width: 100%;
  margin-right: auto;
}

/* Base button (used by Back / calendar nav) */
.wpr-btn:not(.w-btn){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
  font-weight:600;
  cursor:pointer;
}
.wpr-btn:not(.w-btn):hover{ filter: brightness(0.98); }
.wpr-btn:not(.w-btn):active{ transform: translateY(1px); }

/* Wizard header */
.wpr-wizard-head{
  grid-column: 1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.wpr-wizard-steps{ display:flex; gap:8px; }
.wpr-wizard-step{
  width:10px; height:10px; border-radius:999px;
  background:#e5e7eb;
}
.wpr-wizard-step.is-active{ background:#0b5fff; }
.wpr-wizard-step.is-done{ background:#93c5fd; }

/* Wizard actions */
.wpr-wizard-actions{
  grid-column: 1 / -1;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

/* Calendar */
.wpr-front-cal{
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  background:#fff;
}
.wpr-front-cal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.wpr-front-cal__weekdays{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:6px;
  font-size:12px;
  color:#6b7280;
  margin-bottom:6px;
}
.wpr-front-cal__grid{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:6px;
}
.wpr-front-day{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px 0;
  background:#fff;
  cursor:pointer;
}
.wpr-front-day.is-selected{
  border-color:#0b5fff;
  box-shadow: 0 0 0 3px rgba(11,95,255,0.12);
}
.wpr-front-day.is-disabled{
  opacity:0.5;
  cursor:not-allowed;
}
.wpr-front-day--empty{
  border:0;
  background:transparent;
}
.wpr-front-day--blocked,
.wpr-front-day--booked,
.wpr-front-day--pending{
  background:#f9fafb;
}
.wpr-front-cal__hint{
  margin:10px 0 0;
  font-size:12px;
  color:#6b7280;
}

@media (min-width: 768px) {
  .wpr-booking-form.wpr-booking-form--wizard {
    /* Make the outer card less wide and centered */
    max-width: 760px;     /* ajusta: 720 - 860 según te guste */
    margin: 0 auto;

    /* Remove the 2-column grid so there is NO empty column */
    grid-template-columns: 1fr;
  }

  /* Keep full-width blocks correctly spanning the single column */
  .wpr-booking-form.wpr-booking-form--wizard .wpr-wizard-head,
  .wpr-booking-form.wpr-booking-form--wizard .wpr-wizard-actions,
  .wpr-booking-form.wpr-booking-form--wizard .wpr-form-row--notes,
  .wpr-booking-form.wpr-booking-form--wizard .wpr-form-row--full {
    grid-column: 1 / -1;
  }
}
