/* Página para clientes: mismo estilo del flyer, más visual y sencilla */
body.cliente main { max-width: 980px; }
.cl-cab { display: flex; justify-content: center; margin: -.4rem 0 1rem; }
.cl-cab img { height: 58px; }
.cl-hero { text-align: center; padding: 1rem 0 1.6rem; }
.cl-logo { width: min(260px, 60vw); display: block; margin: 0 auto 1.4rem; }
.cl-hero h1 { font-size: clamp(1.7rem, 4.6vw, 2.6rem); text-wrap: balance; }
.cl-hero h1 span { font-weight: 500; font-size: .72em; }
.cl-sub { color: var(--suave); font-style: italic; max-width: 34em; margin: .2rem auto 1.4rem; }
.cl-asesor { display: inline-block; background: var(--papel); border: 1px solid var(--linea); border-radius: 999px; padding: .45rem 1.1rem; margin: 0 0 1.3rem; }
.cl-empezar { min-height: 70px; font-size: 1.2rem; padding: 0 2.6rem; }
.cl-link { background: none; border: none; color: var(--marino); text-decoration: underline; font: inherit; cursor: pointer; padding: .8rem; min-height: 48px; }
.cl-incluye { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-bottom: 1.8rem; }
.cl-incluye div { background: var(--papel); border: 1px solid var(--linea); border-radius: 14px; padding: .9rem 1rem; text-align: center; }
.cl-incluye b { display: block; font-family: var(--serif-titulo); font-size: 1.1rem; }
.cl-incluye span { color: var(--suave); font-size: .88rem; }
.cl-ocasiones { text-align: center; color: var(--marino); line-height: 1.9; max-width: 40em; margin: 0 auto 2rem; }
.cl-pie { text-align: center; color: var(--suave); font-size: .85rem; border-top: 1px solid var(--linea); padding-top: 1rem; }
.cl-modos .opcion { position: relative; }
.cl-tag { position: absolute; top: .8rem; right: .9rem; font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; color: var(--dorado); }
.opcion.sel .cl-tag { color: var(--dorado-claro); }
.cl-cal { max-width: 640px; margin: 0 auto; }
.cal-dia.dia-ocupado { background: #E9E3D8; color: #A39B8E; cursor: not-allowed; text-decoration: line-through; }
.cal-leyenda i.dia-ocupado { background: #C9C0B2; }
#infoF { max-width: 640px; margin: 0 auto; }
.cl-resumen table { width: 100%; border-collapse: collapse; }
.cl-resumen td { padding: .55rem .3rem; border-bottom: 1px solid var(--linea); vertical-align: top; }
.cl-resumen td small { display: block; color: var(--suave); font-size: .8rem; }
.cl-folio { font-size: 1.1rem; }
.cl-gracias h1 { margin-top: .3rem; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 640px) {
  .cl-incluye { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl-empezar { width: 100%; }
}
body.cliente .flor.tl, body.cliente .flor.tr { top: 0; }
@media (max-width: 560px) {
  body.cliente .barra .larga { display: none; }
  body.cliente .barra .total small { letter-spacing: .08em; font-size: .68rem; }
  body.cliente .barra .total strong { font-size: 1.45rem; }
  body.cliente .barra .btn { padding: 0 1.1rem; }
  body.cliente .barra .btn.primario { min-width: 0; }
}
