/* ==========================================================================
   Prime Pearl — site styles (effects & details; layout lives in Elementor)
   ========================================================================== */
:root{
  --pp-black:#0A0A0B; --pp-ink:#111113; --pp-panel:#18181B; --pp-line:#2A2A2F;
  --pp-silver:#9A9EA6; --pp-text:#B8BBC2; --pp-white:#FFFFFF; --pp-yellow:#F2A900; --pp-yellow-d:#D99600;
  --pp-ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth}
body.pp-site{background:var(--pp-black);color:var(--pp-text);-webkit-font-smoothing:antialiased}
::selection{background:var(--pp-yellow);color:#000}
.pp-site a{transition:color .25s var(--pp-ease)}

/* ---------- Header: transparent over hero, solid on scroll ---------- */
.elementor-location-header{position:fixed;top:0;left:0;right:0;z-index:999}
body.admin-bar .elementor-location-header{top:32px}
@media (max-width:782px){body.admin-bar .elementor-location-header{top:46px}}
.pp-header{transition:background-color .35s var(--pp-ease),padding .35s var(--pp-ease),box-shadow .35s var(--pp-ease);background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,0))}
body.pp-scrolled .pp-header{background:rgba(10,10,11,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.06),0 10px 30px rgba(0,0,0,.35);padding-top:10px!important;padding-bottom:10px!important}
.pp-header .pp-logo img{transition:max-width .35s var(--pp-ease)}
body.pp-scrolled .pp-header .pp-logo img{max-width:190px}
.pp-header .elementor-nav-menu--dropdown{background:var(--pp-ink)!important;border-top:2px solid var(--pp-yellow)}
.pp-header .elementor-nav-menu--main .sub-menu{border-top:2px solid var(--pp-yellow);min-width:260px!important}
.pp-header .elementor-menu-toggle{background:transparent!important}

/* ---------- Eyebrow labels ---------- */
.pp-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:14px}
.pp-eyebrow .elementor-heading-title:before{content:"";width:34px;height:2px;background:var(--pp-yellow);display:inline-block}
.pp-eyebrow.pp-center .elementor-heading-title:after{content:"";width:34px;height:2px;background:var(--pp-yellow);display:inline-block}

/* ---------- Highlight word inside headings ---------- */
.pp-site .elementor-heading-title strong,.pp-site .elementor-heading-title b{color:var(--pp-yellow);font-weight:inherit}
.pp-site .elementor-heading-title em{font-style:normal;-webkit-text-stroke:1px rgba(255,255,255,.75);color:transparent}

/* ---------- Chevron motif (from the company profile) — uses ::after so Elementor's ::before overlay still works ---------- */
.pp-chevron{position:relative;overflow:hidden}
.pp-chevron:after{content:"";position:absolute;top:-10%;left:-18%;width:46%;height:120%;pointer-events:none;z-index:0;
  background:linear-gradient(120deg,rgba(255,255,255,.09),rgba(255,255,255,.012));
  clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%,45% 50%)}
.pp-chevron.pp-chevron--right:after{left:auto;right:-18%;clip-path:polygon(45% 0,100% 0,55% 50%,100% 100%,45% 100%,0 50%)}
.pp-chevron > .e-con,.pp-chevron > .e-con-inner,.pp-chevron > .elementor-element{position:relative;z-index:1}
/* Hex texture (profile background) layered under the section colour */
.pp-hex{background-image:linear-gradient(rgba(17,17,19,.95),rgba(17,17,19,.95)),url(../img/hex-texture.jpg)!important;background-size:cover!important;background-position:center!important}
.pp-footer.pp-hex{background-image:linear-gradient(rgba(7,7,8,.95),rgba(7,7,8,.95)),url(../img/hex-texture.jpg)!important}
/* Buttons never squash/wrap inside rows */
.e-con > .elementor-widget-button,.e-con-inner > .elementor-widget-button{flex-shrink:0}
.elementor-button{white-space:nowrap}
/* Top shade on image tiles so labels stay legible */
.pp-tile{box-shadow:inset 0 140px 90px -70px rgba(0,0,0,.6)}

/* ---------- Home hero ---------- */
.pp-hero{position:relative}
.pp-hero .elementor-background-video-container:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(0,0,0,.25),rgba(0,0,0,.75))}
.pp-hero h1.elementor-heading-title{text-wrap:balance}
.pp-scroll{position:absolute!important;left:50%;bottom:28px;transform:translateX(-50%);width:auto!important}
.pp-scroll .elementor-icon{animation:ppBounce 2s infinite}
@keyframes ppBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.pp-hero-stat{border-left:2px solid var(--pp-yellow);padding-left:16px!important}

/* ---------- Image frames ---------- */
.pp-frame{position:relative}
.pp-frame img{position:relative;z-index:1}
.pp-frame:before{content:"";position:absolute;inset:22px -22px -22px 22px;border:2px solid var(--pp-yellow);border-radius:18px;z-index:0}
.pp-float{position:absolute!important;z-index:3}
.pp-float img{border:6px solid var(--pp-black);box-shadow:0 30px 60px rgba(0,0,0,.5)}

