/* أنماط أساسية تعمل مع أي قالب؛ القالب يستطيع تخصيصها */
.bform{display:grid;grid-template-columns:1fr 1fr;gap:10px;direction:rtl}
.bform .full{grid-column:1/-1}
.bform .f label{display:block;font-size:14px;margin-bottom:4px}
.bform input,.bform select,.bform textarea{width:100%;font:inherit;padding:10px 12px;min-height:44px;box-sizing:border-box}
.bform .chk{display:flex;gap:8px;align-items:flex-start;font-size:14px}
.bform .chk input{width:auto;min-height:0;margin-top:5px}
.bform .hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.bform .note.ok{color:#17653A}.bform .note.err{color:#B3261E}
.cal-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;direction:rtl}
.cal{width:100%;border-collapse:collapse;text-align:center;font-size:14px}
.cal caption{font-weight:700;margin-bottom:6px}
.cal th{font-weight:500;color:#58787F;padding:4px 0}
.cal td{padding:6px 0;border:1px solid rgba(0,0,0,.06)}
.cal td.free{background:rgba(23,101,58,.10)}
.cal td.busy{background:rgba(179,38,30,.18);text-decoration:line-through}
.cal td.past{opacity:.45}
.legend span{display:inline-block;padding:2px 12px;margin-inline-end:8px;border-radius:999px;font-size:13px}
.legend .free{background:rgba(23,101,58,.14)}.legend .busy{background:rgba(179,38,30,.2)}.legend .past{background:rgba(0,0,0,.08)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
iframe.map{width:100%;height:320px;border:0;border-radius:12px}
