/* UKTH Tax Suite 2027 — Modal Styles v6.3.0
 * Fluent Form 6 integration | 30-second delay
 */
#ukth-modal-overlay{
  position:fixed;inset:0;z-index:99999;
  background:rgba(15,23,42,.72);backdrop-filter:blur(5px);
  display:none;align-items:center;justify-content:center;padding:1rem}
#ukth-modal-overlay.ukth-modal-show{display:flex!important}

.ukth-modal{
  background:#fff;border-radius:18px;max-width:520px;width:100%;
  max-height:92vh;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 30px 80px rgba(0,0,0,.32);
  transform:scale(.93) translateY(20px);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;
  opacity:0}
#ukth-modal-overlay.ukth-modal-show .ukth-modal{
  transform:scale(1) translateY(0);opacity:1}

.ukth-modal-head{
  background:linear-gradient(135deg,#0F172A 0%,#1a2a4a 100%);
  padding:1.6rem 1.75rem;color:#fff;position:relative;
  border-bottom:3px solid #25a5aa;flex-shrink:0}
.ukth-modal-head h2{
  font-size:1.25rem;font-weight:900;margin-bottom:.3rem;
  letter-spacing:-.01em;color:#fff}
.ukth-modal-head p{font-size:.82rem;opacity:.82;line-height:1.55;margin:0}
#ukth-modal-close{
  position:absolute;top:.9rem;right:.9rem;
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;opacity:0;pointer-events:none}
#ukth-modal-close:hover{background:rgba(255,255,255,.22)}

.ukth-modal-body{padding:1.4rem 1.6rem 1.6rem;overflow-y:auto;flex:1}

/* Calc summary strip */
.ukth-modal-summary{
  background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;
  padding:.8rem 1rem;margin-bottom:1.1rem;font-size:.8rem;
  display:grid;grid-template-columns:1fr 1fr;gap:0}
.ukth-modal-summary:empty{display:none}
.ukth-modal-summary-row{
  display:contents}
.ukth-modal-summary-row span:first-child{
  color:#64748b;padding:.28rem 0;font-weight:500}
.ukth-modal-summary-row span:last-child{
  text-align:right;font-weight:700;color:#0F172A;padding:.28rem 0;
  border-bottom:1px solid #f1f5f9}
.ukth-modal-summary-row:last-child span{border-bottom:none;color:#25a5aa;font-weight:800}

/* Query type radios */
.ukth-query-radios{display:flex;flex-direction:column;gap:.5rem}
.ukth-query-radio{cursor:pointer;display:block}
.ukth-query-radio input{position:absolute;opacity:0;width:0;height:0}
.ukth-query-radio__inner{
  display:flex;align-items:center;gap:.75rem;
  padding:.7rem .9rem;border-radius:10px;border:2px solid #e2e8f0;
  background:#f8fafc;transition:all .18s}
.ukth-query-radio input:checked + .ukth-query-radio__inner{
  border-color:#25a5aa;background:#f0fdfd}
.ukth-query-radio:hover .ukth-query-radio__inner{border-color:#25a5aa}
.ukth-query-radio__icon{font-size:1.25rem;flex-shrink:0;line-height:1}
.ukth-query-radio__text{display:flex;flex-direction:column;gap:.05rem}
.ukth-query-radio__text strong{font-size:.83rem;font-weight:700;color:#0F172A;line-height:1.3}
.ukth-query-radio__text em{font-style:normal;font-size:.73rem;color:#64748b}

/* Form fields in modal */
.ukth-modal-body .ukth-field{margin-bottom:.85rem}
.ukth-modal-body .ukth-label{
  font-size:.75rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;color:#374151;margin-bottom:.35rem;display:block}
.ukth-modal-body .ukth-inp{
  width:100%;padding:.7rem .95rem;font-size:.9rem;
  border:2px solid #e2e8f0;border-radius:8px;
  font-family:inherit;color:#0F172A;background:#fff;
  transition:border-color .18s,box-shadow .18s;box-sizing:border-box}
.ukth-modal-body .ukth-inp:focus{
  outline:none;border-color:#25a5aa;
  box-shadow:0 0 0 3px rgba(37,165,170,.12)}

/* Checkbox terms */
.ukth-terms{
  display:flex;gap:.5rem;align-items:flex-start;
  font-size:.78rem;color:#64748b;line-height:1.5;margin-bottom:.6rem}
.ukth-terms input{margin-top:2px;accent-color:#25a5aa;flex-shrink:0;width:15px;height:15px}
.ukth-terms a{color:#25a5aa;font-weight:600;text-decoration:none}

/* Submit button */
.ukth-modal-submit{
  width:100%;padding:.9rem;font-size:.95rem;font-weight:800;
  background:linear-gradient(135deg,#25a5aa,#1d8589);
  color:#fff;border:none;border-radius:10px;cursor:pointer;
  font-family:inherit;transition:all .2s;letter-spacing:.01em;
  box-shadow:0 4px 16px rgba(37,165,170,.35)}
.ukth-modal-submit:hover:not(:disabled){
  transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,165,170,.45)}
.ukth-modal-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}

/* Skip link */
.ukth-modal-skip{
  display:block;text-align:center;margin-top:.75rem;
  font-size:.78rem;color:#94a3b8;cursor:pointer;
  text-decoration:underline;text-underline-offset:2px}
.ukth-modal-skip:hover{color:#64748b}

@media(max-width:520px){
  .ukth-modal{max-height:98vh;border-radius:14px 14px 0 0;margin:auto auto 0}
  #ukth-modal-overlay{align-items:flex-end;padding:0}
}
