/* Public Nilab contact page — Vazir from active Nilab theme, no outside font assets. */
.nilab-public-contact,.nilab-public-contact *{box-sizing:border-box}
.nilab-public-contact{direction:rtl;font-family:"Nilab Vazir",Vazir,Tahoma,Arial,sans-serif;color:#102e4b;max-width:1220px;margin:24px auto 72px;padding:clamp(16px,3vw,34px);line-height:1.9}
.nilab-contact-header{background:linear-gradient(125deg,#f0f8ff,#fff);border:1px solid #dbe8f4;border-radius:24px;padding:clamp(24px,4vw,45px);margin-bottom:22px}
.nilab-contact-header>span{font-size:14px;color:#1377b4;font-weight:700}.nilab-contact-header h1{margin:12px 0 7px;font-size:clamp(28px,4vw,42px);line-height:1.5;color:#073c66}.nilab-contact-header p{font-size:16px;margin:0;color:#547086}
.nilab-contact-columns{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:22px;align-items:stretch}
.nilab-contact-details,.nilab-contact-map-col{background:#fff;border:1px solid #dce9f3;border-radius:22px;padding:clamp(18px,2.8vw,28px);box-shadow:0 9px 38px #0e48770d;min-width:0}
.nilab-contact-detail{border-bottom:1px solid #e8eff5;padding:13px 0;display:grid;gap:5px}.nilab-contact-detail:last-child{border:0}.nilab-contact-detail span{color:#748da1;font-size:13px}.nilab-contact-detail a{color:#0c659f;text-decoration:none;font-size:18px;font-weight:700;justify-self:start;overflow-wrap:anywhere}.nilab-contact-detail p{margin:0;white-space:normal;overflow-wrap:anywhere}
.nilab-contact-map{display:grid;gap:15px}
.nilab-contact-routes a{font:inherit;border:0;border-radius:11px;padding:10px 15px;cursor:pointer;text-decoration:none!important;min-height:43px;display:inline-flex;align-items:center;justify-content:center}
.nilab-contact-routes{display:flex;flex-wrap:wrap;gap:9px}.nilab-contact-routes a{background:#edf6fd;color:#0d588e;border:1px solid #b8d8ed;flex:1 1 180px}.nilab-contact-routes a:hover{background:#d5edfc}.nilab-contact-map-note{margin:0!important;color:#677e90;font-size:12px;line-height:1.9}
.nilab-contact-empty-map{min-height:290px;border:1px dashed #b8d3e4;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f7fbfe}
.nilab-contact-settings .nilab-contact-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.nilab-contact-field-grid label{display:grid;gap:6px;font-weight:600;color:#194669}.nilab-contact-field-grid input,.nilab-contact-field-grid textarea{box-sizing:border-box;width:100%;min-width:0;min-height:45px;padding:10px 13px;border:1px solid #bfd5e5;border-radius:10px;background:#fff;font:inherit}.nilab-contact-field-wide{grid-column:1/-1}.nilab-contact-settings .nilab-contact-map{max-width:840px;margin:15px 0 20px}
@media(max-width:800px){.nilab-contact-columns{grid-template-columns:1fr}}
@media(max-width:540px){.nilab-public-contact{margin:0 auto 42px;padding:14px}.nilab-contact-header{padding:18px}.nilab-contact-details,.nilab-contact-map-col{padding:16px}.nilab-contact-settings .nilab-contact-field-grid{grid-template-columns:1fr}.nilab-contact-routes{display:grid;grid-template-columns:1fr}}
/* v0.7.7 smart contact settings — isolated from the public storefront. */
.nilab-contact-settings{font-family:"Nilab Vazir",Vazir,Tahoma,Arial,sans-serif;min-width:0;direction:rtl;color:#183b59}
.nilab-contact-settings *{box-sizing:border-box}
.nilab-contact-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.nilab-contact-form-heading h2{font-size:clamp(20px,2.2vw,28px);font-weight:800;color:#08375b;margin:5px 0}
.nilab-contact-form-heading p{margin:4px 0;color:#5e758a;max-width:710px}
.nilab-contact-eyebrow{font-size:12px;color:#0071ba;font-weight:700}
.nilab-contact-status{border:1px solid #c4dded;background:#f1f9ff;color:#23678f;border-radius:20px;padding:4px 12px;white-space:nowrap;font-size:12px}
.nilab-contact-smart-section{border:1px solid #dbe7f0;background:#fff;padding:clamp(14px,2.3vw,25px);margin:16px 0;border-radius:18px;box-shadow:0 3px 18px #1d4f6b08}
.nilab-contact-smart-section h3{font-weight:800;color:#104361;font-size:17px;margin:0 0 8px}
.nilab-contact-hint{margin:6px 0 14px;color:#667d90;font-size:13px;line-height:1.9}
.nilab-contact-settings .nilab-contact-field-grid{margin:14px 0 4px;gap:15px}
.nilab-contact-settings .nilab-contact-field-grid label,
.nilab-contact-settings .nlc-custom-hours label{font-size:14px;display:grid;align-content:start;gap:6px}
.nilab-contact-settings .nilab-contact-field-grid input,
.nilab-contact-settings .nilab-contact-field-grid textarea,
.nilab-contact-settings .nlc-custom-hours input{
  max-width:100%;width:100%;border:1px solid #bad2e3!important;border-radius:11px!important;
  min-height:46px!important;padding:10px 13px!important;font-family:inherit!important;font-size:14px!important;
  line-height:1.65!important;background:#fff;color:#143957;box-shadow:none
}
.nilab-contact-settings input:focus,.nilab-contact-settings textarea:focus{outline:3px solid #d8efff;outline-offset:1px;border-color:#187fc3!important}
.nilab-contact-settings input:disabled,.nilab-contact-settings textarea:disabled{background:#f3f7fb;color:#6c8297;cursor:not-allowed}
.nilab-contact-settings input[dir=ltr],.nilab-contact-settings [type=time]{text-align:left;direction:ltr;font-variant-numeric:tabular-nums}
.nlc-mini{font-size:11px;color:#70869a;font-weight:400}.nlc-counter{font-size:11px;color:#7890a3;justify-self:end}
.nlc-mode-selector{display:flex;flex-wrap:wrap;gap:18px;margin:10px 0 16px;padding:14px;border:1px solid #dfebf4;background:#f6faff;border-radius:11px}
.nlc-mode-selector legend{font-size:13px;font-weight:700;padding:0 5px}
.nlc-mode-selector label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600}
.nlc-mode-selector input{accent-color:#087bc4}
.nlc-weekly-head,.nlc-day-row{display:grid;grid-template-columns:minmax(76px,.95fr) minmax(72px,.65fr) repeat(4,minmax(85px,1fr));gap:9px;align-items:center}
.nlc-weekly-head{background:#f0f7fc;color:#5e8098;border-radius:10px;padding:10px 12px;font-size:11px;font-weight:700}
.nlc-day-row{border:0;border-bottom:1px solid #e5eff5;padding:12px 8px;margin:0;min-width:0}
.nlc-day-name{display:block;font-weight:700;color:#183d5d;font-size:13px}
.nlc-day-toggle{display:flex;gap:5px;align-items:center;justify-content:center;white-space:nowrap;margin-right:0!important}
.nlc-day-toggle input{accent-color:#0e80bc}
.nlc-day-status{font-size:12px;font-weight:600}
.nlc-day-time{display:grid;gap:4px;color:#70859a;font-size:11px;font-weight:400;min-width:0}
.nlc-day-time input{width:100%!important;max-width:100%!important;min-width:0!important;height:39px!important;padding:6px 4px!important;border:1px solid #c6d9e8;border-radius:8px;font-size:13px;font-family:inherit}
.nlc-day-row:not(.nlc-day-active){background:#fafcfe}
.nlc-day-row:not(.nlc-day-active) .nlc-day-time{opacity:.55}
.nlc-custom-hours{max-width:700px}
.nlc-coord-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0 0}
.nlc-coord-actions button,.nlc-save-row button{font-family:inherit!important;min-height:43px;border-radius:10px!important}
#nlc-coord-status{font-size:12px;color:#50758b}
.nlc-coord-preview{margin:12px 0 0;border-radius:12px;min-height:58px;background:#f4f9fc;border:1px dashed #bad6e8;padding:12px;color:#456b84;font-size:13px;line-height:1.9}
.nlc-coord-preview strong{display:block;color:#125a82}
.nlc-coord-preview a{display:inline-flex;color:#075f96;margin:5px 0 0 14px;text-decoration:none}
.nlc-coord-preview a:hover{text-decoration:underline}
.nlc-form-notice{border:1px solid #dc8585;background:#fff5f5;color:#a52e2e;padding:12px 14px;border-radius:9px;margin:10px 0}
.nlc-save-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 0 8px}
.nlc-save-row button{padding:6px 28px!important;background:#0077bd!important;border-color:#0077bd!important;color:white!important}
.nlc-save-row span{color:#71879b;font-size:12px}
.nilab-contact-public-hours{display:grid;gap:5px;margin-top:4px}
.nilab-contact-public-day{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf3f7;padding:6px 0;font-size:13px}
.nilab-contact-public-day span:last-child{color:#2e5975;direction:ltr;text-align:left}
.nilab-contact-public-day:last-child{border:0}
.nilab-contact-settings [hidden]{display:none!important}
@media(max-width:1100px){
 .nlc-weekly-head{display:none}
 .nlc-day-row{grid-template-columns:minmax(95px,1fr) minmax(85px,.8fr) repeat(2,minmax(115px,1fr));gap:8px}
 .nlc-day-name{padding:10px 4px}
 .nlc-day-time:nth-of-type(3){grid-column:3}
 .nlc-day-time:nth-of-type(4){grid-column:4}
}
@media(max-width:680px){
 .nilab-contact-form-heading{gap:7px}
 .nlc-day-row{grid-template-columns:minmax(90px,.85fr) repeat(2,minmax(0,1fr));gap:9px;padding:10px 5px}
 .nlc-day-name{grid-column:1/-1;padding:4px 0}
 .nlc-day-toggle{grid-column:1;grid-row:2;justify-content:start}
 .nlc-day-time{grid-column:auto!important;grid-row:auto!important}
 .nlc-day-time input{height:41px!important}
 .nilab-contact-settings .nilab-contact-field-grid{grid-template-columns:1fr}
 .nlc-mode-selector{gap:10px}
 .nlc-coord-actions button{flex:1 1 auto}
}

/* v0.7.11 — larger always-visible public map and recognizable routing app icons. */
.nilab-public-contact{max-width:1380px}
.nilab-public-contact .nilab-contact-columns{grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr);gap:22px}
.nilab-contact-map-frame{border:1px solid #bdd9e9;background:#e9f5fb;border-radius:18px;overflow:hidden;width:100%;min-height:525px}
.nilab-contact-map-frame iframe{display:block;border:0;width:100%;height:525px;min-height:525px}
.nilab-contact-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.nilab-contact-routes .nilab-contact-route{display:flex;gap:10px;align-items:center;justify-content:center;min-width:0;min-height:68px;flex:none;white-space:nowrap;padding:12px 11px;background:#f2f9fd;border:1px solid #c9e2f1;border-radius:13px;color:#164866;font-size:15px;font-weight:700;line-height:1.5}
.nilab-contact-route-icon{width:33px;height:33px;flex:0 0 33px;display:inline-grid;place-items:center}
.nilab-contact-route-icon svg{width:30px;height:30px;max-width:100%}
.nilab-contact-routes .nilab-contact-route:hover,.nilab-contact-routes .nilab-contact-route:focus-visible{background:#e1f1fb;border-color:#7ab8d9;box-shadow:0 0 0 2px #ceeafd;outline:0}
.nilab-route-arrow{font-size:14px;opacity:.6}
.nilab-contact-map-note{line-height:2}
@media(max-width:1000px){.nilab-public-contact .nilab-contact-columns{grid-template-columns:1fr}.nilab-contact-map-frame,.nilab-contact-map-frame iframe{min-height:460px;height:460px}}
@media(max-width:580px){.nilab-contact-map-frame,.nilab-contact-map-frame iframe{min-height:370px;height:370px}.nilab-contact-routes{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.nilab-contact-routes .nilab-contact-route{flex-direction:column;gap:3px;min-height:92px;padding:10px 5px;white-space:normal;font-size:12px;overflow-wrap:anywhere;text-align:center}.nilab-route-arrow{display:none}}


/* v0.7.12 — use the three exact PNG logos supplied for Nilab's routing buttons. */
.nilab-contact-routes .nilab-contact-route{
  min-height:112px; padding:12px 9px; background:#fff;
  border:1px solid #d5e7f1; border-radius:16px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.nilab-contact-routes .nilab-contact-route:hover,
.nilab-contact-routes .nilab-contact-route:focus-visible{background:#f8fcff;border-color:#8bb8d8;}
.nilab-contact-routes .nilab-contact-route-icon{
  width:100%;height:84px;flex:1 1 auto;
  display:flex;justify-content:center;align-items:center;
}
.nilab-contact-routes .nilab-contact-route-icon img{
  display:block;width:auto;height:auto;
  max-height:81px;max-width:100%;object-fit:contain;
}
/* The supplied Google Maps artwork contains wider internal white padding. */
.nilab-contact-routes .nilab-route-google img{transform:scale(1.4)}
@media(max-width:580px){
  .nilab-contact-routes .nilab-contact-route{min-height:98px;padding:9px 5px;}
  .nilab-contact-routes .nilab-contact-route-icon{width:100%;height:77px;}
  .nilab-contact-routes .nilab-contact-route-icon img{max-height:74px;max-width:100%;}
}
