/* =========================================================
   VIP Maintenance – Luxury theme styles
   Navy #0B1A30 · Gold #C8A24A · Ivory #F7F5F0
   ========================================================= */
:root{
  --navy:#0B1A30;--navy2:#13294B;--gold:#C8A24A;--gold2:#E7CB85;--ivory:#F7F5F0;
  --text:#5B6475;--line:#ECE7DC;--wa:#25D366;--white:#fff;
  --radius:20px;--shadow:0 20px 50px -20px rgba(11,26,48,.28);--shadow-lg:0 30px 70px -25px rgba(11,26,48,.45);
  --font:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;--font-ar:"Cairo","Poppins",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--text);background:#fff;line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--gold);transition:color .25s}
a:hover{color:var(--navy)}
h1,h2,h3,h4,h5,h6{font-family:var(--font);color:var(--navy);line-height:1.25;margin:0 0 .6em}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link:focus{clip:auto;width:auto;height:auto;z-index:100000;background:#fff;padding:10px 16px;left:10px;top:10px}
.vipm-wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.vipm-ico{flex:none;vertical-align:middle}

/* ---------- Buttons (theme) ---------- */
.vipm-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:50px;font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap;transition:transform .25s,box-shadow .25s,background .25s}
.vipm-btn:hover{transform:translateY(-2px)}
.vipm-btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--navy)!important;box-shadow:0 10px 25px -10px rgba(200,162,74,.8)}
.vipm-btn-wa{background:var(--wa);color:#fff!important;box-shadow:0 10px 25px -10px rgba(37,211,102,.8)}

/* ---------- Header ---------- */
.vipm-header{position:sticky;top:0;z-index:999;font-size:13.5px}
.admin-bar .vipm-header{top:32px}
@media(max-width:782px){.admin-bar .vipm-header{top:0}}
.vipm-topbar{background:#07121F;color:#AEB8CA;transition:margin .35s}
.vipm-topbar .vipm-wrap{display:flex;gap:26px;align-items:center;min-height:40px}
.vipm-topbar span,.vipm-topbar a{display:inline-flex;align-items:center;gap:7px;color:#AEB8CA;text-decoration:none}
.vipm-topbar .vipm-ico{color:var(--gold);width:15px;height:15px}
.vipm-topbar a:hover{color:var(--gold2)}
.vipm-push{margin-left:auto;gap:22px!important}
.vipm-nav{background:rgba(11,26,48,.96);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid rgba(200,162,74,.18);transition:box-shadow .3s}
.vipm-header.is-scrolled .vipm-nav{box-shadow:0 12px 40px -12px rgba(0,0,0,.5)}
.vipm-header.is-scrolled .vipm-topbar{margin-top:-40px}
.vipm-nav .vipm-wrap{display:flex;align-items:center;gap:24px;min-height:82px}
.vipm-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.vipm-logo img{max-height:58px;width:auto}
.vipm-logo-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--navy);box-shadow:0 8px 20px -8px rgba(200,162,74,.9)}
.vipm-logo-mark .vipm-ico{width:24px;height:24px}
.vipm-logo-text{display:flex;flex-direction:column;line-height:1.2}
.vipm-logo-text strong{color:#fff;font-size:17px;font-weight:700;letter-spacing:.2px}
.vipm-logo-text small{color:var(--gold2);font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;margin-top:3px}
.vipm-menu-wrap{margin-left:auto}
.vipm-menu{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.vipm-menu li{position:relative}
.vipm-menu a{display:block;color:#E4E9F2;text-decoration:none;font-weight:500;font-size:15px;padding:10px 16px;border-radius:30px;transition:color .25s,background .25s}
.vipm-menu a:hover,.vipm-menu .current-menu-item>a{color:var(--gold2);background:rgba(200,162,74,.1)}
.vipm-menu .sub-menu{list-style:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--navy);padding:10px;margin:0;border-radius:14px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;border:1px solid rgba(200,162,74,.2)}
.vipm-menu li:hover>.sub-menu{opacity:1;visibility:visible;transform:none}
.vipm-menu-cta{display:none}
.vipm-actions{display:flex;align-items:center;gap:10px}
.vipm-burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid rgba(200,162,74,.4);background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}
.vipm-burger span{width:20px;height:2px;background:var(--gold2);border-radius:2px;transition:.3s}
.vipm-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.vipm-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.vipm-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:1180px){.vipm-hide-md{display:none!important}}
@media(max-width:1024px){
  .vipm-nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--navy)}
  .vipm-burger{display:flex}
  .vipm-actions{margin-left:auto}
  .vipm-menu-wrap{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:var(--navy);padding:96px 24px 30px;transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.8,.2,1);box-shadow:var(--shadow-lg);overflow-y:auto;z-index:-1;border-left:1px solid rgba(200,162,74,.25)}
  .vipm-menu-wrap.is-open{transform:none}
  .vipm-menu{flex-direction:column;gap:2px}
  .vipm-menu a{font-size:17px;padding:14px 16px;border-radius:12px;border-bottom:1px solid rgba(255,255,255,.05)}
  .vipm-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 14px;background:transparent}
  .vipm-menu-cta{display:flex;flex-direction:column;gap:12px;margin-top:26px}
  .vipm-menu-cta .vipm-btn{justify-content:center;padding:15px}
  body.vipm-lock{overflow:hidden}
}
@media(max-width:767px){
  .vipm-hide-sm{display:none!important}
  .vipm-topbar .vipm-wrap{justify-content:space-between;gap:10px;font-size:12px}
  .vipm-push{margin-left:0}
  .vipm-nav .vipm-wrap{min-height:70px}
  .vipm-logo-mark{width:40px;height:40px}
  .vipm-logo-text strong{font-size:15px}
  .vipm-logo-text small{font-size:10px;letter-spacing:1px}
}

