/* IMRAN 9.12 – isolated, responsive single-site portal */
.imran-portal{--p-deep:#103b30;--p-mid:#205849;--p-gold:#c8a66a;--p-cream:#f8f5ec;--p-line:#e5dcc8;direction:rtl;isolation:isolate;background:var(--p-cream);color:var(--p-deep);font-family:'Cairo','Tajawal',Tahoma,Arial,sans-serif;line-height:1.75;overflow:clip}
.imran-portal *{box-sizing:border-box;min-width:0}
.imran-portal img{max-width:100%;display:block}
.imran-portal a{text-decoration:none}
.imran-portal-intro{background:linear-gradient(115deg,#0e352b,#1f5747);color:white;padding:clamp(32px,5vw,65px) 22px;position:relative}
.imran-portal-intro::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 10%,#c8a66a26,transparent 50%)}
.imran-portal .portal-intro-inner{max-width:1160px;margin:auto;position:relative;z-index:1}
.imran-portal .portal-kicker,.imran-portal .section-title>span{color:#d4b678;letter-spacing:1.5px;font-size:12px;font-weight:800}
.imran-portal-intro h2{color:#fff;font-size:clamp(27px,4.3vw,49px);line-height:1.35;margin:8px 0 10px;font-weight:900}
.imran-portal-intro p{max-width:740px;color:#e5ede7;margin:8px 0 18px;font-size:clamp(13px,1.4vw,16px)}
.imran-portal .portal-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:23px 0 16px}
.imran-portal .portal-shortcuts a{background:#ffffff14;color:white;border:1px solid #ffffff58;padding:9px 16px;border-radius:12px;font-size:14px;font-weight:800;transition:background .2s}
.imran-portal .portal-shortcuts a:hover,.imran-portal .portal-shortcuts a:focus-visible{background:#ffffff30}
.imran-portal .portal-summary{font-size:13px;color:#f0d49d;margin:0}
.imran-portal .section{max-width:1220px;width:100%;margin:auto;padding:clamp(42px,6vw,78px) 22px;scroll-margin-top:95px}
.imran-portal .section-title h2{font-size:clamp(26px,3.2vw,39px);font-weight:900;color:var(--p-deep);margin:6px 0;line-height:1.4}
.imran-portal .section-title p{color:#5f756b;margin:4px 0 14px;font-size:15px}
.imran-portal .filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));align-items:end;gap:14px;background:#fff;border:1px solid var(--p-line);border-radius:18px;padding:20px;margin:22px 0;box-shadow:0 12px 35px #103b3009}
.imran-portal label{display:block;font-size:13px;font-weight:800;color:var(--p-deep);line-height:1.6}
.imran-portal input,.imran-portal select,.imran-portal textarea{font:inherit;color:#143d32;background:#fff;border:1px solid #cdd8ce;border-radius:10px;padding:11px 12px;width:100%;max-width:100%;margin-top:6px;min-height:46px;direction:rtl}
.imran-portal input:focus-visible,.imran-portal select:focus-visible{outline:2px solid var(--p-gold);outline-offset:2px}
.imran-portal .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,265px),1fr));gap:18px;margin-top:20px;align-items:stretch}
.imran-portal .card{border:1px solid var(--p-line);border-radius:17px;overflow:hidden;background:white;box-shadow:0 8px 24px #0e322013;display:flex;flex-direction:column;min-width:0}
.imran-portal .card>img{width:100%;height:200px;object-fit:cover;background:#e8e7df;flex-shrink:0}
.imran-portal .card-body{padding:19px;display:flex;flex:1;flex-direction:column;gap:4px}
.imran-portal .card h3{color:var(--p-deep);font-size:20px;line-height:1.45;margin:8px 0;font-weight:900;overflow-wrap:anywhere}
.imran-portal .card p{color:#526d60;font-size:14px;margin:3px 0;overflow-wrap:anywhere}
.imran-portal .tag{align-self:flex-start;border-radius:30px;background:#e9f1e9;color:#225c44;font-size:12px;padding:4px 12px;font-weight:800}
.imran-portal .primary,.imran-portal .outline{display:inline-flex;align-items:center;justify-content:center;min-height:45px;max-width:100%;border:1px solid var(--p-gold);border-radius:10px;padding:9px 18px;cursor:pointer;font:inherit;font-size:14px;font-weight:900;text-align:center;white-space:normal;line-height:1.4}
.imran-portal .primary{background:var(--p-gold);color:#173c2f}
.imran-portal .outline{background:transparent;color:var(--p-deep)}
.imran-portal .primary:hover{background:#dfbd7e}
.imran-portal .card .primary{margin-top:auto;width:100%}
.imran-portal .hint{color:#6b8174;font-size:14px}
.imran-portal .hotels{max-width:none;background:#eeeae0;padding-inline:max(22px,calc((100vw - 1180px)/2))}
.imran-portal .assistant{background:#e5ede5;max-width:1220px;border-radius:22px;margin:26px auto 55px}
.imran-portal .assistant-form{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;margin:20px 0 12px}
.imran-portal .assistant-form input{flex:1 1 260px;width:auto;margin:0}
.imran-portal .assistant-form button{flex:0 1 auto}
.imran-portal .portal-suggestions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}
.imran-portal .portal-suggestions button{font:inherit;font-size:12px;font-weight:700;border:1px solid #9db9a7;background:#fff;color:#235343;border-radius:100px;padding:7px 13px;cursor:pointer}
.imran-portal #answer{color:#1c503e;overflow-wrap:anywhere;font-size:15px;font-weight:700}
.imran-portal #assistantMatches:empty{display:none}
.imran-portal #listingCount{margin:0 0 8px}
/* Dialogs are in top layer outside the scoped portal */
#inquiryDialog,#bookingDialog{direction:rtl;color:#183c32;background:#fff;border:0;border-radius:18px;max-width:min(92vw,560px);width:100%;max-height:88vh;overflow:auto;padding:clamp(18px,3vw,28px);box-shadow:0 28px 85px #0007;font-family:'Cairo','Tajawal',Arial,sans-serif;box-sizing:border-box}
#inquiryDialog::backdrop,#bookingDialog::backdrop{background:#051c15ba}
#inquiryDialog *,#bookingDialog *{box-sizing:border-box;min-width:0}
#inquiryDialog label,#bookingDialog label{display:block;font-weight:800;font-size:13px;margin:12px 0}
#inquiryDialog input,#bookingDialog input,#inquiryDialog textarea,#bookingDialog textarea,#bookingDialog select{display:block;width:100%;font:inherit;color:#153b2e;background:#fff;border:1px solid #cdd8ce;border-radius:9px;padding:10px;margin-top:5px}
#inquiryDialog .two,#bookingDialog .two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#inquiryDialog .actions,#bookingDialog .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
#inquiryDialog button,#bookingDialog button{font:inherit;font-weight:800;cursor:pointer;border-radius:10px;padding:10px 18px;border:1px solid #c8a66a}
#inquiryDialog .primary,#bookingDialog .primary{background:#c8a66a;color:#103b30}
#inquiryDialog .outline,#bookingDialog .outline{background:#fff;color:#103b30}
/* Leaflet tiles must never inherit the site's global image sizing */
.leaflet-container{direction:ltr!important;text-align:left!important}
.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:256px!important;height:256px!important}
.leaflet-container .leaflet-pane,.leaflet-container .leaflet-tile-container{position:absolute!important;top:0;left:0}
@media(max-width:750px){.imran-portal .section{padding:42px 16px;scroll-margin-top:12px}.imran-portal .filters{padding:15px}.imran-portal .hotels{padding-inline:16px}.imran-portal .assistant{border-radius:14px;margin:18px 12px 36px}.imran-portal .portal-shortcuts a{font-size:12px;padding:8px 11px}}
@media(max-width:480px){.imran-portal .grid{grid-template-columns:minmax(0,1fr)}.imran-portal .filters{grid-template-columns:minmax(0,1fr)}.imran-portal .assistant-form{flex-direction:column}.imran-portal .assistant-form input,.imran-portal .assistant-form button{width:100%;flex:auto}.imran-portal .card>img{height:210px}#inquiryDialog .two,#bookingDialog .two{grid-template-columns:1fr}}
