:root{--crema:#F5F0E8;--crema2:#EDE6DA;--vino:#5C0F14;--vino2:#7A1A21;--tinta:#2B2320;--gris:#8A7F78;--linea:#DDD3C6;--ok:#2F6B3A;--alerta:#B5471B;--blanco:#FFFDFA}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{overscroll-behavior:none}
body{margin:0;background:var(--crema);color:var(--tinta);font:16px/1.5 "DM Sans",system-ui,sans-serif;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
html{scroll-behavior:smooth;scroll-padding-top:76px}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;margin:0}
input,textarea,button,select{font:inherit;font-size:16px}
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield;appearance:textfield}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;background:rgba(245,240,232,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.brand{display:flex;align-items:baseline;gap:10px}
.brand img{height:34px;width:auto}
.brand span{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:22px;color:var(--vino);letter-spacing:.02em}
.icon-btn{background:none;border:0;color:var(--vino);padding:8px;border-radius:50%;cursor:pointer}
.icon-btn:hover{background:var(--crema2)}

.wrap{max-width:1100px;margin:0 auto;padding:20px 16px}

.hoy{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.hoy .tarjeta{flex:1 1 220px;background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:14px 16px}
.hoy .tarjeta small{display:block;color:var(--gris);font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.hoy .tarjeta b{display:block;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:26px;line-height:1.2;margin-top:2px}
.hoy .tarjeta.ok b{color:var(--ok)}
.hoy .tarjeta.alerta b{color:var(--alerta)}

.drop{border:1.5px dashed var(--vino2);border-radius:18px;padding:34px 20px;text-align:center;color:var(--vino);background:rgba(255,253,250,.6);cursor:pointer;transition:background .15s,transform .15s;margin-bottom:28px}
.drop svg{width:34px;height:34px;margin-bottom:6px}
.drop p{margin:0;font-size:17px}
.drop small{display:block;color:var(--gris);margin-top:4px}
.drop.sobre{background:var(--crema2);transform:scale(1.005)}
.progreso{margin-top:12px;color:var(--tinta);font-weight:500}

.bloque{margin-bottom:34px}
.bloque h2{font-size:26px;display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.bloque h2 em{font-style:normal;font-family:"DM Sans";font-size:13px;color:var(--gris);font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.grid.mini{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}

.card{background:var(--blanco);border:1px solid var(--linea);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.card .img{position:relative;aspect-ratio:4/5;background:var(--crema2)}
.card .img img{width:100%;height:100%;object-fit:cover;display:block}
.card .img .chip{position:absolute;left:10px;top:10px;background:rgba(43,35,32,.75);color:#fff;font-size:12px;padding:4px 9px;border-radius:99px;letter-spacing:.03em}
.card .cuerpo{padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px}
.card select[data-ubicacion]{width:100%;border:1px solid var(--linea);border-radius:10px;padding:9px 12px;background:var(--crema);color:var(--tinta)}
.card input[data-nota]{width:100%;border:1px solid var(--linea);border-radius:10px;padding:9px 12px;background:var(--crema)}
.card input[data-nota]:focus{outline:2px solid var(--vino2);outline-offset:0;background:#fff}
.card textarea{width:100%;border:1px solid var(--linea);border-radius:10px;padding:10px 12px;background:var(--crema);resize:vertical;min-height:120px;line-height:1.45}
.card textarea:focus{outline:2px solid var(--vino2);outline-offset:0;background:#fff}
.card .fila{display:flex;flex-wrap:wrap;gap:8px}
.card .meta{color:var(--gris);font-size:13px}
.card .err{color:var(--alerta);font-size:14px}
.card.pendiente .img::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);background-size:200% 100%;animation:brillo 1.6s infinite}
@keyframes brillo{to{background-position:-200% 0}}

.btn{border:0;border-radius:999px;padding:10px 16px;background:var(--vino);color:#fff;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1}
.btn svg{width:17px;height:17px}
.btn:hover{background:var(--vino2)}
.btn:disabled{opacity:.5;cursor:default}
.btn.sec{background:transparent;color:var(--vino);border:1px solid var(--vino)}
.btn.sec:hover{background:var(--crema2)}
.btn.peligro{background:transparent;color:var(--alerta);border:1px solid transparent}
.btn.peligro:hover{background:#FBEDE6}
.btn.chico{padding:7px 12px;font-size:14px}

.vacio{color:var(--gris);padding:18px;border:1px dashed var(--linea);border-radius:14px;text-align:center}

dialog{border:0;border-radius:18px;padding:0;max-width:min(520px,calc(100vw - 32px));width:100%;background:var(--blanco);color:var(--tinta)}
dialog::backdrop{background:rgba(43,35,32,.45)}
.ajustes{padding:22px;display:flex;flex-direction:column;gap:14px}
.ajustes h2{font-size:26px}
.ajustes label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--gris)}
.ajustes input,.ajustes textarea{border:1px solid var(--linea);border-radius:10px;padding:10px 12px;color:var(--tinta);background:var(--crema)}
.ajustes .acciones{display:flex;justify-content:flex-end;gap:8px}

.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--tinta);color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;z-index:20;max-width:calc(100vw - 32px)}
.toast.mal{background:var(--alerta)}

/* Carrusel dentro de la tarjeta */
.card .tira{display:flex;gap:6px;padding:8px 8px 0;overflow-x:auto;scrollbar-width:none}
.card .tira::-webkit-scrollbar{display:none}
.card .tira .mini{position:relative;flex:0 0 auto;width:72px;aspect-ratio:4/5;border-radius:8px;overflow:hidden;border:2px solid transparent;background:var(--crema2);cursor:pointer;padding:0}
.card .tira .mini img{width:100%;height:100%;object-fit:cover;display:block}
.card .tira .mini.activa{border-color:var(--vino)}
.card .tira .mini.pendiente::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);background-size:200% 100%;animation:brillo 1.6s infinite}
.card .tira .mini.error{border-color:var(--alerta)}
.card .tira .mini .n{position:absolute;left:4px;top:4px;background:rgba(43,35,32,.7);color:#fff;font-size:11px;padding:1px 6px;border-radius:99px}
.card .foto-acciones{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--gris);font-size:13px}
.card .foto-acciones .btn{padding:5px 9px;font-size:13px}
.card .img .chip.carrusel{left:auto;right:10px}

.modo{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.modo label{flex:1 1 200px;cursor:pointer}
.modo input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;left:0}
.modo span{display:block;text-align:center;padding:10px 14px;border-radius:999px;border:1px solid var(--vino);color:var(--vino);font-weight:500;font-size:15px}
.modo input:checked+span{background:var(--vino);color:#fff}
.modo input:focus-visible+span{outline:2px solid var(--vino2);outline-offset:2px}

/* Barra inferior: extra de espacio bajo los iconos para la barra de inicio de iOS */
.abajo{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;justify-content:space-around;background:rgba(255,253,250,.96);backdrop-filter:blur(10px);border-top:1px solid var(--linea);padding:8px 8px calc(14px + env(safe-area-inset-bottom))}
.abajo a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--gris);text-decoration:none;font-size:11px;letter-spacing:.03em;min-width:64px;padding:4px 6px;border-radius:12px}
.abajo a svg{width:22px;height:22px}
.abajo a.activa{color:var(--vino)}
.arriba{display:none;gap:4px}
.arriba a{color:var(--gris);text-decoration:none;padding:8px 14px;border-radius:999px;font-weight:500}
.arriba a.activa{color:var(--vino);background:var(--crema2)}
@media (min-width:900px){.arriba{display:flex}}
@media (min-width:900px){.abajo{display:none} body{padding-bottom:48px}}
.push-fila{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:var(--gris)}

/* Documentos */
.doc-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.doc-cab h2{font-size:28px}
.lista{display:flex;flex-direction:column;gap:10px}
.doc{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;cursor:pointer}
.doc:hover{border-color:var(--vino2)}
.doc .num{font-size:12px;letter-spacing:.06em;color:var(--gris)}
.doc .tit{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:20px;line-height:1.15}
.doc .cli{font-size:14px;color:var(--gris)}
.doc .tot{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:20px;text-align:right}
.doc .est{grid-column:2;text-align:right}
.pill{display:inline-block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:var(--crema2);color:var(--gris)}
.pill.enviada{background:#EEF0F7;color:#3B4C8C}.pill.aprobada,.pill.emitido{background:#E6F0E8;color:var(--ok)}
.form{background:var(--blanco);border:1px solid var(--linea);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px}
.form h3{font-size:20px;margin-top:6px;padding-bottom:6px;border-bottom:1px solid var(--linea)}
.form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--gris)}
.form input,.form textarea,.form select{border:1px solid var(--linea);border-radius:10px;padding:10px 12px;background:var(--crema);color:var(--tinta);width:100%}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--vino2);outline-offset:0;background:#fff}
.form .g2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form .g3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
@media (max-width:600px){.form .g2,.form .g3{grid-template-columns:1fr}}
.form .check{flex-direction:row;align-items:center;gap:10px;font-size:15px;color:var(--tinta)}
.form .check input{width:20px;height:20px;accent-color:var(--vino)}
.seccion{border:1px solid var(--linea);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--crema2)}
.seccion .st{display:flex;gap:8px;align-items:center}
.seccion .st input{font-weight:600;background:#fff}
.itm{display:grid;grid-template-columns:1fr auto;gap:8px;background:#fff;border:1px solid var(--linea);border-radius:10px;padding:8px}
.itm .campos{display:grid;grid-template-columns:1fr 130px;gap:8px}
.itm .campos input:nth-child(2){grid-column:1}
.itm .campos input.precio{grid-column:2;grid-row:1;text-align:right}
@media (max-width:600px){.itm .campos{grid-template-columns:1fr}.itm .campos input.precio{grid-column:1;grid-row:auto}}
.itm .x{align-self:start}
.det{display:grid;grid-template-columns:110px 1fr 1fr auto;gap:8px;align-items:center}
@media (max-width:600px){.det{grid-template-columns:1fr 1fr;} .det .x{grid-column:2;justify-self:end}}
.form .acciones{display:flex;flex-wrap:wrap;gap:8px;position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));background:var(--blanco);padding-top:10px;border-top:1px solid var(--linea)}
@media (min-width:900px){.form .acciones{bottom:0}}
.total-vivo{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:22px;text-align:right}
.idioma{display:flex;gap:6px}
.idioma label{flex:1}
.idioma input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;left:0}
.idioma span{display:block;text-align:center;padding:9px;border-radius:999px;border:1px solid var(--vino);color:var(--vino);font-weight:500}
.idioma input:checked+span{background:var(--vino);color:#fff}

/* Recortador */
.dlg-recorte{max-width:min(560px,calc(100vw - 24px))}
.recortador{padding:14px;display:flex;flex-direction:column;gap:12px}
.marco{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:#111;border-radius:12px;touch-action:none;cursor:grab;user-select:none}
.marco.cuadrado{aspect-ratio:1/1}
.marco img{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;pointer-events:none;max-width:none}
.marco::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);pointer-events:none;background:linear-gradient(to right,transparent 33.3%,rgba(255,255,255,.18) 33.3%,rgba(255,255,255,.18) calc(33.3% + 1px),transparent calc(33.3% + 1px),transparent 66.6%,rgba(255,255,255,.18) 66.6%,rgba(255,255,255,.18) calc(66.6% + 1px),transparent calc(66.6% + 1px)),linear-gradient(to bottom,transparent 33.3%,rgba(255,255,255,.18) 33.3%,rgba(255,255,255,.18) calc(33.3% + 1px),transparent calc(33.3% + 1px),transparent 66.6%,rgba(255,255,255,.18) 66.6%,rgba(255,255,255,.18) calc(66.6% + 1px),transparent calc(66.6% + 1px))}
.recortador .zoom{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--gris)}
.recortador .zoom input{flex:1;accent-color:var(--vino)}
.recortador .acciones{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

/* ---------- cotizaciones ---------- */
.coti-cuenta{font-size:14px;color:var(--gris)}
.coti-lista{display:flex;flex-direction:column;gap:12px}
.coti{background:var(--blanco);border:1px solid var(--linea);border-radius:16px;padding:16px 18px;display:grid;gap:12px}
.coti.nueva{border-color:var(--vino2);box-shadow:inset 3px 0 0 var(--vino)}
.coti.archivada{opacity:.62}
.coti header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.coti-meta{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--gris)}
.coti h3{font-size:24px;line-height:1.15;margin-top:2px}
.coti dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:15px}
.coti dt{color:var(--gris)}
.coti dd{margin:0;overflow-wrap:anywhere}
.coti-acciones{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:4px;border-top:1px solid var(--linea)}
.coti-acciones .btn svg{width:18px;height:18px}
.btn.wa{background:#1F7A4D;color:#fff;text-decoration:none;padding:11px 18px}
.btn.wa:hover{background:#17603C}
.btn.wa:active,.btn:active{transform:scale(.97)}
.coti-sin{font-size:14px;color:var(--gris)}
.pill.nueva{background:#F6E3E3;color:var(--vino);white-space:nowrap}
.coti .pill{white-space:nowrap;flex:none}
.pill.ok{background:#E3F0E6;color:var(--ok)}
[data-mod="cotizaciones"]{position:relative}
[data-mod="cotizaciones"][data-pendientes]:not([data-pendientes=""])::after{
  content:attr(data-pendientes);position:absolute;top:0;right:10px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;
  background:var(--vino);color:#fff;font-size:11px;line-height:18px;text-align:center;font-weight:600}
.arriba [data-mod="cotizaciones"][data-pendientes]:not([data-pendientes=""])::after{top:2px;right:2px}

/* ---------- barra de abajo: cuatro accesos y círculo central que abre el tablero ---------- */
.abajo{align-items:flex-end}
.abajo a{flex:1;min-width:0}
.circulo{position:relative;margin-top:-26px;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;padding:0 4px;color:var(--gris);font:inherit;font-size:11px;letter-spacing:.03em;cursor:pointer;flex:none}
.circulo-boton{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--vino);color:#fff;border:4px solid var(--blanco);box-shadow:0 6px 16px rgba(92,15,20,.28);transition:transform .2s ease-out,background-color .2s ease}
.circulo-boton svg{width:22px;height:22px}
.circulo[aria-expanded="true"] .circulo-boton{transform:rotate(45deg);background:var(--tinta)}
.circulo.activa>span:last-child{color:var(--vino)}
.tablero{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 5.6rem);z-index:5;opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity .3s ease,transform .3s cubic-bezier(.23,1,.32,1)}
.tablero.abierto{opacity:1;transform:none;pointer-events:auto}
.tablero-caja{margin:0 12px;background:var(--blanco);border:1px solid var(--linea);border-radius:18px;padding:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;box-shadow:0 18px 40px rgba(43,35,32,.18)}
.ficha-t{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:76px;border:1px solid var(--linea);border-radius:14px;background:var(--crema);color:var(--tinta);text-decoration:none;font:inherit;font-size:12px;cursor:pointer;transition:transform 160ms ease-out}
.ficha-t:active{transform:scale(.97)}
.ficha-t.activa{border-color:var(--vino);color:var(--vino)}
.tablero-velo{position:fixed;inset:0;z-index:4;background:rgba(43,35,32,.32)}
.tablero-velo[hidden]{display:none}
@media (min-width:900px){.tablero,.tablero-velo{display:none}}

/* ---------- clientes ---------- */
.buscar{display:flex;align-items:center;gap:8px;background:var(--blanco);border:1px solid var(--linea);border-radius:12px;padding:0 12px;margin-bottom:12px}
.buscar input{border:0;background:transparent;flex:1;padding:12px 0;font-size:16px;outline:0;min-width:0}
.buscar svg{color:var(--gris);width:18px;height:18px;flex:none}
.cli{display:flex;align-items:center;gap:12px;background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:12px 14px;text-decoration:none;color:inherit}
.cli:hover{border-color:var(--vino2)}
.cli-ini{flex:none;width:40px;height:40px;border-radius:50%;background:var(--crema2);color:var(--vino);display:grid;place-items:center;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:17px}
.cli-ini.grande{width:60px;height:60px;font-size:24px}
.cli-txt{flex:1;min-width:0;display:flex;flex-direction:column}
.cli-txt b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cli-txt small{color:var(--gris);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cli-pagado{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:18px;flex:none}
.ficha{display:flex;flex-direction:column;gap:14px}
.ficha-cab{display:flex;align-items:center;gap:14px}
.ficha-cab h2{font-size:30px;line-height:1.1}
.ficha-sub{margin:2px 0 0;color:var(--gris);font-size:14px}
.ficha-cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ficha-cifras div{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:10px 12px;min-width:0}
.ficha-cifras b{display:block;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ficha-cifras small{color:var(--gris);font-size:12px}
.ficha-acciones{display:flex;flex-wrap:wrap;gap:8px}
.ficha-editar{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:2px 14px}
.ficha-editar summary{cursor:pointer;padding:12px 0;font-weight:500;color:var(--vino)}
.ficha-editar form{padding-bottom:14px}
.ficha-h{font-size:22px;margin-top:10px}
.ficha-lista{display:flex;flex-direction:column;gap:8px}
.fila{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:12px 14px;text-decoration:none;color:inherit}
a.fila:hover{border-color:var(--vino2)}
.fila>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.fila small{font-size:13px;color:var(--tinta)}
.gris,.fila .gris{color:var(--gris)}
.chico{font-size:14px}
.fila-der{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}
.chip-cliente{display:inline-flex;align-self:flex-start;padding:7px 13px;border-radius:999px;background:var(--crema2);color:var(--vino);text-decoration:none;font-size:14px;font-weight:500}
.coti-prop{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--crema);border:1px solid var(--linea);text-decoration:none;color:var(--tinta);font-size:15px}
.coti-prop:hover{border-color:var(--vino2)}
.coti h3 a{color:inherit;text-decoration:none}
.coti h3 a:hover{color:var(--vino)}
.ficha-editar .form{border:0;padding:0 0 14px;background:transparent}
.ficha-editar .acciones{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}

.acciones-mas{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}
.ficha-editar .acciones{position:static;border:0;padding:0;background:transparent}

/* ---------- tarjeta de cotización: foto, precios y enviar ---------- */
.coti{padding:0;overflow:hidden;display:grid;grid-template-columns:1fr;gap:0}
.coti-cuerpo{padding:16px 18px;display:grid;gap:12px;min-width:0}
.coti-img{display:block;background:var(--crema2);line-height:0}
.coti-img img{width:100%;height:100%;max-height:320px;object-fit:cover;display:block}
@media (min-width:620px){
  .coti.con-foto{grid-template-columns:210px 1fr}
  .coti-img img{max-height:none;aspect-ratio:4/5}
}
.coti-precios{border:1px solid var(--linea);border-radius:14px;overflow:hidden;background:var(--crema)}
.precio-fila{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--linea);font-size:14px;color:var(--tinta)}
.precio-fila>span:first-child{min-width:0;overflow-wrap:anywhere}
.precio-in{display:flex;align-items:center;gap:6px;flex:none;color:var(--gris);font-size:15px}
.precio-in input{width:112px;text-align:right;border:1px solid var(--linea);border-radius:10px;padding:9px 10px;background:#fff;color:var(--tinta);font-size:16px;font-variant-numeric:tabular-nums}
.precio-in input:focus{outline:2px solid var(--vino2);outline-offset:0}
.precio-total{display:flex;align-items:baseline;justify-content:space-between;padding:10px 12px;background:var(--blanco)}
.precio-total span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.precio-total b{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:600}
.coti-acciones{display:grid;gap:10px;padding-top:4px;border-top:1px solid var(--linea)}
.btn.enviar{justify-content:center;background:#1F7A4D;color:#fff;padding:13px 18px;font-size:16px;width:100%}
.btn.enviar:disabled{background:var(--crema2);color:var(--gris);cursor:default}
.btn.enviar svg{width:20px;height:20px}
.coti-sec{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.btn.wa-sec{color:#1F7A4D;border-color:#1F7A4D}

.doc-foto{display:flex;gap:14px;align-items:center;background:var(--crema);border:1px solid var(--linea);border-radius:14px;padding:10px}
.doc-foto img{width:84px;aspect-ratio:4/5;object-fit:cover;border-radius:8px;flex:none}
.doc-foto div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.doc-foto small{color:var(--gris);font-size:13px}
@media (max-width:619px){.coti-img img{max-height:260px}}

/* ---------- visor de fotos ---------- */
.coti-img{border:0;padding:0;margin:0;cursor:zoom-in;width:100%;text-align:left}
.doc-foto-ver{border:0;padding:0;background:none;cursor:zoom-in;line-height:0;flex:none}
dialog.dlg-foto{
  max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;border-radius:0;
  background:rgba(20,14,12,.9);display:none;place-items:center;
  padding:calc(56px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));
  opacity:0;transition:opacity .2s ease-out;
}
dialog.dlg-foto[open]{display:grid}
dialog.dlg-foto::backdrop{background:transparent}
dialog.dlg-foto.visible{opacity:1}
.dlg-foto img{
  max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
  transform:scale(.96);transition:transform .24s cubic-bezier(.23,1,.32,1);
}
.dlg-foto.visible img{transform:none}
.dlg-foto-cerrar{
  position:fixed;top:calc(12px + env(safe-area-inset-top));right:12px;width:44px;height:44px;border-radius:50%;
  border:0;background:rgba(255,253,250,.14);color:#fff;display:grid;place-items:center;cursor:pointer;
  transition:transform 160ms ease-out,background-color .2s ease;
}
.dlg-foto-cerrar:active{transform:scale(.94)}
.dlg-foto-cerrar svg{width:22px;height:22px}
@media (hover:hover) and (pointer:fine){.dlg-foto-cerrar:hover{background:rgba(255,253,250,.24)}}
@media (prefers-reduced-motion:reduce){dialog.dlg-foto,.dlg-foto img{transition:none}}

.btn.wa-chat{justify-content:center;width:100%;padding:13px 18px;font-size:16px;background:transparent;color:#1F7A4D;border:1.5px solid #1F7A4D}
.btn.wa-chat svg{width:20px;height:20px}
@media (hover:hover) and (pointer:fine){.btn.wa-chat:hover{background:#EAF4EE}}
.btn.enviar svg{fill:none;stroke:currentColor}

/* entrada: correo y contraseña, con ojo para ver lo que se escribió */
.clave-campo{position:relative;display:block}
.clave-campo input{width:100%;padding-right:48px}
.ojo{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;background:none;border:0;cursor:pointer;color:var(--gris);border-radius:999px}
.ojo svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ojo.viendo{color:var(--tinta)}
.ojo .tachado{display:none}.ojo.viendo .tachado{display:inline}
.entrar-aviso{margin:0;color:#9b2c2c;font-size:14px}
