/* Grasbera — Citas del taller (website_appointment) con el diseño del sitio.
   El marco, el cuerpo «de día» y los formularios de Bootstrap ya los viste
   portal.css (.gb-portal .portal-cuerpo); aquí va lo propio de Citas. */

/* ---------- contenedores de Citas: el ancho lo da nuestro .wrap ---------- */
.gb-citas .portal-cuerpo .o_wappointment_wrap,.gb-citas .portal-cuerpo .o_appointment_index{height:auto!important;margin:0!important;
  padding:0!important;background:transparent!important;border:0!important}
.gb-citas .portal-cuerpo .container-lg,.gb-citas .portal-cuerpo .container{max-width:none;padding-inline:0}
.gb-citas .portal-cuerpo .row.mt-4{margin-top:0!important}
/* El «Todas las citas» que website_appointment pone FUERA del #wrap en la cita
   confirmada quedaría encima de la barra: se oculta (está en el pie de la cita). */
#wrapwrap:has(.gb-citas) main>.container:has(>.o_wappointment_navbar){display:none}

/* ---------- encabezado: sin pestañas abajo (las de Mi cuenta), necesita aire ---------- */
.gb-citas .portal-cab{padding-bottom:clamp(40px,7vh,72px)}
.gb-citas .portal-cuerpo{padding-top:clamp(36px,6vh,64px)}

/* ---------- títulos y pasos ---------- */
.gb-citas .portal-cuerpo h4,.gb-citas .portal-cuerpo h5{font-family:var(--display);font-stretch:108%;color:var(--tinta)}
.gb-citas .portal-cuerpo .o_appointment_info_main>h4{font-size:clamp(22px,2.2vw,30px);font-weight:800;padding-bottom:18px!important}
.gb-citas nav[name="navbar"] a,.gb-citas nav[name="navbar"] span{font:500 11px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.gb-citas nav[name="navbar"] a{color:var(--gris)!important}
.gb-citas nav[name="navbar"] a.fw-bold{color:var(--tinta)!important}
.gb-citas .portal-cuerpo a.text-truncate{font-weight:600;color:var(--tinta);text-decoration:none}

/* ---------- calendario ---------- */
.gb-citas #calendar{background:var(--estudio);border:1px solid #e3e1d9!important;border-radius:22px!important;
  box-shadow:0 24px 50px -40px #16171a55}
.gb-citas #calendarHeader{border-color:#eeece6!important;padding:18px 20px!important}
.gb-citas .o_appointment_month_name{font:800 clamp(20px,2vw,26px)/1 var(--display);font-stretch:110%;text-transform:capitalize}
.gb-citas #calendarHeader button,.gb-citas #calendarHeader a{color:var(--tinta)}
.gb-citas .o_website_calendar_weekdays th small{font:500 10.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.gb-citas tr.o_appointment_days td{background:transparent!important}
.gb-citas tr.o_appointment_days td.o_weekend{background:#f7f6f2!important}
.gb-citas .o_day_wrapper{border-radius:999px!important;font:600 15px/1 var(--body);color:#b5b3ab}
.gb-citas .o_day_wrapper.o_slot_button{color:var(--tinta);background:var(--estudio);border:1px solid #d9d7cf!important;
  box-shadow:none;transform:none;transition:border-color .2s,background .2s}
.gb-citas .o_day_wrapper.o_slot_button:hover{border-color:var(--faro)!important;background:#f5b8001f;color:var(--tinta)}
.gb-citas .o_day_wrapper.o_slot_button.o_slot_selected,.gb-citas .o_day_wrapper.o_slot_button.active{
  background:var(--tinta)!important;border-color:var(--tinta)!important;color:var(--blanco)!important}
/* Hoy: un solo subrayado ámbar (Odoo pinta el suyo en rojo con un pseudo-elemento). */
.gb-citas td.o_today .o_day_wrapper{color:var(--tinta);font-weight:800}
.gb-citas td.o_today .o_day_wrapper::before,.gb-citas td.o_today .o_day_wrapper::after{
  background-color:var(--faro)!important;border-color:var(--faro)!important}

/* ---------- horas ---------- */
.gb-citas #slotsList>span{display:block;margin-bottom:10px;font:500 11px/1.4 var(--mono);letter-spacing:.1em;
  text-transform:uppercase;color:var(--gris)}
.gb-citas .o_slot_hours{border-radius:999px!important;border:1px solid #d9d7cf!important;background:var(--estudio);
  color:var(--tinta)!important;padding:.75em 1em!important;transform:none;transition:border-color .2s,background .2s}
.gb-citas .o_slot_hours b{font:600 15px/1.1 var(--body)}
.gb-citas .o_slot_hours:hover,.gb-citas .o_slot_hours:focus{border-color:var(--faro)!important;background:var(--faro)!important;color:var(--asfalto)!important}
.gb-citas .o_appointment_timezone_selection label{color:var(--gris)}

/* ---------- columna de detalles (dirección, duración) ---------- */
.gb-citas .o_appointment_details_column>.position-relative{background:var(--estudio);border:1px solid #e3e1d9;
  border-radius:22px;padding:22px 22px 18px;margin-top:0}
.gb-citas .o_appointment_details_column h5{font-weight:800}
.gb-citas .o_appointment_details_column small.text-uppercase{font:500 10.5px/1.4 var(--mono);letter-spacing:.12em;color:var(--gris)!important}
.gb-citas .o_appointment_details_column .fa{color:var(--faro)!important}

/* ---------- lista de citas y tarjetas, cita confirmada ---------- */
.gb-citas .o_appointment_index .card,.gb-citas .o_appointment .card{border:1px solid #e3e1d9;border-radius:22px;background:var(--estudio)}
.gb-citas .o_appointment h2,.gb-citas .o_appointment h3{font-family:var(--display);font-stretch:110%;font-weight:800;color:var(--tinta)}
.gb-citas .o_appointment .alert{border-radius:14px}
.gb-citas .bg-o-color-4{background:transparent!important}
