/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

.form_tpv {  }
table.table-form-tpv { width:48%; display:inline-block; margin-left:1%; transition:all ease 0.5; }
table.table-form-tpv.loading { opacity: 0.5;}
table.table-form-tpv td { position:relative; overflow: visible;}
table.table-form-tpv td + td { padding-left: 10px; }
table.table-form-tpv input#amountTPV.warning, table.table-form-tpv input#orderNumber.warning { border-color: red }

input#amountTPV { width:90%; font-size: 2em; border:0; text-align: right; border-bottom: 1px solid #666; margin: 5px 0;  padding: 0 4px; }
input#orderNumber,input#orderDesc { width:90%; font-size: 2em; border:0; text-align: right; color:#666; border-bottom: 1px solid #666;margin: 5px 0; padding: 0 4px;  }

input#amountTPV + span { font-size: 2em; }

table.table-form-tpv span.error { position: absolute;z-index:-99; top:50%; background-color: red; color: white; width:auto; white-space: nowrap; left: 50%; font-size: 0.8em; transform: translate(-50%,-50%); padding: 4px; translate: opacity ease 0.5s; opacity:0; }
table.table-form-tpv span.error.show { display:block; top:50%; z-index:20; opacity:1; }

.section-right-form-tpv { display:inline-block; vertical-align: top; width:48%; margin-left: 2%; }

.img-formaspago { text-align: center; margin: 10px; }
.img-formaspago img { width:40%; }

a#form_tpv_submit { display:block; text-align:center; font-size: 2em; color: #444; border:1px solid #444; }
a#form_tpv_submit:before { content:''; width:40px; height:40px; background-image: url(//vtcpremiumnavarra.com/wp-content/plugins/pago-redsys-tpv-grafreak/public/img/ico-payment.png); background-size: contain; display: inline-block; vertical-align: middle; margin-right: 12px; }
a#form_tpv_submit:after { content:'>'; display: inline-block; vertical-align: middle; margin-left: 12px; }

table.table-result-tpv { margin: auto; min-width:50%;}
table.table-result-tpv tr td { padding: 5px; }
table.table-result-tpv tr td:first-of-type { text-align: right; }
table.table-result-tpv tr td:last-of-type { text-align: left; font-weight: bold;}

@media all and (max-width: 760px){
  table.table-form-tpv{ width:100%; display:inline-block; margin-left:0%; }
  .section-right-form-tpv{ width:100%; margin-left:0%; }
  .img-formaspago img{ width:80%; margin:1em; }
  table.table-form-tpv td + td{ width:50%; }
  input#amountTPV{ width:80%; }
}
/* ==== ESTILOS FORMULARIO DE RESERVAS ==== */

.booking-form {
    max-width: 600px;
    margin: 40px auto;
    padding: 30px;
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    font-family: 'Segoe UI', sans-serif;
    color: #1a1a1a;
}

.booking-form__group {
    margin-bottom: 24px;
}

.booking-form__label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #1a1a1a;
}

.booking-form__input,
.booking-form__textarea,
.booking-form select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #cccccc;
    border-radius: 8px;
    font-size: 16px;
    background-color: #f9f9f9;
    transition: border-color 0.3s ease, box-shadow 0.2s ease;
}

.booking-form__input:focus,
.booking-form__textarea:focus,
.booking-form select:focus {
    border-color: #000000;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.15);
    outline: none;
}

.booking-form__textarea {
    resize: vertical;
}

.booking-form__button {
    background-color: #000000;
    color: #f5c542;
    text-transform: uppercase;
    padding: 14px 24px;
    font-size: 16px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    width: 100%;
    font-weight: bold;
    letter-spacing: 1px;
    transition: background-color 0.3s ease;
}

.booking-form__button:hover {
    background-color: #222222;
}

.mapbox-autocomplete-wrapper {
    position: relative;
}

.mapbox-autocomplete-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 10;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    max-height: 200px;
    overflow-y: auto;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.mapbox-autocomplete-item {
    padding: 10px 14px;
    cursor: pointer;
    font-size: 15px;
}

.mapbox-autocomplete-item:hover {
    background-color: #f0f0f0;
}

/* Ocultar campo 'farthest_point' por defecto */
.booking-form__group--farthest {
    display: block;
}

