/* Portland Limousine Service - structural fixes for Elementor 4 optimized markup.
   Elementor 4 renders widgets without the .elementor-widget-container wrapper,
   so anything that needs to fill or reflow is targeted on the widget element
   itself. Loaded last. */

/* ---- Images cover their frame ---- */
.elementor-widget.pls-fill{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  z-index:0;
}
.pls-fill figure,
.pls-fill .elementor-image,
.pls-fill a{display:block;height:100%;width:100%;margin:0}
.pls-fill img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:0;
}
/* Anything sharing the frame with a filled image sits above it */
.pls-bg-frame > *:not(.pls-fill),
.pls-bg-frame-strong > *:not(.pls-fill),
.pls-bg-card > *:not(.pls-fill){position:relative;z-index:2}

/* ---- Hero booking bar: one horizontal rail ---- */
.pls-bookingbar .wpforms-container{margin:0;width:100%}
.pls-bookingbar .wpforms-form{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  width:100%;
}
.pls-bookingbar .wpforms-field-container{
  display:flex;
  flex:1 1 auto;
  flex-wrap:nowrap;
  min-width:0;
}
.pls-bookingbar .wpforms-field{
  flex:1 1 0;
  min-width:0;
  padding:20px 24px !important;
  margin:0 !important;
  border-right:1px solid rgba(255,255,255,.1);
  display:flex;
  flex-direction:column;
  gap:9px;
  justify-content:center;
}
.pls-bookingbar .wpforms-field-label{margin:0 !important;white-space:nowrap}
.pls-bookingbar input,
.pls-bookingbar select{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  height:auto !important;
  font-size:15px !important;
}
.pls-bookingbar input:focus,
.pls-bookingbar select:focus{background:transparent !important}
.pls-bookingbar .wpforms-submit-container{
  flex:none;
  width:230px;
  padding:0 !important;
  margin:0 !important;
  display:flex;
}
.pls-bookingbar button[type=submit].wpforms-submit{
  width:100%;
  padding:0 !important;
  font-size:12px !important;
  letter-spacing:.18em !important;
}
/* The no-JS notice would otherwise open a gap across the rail */
.pls-bookingbar .wpforms-error-noscript,
.pls-bookingbar #wpforms-error-noscript{display:none !important}
.pls-bookingbar .wpforms-field-sublabel{display:none}

@media (max-width:1200px){
  .pls-bookingbar .wpforms-form{flex-wrap:wrap}
  .pls-bookingbar .wpforms-field-container{flex-wrap:wrap;flex:1 1 100%}
  .pls-bookingbar .wpforms-field{flex:1 1 33%;border-bottom:1px solid rgba(255,255,255,.1)}
  .pls-bookingbar .wpforms-submit-container{width:100%}
  .pls-bookingbar button[type=submit].wpforms-submit{padding:20px 0 !important}
}
@media (max-width:767px){
  .pls-bookingbar .wpforms-field{flex:1 1 100%;border-right:0}
}

/* ---- Standing forms (booking, contact) ---- */
.pls-form:not(.pls-bookingbar) .wpforms-field-label{white-space:normal}
.pls-form .wpforms-field-sublabel{
  font-size:11px !important;
  color:#6f6a60 !important;
  letter-spacing:.04em;
}

/* ---- Gold arrow that closes each experience row ---- */
.pls-arrow{margin-left:auto;align-self:center}
.pls-arrow .elementor-heading-title{color:#D8BE72;font-size:18px;line-height:1}

/* ---- Eyebrow rule must not collapse in a flex column ---- */
.pls-eyebrow .elementor-heading-title{white-space:nowrap}

/* ---- Card links inherit, never underline ---- */
.pls-card a,.pls-rowlink a{text-decoration:none}

/* ---- Buttons keep sharp corners against theme defaults ---- */
.pls-shine .elementor-button,
.elementor-widget-button .elementor-button{border-radius:0}

@media (max-width:1024px){
  .elementor-widget.pls-fill{position:relative;inset:auto;height:100%}
}
@media (max-width:767px){
  .elementor-widget.pls-fill{position:absolute;inset:0}
}

/* ==========================================================================
   Hero booking bar: bare inputs on a single rail.
   These must outrank the standing-form rules in pls-brand.css, which style
   inputs as bordered boxes. In the hero the input is a naked line under its
   label, exactly as the reference has it.
   ========================================================================== */
.pls-bookingbar .wpforms-field{
  padding:18px 24px !important;
  gap:8px;
}
.pls-bookingbar input[type=text],
.pls-bookingbar input[type=email],
.pls-bookingbar input[type=tel],
.pls-bookingbar input[type=date],
.pls-bookingbar input[type=time],
.pls-bookingbar input[type=number],
.pls-bookingbar select,
.pls-bookingbar .wpforms-field-large{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  height:auto !important;
  min-height:0 !important;
  line-height:1.4 !important;
  width:100% !important;
  max-width:100% !important;
  font-size:15px !important;
  font-weight:300 !important;
  color:#FFFFFF !important;
  box-shadow:none !important;
  outline:none !important;
  appearance:none;
  -webkit-appearance:none;
}
.pls-bookingbar input:focus,
.pls-bookingbar select:focus{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.pls-bookingbar input::placeholder{color:#8a8072 !important;opacity:1}
.pls-bookingbar input[type=date]{color-scheme:dark}

/* The reference labels carry no required marker */
.pls-bookingbar .wpforms-required-label{display:none !important}
.pls-bookingbar .wpforms-field-label{
  font-size:10px !important;
  letter-spacing:.3em !important;
  line-height:1 !important;
  margin:0 !important;
  padding:0 !important;
}

/* RESERVE sits flush to the rail's right edge and fills its height */
.pls-bookingbar .wpforms-submit-container{
  width:230px;
  flex:0 0 230px;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}
.pls-bookingbar button[type=submit].wpforms-submit{
  width:100%;
  height:100%;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pls-bookingbar .wpforms-field:last-of-type{border-right:1px solid rgba(255,255,255,.1)}

@media (max-width:1200px){
  .pls-bookingbar .wpforms-submit-container{width:100%;flex:1 1 100%}
  .pls-bookingbar button[type=submit].wpforms-submit{height:auto;padding:20px 0 !important}
}

