.sirn-cot { --sc-primary:#0f9d8f; --sc-dark:#1d4e6e; --sc-gray:#5a6872; --sc-line:#dfe6ea; position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; font-family:inherit; }
.sirn-cot[hidden] { display:none; }
.sirn-cot__backdrop { position:absolute; inset:0; background:rgba(15,30,40,.55); }
.sirn-cot__dialog { position:relative; width:min(480px, calc(100vw - 24px)); max-height:calc(100vh - 24px); overflow:auto; background:#fff; border-radius:14px; padding:24px 22px 20px; box-shadow:0 20px 60px rgba(0,0,0,.3); box-sizing:border-box; }
.sirn-cot__dialog h2 { margin:0 0 4px; font-size:22px; color:var(--sc-dark); }
.sirn-cot__lead { margin:0 0 16px; color:var(--sc-gray); font-size:14px; }
.sirn-cot__x { position:absolute; top:10px; right:12px; border:0; background:none; font-size:28px; line-height:1; cursor:pointer; color:var(--sc-gray); padding:4px 8px; }
.sirn-cot label { display:block; margin-bottom:12px; font-size:13px; font-weight:600; color:#2b3640; }
.sirn-cot .opt { font-weight:400; color:var(--sc-gray); }
.sirn-cot .req { color:#c0392b; }
.sirn-cot input[type=text] { display:block; width:100%; box-sizing:border-box; margin-top:5px; padding:10px 12px; border:1px solid #c9d3d9; border-radius:8px; font-size:15px; background:#fff; color:#222; }
.sirn-cot input[type=text]:focus { outline:2px solid var(--sc-primary); outline-offset:0; border-color:var(--sc-primary); }
.sirn-cot__row { display:flex; gap:8px; margin-top:5px; }
.sirn-cot__row input[type=text] { margin-top:0; flex:1; }
.sirn-cot button { font-family:inherit; cursor:pointer; }
.sirn-cot__secondary { border:1.5px solid var(--sc-primary); background:#fff; color:var(--sc-primary); border-radius:8px; padding:0 14px; font-weight:600; font-size:14px; white-space:nowrap; }
.sirn-cot__secondary:disabled { opacity:.6; cursor:wait; }
.sirn-cot__primary { width:100%; border:0; background:var(--sc-primary); color:#fff; border-radius:10px; padding:13px; font-size:16px; font-weight:700; margin-top:6px; }
.sirn-cot__primary:disabled { opacity:.45; cursor:not-allowed; }
.sirn-cot__rtitle { font-size:13px; font-weight:700; margin:4px 0 6px; color:var(--sc-dark); }
.sirn-cot__rate { display:flex !important; align-items:center; gap:10px; border:1.5px solid var(--sc-line); border-radius:10px; padding:10px 12px; margin-bottom:8px !important; font-weight:400 !important; cursor:pointer; }
.sirn-cot__rate:has(input:checked) { border-color:var(--sc-primary); background:#effaf8; }
.sirn-cot__rate input { margin:0; accent-color:var(--sc-primary); }
.sirn-cot__rname { flex:1; font-weight:600; }
.sirn-cot__rname small { display:block; font-weight:400; color:var(--sc-gray); font-size:12px; }
.sirn-cot__totals { margin:10px 0 8px; }
.sirn-cot__trow { display:flex; justify-content:space-between; padding:5px 0; font-size:14px; }
.sirn-cot__trow.is-total { border-top:2px solid var(--sc-dark); margin-top:4px; padding-top:8px; font-size:17px; color:var(--sc-dark); }
.sirn-cot__trow.is-transfer { background:#effaf8; border:1px dashed var(--sc-primary); border-radius:8px; padding:8px 10px; margin-top:6px; color:var(--sc-dark); }
.sirn-cot__msg { font-size:13px; margin:6px 0; }
.sirn-cot__msg.is-err { color:#b03a2e; }
.sirn-cot__msg.is-ok { color:#1e8449; }
.sirn-cot__fine { margin:10px 0 0; text-align:center; font-size:11.5px; color:var(--sc-gray); }
html.sirn-cot-lock, html.sirn-cot-lock body { overflow:hidden; }

/* ===== Botón "Solicitar cotización (PDF)" (carrito lateral, carrito, shortcode) =====
   Selectores con especificidad alta + !important para ganarle a los estilos del tema/Elementor */
body .sirn-cot-btn,
body a.button.sirn-cot-btn,
body button.sirn-cot-btn { display:block; width:100%; box-sizing:border-box; text-align:center; margin-top:10px; padding:12px 16px; border:2px solid #0f9d8f !important; background:#fff !important; color:#0f9d8f !important; -webkit-text-fill-color:#0f9d8f; border-radius:8px; font-weight:700; font-size:15px; cursor:pointer; text-decoration:none !important; line-height:1.3; transition:background-color .2s, color .2s; }
body .sirn-cot-btn:hover,
body .sirn-cot-btn:focus,
body .sirn-cot-btn:active,
body a.button.sirn-cot-btn:hover,
body a.button.sirn-cot-btn:focus,
body button.sirn-cot-btn:hover,
body button.sirn-cot-btn:focus { background:#0f9d8f !important; border-color:#0f9d8f !important; color:#fff !important; -webkit-text-fill-color:#fff; text-decoration:none !important; }
body .sirn-cot-btn:hover *,
body .sirn-cot-btn:focus * { color:#fff !important; -webkit-text-fill-color:#fff; }

/* ===== Botones dentro del modal: texto siempre legible ===== */
body .sirn-cot .sirn-cot__primary,
body .sirn-cot button.sirn-cot__primary { background:var(--sc-primary) !important; color:#fff !important; -webkit-text-fill-color:#fff; border:0 !important; }
body .sirn-cot .sirn-cot__primary:hover:not(:disabled),
body .sirn-cot .sirn-cot__primary:focus:not(:disabled) { background:#0b7d72 !important; color:#fff !important; -webkit-text-fill-color:#fff; }
body .sirn-cot .sirn-cot__primary:disabled { background:var(--sc-primary) !important; color:#fff !important; -webkit-text-fill-color:#fff; opacity:.45; }

body .sirn-cot .sirn-cot__secondary,
body .sirn-cot button.sirn-cot__secondary { background:#fff !important; color:var(--sc-primary) !important; -webkit-text-fill-color:var(--sc-primary); border:1.5px solid var(--sc-primary) !important; }
body .sirn-cot .sirn-cot__secondary:hover:not(:disabled),
body .sirn-cot .sirn-cot__secondary:focus:not(:disabled) { background:var(--sc-primary) !important; color:#fff !important; -webkit-text-fill-color:#fff; }

body .sirn-cot .sirn-cot__x,
body .sirn-cot .sirn-cot__x:hover,
body .sirn-cot .sirn-cot__x:focus { background:none !important; border:0 !important; color:var(--sc-gray) !important; -webkit-text-fill-color:var(--sc-gray); }
body .sirn-cot .sirn-cot__x:hover { color:var(--sc-dark) !important; -webkit-text-fill-color:var(--sc-dark); }

/* ===== Campos del formulario: al enfocar, fondo blanco y texto oscuro legible ===== */
body .sirn-cot input[type=text],
body .sirn-cot input[type=text]:hover,
body .sirn-cot input[type=text]:focus,
body .sirn-cot input[type=text]:active { background:#fff !important; background-color:#fff !important; color:#222 !important; -webkit-text-fill-color:#222; caret-color:#222; }
body .sirn-cot input[type=text]:focus { outline:2px solid var(--sc-primary); outline-offset:0; border-color:var(--sc-primary) !important; box-shadow:none; }
body .sirn-cot input[type=text]::placeholder { color:#8a97a0 !important; -webkit-text-fill-color:#8a97a0; opacity:1; }
body .sirn-cot input[type=text]:-webkit-autofill,
body .sirn-cot input[type=text]:-webkit-autofill:focus { -webkit-text-fill-color:#222; -webkit-box-shadow:0 0 0 1000px #fff inset; }
