/* ky-quote.css — buscador "Encuentra tu yate" (listado de flota) y panel "Arma tu cotización" (fichas). Archivo aparte a propósito:
   style.min.css va incrustado completo en la home (su hash está en la CSP), así que no se toca. */
.yacht-card[hidden],.yachts-new-section[hidden]{display:none}

.ky-q{background:var(--ky-sand,#faf8f5);border-top:1px solid #e6ebf2;border-bottom:1px solid #e6ebf2;padding:1.5rem 0 1.1rem}
.ky-q__title{font-family:'Fraunces',Georgia,serif;font-weight:700;color:#15233f;font-size:clamp(1.4rem,3.6vw,1.9rem);line-height:1.15;margin:0 0 .3rem}
.ky-q__lead{margin:0 0 1rem;color:#475569;max-width:46rem}

/* Bloques plegables (<details>): buscador del listado y panel de la ficha. Sin JS siguen funcionando. */
.ky-q__sum,.ky-qpd__sum{display:flex;align-items:center;justify-content:space-between;gap:.5rem .75rem;box-sizing:border-box;min-height:48px;padding:.55rem 1rem;border:1px solid #7b8aa0;border-radius:.7rem;background:#fff;color:#0f172a;font-weight:600;line-height:1.3;cursor:pointer;list-style:none}
.ky-q__sum::-webkit-details-marker,.ky-qpd__sum::-webkit-details-marker{display:none}
.ky-q__sum:hover,.ky-qpd__sum:hover{border-color:var(--ky-navy,#0f172a)}
details[open]>.ky-q__sum,details[open]>.ky-qpd__sum{border-color:var(--ky-navy,#0f172a)}
.ky-q__chev{flex:0 0 auto;width:.55rem;height:.55rem;margin:-.2rem .2rem 0 0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
details[open]>summary .ky-q__chev{margin-top:.2rem;transform:rotate(-135deg)}

/* Formulario del buscador: una columna en móvil; 12 columnas desde 768 px (con texto ampliado no se desborda). */
.ky-q__form{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);margin-top:1rem}
.ky-q__field{border:0;margin:0;padding:0;min-width:0}
@media (min-width:768px){.ky-q__form{column-gap:1.25rem;grid-template-columns:repeat(12,minmax(0,1fr))}.ky-q__field{grid-column:span 12}.ky-q__field--budget,.ky-q__field--food{grid-column:span 6}}
.ky-q__label{display:block;float:none;width:auto;padding:0;margin:0 0 .35rem;font-size:.92rem;font-weight:600;line-height:1.3;color:var(--ky-navy,#0f172a)}

/* Quiénes viajan: adultos + de 10 a 17 años + menores de 10 años (suman el total); en pantallas angostas se apilan. */
.ky-q__minors{display:grid;gap:.6rem 1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.ky-q__sub{min-width:0}
.ky-q__sublabel{display:block;float:none;width:auto;padding:0;margin:0 0 .3rem;font-size:.9rem;font-weight:500;line-height:1.3;color:#334155}
.ky-q__subnote{display:block;font-size:.8rem;font-weight:400;color:#475569}
.ky-q__total{margin:.6rem 0 0;min-height:1.4em;font-weight:700;color:#15233f}
.ky-q__field--people .ky-q__hint,.ky-qp__block .ky-q__hint{margin-top:.2rem}

.ky-q__input,.ky-q__select{box-sizing:border-box;width:100%;min-height:48px;padding:.5rem .75rem;border:1px solid #7b8aa0;border-radius:.6rem;background:#fff;color:#0f172a;font:inherit;font-size:1rem}
.ky-q__input{-moz-appearance:textfield;appearance:textfield}
.ky-q__input::-webkit-outer-spin-button,.ky-q__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ky-q__input:focus-visible,.ky-q__select:focus-visible,.ky-q__step:focus-visible,.ky-q__link:focus-visible,.ky-q__sum:focus-visible,.ky-qpd__sum:focus-visible,.ky-q__chip input:focus-visible+span{outline:3px solid #0d6efd;outline-offset:2px}

.ky-q__stepper{display:flex;gap:.4rem}
.ky-q__stepper .ky-q__input{text-align:center;flex:1 1 auto;min-width:0}
.ky-q__step{flex:0 0 48px;min-height:48px;border:1px solid #7b8aa0;border-radius:.6rem;background:#fff;color:var(--ky-navy,#0f172a);font-size:1.4rem;line-height:1;cursor:pointer}
.ky-q__step:hover{border-color:var(--ky-navy,#0f172a)}

.ky-q__chips{display:flex;flex-wrap:wrap;gap:.5rem}
.ky-q__chip{position:relative;display:inline-block;max-width:100%;margin:0}
.ky-q__chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ky-q__chip span{display:inline-flex;align-items:center;min-height:44px;padding:.4rem 1rem;border:1px solid #7b8aa0;border-radius:999px;background:#fff;color:#0f172a;font-size:.95rem;font-weight:600;line-height:1.25}
.ky-q__chip:hover span{border-color:var(--ky-navy,#0f172a)}
.ky-q__chip input:checked+span{background:var(--ky-navy,#0f172a);border-color:var(--ky-navy,#0f172a);color:#fff}

/* La barra superior fija del sitio mide ~80 px: al volver con Shift+Tab los controles no deben quedar debajo de ella (WCAG 2.4.11). */
.ky-q__chip input,.ky-q__step,.ky-q__input,.ky-q__select,.ky-q__sum,.ky-qpd__sum,.ky-q__link{scroll-margin-top:96px}

.ky-q__budget{display:flex;gap:.4rem}
.ky-q__budget .ky-q__input{flex:1 1 auto;min-width:0}
.ky-q__budget .ky-q__select{flex:0 0 5.5rem;width:5.5rem}
.ky-q__hint{display:block;margin-top:.3rem;font-size:.8rem;line-height:1.35;color:#475569}

.ky-q__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem;margin-top:.9rem;min-height:3rem}
.ky-q__status{margin:0;min-height:1.4em;font-weight:600;color:#15233f}
.ky-q__actions{display:flex;flex-wrap:wrap;gap:.25rem 1rem}
.ky-q__link{min-height:44px;padding:.5rem .25rem;border:0;background:none;color:#0e6fb8;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
a.ky-q__link{display:inline-flex;align-items:center}
.ky-q-anchor{display:block;height:0;scroll-margin-top:96px}
.ky-q__link[hidden]{display:none}
.ky-q__note{margin:.4rem 0 0;font-size:.82rem;line-height:1.4;color:#475569}
/* Solo para lectores de pantalla (región viva del panel). */
.ky-q__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.ky-q-est{margin:.25rem 1rem .85rem;padding:.7rem .85rem;text-align:left;background:#f4f9fc;border:1px solid #d6e6f2;border-left:4px solid var(--ky-gold-mid,#c9a24d);border-radius:.6rem}
.ky-q-est__head{display:block;margin:0 0 .45rem;padding:0}
.ky-q-est__t{display:block;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#8a6d1f;margin-bottom:.1rem}
.ky-q-est__what{display:block;font-weight:600;color:#15233f;line-height:1.35}
.ky-q-est__rows{list-style:none;margin:0;padding:0;font-size:.875rem;line-height:1.45;color:#334155}
.ky-q-est__rows li{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin:0 0 .18rem}
.ky-q-est__k{min-width:0}
.ky-q-est__v{white-space:nowrap;font-variant-numeric:tabular-nums}
.ky-q-est__tot{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin:.45rem 0 0;padding-top:.4rem;border-top:1px solid #cfe0ee}
.ky-q-est__tot .ky-q-est__k{font-weight:700;color:#15233f}
.ky-q-est__tot .ky-q-est__v{text-align:right}
.ky-q-est__tot strong{display:block;font-size:1.1rem;color:#0f172a;line-height:1.2}
.ky-q-est__tot small{display:block;color:#475569}
.ky-q-est__notes{margin:.45rem 0 0;padding-left:1.05rem;font-size:.8rem;line-height:1.4;color:#5b6472}
.ky-q-est__notes li{margin:0 0 .12rem}
.ky-q-badge{display:inline-block;margin-bottom:.4rem;padding:.15rem .6rem;border-radius:999px;background:#fff3cd;color:#664d03;font-size:.78rem;font-weight:700}
.ky-q-dim .ky-q-est{border-left-color:#e0a82e}

@media (prefers-reduced-motion:reduce){.ky-q *{transition:none!important}}

/* ---- Panel "Arma tu cotización" (ficha, dentro del formulario) ---- */
.ky-qpd{margin:0 0 1rem}
.ky-qpd__sum{align-items:center}
.ky-qpd__main{display:block;flex:1 1 12rem;min-width:0}
.ky-qpd__t{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:clamp(1.05rem,3vw,1.25rem);line-height:1.2;color:#15233f}
.ky-qpd__hint{display:block;margin-top:.1rem;font-size:.85rem;font-weight:400;color:#475569}
.ky-qpd__est{flex:0 1 auto;font-weight:700;color:#15233f;text-align:right}
.ky-qpd__est:empty{display:none}
.ky-qp{box-sizing:border-box;min-width:0;margin:.6rem 0 0;padding:1rem 1.1rem 1.1rem;border:1px solid #d9e2ec;border-left:4px solid var(--ky-gold-mid,#c9a24d);border-radius:.8rem;background:#fff}
.ky-qp__opt{font-family:'Outfit',system-ui,sans-serif;font-size:.85rem;font-weight:600;color:#475569}
.ky-qp__lead{margin:0 0 .9rem;font-size:.95rem;line-height:1.45;color:#475569}
.ky-qp__block{min-width:0;margin:0 0 .9rem}
/* Avisos del panel: el tipo decide el peso. hint = ayuda (discreta); warn = ojo; stop = asi no se puede cotizar. */
.ky-qp__msg{margin:0 0 .6rem;font-size:.9rem;line-height:1.4;color:#475569}
.ky-qp__msg[data-kind=warn],.ky-qp__msg[data-kind=stop]{position:relative;padding:.75rem .9rem .75rem 2.75rem;border:1px solid #e3c47a;border-left:4px solid #9a6f00;border-radius:10px;background:#fffaf0;color:#3d2f08;font-weight:600}
.ky-qp__msg[data-kind=stop]{border-color:#e7b7a4;border-left-color:#b4432b;background:#fff5f1;color:#5c2012}
.ky-qp__msg[data-kind=warn]::before,.ky-qp__msg[data-kind=stop]::before,.ky-q-est__notes .ky-q-est__warn::before{content:"!";content:"!"/"";position:absolute;left:.8rem;top:.8rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#9a6f00;color:#fff;font:700 .85rem/1.3rem system-ui,-apple-system,"Segoe UI",sans-serif;text-align:center}
.ky-qp__msg[data-kind=stop]::before{background:#b4432b}
.ky-qp__alt{display:flex;align-items:center;min-height:44px;margin-top:.1rem;color:#0e2a4a;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ky-qp__alt::after{content:"\2192";content:"\2192"/"";margin-left:.4rem}
/* La tarifa mostrada no es la de las horas pedidas: es un aviso, no un dato mas de la lista. */
.ky-q-est__notes .ky-q-est__warn{list-style:none;position:relative;margin:0 0 .4rem -1.05rem;padding:.45rem .65rem .45rem 2.2rem;border-left:3px solid #9a6f00;border-radius:6px;background:#fffaf0;color:#3d2f08;font-weight:600}
.ky-q-est__notes .ky-q-est__warn::before{left:.6rem;top:.5rem;width:1.1rem;height:1.1rem;font-size:.72rem;line-height:1.1rem}
/* El boton del hero baja al buscador: que el encabezado fijo no lo tape. */
.ky-q{scroll-margin-top:88px}
.ky-qp__est{margin:0 0 .5rem}
.ky-qp__msg:empty,.ky-qp__est:empty{display:none}
.ky-qp .ky-q__minors{max-width:40rem}
@media (max-width:575.98px){.ky-qp{padding:.9rem .85rem 1rem;border-left-width:3px}}

/* Móvil: margen para que la barra fija inferior (WhatsApp / Cotizar) no tape lo que se lleva a la vista al enfocar (WCAG 2.2 · 2.4.11). */
@media (max-width:767.98px){html{scroll-padding-bottom:5rem}}
/* Modo de alto contraste: el estado "elegido" no puede depender solo del color de fondo; se marca con un borde más grueso (el contorno queda para el foco). */
@media (forced-colors:active){.ky-q__chip input:checked+span{border-width:4px;padding:calc(.4rem - 3px) calc(1rem - 3px)}}

/* El sitio aplica content-visibility:auto con una reserva fija de 900px a #contact. El formulario de la ficha, con el panel, mide entre ~1350 y
   ~2150px según el ancho: con esa reserva el pie se solapa con el botón Enviar mientras la sección no se ha pintado y el documento cambia
   de alto al llegar a ella. El formulario es ligero: aquí se pinta siempre y no hay medida que mantener. */
.ky-site #contact{content-visibility:visible}
