/* صفحة تأشيرة دخول سوريا visa.php */
.visa-info{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start}
.visa-about h2{margin:.3em 0 .5em}
.visa-about p{color:var(--muted);line-height:1.95;margin:0 0 1em}
.visa-about h3{margin:1.4em 0 .8em;font-size:1.15rem}
.visa-steps{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.visa-steps li{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;font-weight:700;color:var(--ink);line-height:1.7}
.visa-steps b{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--tq-400),var(--tq-700));color:#fff;font-weight:900}

.visa-terms{background:linear-gradient(160deg,var(--tq-800),var(--tq-950));color:#fff;border-radius:26px;padding:24px 22px;position:sticky;top:96px;box-shadow:0 24px 50px -28px rgba(5,60,64,.9);overflow:hidden}
.visa-terms::before{content:"";position:absolute;inset:0;background:var(--pattern);opacity:.06;pointer-events:none}
.visa-terms h2{color:#fff;font-size:1.25rem;display:flex;align-items:center;gap:10px;margin:0 0 14px;position:relative}
.visa-terms h2 .ic{color:var(--gold-300)}
.visa-terms ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;position:relative}
.visa-terms li{display:flex;gap:10px;align-items:flex-start;line-height:1.75;color:#DDF1F1;font-size:.95rem}
.visa-terms li .ic{flex-shrink:0;margin-top:5px;color:#fff;background:var(--gold);border-radius:50%;padding:3px;width:20px;height:20px;box-sizing:border-box}
.visa-note{display:flex;gap:8px;align-items:flex-start;margin:16px 0 0;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.08);border:1px dashed rgba(233,206,138,.45);font-size:.86rem;color:#F3E6C4;line-height:1.75;position:relative}
.visa-note .ic{flex-shrink:0;margin-top:4px}

.visa-form-wrap{max-width:860px}
.visa-form-t{font-size:1.5rem;display:flex;align-items:center;gap:10px}
.visa-sec{display:flex;align-items:center;gap:10px;margin:10px 0 -4px;font-weight:900;color:var(--tq-700);font-size:1.02rem;border-bottom:1px dashed var(--line);padding-bottom:8px}
.visa-sec span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--gold);color:#fff;font-size:.9rem}
.visa-form .hint{display:block;color:var(--muted);font-size:.8rem;margin-top:5px}
.visa-form label .ic{vertical-align:-2px;color:#179C4D}

.visa-file{position:relative}
.visa-file input[type=file]{position:absolute;bottom:0;inset-inline-start:50%;width:1px;height:1px;opacity:0;pointer-events:none}
.drop{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;min-height:150px;padding:16px;border:2px dashed var(--tq-300);border-radius:18px;background:var(--tq-50);color:var(--tq-700);cursor:pointer;transition:background .2s,border-color .2s;position:relative;overflow:hidden;margin:0!important}
.drop:hover,.drop.over{background:#E2F4F4;border-color:var(--tq)}
.drop b{font-size:.95rem}
.drop small{color:var(--muted);font-weight:500;font-size:.78rem;line-height:1.6}
.drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.drop.has-img{border-style:solid;border-color:var(--tq)}
.drop.has-img::after{content:"✓";position:absolute;top:8px;inset-inline-end:8px;width:28px;height:28px;border-radius:50%;background:#179C4D;color:#fff;display:grid;place-items:center;font-weight:900;z-index:2}
.drop.is-bad{border-color:#D64545;background:#FDF0F0}
.drop-wide{min-height:96px;flex-direction:row;flex-wrap:wrap;gap:8px}
.drop-wide small{flex-basis:100%}
.visa-file:focus-within .drop{box-shadow:0 0 0 4px rgba(18,165,168,.18)}
.file-list{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:6px}
.file-list li{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:.86rem;font-weight:700}
.file-list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-list li small{color:var(--muted);direction:ltr}
.file-list li.bad{border-color:#D64545;color:#A12B2B;background:#FDF0F0}
.file-ext{flex-shrink:0;font-size:.7rem;font-weight:900;padding:2px 7px;border-radius:6px;background:var(--tq-700);color:#fff;text-transform:uppercase}

.visa-consent{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--tq-50);font-size:.9rem;line-height:1.7;cursor:pointer;font-weight:600}
.visa-consent input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--tq-700)}
.visa-err{align-items:flex-start}
.visa-err ul{margin:6px 0;padding-inline-start:18px;font-size:.9rem}
.visa-err small{display:block;opacity:.85}
#visaSend[disabled]{opacity:.75;cursor:wait}
.spin-sm{display:inline-block;width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:vspin .8s linear infinite}
@keyframes vspin{to{transform:rotate(360deg)}}

@media (max-width:900px){.visa-info{grid-template-columns:1fr}.visa-terms{position:static}}
@media (max-width:640px){
  .visa-form .field:not(.full){grid-column:1/-1}
  .visa-form .visa-file:not(.full){grid-column:auto}
  .visa-form{grid-template-columns:1fr 1fr}
  .drop{min-height:130px;padding:12px 8px}
}

/* أخطاء التحقق داخل الصفحة */
.visa-cerr{flex-direction:column;align-items:flex-start;gap:4px}
.visa-cerr[hidden]{display:none}
.visa-cerr ul{margin:4px 0 0;padding-inline-start:20px;font-size:.92rem;line-height:1.8}
.visa-form .field.invalid input:not([type=file]),.visa-form .field.invalid select,.visa-form .field.invalid textarea{border-color:#D64545;box-shadow:0 0 0 3px rgba(214,69,69,.12)}
.visa-form .field.invalid .drop{border-color:#D64545;background:#FDF0F0}
.visa-form .field.invalid>label:first-child{color:#A12B2B}
.visa-consent.invalid{outline:2px solid #D64545}
