/* Elite Kingdom widgets: floating contact button, booking pop-up, ads (banner + pop-up) */
.ek-float{position:fixed;right:18px;bottom:76px;z-index:99990;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:inherit}
.ek-float-btn{width:60px;height:60px;border:0;border-radius:50%;background:#25d366;color:#fff;font-size:30px;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.28);position:relative;transition:transform .2s,background .2s}
.ek-float-btn:hover{transform:scale(1.07)}
.ek-float-btn::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;opacity:.55;z-index:-1;animation:ekPulse 2.2s infinite}
.ek-float-btn i{grid-area:1/1;transition:transform .25s,opacity .25s}
.ek-float-btn .ek-ico-close{opacity:0;transform:rotate(-90deg) scale(.5);font-size:22px}
.ek-float.open .ek-float-btn{background:#1f2a44}.ek-float.open .ek-float-btn::before{animation:none;opacity:0}
.ek-float.open .ek-ico-open{opacity:0;transform:rotate(90deg) scale(.5)}.ek-float.open .ek-ico-close{opacity:1;transform:none}
@keyframes ekPulse{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(1.6);opacity:0}}
.ek-float-card{width:min(300px,calc(100vw - 36px));background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 16px 44px rgba(0,0,0,.28);animation:ekUp .22s ease-out}
.ek-float-card[hidden]{display:none}
@keyframes ekUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.ek-float-head{display:flex;gap:12px;align-items:center;padding:14px 16px;background:linear-gradient(120deg,#c8102e,#7a0a1c);color:#fff}
.ek-float-head i{font-size:26px}.ek-float-head strong{display:block;font-size:15px;line-height:1.2}.ek-float-head small{opacity:.85;font-size:12px}
.ek-float-opt{display:flex;align-items:center;gap:14px;padding:13px 16px;color:#2b2b2b;text-decoration:none;border-top:1px solid #f0eae7;transition:background .15s}
.ek-float-opt:hover{background:#faf6f4;color:#2b2b2b}
.ek-float-opt>i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:19px;flex:none}
.ek-float-opt.wa>i{background:#25d366}.ek-float-opt.call>i{background:#c8102e}.ek-float-opt.book>i{background:#1f2a44}
.ek-float-opt span{font-weight:600;font-size:15px;line-height:1.25}.ek-float-opt small{display:block;font-weight:400;color:#7b8794;font-size:12.5px}
@media(max-width:575px){.ek-float{right:14px;bottom:70px}.ek-float-btn{width:56px;height:56px;font-size:28px}}
@media(prefers-reduced-motion:reduce){.ek-float-btn::before,.ek-float-card{animation:none}}

/* modals */
.ek-modal{position:fixed;inset:0;z-index:100000;background:rgba(20,22,30,.62);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:24px 14px;overflow-y:auto}
.ek-modal[hidden]{display:none}
.ek-modal-box{position:relative;width:100%;max-width:560px;margin:auto;background:#fff;border-radius:18px;padding:30px 28px 24px;box-shadow:0 28px 70px rgba(0,0,0,.4);animation:ekUp .25s ease-out;color:#4d4d4d}
.ek-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f3eeeb;color:#2b2b2b;display:grid;place-items:center;cursor:pointer;z-index:2}
.ek-x:hover{background:#c8102e;color:#fff}
.ek-modal h3{font-size:24px;font-weight:800;color:#1f2a44;margin:0 0 4px;display:flex;align-items:center;gap:10px}.ek-modal h3 i{color:#c8102e}
.ek-sub{color:#7b8794;margin:0 0 18px;font-size:14.5px}
.ek-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.ek-full{grid-column:1/-1}
.ek-f span{display:block;font-size:13px;font-weight:600;color:#2b2b2b;margin-bottom:5px}.ek-f small{font-weight:400;color:#7b8794}
.ek-f input,.ek-f select,.ek-f textarea{width:100%;border:1.5px solid #e1d9d5;border-radius:10px;padding:10px 12px;font-size:15px;background:#fff;color:#2b2b2b;font-family:inherit}
.ek-f input:focus,.ek-f select:focus,.ek-f textarea:focus{outline:0;border-color:#c8102e;box-shadow:0 0 0 3px rgba(200,16,46,.14)}
.ek-f.bad input,.ek-f.bad select{border-color:#c8102e;background:#fff7f8}
.ek-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.ek-est{margin-top:14px;padding:12px 14px;border-radius:12px;background:#f6f3f1;font-size:14px}.ek-est b{color:#c8102e;font-size:17px}
.ek-msg{margin-top:12px;padding:10px 14px;border-radius:10px;background:#fdecee;color:#b3261e;font-size:14px;font-weight:600}
.ek-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:16px;border:0;border-radius:12px;background:#c8102e;color:#fff;font-weight:700;font-size:16px;padding:13px 20px;cursor:pointer;text-decoration:none;transition:background .2s}
.ek-submit:hover{background:#a00d25;color:#fff}.ek-submit:disabled{opacity:.7;cursor:wait}
.ek-fine{font-size:12px;color:#7b8794;text-align:center;margin:12px 0 0}
.ek-done{text-align:center;padding:14px 0 4px}.ek-done p{color:#4d4d4d}.ek-done h3{justify-content:center}
.ek-tick{width:72px;height:72px;margin:0 auto 14px;border-radius:50%;background:#e6f6ec;color:#1a7f45;font-size:38px;display:grid;place-items:center;animation:ekPop .4s cubic-bezier(.2,.9,.3,1.4)}
@keyframes ekPop{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}
@media(max-width:575px){.ek-grid{grid-template-columns:1fr}.ek-modal-box{padding:26px 18px 20px}}

/* ads: banner */
.ek-ads{padding:28px 0 8px!important}
.ek-ad-slider{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:21/7;min-height:190px;background:#1f2a44;box-shadow:0 10px 34px rgba(40,30,30,.16)}
.ek-ad-slide{position:absolute;inset:0;display:flex;align-items:flex-end;background:#1f2a44 center/cover no-repeat;color:#fff;opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s;text-decoration:none}
.ek-ad-slide.on{opacity:1;visibility:visible}
.ek-ad-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,18,30,.78),rgba(15,18,30,.2) 70%)}
.ek-ad-slide.noimg{background:linear-gradient(120deg,#c8102e,#7a0a1c)}.ek-ad-slide.noimg::before{background:none}
.ek-ad-copy{position:relative;display:block;padding:26px 30px 34px;max-width:620px}
.ek-ad-copy strong{display:block;font-size:clamp(20px,3.2vw,34px);font-weight:800;line-height:1.15;color:#fff}
.ek-ad-copy em{display:block;font-style:normal;margin-top:8px;font-size:clamp(14px,1.6vw,17px);color:rgba(255,255,255,.92)}
.ek-ad-btn{display:inline-block;margin-top:14px;background:#fff;color:#c8102e;border-radius:50px;padding:9px 22px;font-size:15px;font-weight:700}
.ek-ad-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px;z-index:2}
.ek-ad-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}.ek-ad-dots button.on{background:#fff;width:26px;border-radius:6px}
@media(max-width:767px){.ek-ad-slider{aspect-ratio:16/10}.ek-ad-copy{padding:18px 18px 34px}}

/* ads: pop-up */
.ek-ad-box{max-width:480px;padding:0;overflow:hidden}
.ek-ad-pics{position:relative;aspect-ratio:16/10;background:#eee7e3}
.ek-ad-pics img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}.ek-ad-pics img.on{opacity:1}
.ek-ad-body{padding:22px 24px 24px;text-align:center}.ek-ad-body h3{justify-content:center;font-size:23px}.ek-ad-body p{margin:6px 0 0;font-size:15px}
.ek-ad-body .ek-submit{width:auto;padding:12px 34px}