/* ---------- Cards ---------- */
.pp-card{transition:transform .45s var(--pp-ease),border-color .35s var(--pp-ease),background-color .35s var(--pp-ease);overflow:hidden}
.pp-card:hover{transform:translateY(-6px);border-color:rgba(242,169,0,.6)!important}
.pp-card .elementor-icon{transition:all .35s var(--pp-ease)}
.pp-card:hover .elementor-icon{background:var(--pp-yellow)!important;color:#000!important;fill:#000!important}
.pp-card:hover .elementor-icon svg{fill:#000!important}

/* Background-image tiles (services, industries, fleet categories) */
.pp-tile{overflow:hidden;isolation:isolate}
.pp-tile:before{transition:opacity .45s var(--pp-ease)!important}
.pp-tile .pp-tile-zoom{position:absolute;inset:0}
.pp-tile{background-size:cover!important;transition:background-size .8s var(--pp-ease),transform .45s var(--pp-ease)}
.pp-tile:hover{transform:translateY(-6px)}
.pp-tile .pp-tile-arrow .elementor-icon{transition:transform .35s var(--pp-ease),background .35s}
.pp-tile:hover .pp-tile-arrow .elementor-icon{transform:rotate(-45deg);background:var(--pp-yellow)!important;color:#000!important}
.pp-tile:hover .pp-tile-arrow .elementor-icon svg{fill:#000!important}
.pp-tile .pp-tile-text{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--pp-ease),opacity .4s}
.pp-tile:hover .pp-tile-text{max-height:200px;opacity:1}
@media (max-width:1024px){.pp-tile .pp-tile-text{max-height:none;opacity:1}}
.pp-tile-num .elementor-heading-title{font-variant-numeric:tabular-nums}

/* ---------- Equipment cards (Elementor Posts widget, Cards skin) ---------- */
.pp-eq-grid .elementor-post__card{background:var(--pp-panel)!important;border:1px solid var(--pp-line)!important;border-radius:16px!important;overflow:hidden;transition:transform .45s var(--pp-ease),border-color .35s}
.pp-eq-grid .elementor-post__card:hover{transform:translateY(-6px);border-color:rgba(242,169,0,.6)!important}
.pp-eq-grid .elementor-post__thumbnail img{transition:transform .8s var(--pp-ease)}
.pp-eq-grid .elementor-post__card:hover .elementor-post__thumbnail img{transform:translate(-50%,-50%) scale(1.07)!important}
.pp-eq-grid .elementor-post__badge{background:var(--pp-yellow)!important;color:#000!important;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:4px!important}
.pp-eq-grid .elementor-post__title a{color:#fff!important}
.pp-eq-grid .elementor-post__excerpt p{color:var(--pp-text)!important}
.pp-eq-grid .elementor-post__read-more{color:var(--pp-yellow)!important;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.pp-eq-grid .elementor-post__text{padding:26px 26px 0!important}
.pp-eq-grid .elementor-post__meta-data,.pp-eq-grid .elementor-post__avatar{display:none}
.pp-eq-grid .elementor-post__read-more-wrapper,.pp-eq-grid .elementor-post__card .elementor-post__read-more{margin-bottom:26px;display:inline-block}

/* ---------- Single equipment ---------- */
.pp-specs table{width:100%;border-collapse:collapse;margin:0}
.pp-specs th,.pp-specs td{padding:14px 18px;border-bottom:1px solid var(--pp-line);text-align:left;color:var(--pp-text);font-size:15px}
.pp-specs th{color:#fff;font-weight:600;width:42%}
.pp-specs tr:nth-child(odd) td,.pp-specs tr:nth-child(odd) th{background:rgba(255,255,255,.02)}
.pp-specs ul{margin:0;padding-left:18px}

/* ---------- Badges ---------- */
.pp-badge img{filter:drop-shadow(0 10px 20px rgba(0,0,0,.4));transition:transform .4s var(--pp-ease)}
.pp-badge:hover img{transform:scale(1.06)}

/* ---------- Forms ---------- */
.pp-form .elementor-field-group .elementor-field{background:#0F0F11!important;border:1px solid var(--pp-line)!important;color:#fff!important;border-radius:10px!important;padding:14px 16px!important}
.pp-form .elementor-field-group .elementor-field:focus{border-color:var(--pp-yellow)!important;box-shadow:0 0 0 3px rgba(242,169,0,.15)}
.pp-form .elementor-field-group .elementor-field::placeholder{color:#6f727a}
.pp-form .elementor-select-wrapper:before{color:var(--pp-yellow)}
.pp-form .elementor-field-label{color:#fff;font-weight:500;font-size:14px}

/* ---------- Process steps ---------- */
.pp-step{position:relative}
.pp-step-num .elementor-heading-title{-webkit-text-stroke:1px rgba(242,169,0,.8);color:transparent!important}

/* ---------- Footer ---------- */
.pp-footer a:hover{color:var(--pp-yellow)!important}
.pp-footer .elementor-icon-list-item a{transition:padding .25s var(--pp-ease)}
.pp-footer .elementor-icon-list-item a:hover{padding-left:4px}

/* ---------- Reveal on scroll ---------- */
.pp-reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--pp-ease),transform .9s var(--pp-ease)}
.pp-reveal.is-in{opacity:1;transform:none}
.elementor-editor-active .pp-reveal{opacity:1;transform:none}

/* ---------- Floating WhatsApp ---------- */
.pp-wa{position:fixed;right:22px;bottom:22px;z-index:998;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(0,0,0,.4);transition:transform .3s}
.pp-wa:hover{transform:scale(1.08)}
.pp-wa svg{width:30px;height:30px;fill:#fff}

@media (max-width:767px){
  .pp-frame:before{inset:14px -10px -14px 10px}
  .pp-chevron:after{display:none}
}
.pp-float{right:-30px;bottom:-50px;left:auto!important;top:auto!important}
@media (max-width:1024px){.pp-float{right:0;bottom:-30px}}
