@charset "utf-8";
/* ============================================================
   Transporte · Rediseño UX/UI del calendario y el formulario
   (estilo Apple, consistente con tours/autos). Conserva el
   funcionamiento de los inputs; solo cambia lo visual.
   Se carga DESPUÉS de mainStyles.css e index.css.
   ============================================================ */

:root{
  --ap-bg:#f5f5f7;
  --ap-card:#ffffff;
  --ap-ink:#1d1d1f;
  --ap-muted:#6e6e73;
  --ap-line:#e3e3e6;
  --ap-blue:#1E90FF;
  --ap-blue-d:#0a6fe0;
  --ap-font:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
}

*{ font-family:var(--ap-font); }
body{ background:var(--ap-bg); color:var(--ap-ink); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

/* ---------- Header / footer / carrito (consistencia) ---------- */
#top{ background:transparent !important; }
.topHeader{ background:#fff !important; }
.bottomHeader{ background:transparent !important; }
.nameLogotype{ color:var(--ap-ink) !important; font-weight:600 !important; letter-spacing:-.5px; }
a.dropbtn{ color:var(--ap-ink) !important; font-weight:500 !important; }
a.menuIconsItem,a.menuIconsItem:hover{ background:transparent !important; border:none !important; border-radius:0 !important; backdrop-filter:none !important; color:#fff !important; }
a.menuIconsItem p{ color:#fff !important; transition:color .2s ease; }
a.menuIconsItem:hover,a.menuIconsItem:hover p{ color:#17c3d4 !important; }
.topHeaderItem{ background:var(--ap-card) !important; border:1px solid var(--ap-line) !important; box-shadow:none !important; border-radius:12px !important; }
.topHeaderItem p{ color:var(--ap-ink) !important; }
.footer{ background:var(--ap-bg) !important; border:1px solid var(--ap-line); border-radius:18px !important; }
.title{ color:var(--ap-ink) !important; font-weight:600 !important; }
.box_footer_son a{ color:var(--ap-blue) !important; }
/* Carrito flotante: usa el estilo teal/goldenrod global (igual que el inicio) */

/* ---------- Sección del formulario ---------- */
.index{ background:transparent !important; }

/* Card del formulario */
.container{
  background:var(--ap-card) !important;
  display:block !important;
  width:92% !important;
  max-width:620px !important;
  margin:0 auto !important;
  border:1px solid var(--ap-line) !important;
  border-radius:22px !important;
  box-shadow:0 20px 55px rgba(0,0,0,.10) !important;
  padding:32px 30px !important;
  color:var(--ap-ink) !important;
}
.container h2{
  color:var(--ap-ink) !important;
  font-weight:600 !important;
  font-size:24px !important;
  letter-spacing:-.4px !important;
  margin:0 0 20px 0 !important;
}

/* Opciones (radios desde / hacia el aeropuerto) */
.options{ display:flex !important; gap:22px; margin-bottom:20px !important; }
.options label{ font-weight:500 !important; color:var(--ap-ink) !important; margin-right:0 !important; display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
input[type="radio"],input[type="checkbox"]{ accent-color:var(--ap-blue); width:17px; height:17px; }

/* Filas del formulario */
.form-row{ display:flex !important; gap:12px !important; margin:14px 0 !important; align-items:center; flex-wrap:wrap; }
.form-row > label{ flex:1 1 100%; color:var(--ap-muted) !important; font-size:13px !important; font-weight:500 !important; }
.form-row > label strong{ color:var(--ap-muted) !important; font-weight:500 !important; }

/* Inputs y selects: campo limpio, redondeado, foco azul */
.form-row input,
.form-row select,
#direccion,
#passengers{
  padding:14px 14px !important;
  border:1px solid var(--ap-line) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--ap-ink) !important;
  font-family:var(--ap-font) !important;
  font-size:16px !important;
  box-sizing:border-box;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.form-row input:focus,
.form-row select:focus,
#direccion:focus,
#passengers:focus{
  outline:none !important;
  border-color:var(--ap-blue) !important;
  box-shadow:0 0 0 4px rgba(30,144,255,.15) !important;
}
.form-row select{
  background-image:url("data:image/svg+xml;utf8,<svg fill='%231d1d1f' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-position:right 12px center !important;
  background-size:18px !important;
}

/* Fila de selects de hora (hora / minuto / a.m.-p.m.) */
.time-row{ display:flex; gap:8px; flex:1 1 auto; }
.time-row select{ flex:1 1 0; min-width:0; }

/* Toggle "agregar regreso" */
.toggle{ display:inline-flex !important; align-items:center; gap:10px; margin:14px 0 !important; color:var(--ap-ink) !important; font-weight:500; cursor:pointer; }

/* Acciones inferiores: pasajeros + buscar */
.bottom-actions{ display:flex !important; gap:12px; align-items:center; margin-top:20px !important; flex-wrap:wrap; }
.passengers-box{ flex:1 1 auto; }
#passengers{ width:100% !important; cursor:pointer; }

/* Popup de pasajeros: tarjeta Apple */
.passengers-popup{
  border-radius:16px !important;
  border:1px solid var(--ap-line) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.18) !important;
  padding:18px !important;
  min-width:260px;
}
.passengers-popup h4{ color:var(--ap-ink) !important; font-weight:600 !important; margin:0 0 12px !important; }
.row span{ color:var(--ap-ink) !important; }
.row button{
  width:34px !important; height:34px !important;
  border-radius:50% !important;
  border:1px solid var(--ap-line) !important;
  background:#fff !important;
  color:var(--ap-ink) !important;
  font-size:18px !important; line-height:1; cursor:pointer;
  transition:background .2s ease, border-color .2s ease;
}
.row button:hover{ background:var(--ap-bg) !important; border-color:#d0d0d4 !important; }
.apply-btn{
  background:var(--ap-blue) !important; color:#fff !important;
  border:none !important; border-radius:980px !important;
  padding:10px 22px !important; font-weight:600 !important; font-size:14px !important; cursor:pointer;
  transition:background .25s ease;
}
.apply-btn:hover{ background:var(--ap-blue-d) !important; }

/* Botón principal "Buscar" */
.main-btn{
  background:var(--ap-blue) !important; color:#fff !important;
  border:none !important; border-radius:980px !important;
  padding:14px 40px !important; font-weight:600 !important; font-size:16px !important;
  cursor:pointer; transition:background .25s ease, transform .2s ease;
}
.main-btn:hover{ background:var(--ap-blue-d) !important; transform:translateY(-1px); }

/* Modal de mapa (buscar hotel/dirección) */
#point .bt input,#search{ border:1px solid var(--ap-line) !important; border-radius:12px !important; padding:14px !important; font-size:16px !important; color:var(--ap-ink) !important; }
#buscar{ background:var(--ap-blue) !important; color:#fff !important; border:none !important; border-radius:980px !important; padding:12px 24px !important; font-weight:600 !important; cursor:pointer; }
#buscar:hover{ background:var(--ap-blue-d) !important; }
#select{ background:var(--ap-blue) !important; border-radius:12px !important; }
#select::placeholder{ color:#fff !important; }
#map{ border-radius:16px !important; overflow:hidden; }

/* ============================================================
   FLATPICKR — tema (réplica del calendario de tours)
   ============================================================ */
.flatpickr-calendar{
  border-radius:16px !important;
  border:1px solid var(--ap-line) !important;
  box-shadow:0 20px 55px rgba(0,0,0,.18) !important;
  padding:6px !important;
  font-family:var(--ap-font) !important;
}
.flatpickr-current-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year{ color:var(--ap-ink) !important; font-weight:600 !important; }
.flatpickr-months .flatpickr-month{ color:var(--ap-ink) !important; }
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg{ fill:var(--ap-ink) !important; }
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg{ fill:var(--ap-blue) !important; }
span.flatpickr-weekday{ color:var(--ap-muted) !important; font-weight:600 !important; }
.flatpickr-day{ border-radius:50% !important; color:var(--ap-ink); font-weight:500; }
.flatpickr-day:hover,
.flatpickr-day:focus{ background:var(--ap-bg) !important; border-color:transparent !important; }
.flatpickr-day.today{ border-color:var(--ap-blue) !important; }
.flatpickr-day.selected,
.flatpickr-day.selected:hover{ background:var(--ap-blue) !important; border-color:var(--ap-blue) !important; color:#fff !important; }
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay{ color:#c7c7cc !important; }

/* ============================================================
   Resto de la página (hero, recomendación, accesos rápidos)
   ============================================================ */
/* Hero */
#title{ letter-spacing:-1px !important; font-weight:600 !important; }

/* Recomendación */
.recomendation p{
  color:var(--ap-ink) !important;
  font-family:var(--ap-font) !important;
  font-weight:600 !important;
  letter-spacing:-.4px !important;
  font-size:clamp(24px,3.4vw,34px) !important;
}

/* Accesos rápidos (tarjetas de productos) */
.productsInside{ gap:18px; justify-content:center; }
.item1{
  border-radius:18px !important;
  overflow:hidden !important;
  border:1px solid var(--ap-line) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.06) !important;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease !important;
}
.item1:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 44px rgba(0,0,0,.1) !important;
  border-color:rgba(30,144,255,.35) !important;
}
.item1 img{ border-radius:0 !important; object-fit:cover; }
.item1 p{
  font-family:var(--ap-font) !important;
  font-weight:600 !important;
  letter-spacing:.3px;
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}

/* ============================================================
   PRODUCTS - el titulo nunca debe salirse del tile
   (banda inferior centrada, con wrap, en TODOS los tamanos)
   ============================================================ */
.item1{ position:relative !important; overflow:hidden !important; }
.item1 p{
  position:absolute !important;
  left:8px !important; right:8px !important; bottom:10px !important; top:auto !important;
  width:auto !important; max-width:calc(100% - 16px) !important;
  margin:0 !important; padding:6px 10px !important; box-sizing:border-box !important;
  text-align:center !important;
  font-size:clamp(14px,2vw,24px) !important; line-height:1.15 !important;
  overflow-wrap:break-word !important; word-break:break-word !important; hyphens:auto;
  color:#fff !important; background:rgba(0,0,0,.45) !important; border-radius:12px !important;
}
/* Tablet (vertical y horizontal): version movil, 2 por fila */
@media (max-width:1024px){
  .item1{ flex:2 2 calc(50% - 10px) !important; }
  .item1 p{ font-size:clamp(14px,2.6vw,20px) !important; }
}
/* Smartphone: 1 por fila */
@media (max-width:600px){
  .item1{ flex:1 1 100% !important; height:170px !important; }
  .item1 p{ font-size:18px !important; }
}
