/* Portland Limousine Service - Nocturne Gold
   Layered-gradient grounds and structural helpers.
   Elementor can express one gradient per layer; these stack the three-to-four
   layer grounds the approved design uses. Apply by CSS class on a container.
   Loaded after pls-brand.css. */

/* Header floats over the hero and takes no flow height.
   Note: .ehf-header is a BODY class; the actual wrapper is #masthead. */
body.ehf-header #masthead{position:relative;height:0;min-height:0;z-index:99;border:0;background:transparent}
body.ehf-header #masthead .main-title{display:none}
#masthead .elementor-location-header{position:static}

/* Homepage hero ground: two veils over three gold radials over the base */
.pls-bg-hero{
  background:
    linear-gradient(180deg,rgba(5,5,5,.25) 0%,rgba(5,5,5,0) 40%,rgba(5,5,5,.15) 66%,rgba(5,5,5,.8) 92%,rgba(5,5,5,.55) 100%),
    radial-gradient(ellipse 55% 40% at 50% 30%,rgba(216,190,114,.14),transparent 70%),
    radial-gradient(ellipse 70% 55% at 50% 8%,rgba(216,190,114,.35),transparent 55%),
    radial-gradient(ellipse 90% 60% at 82% 46%,rgba(165,124,58,.28),transparent 62%),
    radial-gradient(ellipse 60% 50% at 10% 60%,rgba(120,92,44,.22),transparent 60%),
    linear-gradient(160deg,#2c2418 0%,#171208 38%,#0a0806 72%,#050505 100%);
}

/* Inner-page hero ground, sits over the page's hero photograph */
.pls-bg-pagehero{
  background:
    radial-gradient(ellipse 70% 60% at 50% 0%,rgba(216,190,114,.26),transparent 58%),
    radial-gradient(ellipse 80% 55% at 85% 25%,rgba(165,124,58,.2),transparent 62%),
    linear-gradient(170deg,#1a150d 0%,#0e0b07 45%,#080706 78%,#050505 100%);
}
/* Veil that keeps display type legible over a hero photograph */
.pls-veil{
  background:linear-gradient(180deg,rgba(5,5,5,.8) 0%,rgba(5,5,5,.3) 40%,rgba(5,5,5,.95) 100%);
  position:absolute;inset:0;pointer-events:none;z-index:1;
}

/* Image frames */
.pls-bg-frame{background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(200,162,75,.25),transparent 60%),linear-gradient(150deg,#221d15,#0e0c0a)}
.pls-bg-frame-strong{background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(200,162,75,.28),transparent 60%),linear-gradient(150deg,#221d15,#0e0c0a)}
.pls-bg-card{background:radial-gradient(ellipse 90% 90% at 50% 20%,rgba(200,162,75,.22),transparent 60%),linear-gradient(155deg,#211c14,#0d0b09)}

/* Section grounds */
.pls-bg-amenities{background:radial-gradient(ellipse 80% 65% at 50% 0%,rgba(200,162,75,.12),transparent 62%),linear-gradient(180deg,#141210 0%,#0B0B0B 55%,#050505 100%)}
.pls-bg-journey{background:linear-gradient(180deg,#0B0B0B,#050505)}
.pls-bg-vip{background:radial-gradient(ellipse 80% 120% at 15% 20%,rgba(200,162,75,.18),transparent 55%),linear-gradient(180deg,#0B0B0B,#050505)}
.pls-bg-cta{background:radial-gradient(ellipse 70% 90% at 50% 110%,rgba(200,162,75,.16),transparent 65%),#050505}

/* Journey rail: the hairline that threads the four numbered steps */
.pls-journey{position:relative}
.pls-journey::before{
  content:"";position:absolute;top:22px;left:12%;right:12%;height:1px;
  background:linear-gradient(90deg,rgba(200,162,75,.6),rgba(200,162,75,.15));
  pointer-events:none;
}
@media (max-width:1024px){.pls-journey::before{display:none}}

/* Numbered step marker */
.pls-step .elementor-heading-title{
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(216,190,114,.5);
  background:#050505;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;letter-spacing:.1em;color:#D8BE72;
  position:relative;z-index:1;
}

/* Image slots fill their frame */
.pls-fill .elementor-widget-container,
.pls-fill figure,
.pls-fill img{height:100%;width:100%}
.pls-fill img{object-fit:cover;display:block}

/* Anchors for the breakout badges (Elementor containers carry no offset controls) */
.pls-anchor-br{right:-20px;bottom:40px;left:auto;top:auto}
.pls-anchor-tl{left:-20px;top:40px;right:auto;bottom:auto}
@media (max-width:767px){.pls-anchor-br,.pls-anchor-tl{right:auto;left:auto;top:auto;bottom:auto}}

/* Backdrop blur only. Background and border stay editable in Elementor. */
.pls-blur{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.pls-blur-strong{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}

/* Theme scroll-to-top control, brought onto the palette */
#ast-scroll-top{background:#C8A24B;color:#050505;border-radius:0}
#ast-scroll-top:hover{background:#D8BE72}

/* Trust strip */
.pls-trust{font-size:12px;letter-spacing:.24em;color:#9B9B9B}

@media (max-width:767px){
  .pls-bg-hero,.pls-bg-pagehero{background-attachment:scroll}
}