/* ---------- Footer ---------- */
.vipm-footer{background:#07121F;color:#9FAAC0;padding:80px 0 0;position:relative}
.vipm-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.vipm-fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px}
.vipm-fcol h4{color:#fff;font-size:17px;margin-bottom:22px;position:relative;padding-bottom:12px}
.vipm-fcol h4::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;background:var(--gold)}
.vipm-fcol ul{list-style:none;margin:0;padding:0}
.vipm-fcol li{margin-bottom:11px;font-size:14.5px}
.vipm-fcol a{color:#9FAAC0;text-decoration:none}
.vipm-fcol a:hover{color:var(--gold2)}
.vipm-fabout p{font-size:14.5px;margin:18px 0 22px;max-width:340px}
.vipm-fcontact li{display:flex;gap:10px;align-items:flex-start}
.vipm-fcontact .vipm-ico{color:var(--gold);margin-top:4px}
.vipm-fbottom{border-top:1px solid rgba(255,255,255,.07);margin-top:60px;padding:22px 0;font-size:13.5px}
.vipm-fbottom .vipm-wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.vipm-fmenu{list-style:none;display:flex;gap:18px;margin:0;padding:0;flex-wrap:wrap}
.vipm-fmenu a{color:#9FAAC0;text-decoration:none}
@media(max-width:1024px){.vipm-fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.vipm-fgrid{grid-template-columns:1fr;gap:34px;text-align:left}.vipm-footer{padding-top:60px}.vipm-fbottom{padding-bottom:90px}}

/* ---------- Floating buttons & mobile bar ---------- */
.vipm-float{position:fixed;right:22px;bottom:24px;display:flex;flex-direction:column;gap:14px;z-index:998}
.vipm-float-btn{position:relative;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;box-shadow:0 14px 30px -10px rgba(0,0,0,.45);transition:transform .25s}
.vipm-float-btn:hover{transform:scale(1.08);color:#fff}
.vipm-float-btn .vipm-ico{width:28px;height:28px}
.vipm-float-wa{background:var(--wa)}
.vipm-float-wa::before,.vipm-float-wa::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:vipmPulse 2.2s infinite;z-index:-1}
.vipm-float-wa::after{animation-delay:1.1s}
.vipm-float-call{background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--navy)}
.vipm-float-call:hover{color:var(--navy)}
.vipm-tip{position:absolute;right:74px;background:var(--navy);color:#fff;font-size:13px;font-weight:500;padding:8px 14px;border-radius:10px;white-space:nowrap;opacity:0;transform:translateX(8px);transition:.25s;pointer-events:none}
.vipm-float-btn:hover .vipm-tip{opacity:1;transform:none}
@keyframes vipmPulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}
.vipm-mbar{display:none}
@media(max-width:767px){
  .vipm-float{display:none}
  .vipm-mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:998;box-shadow:0 -10px 30px -10px rgba(0,0,0,.35);padding-bottom:env(safe-area-inset-bottom);background:var(--navy)}
  .vipm-mbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 10px;font-weight:600;font-size:15px;text-decoration:none}
  .vipm-mbar-call{background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--navy)!important}
  .vipm-mbar-wa{background:var(--wa);color:#fff!important}
  body{padding-bottom:56px}
}