.supplements-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.supplement-item {
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid #ccc;
    background-color: #f9f9f9;
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
}

.supplement-item:nth-child(even) {
    background-color: #f2f2f2;
}

.supplement-item.selected {
    background-color: #000;
    color: #f5c542;
    border-color: #000;
    font-weight: 600;
}

.fc-day-nonworking {
    pointer-events: none;
    opacity: 0.5;
    cursor: not-allowed;
}

.fc-day-occupied {
    cursor: pointer;
    font-weight: bold;
}

/* 💅 Mejora visual para el select de hora */
#pickup_time {
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
    background-color: #fff;
    font-size: 16px;
    width: 100%;
    margin-top: 5px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* 🟥 Opciones ocupadas con estilo gris claro y texto rojo */
#pickup_time option.occupied {
    background-color: #f8d7da;
    color: #a94442;
}

/* 🟩 Opciones disponibles (opcional si quieres resaltar) */
#pickup_time option.available {
    background-color: #e7f7ec;
    color: #2e7d32;
}

/* Ejemplo típico en assets/css/booking-style.css */
#price-display {
    background-color: #383429;
    /* color actual de fondo */
    color: #fff;
    /* color de texto */
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
}

/* 📆 Calendario personalizado */
.fc-day-nonworking {
    background-color: #fcebea !important;
    color: #c53030 !important;
    position: relative;
}

.fc-day-nonworking::after {
    content: "No disponible";
    position: absolute;
    bottom: 4px;
    left: 4px;
    font-size: 10px;
    color: #c53030;
    /* rojo */
    pointer-events: none;
}

.fc-day-occupied {
    background-color: #dbeafe !important;
    color: #1e40af !important;
    position: relative;
}

/* 🕒 Texto encima de los días */
.fc-day-occupied::after {
    content: "Aún quedan horas";
    position: absolute;
    bottom: 4px;
    left: 4px;
    font-size: 10px;
    color: #1e3a8a;
}

.fc-day-festive {
    background-color: #fff6e5 !important;
    color: #c05621 !important;
    position: relative;
}

.fc-day-festive::after {
    content: "Festivo";
    position: absolute;
    bottom: 4px;
    left: 4px;
    font-size: 10px;
    color: #b45309;
}

/* Pinta el título (Mes y Año) en dorado */
.fc .fc-toolbar-title {
    color: #e5bf43;
    font-size: medium;
}

@media (max-width: 480px) {
    .booking-form {
        padding: 20px;
    }

    .booking-form__input,
    .booking-form__textarea,
    .booking-form select {
        font-size: 15px;
    }

    .booking-form__button {
        font-size: 15px;
        padding: 12px 20px;
    }
}/* 📄 Archivo: assets/css/calendar-owner.css */

/* 🔲 Estilos generales del modal */
.vtc-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  z-index: 9999;
  max-width: 700px;
  width: 90%;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  display: none;
}

.vtc-modal .modal-content {
  max-height: 80vh;
  overflow-y: auto;
  position: relative;
}
.fc-event-title,
.fc-event-time {
  white-space: pre-line !important;
  line-height: 1.2;
  font-size: 13px;
  word-break: break-word;
}

/* 📱 Modal a pantalla completa en móvil */
@media screen and (max-width: 768px) {
  body.admin-bar {
    padding-top: 0 !important;
  }

  #wpadminbar {
    display: none !important;
  }
  .vtc-modal.fullscreen {
    top: 0;
    left: 0;
    transform: none;
    width: 100vw;
    height: 100vh;
    padding: 25px;
    border-radius: 0;
    max-width: none;
  }

  .vtc-modal.fullscreen .modal-content {
    height: 100%;
    padding-bottom: 80px; /* espacio para los botones */
    overflow-y: auto;
  }

  .vtc-modal.fullscreen .modal-buttons {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #f9f9f9;
    padding: 10px 15px;
    display: flex;
    justify-content: space-around;
    border-top: 1px solid #ddd;
    z-index: 10000;
  }

  .vtc-modal.fullscreen .modal-buttons button {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    padding: 10px;
    flex: 1;
    text-align: center;
  }

  .vtc-modal.fullscreen .modal-buttons button:hover {
    background-color: #eee;
    border-radius: 6px;
  }
}