/* =========================================================
   مركز المملكة 3 — نقل حرفي لتصميم Horizons (Tailwind) إلى Elementor
   الألوان مربوطة بألوان Elementor العامة (Site Settings > Global Colors)
   ========================================================= */
:root{
  --km-red:var(--e-global-color-primary,#dc2626);      /* red-600 */
  --km-red7:var(--e-global-color-kmr700,#b91c1c);      /* red-700 */
  --km-red8:var(--e-global-color-kmr800,#991b1b);      /* red-800 */
  --km-red5:#ef4444; --km-red9:#7f1d1d; --km-red95:#450a0a;
  --km-yel:var(--e-global-color-secondary,#facc15);    /* yellow-400 */
  --km-yel5:#eab308;
  --km-yel6:var(--e-global-color-accent,#ca8a04);      /* yellow-600 */
  --km-yel7:var(--e-global-color-kmy700,#a16207);
  --km-yel8:#854d0e;
  --km-g2:#e5e7eb; --km-g3:var(--e-global-color-text,#d1d5db); --km-g4:#9ca3af; --km-g5:#6b7280; --km-g7:#374151; --km-g9:#111827;
  --km-zinc9:var(--e-global-color-kmzinc,#18181b); --km-zinc95:#09090b; --km-green:#22c55e;
  --km-font:'Cairo',sans-serif;
  --km-sh-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
  --km-sh-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);
  --km-sh-2xl:0 25px 50px -12px rgba(0,0,0,.25);
  --km-sh-red:0 10px 15px -3px rgba(220,38,38,.5),0 4px 6px -4px rgba(220,38,38,.5);
  --km-sh-yel:0 10px 15px -3px rgba(202,138,4,.5),0 4px 6px -4px rgba(202,138,4,.5);
  --km-sh-red9:0 10px 15px -3px rgba(127,29,29,.2),0 4px 6px -4px rgba(127,29,29,.2);
}

/* ---------- Base (index.css + Tailwind preflight) ---------- */
html{scroll-behavior:smooth}
body.km-site{font-family:var(--km-font);background-color:#000;color:#fff;overflow-x:hidden;margin:0!important;font-size:16px;line-height:1.5}
body.km-site *,body.km-site *::before,body.km-site *::after{box-sizing:border-box}
body.km-site #page,body.km-site .site-content,body.km-site #content,body.km-site .ast-container,body.km-site .site-main,body.km-site article,body.km-site .entry-content{background:transparent;max-width:none;padding:0;margin:0!important}
body.km-site .ast-container{display:block}
body.km-site .elementor-heading-title,body.km-site .elementor-widget-text-editor{font-family:var(--km-font);letter-spacing:normal;text-transform:none;margin:0!important;padding:0}
body.km-site .elementor-heading-title a{color:inherit;text-decoration:none;font:inherit}
body.km-site span.elementor-heading-title{display:block}
body.km-site .km-navlink span.elementor-heading-title{display:inline-block}
body.km-site svg.lucide{fill:none!important;stroke:currentColor}
body.km-site .elementor-icon-list-icon svg.lucide{fill:none!important}
body.km-site .elementor-widget-image img{display:block;max-width:100%}
body.km-site .elementor-widget-html{line-height:1.5}
body.km-site a{text-decoration:none}

/* ---------- Section shells ---------- */
body.km-site .km-sec{position:relative;overflow:hidden;padding:80px 0}
body.km-site .km-wrap{position:relative;z-index:10;padding:0 16px}
body.km-site .km-bgfx{position:absolute!important;inset:0;width:100%!important;max-width:none!important;z-index:0;pointer-events:none;margin:0!important}
.km-blobs{position:absolute;inset:0;pointer-events:none}
.km-blob{position:absolute;border-radius:9999px;filter:blur(64px)}
.km-o10{opacity:.1}.km-o5{opacity:.05}
.km-bg-hero{background-image:linear-gradient(to bottom,#000,rgba(69,10,10,.2),#000)}
.km-bg-about{background-image:linear-gradient(to bottom,#000,rgba(69,10,10,.2))}
.km-bg-booking{background-image:linear-gradient(to bottom,rgba(69,10,10,.2),#000)}
.km-bg-black{background-color:#000}
.km-bg-zinc{background-color:var(--km-zinc9)}

/* ---------- Section heading group ---------- */
body.km-site .km-head{text-align:center;margin-bottom:64px!important}
body.km-site .km-h2 .elementor-heading-title{font-size:36px;line-height:40px;font-weight:700;color:#fff;margin-bottom:16px!important}
body.km-site .km-h2.km-h2-sm .elementor-heading-title{font-size:30px;line-height:36px}
body.km-site .km-bar{width:96px;height:4px;margin:0 auto 24px!important;background-image:linear-gradient(to right,var(--km-red),var(--km-yel6))}
body.km-site .km-bar.km-bar-0{margin-bottom:0!important}
body.km-site .km-lead{max-width:768px!important;margin-inline:auto!important;width:100%}
body.km-site .km-lead .elementor-heading-title{color:var(--km-g3);font-size:18px;line-height:29.25px;font-weight:400}
@media(min-width:768px){body.km-site .km-h2 .elementor-heading-title,body.km-site .km-h2.km-h2-sm .elementor-heading-title{font-size:48px;line-height:48px}}

/* ---------- Generic text ---------- */
body.km-site .km-h3 .elementor-heading-title{font-size:24px;line-height:32px;font-weight:700;color:#fff}
body.km-site .km-h3-xl .elementor-heading-title{font-size:20px;line-height:28px;font-weight:700;color:#fff;margin-bottom:16px!important}
body.km-site .km-text .elementor-heading-title{color:var(--km-g3);font-size:16px;line-height:26px;font-weight:400}
body.km-site .km-ico-yel .elementor-icon{color:var(--km-yel)}

/* ---------- Buttons (shadcn Button + Tailwind classes) ---------- */
body.km-site .km-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border:0;border-radius:6px;font-family:var(--km-font);font-size:14px;line-height:20px;font-weight:700;color:#fff;fill:#fff;text-decoration:none;white-space:nowrap;letter-spacing:normal;text-transform:none;background-color:transparent;transition:color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),opacity .15s,box-shadow .15s;cursor:pointer}
body.km-site .km-btn .elementor-button-content-wrapper{display:flex;flex-direction:row;align-items:center;gap:8px}
body.km-site .km-btn .elementor-button-icon{display:flex;align-items:center;margin:0!important;font-size:16px}
body.km-site .km-btn .elementor-button-icon svg{width:16px;height:16px;fill:none}
body.km-site .km-btn .elementor-button-text{font:inherit}
body.km-site .km-btn.km-ico20 .elementor-button-icon svg{width:20px;height:20px}
body.km-site .km-btn-lg .elementor-button{height:48px;padding:0 32px;font-size:18px;line-height:28px}
body.km-site .km-btn-h48 .elementor-button{height:48px}
body.km-site .km-btn-md500 .elementor-button{font-weight:500}
body.km-site .km-btn-full,body.km-site .km-btn-full .elementor-button-wrapper,body.km-site .km-btn-full .elementor-button{width:100%}
body.km-site .km-flex1{flex:1 1 0%!important;width:auto!important;min-width:0}
body.km-site .km-fs18 .elementor-button{font-size:18px;line-height:28px}
body.km-site .km-auto{width:auto!important;--width:auto}
body.km-site .km-mb64{margin-bottom:64px!important}
body.km-site .km-mb48{margin-bottom:48px!important}
/* gradients */
body.km-site .km-btn-red .elementor-button{background-image:linear-gradient(to right,var(--km-red),var(--km-red7))}
body.km-site .km-btn-red .elementor-button:hover{background-image:linear-gradient(to right,var(--km-red7),var(--km-red8))}
body.km-site .km-btn-yel .elementor-button{background-image:linear-gradient(to right,var(--km-yel6),var(--km-yel7));box-shadow:var(--km-sh-yel)}
body.km-site .km-btn-yel .elementor-button:hover{background-image:linear-gradient(to right,var(--km-yel7),var(--km-yel8))}
body.km-site .km-sh-red .elementor-button{box-shadow:var(--km-sh-red)}
body.km-site .km-sh-red9 .elementor-button{box-shadow:var(--km-sh-red9)}
body.km-site .km-sh-lg .elementor-button{box-shadow:var(--km-sh-lg)}
body.km-site .km-btn-outline .elementor-button{background:#000;border:2px solid var(--km-yel);color:var(--km-yel);height:52px}
body.km-site .km-btn-outline .elementor-button:hover{background:var(--km-yel);color:#000}
body.km-site .km-btn-pill .elementor-button{border-radius:9999px;background-image:linear-gradient(to right,var(--km-red),var(--km-yel6));transition:all .3s ease-in-out}
body.km-site .km-btn-pill .elementor-button:hover{background-image:linear-gradient(to right,var(--km-red7),var(--km-yel7))}
/* service gradients */
body.km-site .km-g-rr .elementor-button,body.km-site .km-g-rr .elementor-icon{background-image:linear-gradient(to right,var(--km-red),var(--km-red7))}
body.km-site .km-g-yy .elementor-button,body.km-site .km-g-yy .elementor-icon{background-image:linear-gradient(to right,var(--km-yel6),var(--km-yel7))}
body.km-site .km-g-ry .elementor-button,body.km-site .km-g-ry .elementor-icon{background-image:linear-gradient(to right,var(--km-red),var(--km-yel6))}
body.km-site .km-g-yr .elementor-button,body.km-site .km-g-yr .elementor-icon{background-image:linear-gradient(to right,var(--km-yel6),var(--km-red))}
body.km-site .km-hov90 .elementor-button:hover{opacity:.9}

/* ---------- Header ---------- */
body.km-site .km-header{position:fixed!important;top:0;left:0;right:0;z-index:50;background-color:transparent;transition:background-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),backdrop-filter .3s cubic-bezier(.4,0,.2,1);animation:km-k-hdr .6s cubic-bezier(.22,1.2,.36,1) backwards;padding:0}@keyframes km-k-hdr{from{transform:translateY(-100px)}}body.elementor-editor-active .km-header{position:relative!important;animation:none}

body.admin-bar.km-site .km-header{top:32px}
@media(max-width:782px){body.admin-bar.km-site .km-header{top:46px}}
body.km-site .km-header.km-scrolled{background-color:rgba(0,0,0,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--km-sh-lg)}
body.km-site .km-hbar{padding:16px}
body.km-site .km-brand{width:auto!important;--width:auto}
body.km-site .km-logo{width:48px!important;height:48px;flex-shrink:0}
body.km-site .km-logo img{width:48px;height:48px;object-fit:contain}
body.km-site .km-brand-title .elementor-heading-title{font-size:20px;line-height:28px;font-weight:700;color:#fff}
body.km-site .km-brand-sub .elementor-heading-title{font-size:12px;line-height:16px;font-weight:400;color:var(--km-yel)}
@media(min-width:768px){body.km-site .km-hdr .km-brand-title .elementor-heading-title{font-size:24px;line-height:32px}}
body.km-site .km-nav{width:auto!important;--width:auto}
body.km-site .km-navlink .elementor-heading-title{font-size:16px;line-height:24px;font-weight:600;color:#fff;position:relative;transition:color .15s cubic-bezier(.4,0,.2,1)}
body.km-site .km-navlink .elementor-heading-title a{display:inline-block;position:relative;color:#fff;transition:color .15s cubic-bezier(.4,0,.2,1)}
body.km-site .km-navlink .elementor-heading-title a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--km-yel);transition:all .3s cubic-bezier(.4,0,.2,1)}
body.km-site .km-navlink .elementor-heading-title a:hover{color:var(--km-yel)}
body.km-site .km-navlink .elementor-heading-title a:hover::after{width:100%}
.km-burger{background:transparent;border:0;color:#fff;padding:8px;border-radius:8px;cursor:pointer;line-height:0;transition:background-color .15s}
.km-burger:hover{background:rgba(220,38,38,.2)}
.km-burger svg{width:24px;height:24px;display:block}
.km-burger .km-i-x{display:none}
.km-menu-open .km-burger .km-i-x{display:block}
.km-menu-open .km-burger .km-i-menu{display:none}
body.km-site .km-mpanel{background-color:rgba(0,0,0,.98);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(220,38,38,.2);overflow:hidden;max-height:0;opacity:0;padding:0!important;transition:max-height .35s ease,opacity .3s ease;border-top-width:0}
body.km-site .km-menu-open .km-mpanel{max-height:520px;opacity:1;border-top-width:1px}
body.km-site .km-mnav{padding:16px!important}
body.km-site .km-mlink .elementor-heading-title a{display:block;text-align:right;padding:8px 16px;border-radius:8px;font-size:16px;line-height:24px;font-weight:600;color:#fff;transition:color .15s,background-color .15s}
body.km-site .km-mlink .elementor-heading-title a:hover{color:var(--km-yel);background:rgba(220,38,38,.1)}
body.km-site .km-mpanel .km-mlink,body.km-site .km-mpanel .km-btn{opacity:0;transform:translateX(-20px);transition:opacity .3s,transform .3s}
body.km-site .km-menu-open .km-mpanel .km-mlink,body.km-site .km-menu-open .km-mpanel .km-btn{opacity:1;transform:none}
body.km-site .km-mpanel .km-mlink:nth-child(2){transition-delay:.1s}
body.km-site .km-mpanel .km-mlink:nth-child(3){transition-delay:.2s}
body.km-site .km-mpanel .km-mlink:nth-child(4){transition-delay:.3s}
body.km-site .km-mpanel .km-mlink:nth-child(5){transition-delay:.4s}
@media(min-width:768px){body.km-site .km-mpanel{display:none!important}}

/* ---------- Hero ---------- */
body.km-site .km-hero{position:relative;overflow:hidden;min-height:100vh;padding-top:80px}
body.km-site .km-hero-text{text-align:right}
body.km-site .km-badge{align-self:flex-start;width:auto!important;margin-bottom:24px!important}
body.km-site .km-badge .elementor-heading-title{display:inline-block;background-image:linear-gradient(to right,var(--km-red),var(--km-yel6));color:#fff;padding:8px 24px;border-radius:9999px;font-size:14px;line-height:20px;font-weight:700}
body.km-site .km-hero-h1{margin-bottom:24px!important}
body.km-site .km-hero-h1 .elementor-heading-title{font-size:36px;line-height:45px;font-weight:700;color:#fff}
.km-grad{display:block;color:transparent;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(to right,var(--km-red5),var(--km-yel5));margin-top:8px!important;padding-bottom:8px}
body.km-site .km-hero-p{margin-bottom:32px!important}
body.km-site .km-hero-p .elementor-heading-title{color:var(--km-g3);font-size:18px;line-height:29.25px;font-weight:400}
@media(min-width:768px){
  body.km-site .km-hero-h1 .elementor-heading-title{font-size:60px;line-height:60px}
  body.km-site .km-hero-p .elementor-heading-title{font-size:20px;line-height:28px}
}
body.km-site .km-pills{margin-bottom:32px!important}
body.km-site .km-pills .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:24px;margin:0!important;padding:0;list-style:none}
body.km-site .km-pills .elementor-icon-list-item{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:8px 16px!important;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:8px;border:1px solid rgba(220,38,38,.2)}
body.km-site .km-pills .elementor-icon-list-item::after{display:none!important}
body.km-site .km-pills .elementor-icon-list-icon{display:flex;color:var(--km-yel);margin:0!important;padding:0!important}
body.km-site .km-pills .elementor-icon-list-icon svg{width:20px!important;height:20px!important;--e-icon-list-icon-size:20px}
body.km-site .km-pills .elementor-icon-list-text{color:#fff;font-weight:600;font-size:16px;line-height:24px;padding:0!important}
body.km-site .km-btnrow{width:100%}
body.km-site .km-hero-media{position:relative}
body.km-site .km-glow-w{position:absolute!important;inset:0;width:100%!important;max-width:none!important;z-index:0;margin:0!important}
body.km-site .km-glow-w .elementor-widget-container{height:100%}
.km-glow{position:absolute;inset:0;border-radius:24px;background-image:linear-gradient(to right,var(--km-red),var(--km-yel6));filter:blur(64px);opacity:.3;animation:km-pulse 2s cubic-bezier(.4,0,.6,1) infinite}
@keyframes km-pulse{0%,100%{opacity:1}50%{opacity:.5}}
body.km-site .km-hero-img{position:relative;z-index:1}
body.km-site .km-hero-img img{width:100%;height:auto;border-radius:24px;box-shadow:var(--km-sh-2xl)}
body.km-site .km-hero-stat{position:absolute!important;bottom:-24px;right:-24px;width:auto!important;--width:auto;z-index:2;background-image:linear-gradient(to right,var(--km-red),var(--km-red7));color:#fff;padding:24px!important;border-radius:16px;box-shadow:var(--km-sh-2xl);border:2px solid var(--km-yel)}
body.km-site .km-hero-stat .km-stat-ico .elementor-icon{font-size:32px;color:var(--km-yel);margin-bottom:8px!important;display:block;line-height:0}
body.km-site .km-hero-stat .km-stat-ico .elementor-icon svg{width:32px;height:32px}
body.km-site .km-hstat-v .elementor-heading-title{font-size:24px;line-height:32px;font-weight:700;color:#fff}
body.km-site .km-hstat-l .elementor-heading-title{font-size:14px;line-height:20px;color:var(--km-g2);font-weight:400}

/* ---------- Image frames ---------- */
body.km-site .km-frame img{width:100%;height:auto;border-radius:16px;box-shadow:var(--km-sh-2xl);border:2px solid rgba(220,38,38,.2)}
body.km-site .km-fill,body.km-site .km-fill .elementor-widget-container{height:100%}
body.km-site .km-fill img{height:100%;object-fit:cover}

/* ---------- About ---------- */
body.km-site .km-card-soft{background-image:linear-gradient(to right,rgba(220,38,38,.1),rgba(202,138,4,.1));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(220,38,38,.2);border-radius:12px;padding:24px!important}
body.km-site .km-card-title{margin-bottom:12px!important}
body.km-site .km-ico24 .elementor-icon{font-size:24px;line-height:0;color:var(--km-yel)}
body.km-site .km-ico24 .elementor-icon svg{width:24px;height:24px}
body.km-site .km-ico24{width:auto!important}
body.km-site .km-card-p .elementor-heading-title{color:var(--km-g3);font-size:16px;line-height:26px;font-weight:400}
body.km-site .km-stat{background-image:linear-gradient(to bottom right,rgba(220,38,38,.2),rgba(202,138,4,.2));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(220,38,38,.3);border-radius:12px;padding:24px!important;text-align:center;transition:transform .15s cubic-bezier(.4,0,.2,1)}
body.km-site .km-stat:hover{transform:scale(1.05)}
body.km-site .km-stat .km-ico40 .elementor-icon{font-size:40px;line-height:0;color:var(--km-yel);margin:0 auto 12px!important;display:block}
body.km-site .km-stat .km-ico40 .elementor-icon svg{width:40px;height:40px;margin:0 auto!important}
body.km-site .km-stat-v .elementor-heading-title{font-size:30px;line-height:36px;font-weight:700;color:#fff;margin-bottom:4px!important}
body.km-site .km-stat-l .elementor-heading-title{font-size:14px;line-height:20px;color:var(--km-g3);font-weight:400}

/* ---------- Services ---------- */
body.km-site .km-svc{position:relative}
body.km-site .km-svc::after{content:"";position:absolute;inset:0;border-radius:16px;background-image:linear-gradient(to right,rgba(220,38,38,.2),rgba(202,138,4,.2));filter:blur(24px);transition:all .15s cubic-bezier(.4,0,.2,1);z-index:0;pointer-events:none}
body.km-site .km-svc:hover::after{filter:blur(40px)}
body.km-site .km-svc-in{position:relative;z-index:1;background-image:linear-gradient(to bottom right,var(--km-g9),#000);border:1px solid rgba(220,38,38,.3);border-radius:16px;padding:32px!important;transition:all .15s cubic-bezier(.4,0,.2,1)}
body.km-site .km-svc-in:hover{border-color:rgba(250,204,21,.5)}
body.km-site .km-svc-ico{margin-bottom:24px!important;width:auto!important;align-self:flex-start}
body.km-site .km-svc-ico .elementor-icon-wrapper{line-height:0}
body.km-site .km-svc-ico .elementor-icon{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;box-shadow:var(--km-sh-lg)}
body.km-site .km-svc-ico .elementor-icon svg{width:32px;height:32px}
body.km-site .km-svc .km-h3{margin-bottom:12px!important}
body.km-site .km-svc .km-text{margin-bottom:24px!important}
body.km-site .km-checks{margin-bottom:24px!important}
body.km-site .km-checks .elementor-icon-list-items{display:flex;flex-direction:column;gap:12px;margin:0!important;padding:0}
body.km-site .km-checks .elementor-icon-list-item{display:flex!important;align-items:center;gap:12px;margin:0!important;padding:0!important;color:var(--km-g3)}
body.km-site .km-checks .elementor-icon-list-item::after{display:none!important}
body.km-site .km-checks .elementor-icon-list-icon{display:flex;color:var(--km-yel);flex-shrink:0;margin:0!important;padding:0!important}
body.km-site .km-checks .elementor-icon-list-icon svg{width:20px!important;height:20px!important}
body.km-site .km-checks .elementor-icon-list-text{color:var(--km-g3);font-size:16px;line-height:24px;padding:0!important}

/* ---------- Booking ---------- */
body.km-site .km-why{margin-top:32px!important;background-image:linear-gradient(to bottom right,rgba(220,38,38,.1),rgba(202,138,4,.1));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(220,38,38,.3);border-radius:12px;padding:24px!important}
body.km-site .km-dots .elementor-icon-list-items{display:flex;flex-direction:column;gap:12px;margin:0!important;padding:0}
body.km-site .km-dots .elementor-icon-list-item{display:flex!important;align-items:flex-start;gap:12px;margin:0!important;padding:0!important}
body.km-site .km-dots .elementor-icon-list-item::after{display:none!important}
body.km-site .km-dots .elementor-icon-list-item::before{content:"";width:8px;height:8px;border-radius:9999px;background:var(--km-yel);margin-top:8px!important;flex-shrink:0}
body.km-site .km-dots .elementor-icon-list-icon{display:none}
body.km-site .km-dots .elementor-icon-list-text{color:var(--km-g3);font-size:16px;line-height:24px;padding:0!important}
body.km-site .km-formcard{background-image:linear-gradient(to bottom right,var(--km-g9),#000);border:1px solid rgba(220,38,38,.3);border-radius:16px;padding:32px!important}

/* WPForms → Tailwind form */
body.km-site .km-formcard .wpforms-container{margin:0!important;padding:0;max-width:none}
body.km-site .km-formcard .wpforms-form{margin:0!important}
body.km-site .km-formcard .wpforms-field-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:24px}
body.km-site .km-formcard .wpforms-field{grid-column:1/-1;padding:0!important;margin:0!important;float:none!important;width:auto!important;clear:none!important}
body.km-site .km-formcard .wpforms-field.km-half{grid-column:auto}
body.km-site .km-formcard .wpforms-field-label{display:flex!important;align-items:center;gap:8px;color:#fff!important;font-family:var(--km-font)!important;font-weight:600!important;font-size:16px!important;line-height:24px!important;margin:0 0 8px!important;padding:0!important}
body.km-site .km-formcard .wpforms-required-label{display:none}
body.km-site .km-formcard .wpforms-field-label::before{content:"";width:20px;height:20px;flex-shrink:0;background-color:var(--km-yel);-webkit-mask:var(--km-ico) center/contain no-repeat;mask:var(--km-ico) center/contain no-repeat}
body.km-site .km-formcard .km-noicon .wpforms-field-label::before{display:none}
body.km-site .km-formcard input[type=text],body.km-site .km-formcard input[type=tel],body.km-site .km-formcard input[type=email],body.km-site .km-formcard input[type=date],body.km-site .km-formcard input[type=time],body.km-site .km-formcard select{width:100%!important;max-width:none!important;height:auto!important;min-height:50px;background-color:rgba(0,0,0,.5)!important;border:1px solid rgba(220,38,38,.3)!important;border-radius:8px!important;padding:12px 16px!important;color:#fff!important;font-family:var(--km-font)!important;font-size:16px!important;line-height:24px!important;box-shadow:none!important;outline:none!important;transition:border-color .15s cubic-bezier(.4,0,.2,1)!important;margin:0!important}
body.km-site .km-formcard select{-webkit-appearance:auto;appearance:auto;background-image:none!important}
body.km-site .km-formcard select option{background:#000;color:#fff}
body.km-site .km-formcard input:focus,body.km-site .km-formcard select:focus{border-color:var(--km-yel)!important}
body.km-site .km-formcard input::placeholder{color:var(--km-g4);opacity:1}
body.km-site .km-formcard .wpforms-submit-container{margin:24px 0 0!important;padding:0!important}
body.km-site .km-formcard button.wpforms-submit{width:100%!important;height:48px!important;padding:0 16px!important;border:0!important;border-radius:6px!important;background-color:transparent!important;background-image:linear-gradient(to right,var(--km-red),var(--km-red7))!important;color:#fff!important;font-family:var(--km-font)!important;font-size:18px!important;line-height:28px!important;font-weight:700!important;box-shadow:var(--km-sh-red)!important;cursor:pointer;transition:all .15s!important}
body.km-site .km-formcard button.wpforms-submit:hover{background-image:linear-gradient(to right,var(--km-red7),var(--km-red8))!important}
body.km-site .km-formcard label.wpforms-error,body.km-site .km-formcard em.wpforms-error{color:var(--km-red5)!important;font-size:13px!important;margin-top:6px!important;font-style:normal}
body.km-site .km-formcard .wpforms-confirmation-container-full{background:rgba(0,0,0,.5)!important;border:1px solid rgba(250,204,21,.4)!important;border-radius:8px;color:#fff!important;padding:24px!important;text-align:center;font-size:16px;line-height:26px}
body.km-site .km-formcard .wpforms-confirmation-container-full p{margin:0!important;color:#fff}

/* ---------- Contact ---------- */
body.km-site .km-ccard{display:flex;flex-direction:row;align-items:flex-start;gap:16px;background-image:linear-gradient(to right,rgba(220,38,38,.1),rgba(202,138,4,.1));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(220,38,38,.3);border-radius:12px;padding:24px!important;transition:all .15s cubic-bezier(.4,0,.2,1);color:inherit}
body.km-site a.km-ccard:hover{border-color:rgba(250,204,21,.5);transform:scale(1.05)}
body.km-site .km-cico{width:48px!important;flex-shrink:0}
body.km-site .km-cico .elementor-icon-wrapper{line-height:0}
body.km-site .km-cico .elementor-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;background-image:linear-gradient(to right,var(--km-red),var(--km-red7))}
body.km-site .km-cico .elementor-icon svg{width:24px;height:24px}
body.km-site .km-ctxt{width:auto!important;flex:1 1 auto}
body.km-site .km-ctitle .elementor-heading-title{color:#fff;font-weight:700;font-size:16px;line-height:24px;margin-bottom:4px!important}
body.km-site .km-cval .elementor-heading-title{color:var(--km-g3);font-size:16px;line-height:24px;font-weight:400}
body.km-site .km-cbtns{padding-top:16px!important}

/* ---------- Map ---------- */
body.km-site .km-loccard{background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:24px!important;border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:var(--km-sh-xl);height:100%}
body.km-site .km-locphoto{position:relative;margin-bottom:24px!important;overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.1);height:256px;flex-shrink:0}
body.km-site .km-locphoto .km-locimg,body.km-site .km-locphoto .km-locimg .elementor-widget-container{position:absolute;inset:0;width:100%!important;height:100%;margin:0!important}
body.km-site .km-locphoto .km-locimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}
body.km-site .km-locphoto:hover .km-locimg img{transform:scale(1.05)}
body.km-site .km-locover{position:absolute!important;inset:0;background-image:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.2),transparent);display:flex;align-items:flex-end;padding:24px!important;z-index:1}
body.km-site .km-locover .elementor-heading-title{color:#fff;font-weight:700;font-size:20px;line-height:28px}
body.km-site .km-locinfo{flex-grow:1}
body.km-site .km-loch{margin-bottom:8px!important}
body.km-site .km-loch .km-ico20 .elementor-icon{font-size:20px;line-height:0}
body.km-site .km-loch .km-ico20 .elementor-icon svg{width:20px;height:20px}
body.km-site .km-ico20{width:auto!important}
body.km-site .km-c-red .elementor-icon{color:var(--km-red5)}
body.km-site .km-c-yel .elementor-icon{color:var(--km-yel5)}
body.km-site .km-c-green .elementor-icon{color:var(--km-green)}
body.km-site .km-loch-t .elementor-heading-title{font-size:20px;line-height:28px;font-weight:700;color:#fff}
body.km-site .km-locp .elementor-heading-title{color:var(--km-g3);padding-right:28px;font-size:16px;line-height:24px;font-weight:400}
body.km-site .km-locp.km-relax .elementor-heading-title{line-height:26px}
body.km-site .km-locp.km-ltr .elementor-heading-title{direction:ltr;text-align:left}
body.km-site .km-locp.km-ltr .elementor-heading-title a{font-weight:700;transition:color .15s}
body.km-site .km-locp.km-ltr .elementor-heading-title a:hover{color:var(--km-red5)}
body.km-site .km-locfoot{margin-top:32px!important;padding-top:24px!important;border-top:1px solid rgba(255,255,255,.1)}
body.km-site .km-map{height:500px;min-height:500px;border-radius:16px;overflow:hidden;box-shadow:var(--km-sh-2xl);border:1px solid rgba(255,255,255,.1);position:relative;background:var(--km-g9);padding:0!important}
body.km-site .km-map .elementor-widget-html,body.km-site .km-map .elementor-widget-container{position:absolute;inset:0;width:100%!important;height:100%;margin:0!important}
body.km-site .km-map iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;display:block}
@media(min-width:1024px){body.km-site .km-map{height:auto}}

/* ---------- Testimonials ---------- */
body.km-site .km-tview{overflow:hidden;min-height:350px;display:flex;align-items:center;justify-content:center;position:relative}
@media(min-width:768px){body.km-site .km-tview{min-height:300px}}
body.km-site .km-slide{width:100%!important;display:none!important}
body.km-site .km-slide.km-on{display:flex!important}

body.km-site .km-slide.km-enter{animation:km-tin .5s ease forwards}
body.km-site .km-slide.km-leave{animation:km-tout .5s ease forwards}
@keyframes km-tin{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:none}}
@keyframes km-tout{from{opacity:1;transform:none}to{opacity:0;transform:translateX(-50px)}}
body.km-site .km-tcard{background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:32px!important;text-align:center;box-shadow:var(--km-sh-2xl);position:relative;margin:0 16px!important;width:auto!important}
@media(min-width:768px){body.km-site .km-tcard{padding:48px!important}}
body.km-site .km-tquote{position:absolute!important;top:24px;right:24px;width:auto!important;margin:0!important;z-index:0}
body.km-site .km-tquote .elementor-icon{font-size:48px;line-height:0;color:rgba(220,38,38,.2);transform:rotate(180deg)}
body.km-site .km-tquote .elementor-icon svg{width:48px;height:48px}
.km-stars{display:flex;justify-content:center;gap:4px;margin-bottom:24px!important}
.km-stars svg{width:24px;height:24px;color:var(--km-yel);fill:var(--km-yel)!important}
body.km-site .km-ttext .elementor-heading-title{font-size:18px;line-height:29.25px;color:var(--km-g2);font-weight:300;font-style:italic;margin-bottom:32px!important}
@media(min-width:768px){body.km-site .km-ttext .elementor-heading-title{font-size:24px;line-height:32px}}
body.km-site .km-tauthor{border-top:1px solid rgba(255,255,255,.05);padding-top:24px!important;margin:0 auto!important;width:100%!important;max-width:320px}
body.km-site .km-tavatar{width:48px!important;flex-shrink:0}
body.km-site .km-tavatar .elementor-icon-wrapper{line-height:0}
body.km-site .km-tavatar .elementor-icon{width:48px;height:48px;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;background-image:linear-gradient(to bottom right,var(--km-red),var(--km-yel6));box-shadow:var(--km-sh-lg)}
body.km-site .km-tavatar .elementor-icon svg{width:24px;height:24px}
body.km-site .km-tmeta{width:auto!important;text-align:right}
body.km-site .km-tname .elementor-heading-title{color:#fff;font-weight:700;font-size:18px;line-height:28px}
body.km-site .km-trole .elementor-heading-title{color:var(--km-g4);font-size:14px;line-height:20px;font-weight:400}
.km-tctl{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;margin-top:32px!important}
.km-tbtns{display:flex;gap:16px;order:2}
.km-tdots{display:flex;align-items:center;gap:8px;order:1}
@media(min-width:768px){.km-tctl{flex-direction:row}.km-tbtns{order:1}.km-tdots{order:2}}
.km-tbtn{width:48px;height:48px;border-radius:9999px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .15s cubic-bezier(.4,0,.2,1)}
.km-tbtn:hover{background:var(--km-red);border-color:var(--km-red);color:#fff}
.km-tbtn svg{width:24px;height:24px}
.km-tdot{height:8px;width:8px;border-radius:9999px;border:0;padding:0;background:var(--km-g7);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}
.km-tdot:hover{background:var(--km-g5)}
.km-tdot.km-on,.km-tdot.km-on:hover{background:var(--km-yel5);width:32px}
body.km-site .km-review{margin-top:64px!important;text-align:center}

/* ---------- Footer ---------- */
body.km-site .km-footer{background-image:linear-gradient(to bottom,#000,rgba(69,10,10,.3));border-top:1px solid rgba(220,38,38,.2);position:relative;overflow:hidden;padding:0!important}
body.km-site .km-fwrap{padding:48px 16px!important;position:relative;z-index:10}
body.km-site .km-fgrid{margin-bottom:32px!important}
body.km-site .km-fbrand{margin-bottom:16px!important}
body.km-site .km-fbt .elementor-heading-title{display:block;font-size:20px;line-height:28px;font-weight:700;color:#fff}
body.km-site .km-fbs .elementor-heading-title{font-size:12px;line-height:16px;color:var(--km-yel);font-weight:400}
body.km-site .km-fdesc .elementor-heading-title{color:var(--km-g3);font-size:14px;line-height:22.75px;font-weight:400}
body.km-site .km-ftitle{margin-bottom:16px!important}
body.km-site .km-ftitle .elementor-heading-title{display:block;color:#fff;font-weight:700;font-size:18px;line-height:28px}
body.km-site .km-flink .elementor-heading-title{color:var(--km-g3);font-size:14px;line-height:20px;font-weight:400;text-align:right}
body.km-site .km-flink .elementor-heading-title a{transition:color .15s}
body.km-site .km-flink .elementor-heading-title a:hover{color:var(--km-yel)}
body.km-site .km-fcontact .elementor-icon-list-items{display:flex;flex-direction:column;gap:12px;margin:0!important;padding:0}
body.km-site .km-fcontact .elementor-icon-list-item{margin:0!important;padding:0!important}
body.km-site .km-fcontact .elementor-icon-list-item::after{display:none!important}
body.km-site .km-fcontact .elementor-icon-list-item,body.km-site .km-fcontact .elementor-icon-list-item>a{display:flex!important;align-items:center;gap:8px;color:var(--km-g3);font-size:14px;line-height:20px;transition:color .15s}
body.km-site .km-fcontact .elementor-icon-list-icon{display:flex;color:inherit;margin:0!important;padding:0!important}
body.km-site .km-fcontact .elementor-icon-list-icon svg{width:16px!important;height:16px!important}
body.km-site .km-fcontact .elementor-icon-list-text{color:inherit;padding:0!important;font-size:14px;line-height:20px}
body.km-site .km-fcontact .elementor-icon-list-item>a:hover{color:var(--km-yel)}
body.km-site .km-fbottom{border-top:1px solid rgba(220,38,38,.2);padding-top:32px!important}
body.km-site .km-fcookie{margin:0 auto 8px!important;width:auto!important;align-self:center}
body.km-site .km-fcookie .elementor-heading-title a{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;line-height:20px;color:var(--km-g3);transition:color .15s;cursor:pointer}
body.km-site .km-fcookie .elementor-heading-title a:hover{color:var(--km-yel)}
body.km-site .km-copy .elementor-heading-title{text-align:center;color:var(--km-g4);font-size:14px;line-height:20px;font-weight:400}

/* ---------- Motion (framer-motion equivalents, keyframes so hover transforms stay free) ---------- */
body.km-site:not(.elementor-editor-active) .km-a{opacity:0}
body.km-site:not(.elementor-editor-active) .km-a.km-in{opacity:1;animation-duration:.6s;animation-timing-function:cubic-bezier(.25,.1,.25,1);animation-fill-mode:backwards;animation-name:km-k-fade}
body.km-site:not(.elementor-editor-active) .km-a.km-in.km-up50{animation-name:km-k-up50}
body.km-site:not(.elementor-editor-active) .km-a.km-in.km-up20{animation-name:km-k-up20}
body.km-site:not(.elementor-editor-active) .km-a.km-in.km-fl{animation-name:km-k-fl}
body.km-site:not(.elementor-editor-active) .km-a.km-in.km-fr{animation-name:km-k-fr}
body.km-site:not(.elementor-editor-active) .km-a.km-in.km-fl20{animation-name:km-k-fl20}
body.km-site:not(.elementor-editor-active) .km-a.km-in.km-fr20{animation-name:km-k-fr20}
body.km-site:not(.elementor-editor-active) .km-a.km-in.km-dn20{animation-name:km-k-dn20}
body.km-site:not(.elementor-editor-active) .km-a.km-in.km-zoom{animation-name:km-k-zoom}
body.km-site:not(.elementor-editor-active) .km-a.km-in.km-dur8{animation-duration:.8s}
body.km-site:not(.elementor-editor-active) .km-a.km-in.km-spring{animation-duration:.55s;animation-timing-function:cubic-bezier(.22,1.15,.36,1)}
@keyframes km-k-fade{from{opacity:0}}
@keyframes km-k-up50{from{opacity:0;transform:translateY(50px)}}
@keyframes km-k-up20{from{opacity:0;transform:translateY(20px)}}
@keyframes km-k-fl{from{opacity:0;transform:translateX(-50px)}}
@keyframes km-k-fr{from{opacity:0;transform:translateX(50px)}}
@keyframes km-k-fl20{from{opacity:0;transform:translateX(20px)}}
@keyframes km-k-fr20{from{opacity:0;transform:translateX(-20px)}}
@keyframes km-k-dn20{from{opacity:0;transform:translateY(-20px)}}
@keyframes km-k-zoom{from{opacity:0;transform:scale(.8)}}
.km-d1{animation-delay:.1s!important}.km-d2{animation-delay:.2s!important}.km-d3{animation-delay:.3s!important}.km-d4{animation-delay:.4s!important}.km-d5{animation-delay:.5s!important}.km-d6{animation-delay:.6s!important}.km-d10{animation-delay:1s!important}
/* pills stagger */
body.km-site:not(.elementor-editor-active) .km-pills .elementor-icon-list-item{opacity:0;transform:translateY(20px);transition:opacity .5s,transform .55s cubic-bezier(.22,1.15,.36,1)}
body.km-site.km-loaded .km-pills .elementor-icon-list-item{opacity:1;transform:none}
body.km-site .km-pills .elementor-icon-list-item:nth-child(1){transition-delay:.4s}
body.km-site .km-pills .elementor-icon-list-item:nth-child(2){transition-delay:.5s}
body.km-site .km-pills .elementor-icon-list-item:nth-child(3){transition-delay:.6s}

/* ---------- Toast (shadcn) ---------- */
.km-toasts{position:fixed;top:0;z-index:100;display:flex;max-height:100vh;width:100%;flex-direction:column-reverse;padding:16px;pointer-events:none;left:0;right:0;margin:0!important;list-style:none}
@media(min-width:640px){.km-toasts{bottom:0;right:0;top:auto;left:auto;flex-direction:column}}
@media(min-width:768px){.km-toasts{max-width:420px}}
.km-toast{pointer-events:auto;position:relative;display:flex;width:100%;align-items:center;justify-content:space-between;overflow:hidden;border-radius:6px;border:1px solid rgba(239,68,68,.2);padding:24px 32px 24px 24px;box-shadow:var(--km-sh-lg);background:#000;color:#fff;font-family:var(--km-font);direction:rtl;animation:km-toast-in .35s ease}
@media(max-width:639px){.km-toast{animation-name:km-toast-in-top}}
.km-toast.km-out{animation:km-toast-out .2s ease forwards}
@keyframes km-toast-in{from{transform:translateY(100%)}to{transform:none}}
@keyframes km-toast-in-top{from{transform:translateY(-100%)}to{transform:none}}
@keyframes km-toast-out{from{opacity:1;transform:none}to{opacity:0;transform:translateX(100%)}}
.km-toast-t{font-size:14px;line-height:20px;font-weight:600}
.km-toast-d{font-size:14px;line-height:20px;opacity:.9}
.km-toast-x{position:absolute;right:8px;top:8px;border-radius:6px;padding:4px;color:rgba(255,255,255,.5);opacity:0;transition:opacity .15s;background:none;border:0;cursor:pointer;line-height:0}
.km-toast:hover .km-toast-x{opacity:1}
.km-toast-x svg{width:16px;height:16px}

/* ---------- Cookie banner ---------- */
.km-cookie{position:fixed;bottom:16px;left:16px;right:16px;z-index:50;margin:0 auto!important;max-width:672px;border-radius:12px;border:1px solid rgba(220,38,38,.4);background:var(--km-zinc95);padding:20px;color:#fff;box-shadow:var(--km-sh-xl);max-height:85dvh;overflow-y:auto;font-family:var(--km-font);direction:rtl}
.km-cookie h2{font-weight:700;font-size:18px;line-height:28px;margin:0 0 8px!important;color:#fff;font-family:var(--km-font)}
.km-cookie p{font-size:14px;line-height:20px;color:var(--km-g3);margin:0 0 16px!important}
.km-cookie fieldset{border:0;padding:0;margin:0 0 16px!important;display:flex;flex-direction:column;gap:12px}
.km-cookie legend{font-size:14px;line-height:20px;margin-bottom:12px!important;padding:0}
.km-cookie label{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:20px;color:#fff}
.km-cookie label input{margin-top:4px!important;accent-color:var(--km-red)}
.km-cookie small{display:block;color:var(--km-g4);font-size:12px}
.km-cookie .km-cbtns2{display:flex;flex-wrap:wrap;gap:8px}
.km-cookie button{min-height:44px;flex:1 1 0%;border-radius:8px;padding:0 16px;font-size:14px;line-height:20px;font-family:var(--km-font);color:#fff;background:transparent;border:1px solid var(--km-g5);cursor:pointer}
.km-cookie button.km-acc{background:var(--km-red7);border-color:var(--km-red7);font-weight:700}
.km-cookie button.km-rej{font-weight:700}

body.km-site #ast-scroll-top{display:none!important}
body.km-site .km-stars svg.lucide{fill:var(--km-yel)!important;stroke:var(--km-yel)}
/* phone number LTR isolate */
.km-num{direction:ltr;unicode-bidi:isolate;display:inline-block}
/* WhatsApp floating button */
.km-wa{position:fixed;left:24px;bottom:24px;z-index:45;width:60px;height:60px;border-radius:9999px;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px -5px rgba(37,211,102,.5),0 8px 10px -6px rgba(0,0,0,.3);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;animation:km-k-zoom .5s cubic-bezier(.22,1.15,.36,1) 1.2s backwards}
.km-wa:hover{transform:scale(1.08);box-shadow:0 14px 30px -5px rgba(37,211,102,.6),0 8px 10px -6px rgba(0,0,0,.3)}
.km-wa svg{width:32px;height:32px;fill:#fff;position:relative;z-index:1}
.km-wa::before{content:'';position:absolute;inset:0;border-radius:inherit;background:#25D366;animation:km-wa-ping 2s cubic-bezier(0,0,.2,1) infinite;z-index:0}
@keyframes km-wa-ping{75%,100%{transform:scale(1.6);opacity:0}}
.km-wa-tip{position:absolute;left:72px;top:50%;transform:translateY(-50%) translateX(-6px);white-space:nowrap;background:#fff;color:#111827;font-family:var(--km-font);font-size:14px;line-height:20px;font-weight:700;padding:8px 14px;border-radius:9999px;box-shadow:var(--km-sh-lg);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.km-wa:hover .km-wa-tip{opacity:1;transform:translateY(-50%) translateX(0)}
@media(max-width:767px){.km-wa{left:16px;bottom:16px;width:56px;height:56px}.km-wa svg{width:30px;height:30px}.km-wa-tip{display:none}}
body.elementor-editor-active .km-wa{display:none}