/* ---------- Blog / default pages ---------- */
.vipm-pagehead{background:linear-gradient(120deg,var(--navy),var(--navy2));padding:90px 0 70px;text-align:center}
.vipm-pagehead h1{color:#fff;font-size:clamp(30px,5vw,48px);margin:0}
.vipm-content{padding:70px 20px}
.vipm-entry{max-width:820px;margin:0 auto}
.vipm-thumb{border-radius:var(--radius);margin-bottom:30px}
.vipm-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px}
.vipm-post-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s}
.vipm-post-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}
.vipm-post-card img{width:100%;height:220px;object-fit:cover;display:block}
.vipm-post-body{padding:24px}
.vipm-post-body h2{font-size:20px}
.vipm-post-body h2 a{color:var(--navy);text-decoration:none}

/* =========================================================
   Elementor section styling (classes set in demo pages)
   All texts/colors/sizes remain editable in Elementor.
   ========================================================= */
.kp-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:12px}
.kp-eyebrow .elementor-heading-title::before{content:"";width:34px;height:2px;background:currentColor;display:inline-block}
.kp-center .kp-eyebrow .elementor-heading-title::after{content:"";width:34px;height:2px;background:currentColor;display:inline-block}
.kp-gold{background:linear-gradient(120deg,var(--gold2),var(--gold) 60%,#F3DFA6);-webkit-background-clip:text;background-clip:text;color:transparent}
.kp-ar .elementor-heading-title{font-family:var(--font-ar)!important;direction:rtl;unicode-bidi:plaintext}
.kp-narrow{max-width:700px;margin-left:auto;margin-right:auto}

/* Elementor buttons */
.kp-btn .elementor-button{transition:transform .25s,box-shadow .25s,background .25s!important}
.kp-btn .elementor-button:hover{transform:translateY(-3px)}
.kp-btn-gold .elementor-button{background-image:linear-gradient(135deg,var(--gold2),var(--gold));box-shadow:0 14px 30px -12px rgba(200,162,74,.9)}
.kp-btn-wa .elementor-button{box-shadow:0 14px 30px -12px rgba(37,211,102,.85)}
.kp-btn-navy .elementor-button{box-shadow:0 14px 30px -14px rgba(11,26,48,.8)}
.kp-btn .elementor-button-icon svg{width:1em;fill:currentColor}

/* Button rows (inner sections) */
.kp-btnrow>.elementor-container{flex-wrap:wrap;gap:14px;justify-content:flex-start}
.kp-btnrow.kp-center>.elementor-container{justify-content:center}
.kp-btnrow .elementor-column{width:auto!important;flex:0 0 auto}
.kp-btnrow .elementor-column>.elementor-widget-wrap{padding:0!important}
@media(max-width:767px){
  .kp-btnrow>.elementor-container{flex-direction:column;align-items:stretch}
  .kp-btnrow .elementor-column{width:100%!important}
  .kp-btnrow .elementor-button,.kp-cta-btns .elementor-button{width:100%;justify-content:center}
}

/* Hero */
.kp-hero{overflow:hidden}
.kp-hero::after{content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(200,162,74,.25),transparent 70%);pointer-events:none}
.kp-hero .kp-list .elementor-icon-list-items{gap:8px 22px}
.kp-hero-right>.elementor-widget-wrap{z-index:2}
.kp-form-card{background:rgba(255,255,255,.07);border:1px solid rgba(231,203,133,.3);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:26px;padding:34px 30px;box-shadow:var(--shadow-lg);color:#fff}
.kp-form-card h3{color:#fff;font-size:24px;margin:8px 0 20px;font-weight:700}
.kp-form-head{display:inline-flex;align-items:center;gap:9px;background:rgba(37,211,102,.14);color:#7EF0A8;font-size:13px;font-weight:600;padding:6px 14px;border-radius:30px}
.kp-live{width:9px;height:9px;border-radius:50%;background:var(--wa);box-shadow:0 0 0 0 rgba(37,211,102,.7);animation:kpLive 1.6s infinite}
@keyframes kpLive{70%{box-shadow:0 0 0 9px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.kp-wa-form{display:flex;flex-direction:column;gap:14px}
.kp-wa-form .kp-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kp-wa-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:#C9D2E3}
.kp-wa-form input,.kp-wa-form select,.kp-wa-form textarea{width:100%;font-family:var(--font);font-size:15px;color:#fff;background:rgba(7,18,31,.55);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:13px 15px;outline:none;transition:border .25s,box-shadow .25s;appearance:none;-webkit-appearance:none}
.kp-wa-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='%23E7CB85'%3E%3Cpath d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:38px}
.kp-wa-form option,.kp-wa-form optgroup{color:#0B1A30;background:#fff}
.kp-wa-form input::placeholder,.kp-wa-form textarea::placeholder{color:#7F8BA3}
.kp-wa-form input:focus,.kp-wa-form select:focus,.kp-wa-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,162,74,.2)}
.kp-wa-form .is-invalid{border-color:#ff6b6b!important}
.kp-submit{display:flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;background:var(--wa);color:#fff;font-family:var(--font);font-size:16px;font-weight:600;padding:16px;border-radius:50px;margin-top:4px;box-shadow:0 14px 30px -12px rgba(37,211,102,.9);transition:transform .25s,background .25s}
.kp-submit:hover{transform:translateY(-2px);background:#1EBE5A}
.kp-form-note{margin:2px 0 0;font-size:12.5px;color:#9FAAC0;text-align:center}
.kp-form-light{background:#fff;border-color:var(--line);color:var(--text);box-shadow:var(--shadow)}
.kp-form-light h3{color:var(--navy)}
.kp-form-light .kp-wa-form label{color:var(--navy)}
.kp-form-light .kp-wa-form input,.kp-form-light .kp-wa-form select,.kp-form-light .kp-wa-form textarea{background:var(--ivory);color:var(--navy);border-color:var(--line)}
@media(max-width:767px){.kp-form-card{padding:26px 20px;border-radius:22px}.kp-wa-form .kp-row{grid-template-columns:1fr}.kp-hero-right{margin-top:20px}}

/* Stats */
.kp-stats .elementor-counter{text-align:center}
.kp-stats .elementor-column+.elementor-column>.elementor-widget-wrap{border-left:1px solid rgba(200,162,74,.18)}
@media(max-width:767px){.kp-stats .elementor-column{width:50%!important}.kp-stats .elementor-column>.elementor-widget-wrap{border-left:0!important}}

/* Service cards */
.kp-card>.elementor-widget-wrap{background:#fff;border-radius:24px;overflow:hidden;padding:0 0 30px!important;box-shadow:var(--shadow);border:1px solid var(--line);transition:transform .35s,box-shadow .35s;align-content:flex-start;height:100%}
.kp-card:hover>.elementor-widget-wrap{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.kp-card .elementor-widget:not(.kp-card-img){padding:0 28px}
.kp-card-img{margin-bottom:6px!important;overflow:hidden}
.kp-card-img img{width:100%;height:240px;object-fit:cover;border-radius:0!important;transition:transform .6s}
.kp-card:hover .kp-card-img img{transform:scale(1.06)}
.kp-card-title i{color:var(--gold);margin-right:6px}
.kp-cards>.elementor-container,.kp-areas-row>.elementor-container,.kp-testis>.elementor-container,.kp-grid>.elementor-container{align-items:stretch}
@media(max-width:1024px) and (min-width:768px){.kp-cards .elementor-column{width:50%!important}.kp-cards .elementor-column:last-child{width:100%!important}.kp-cards .elementor-column:last-child .kp-card-img img{height:300px}}

/* Mini service grid / contact boxes */
.kp-mini>.elementor-widget-wrap{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 24px!important;transition:.3s;height:100%;align-content:flex-start}
.kp-mini:hover>.elementor-widget-wrap{border-color:var(--gold);box-shadow:var(--shadow);transform:translateY(-6px)}
.kp-ibox .elementor-icon{border-radius:16px;transition:.35s}
.kp-ibox.kp-step .elementor-icon,.kp-ibox-left .elementor-icon{border-radius:50%}
.kp-contact-box a{color:var(--navy);font-weight:600;text-decoration:none}
@media(max-width:1024px) and (min-width:768px){.kp-grid .elementor-column,.kp-contact-cards .elementor-column,.kp-steps .elementor-column{width:50%!important}}

/* Why */
.kp-why-media>.elementor-widget-wrap{position:relative}
.kp-why-img img{width:100%;height:560px;object-fit:cover;border-radius:26px!important;box-shadow:var(--shadow-lg)}
.kp-why-media .elementor-widget-html{position:absolute!important;left:-18px;bottom:36px;width:auto!important}
.kp-badge{background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--navy);padding:20px 26px;border-radius:20px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;line-height:1.1}
.kp-badge strong{font-size:34px;font-weight:700}
.kp-badge span{font-size:13px;font-weight:600;margin-top:6px;letter-spacing:.5px}
.kp-ibox-left .elementor-icon-box-wrapper{align-items:flex-start}
.kp-ibox-left{padding:14px 0;border-bottom:1px dashed var(--line)}
@media(max-width:767px){.kp-why-img img{height:360px}.kp-why-media .elementor-widget-html{left:14px;bottom:18px}}

/* Areas */
.kp-area>.elementor-widget-wrap{background:rgba(255,255,255,.04);border:1px solid rgba(200,162,74,.25);border-radius:26px;overflow:hidden;padding:0 0 32px!important;transition:.35s;height:100%;align-content:flex-start;backdrop-filter:blur(6px)}
.kp-area:hover>.elementor-widget-wrap{border-color:var(--gold);transform:translateY(-6px)}
.kp-area .elementor-widget:not(.kp-area-img){padding:0 32px}
.kp-area-img img{width:100%;height:230px;object-fit:cover;border-radius:0!important}
.kp-area .elementor-heading-title i{color:var(--gold);margin-right:8px}
.kp-list-2col .elementor-icon-list-items{display:grid!important;grid-template-columns:1fr 1fr;gap:10px 18px}
.kp-list-2col .elementor-icon-list-item{margin:0!important;padding:0!important}
.kp-list-2col .elementor-icon-list-item::after{display:none!important}
@media(max-width:480px){.kp-list-2col .elementor-icon-list-items{grid-template-columns:1fr}}

/* Process */
.kp-step .elementor-icon{box-shadow:0 0 0 10px rgba(200,162,74,.14)}
.kp-steps .elementor-column:hover .kp-step .elementor-icon{transform:rotate(-8deg) scale(1.06)}

/* Testimonials */
.kp-tcard>.elementor-widget-wrap{background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px 30px!important;box-shadow:var(--shadow);height:100%;align-content:flex-start;position:relative;transition:.3s}
.kp-tcard:hover>.elementor-widget-wrap{transform:translateY(-6px)}
.kp-tcard>.elementor-widget-wrap::before{content:"\201C";position:absolute;right:26px;top:6px;font-size:96px;line-height:1;color:rgba(200,162,74,.22);font-family:Georgia,serif}
.kp-stars{color:var(--gold);font-size:19px;letter-spacing:3px}
.kp-testi .elementor-testimonial-wrapper{text-align:left}
.kp-testi .elementor-testimonial-name{font-weight:700}

/* FAQ */
.kp-faq .elementor-accordion-item{border:1px solid var(--line)!important;border-radius:16px;margin-bottom:12px;overflow:hidden;background:#fff;transition:box-shadow .3s}
.kp-faq .elementor-accordion-item:hover{box-shadow:var(--shadow)}
.kp-faq .elementor-tab-title{border:0!important}
.kp-faq .elementor-tab-content{border-top:0!important}

/* CTA */
.kp-cta .elementor-heading-title{letter-spacing:-.3px}
.kp-cta-btns .elementor-widget-wrap{align-content:center}
@media(max-width:767px){.kp-cta{text-align:center}}

/* Page hero / map */
.kp-page-hero .elementor-heading-title{text-wrap:balance}
.kp-map iframe{border-radius:26px;box-shadow:var(--shadow)}

/* v1.1 fixes */
.vipm-menu .sub-menu .sub-menu{top:-10px;left:100%;margin-left:6px}
.vipm-menu .sub-menu a{font-size:14px;padding:9px 14px;border-radius:10px}
.vipm-menu .menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 0 3px 8px;opacity:.7}
.vipm-menu .sub-menu .menu-item-has-children>a::after{transform:rotate(-45deg);float:right;margin-top:9px}
@media(max-width:1024px){.vipm-menu .sub-menu .sub-menu{margin-left:0;padding-left:14px}.vipm-menu .sub-menu a{font-size:15px}}
.kp-why-media>.elementor-widget-wrap,.kp-intro .kp-why-media>.elementor-widget-wrap{align-self:flex-start;height:auto}
.kp-intro .kp-why-img img{height:520px}
.kp-more{display:inline-block;margin-top:8px;color:var(--gold);font-weight:600;font-size:14px}
.kp-ibox a{color:inherit;text-decoration:none}
.kp-mini .kp-ibox .elementor-icon-box-title a:hover{color:var(--gold)}
.kp-btnrow-sm>.elementor-container{gap:10px}
.kp-btnrow-sm .elementor-button{padding:12px 18px!important;font-size:13.5px!important}
.kp-btn-white .elementor-button{border:1px solid var(--line)}
.kp-card .kp-btnrow-sm{padding:0 28px!important}
.kp-card .kp-btnrow-sm .elementor-widget{padding:0!important}
.kp-card-title a{color:inherit}
.kp-step .elementor-icon{box-shadow:0 0 0 8px rgba(200,162,74,.14)}
.kp-legal h2{font-size:30px}.kp-legal h3{font-size:20px;margin-top:1.6em}
.kp-hero h1.elementor-heading-title{text-wrap:balance}
.kp-hero .kp-ar .elementor-heading-title{direction:rtl;text-align:left}
.kp-hero .elementor-container{position:relative;z-index:1}
@media(max-width:767px){.kp-intro .kp-why-img img{height:320px}.kp-btnrow-sm>.elementor-container{flex-direction:row!important}.kp-btnrow-sm .elementor-column{width:auto!important}}

/* Reveal animation (front-end only) */
.vipm-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.vipm-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.vipm-reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

/* =========================================================
   v1.2 SPACING SYSTEM – gaps between cards, columns & rows
   ========================================================= */
/* Card columns: the column gets the gutter, the inner box gets the card look */
.elementor-section .elementor-column.kp-card,
.elementor-section .elementor-column.kp-mini,
.elementor-section .elementor-column.kp-area,
.elementor-section .elementor-column.kp-tcard{padding:14px}
.kp-card>.elementor-widget-wrap,.kp-mini>.elementor-widget-wrap,
.kp-area>.elementor-widget-wrap,.kp-tcard>.elementor-widget-wrap{width:100%}
/* Inner card padding & spacing between widgets inside cards */
.kp-mini>.elementor-widget-wrap{padding:34px 28px!important}
.kp-tcard>.elementor-widget-wrap{padding:38px 32px!important}
.kp-card>.elementor-widget-wrap{padding:0 0 32px!important}
.kp-area>.elementor-widget-wrap{padding:0 0 36px!important}
.kp-card .elementor-widget:not(.kp-card-img),.kp-area .elementor-widget:not(.kp-area-img){padding:0 30px}
.kp-card .elementor-widget-wrap>.elementor-element,.kp-area .elementor-widget-wrap>.elementor-element{margin-bottom:16px}
.kp-card .elementor-widget-wrap>.elementor-element:last-child,.kp-area .elementor-widget-wrap>.elementor-element:last-child{margin-bottom:0}
.kp-card-img,.kp-area-img{margin-bottom:24px!important}
/* Card rows: pull grid back so outer edges align with headings */
.kp-cards>.elementor-container,.kp-grid>.elementor-container,.kp-areas-row>.elementor-container,
.kp-testis>.elementor-container,.kp-steps>.elementor-container{margin-left:-14px;margin-right:-14px}
.kp-grid+.kp-grid{margin-top:0}
/* Two-column content sections: breathing room between text and image */
.kp-intro>.elementor-container>.elementor-column>.elementor-widget-wrap,
.kp-why>.elementor-container>.elementor-column>.elementor-widget-wrap,
.kp-faq-sec>.elementor-container>.elementor-column>.elementor-widget-wrap,
.kp-cta>.elementor-container>.elementor-column>.elementor-widget-wrap,
.kp-hero>.elementor-container>.elementor-column>.elementor-widget-wrap,
.kp-contact>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:15px 30px}
/* Headings / text spacing */
.elementor-section .kp-eyebrow{margin-bottom:6px}
.kp-why .kp-ibox-left{margin-bottom:6px}
.kp-stats .elementor-column>.elementor-widget-wrap{padding:20px 15px}
.kp-page-hero .elementor-widget-wrap>.elementor-element{margin-bottom:14px}
.kp-btnrow{margin-top:10px}

/* Tablet */
@media(max-width:1024px){
  .kp-intro>.elementor-container>.elementor-column>.elementor-widget-wrap,
  .kp-why>.elementor-container>.elementor-column>.elementor-widget-wrap,
  .kp-faq-sec>.elementor-container>.elementor-column>.elementor-widget-wrap,
  .kp-cta>.elementor-container>.elementor-column>.elementor-widget-wrap,
  .kp-hero>.elementor-container>.elementor-column>.elementor-widget-wrap,
  .kp-contact>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:12px 16px}
  .elementor-section .elementor-column.kp-card,.elementor-section .elementor-column.kp-mini,
  .elementor-section .elementor-column.kp-area,.elementor-section .elementor-column.kp-tcard{padding:10px}
  .kp-cards>.elementor-container,.kp-grid>.elementor-container,.kp-areas-row>.elementor-container,
  .kp-testis>.elementor-container,.kp-steps>.elementor-container{margin-left:-10px;margin-right:-10px}
  .kp-steps .elementor-column,.kp-testis .elementor-column{width:50%!important}
  .kp-testis .elementor-column:last-child{width:100%!important}
  .kp-why>.elementor-container>.elementor-column,.kp-faq-sec>.elementor-container>.elementor-column,.kp-intro>.elementor-container>.elementor-column,.kp-hero>.elementor-container>.elementor-column{width:100%!important}
  .kp-why-img img,.kp-intro .kp-why-img img{height:420px}
  .kp-why-media .elementor-widget-html{left:18px}
  .kp-hero-right{margin-top:10px}
}
/* Mobile */
@media(max-width:767px){
  .elementor-section .elementor-column.kp-card,.elementor-section .elementor-column.kp-mini,
  .elementor-section .elementor-column.kp-area,.elementor-section .elementor-column.kp-tcard{padding:9px 6px;width:100%!important}
  .kp-cards>.elementor-container,.kp-grid>.elementor-container,.kp-areas-row>.elementor-container,
  .kp-testis>.elementor-container,.kp-steps>.elementor-container{margin-left:-6px;margin-right:-6px}
  .kp-mini>.elementor-widget-wrap{padding:28px 22px!important}
  .kp-tcard>.elementor-widget-wrap{padding:30px 24px!important}
  .kp-card .elementor-widget:not(.kp-card-img),.kp-area .elementor-widget:not(.kp-area-img){padding:0 22px}
  .kp-card .kp-btnrow-sm{padding:0 22px!important}
  .kp-card-img img,.kp-area-img img{height:210px}
  .kp-intro>.elementor-container>.elementor-column>.elementor-widget-wrap,
  .kp-why>.elementor-container>.elementor-column>.elementor-widget-wrap,
  .kp-faq-sec>.elementor-container>.elementor-column>.elementor-widget-wrap,
  .kp-cta>.elementor-container>.elementor-column>.elementor-widget-wrap,
  .kp-hero>.elementor-container>.elementor-column>.elementor-widget-wrap,
  .kp-contact>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:10px 8px}
  .kp-stats .elementor-column{width:50%!important}
  .kp-stats .elementor-column>.elementor-widget-wrap{padding:14px 6px}
  .kp-why-img img,.kp-intro .kp-why-img img{height:300px}
  .kp-why-media .elementor-widget-html{left:12px;bottom:14px}
  .kp-badge{padding:14px 18px}.kp-badge strong{font-size:26px}
  .kp-faq .elementor-tab-title{padding:18px 18px!important}
  .kp-mini .elementor-icon-box-wrapper{text-align:center}
  .kp-list-2col .elementor-icon-list-items{grid-template-columns:1fr}
  .kp-map iframe{height:340px!important}
}
