/* UBevents246 — Night Culture layer. Applied 2026-09-02.
   Delete this file, or the ubevents-night-culture.php mu-plugin, to remove it. */

:root{
  --nc-bg:#0A0B14; --nc-panel:#11132A; --nc-panel2:#181B3A; --nc-edge:#262B52;
  --nc-ink:#F2F3FB; --nc-ink2:#C6CAE4; --nc-mute:#8F96BD;
  --nc-gold:#F5C518; --nc-blue:#2E63C7;
}

/* ---------- HERO ---------- */
.elementor-element-05e014e{margin-bottom:16px !important}
.elementor-element-05e014e p{
  font-family:"Poppins",sans-serif !important; font-size:12px !important;
  letter-spacing:.22em !important; text-transform:uppercase !important;
  color:var(--nc-gold) !important; font-weight:600 !important; margin:0 !important;
}
.elementor-element-6ffcfa6 .elementor-heading-title{
  font-family:"Archivo Black",sans-serif !important;
  font-size:clamp(30px,5vw,56px) !important; line-height:1.03 !important;
  color:#FFFFFF !important; letter-spacing:-.015em !important;
  max-width:17ch; margin-inline:auto; text-wrap:balance;
}
.elementor-element-f01c237 .elementor-heading-title{
  font-family:"Poppins",sans-serif !important; font-weight:300 !important;
  font-size:clamp(15px,1.5vw,18px) !important; line-height:1.62 !important;
  color:var(--nc-ink2) !important; letter-spacing:0 !important;
  text-transform:none !important; max-width:58ch; margin-inline:auto;
  margin-top:18px !important;
}
.elementor-element-ead8287 .elementor-button{
  border-radius:4px !important; padding:14px 26px !important;
  font-weight:600 !important; letter-spacing:.04em !important; font-size:14px !important;
}

/* ---------- SERVICE GRID: one card system ----------
   Elementor wraps a boxed container's children in .e-con-inner,
   so the grid has to sit on that wrapper, not the outer element. */
.elementor-element-93cf035{display:block !important}
.elementor-element-93cf035 > .e-con-inner{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr)) !important;
  gap:20px !important; align-items:stretch !important;
  width:100% !important; max-width:none !important; padding:0 !important;
}
/* the card */
.elementor-element-93cf035 > .e-con-inner > .elementor-element{
  width:auto !important; max-width:none !important; margin:0 !important; padding:0 !important;
  background:var(--nc-panel) !important;
  border:1px solid var(--nc-edge) !important; border-radius:10px !important;
  overflow:hidden !important;
  transition:border-color .18s ease, transform .18s ease;
}
.elementor-element-93cf035 > .e-con-inner > .elementor-element:hover{
  border-color:var(--nc-gold) !important; transform:translateY(-2px);
}
.elementor-element-93cf035 > .e-con-inner > .elementor-element > .e-con-inner{
  display:flex !important; flex-direction:column !important;
  height:100%; padding:0 !important; gap:0 !important;
  width:100% !important; max-width:none !important;
}
/* one image frame for every card */
.elementor-element-93cf035 .elementor-widget-image{margin:0 !important; padding:0 !important; width:100% !important}
.elementor-element-93cf035 .elementor-widget-image img{
  display:block !important; width:100% !important; height:auto;
  aspect-ratio:4/5 !important; object-fit:cover !important; border-radius:0 !important;
}
/* card body fills the rest, button pinned to the bottom */
.elementor-element-93cf035 > .e-con-inner > .elementor-element > .e-con-inner > .elementor-element{
  flex:1 1 auto !important; width:auto !important; max-width:none !important;
  background:transparent !important; border:0 !important; margin:0 !important;
}
.elementor-element-93cf035 > .e-con-inner > .elementor-element > .e-con-inner > .elementor-element > .e-con-inner{
  display:flex !important; flex-direction:column !important; height:100%;
  gap:8px !important; padding:18px !important; width:100% !important; max-width:none !important;
}
.elementor-element-93cf035 .elementor-widget-button{margin-top:auto !important; padding-top:14px !important}
.elementor-element-93cf035 .elementor-button{
  width:100%; justify-content:center; border-radius:4px !important;
  font-size:12px !important; letter-spacing:.05em !important; padding:12px 14px !important;
}
.elementor-element-93cf035 .elementor-heading-title{text-wrap:balance}

/* ---------- SECTION RHYTHM ---------- */
.elementor-element-5a245a4,
.elementor-element-ubeventshp1,
.elementor-element-ubhpnews1{padding-top:64px !important; padding-bottom:64px !important}

/* ---------- 3-UP CTA ROW ---------- */
.elementor-element-4ef52ef .elementor-heading-title,
.elementor-element-7965663 .elementor-heading-title,
.elementor-element-f8168b8 .elementor-heading-title{
  word-break:normal !important; overflow-wrap:break-word; hyphens:none;
}
@media (max-width:1200px){
  .elementor-element-4ef52ef .elementor-heading-title,
  .elementor-element-7965663 .elementor-heading-title,
  .elementor-element-f8168b8 .elementor-heading-title{font-size:17px !important; line-height:1.2 !important}
}

/* ---------- HEADER ---------- */
.ast-site-identity .ast-site-title-wrap{display:none !important}

/* ---------- FOCUS ---------- */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible{
  outline:2px solid var(--nc-gold) !important; outline-offset:3px;
}

@media (prefers-reduced-motion:reduce){
  .elementor-element-93cf035 > .e-con-inner > .elementor-element{transition:none !important}
}

/* ---------- HERO WAYFINDING TILES: compact strip ---------- */
.elementor-element-ubcatsec2{--nc-tile-gap:10px}
.elementor-element-ubcatsec2 .elementor-widget-icon-box{width:auto !important;max-width:none !important}
.elementor-element-ubcatsec2 .elementor-icon-box-wrapper{
  padding:13px 14px !important;
  border-radius:8px !important;
  min-width:112px;
}
.elementor-element-ubcatsec2 .elementor-icon-box-icon{margin-bottom:7px !important}
.elementor-element-ubcatsec2 .elementor-icon{width:20px !important;height:20px !important}
.elementor-element-ubcatsec2 .elementor-icon svg,
.elementor-element-ubcatsec2 .elementor-icon i{
  width:20px !important;height:20px !important;font-size:20px !important;
}
.elementor-element-ubcatsec2 .elementor-icon-box-title{
  font-size:12px !important;line-height:1.25 !important;
  letter-spacing:.07em !important;text-transform:uppercase !important;
  margin:0 !important;
}
.elementor-element-ubcatsec2 .elementor-icon-box-content{width:auto !important}

@media (max-width:767px){
  .elementor-element-ubcatsec2 .elementor-icon-box-wrapper{
    padding:11px 10px !important;min-width:0;
  }
  .elementor-element-ubcatsec2 .elementor-icon svg,
  .elementor-element-ubcatsec2 .elementor-icon i{width:18px !important;height:18px !important;font-size:18px !important}
  .elementor-element-ubcatsec2 .elementor-icon-box-title{font-size:11px !important;letter-spacing:.05em !important}
}

/* even tile widths so the strip reads as one set, not five odd boxes */
.elementor-element-ubcatsec2 .elementor-widget-icon-box{flex:0 0 auto}
.elementor-element-ubcatsec2 .elementor-icon-box-wrapper{
  width:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;
}
@media (max-width:767px){
  .elementor-element-ubcatsec2 .elementor-widget-icon-box{
    flex:1 1 calc(33.333% - 8px);max-width:calc(33.333% - 8px);
  }
  .elementor-element-ubcatsec2 .elementor-icon-box-wrapper{width:100%}
}
@media (max-width:400px){
  .elementor-element-ubcatsec2 .elementor-widget-icon-box{
    flex:1 1 calc(50% - 6px);max-width:calc(50% - 6px);
  }
}

/* keep three across on every phone width — two columns made the strip too tall */
@media (max-width:400px){
  .elementor-element-ubcatsec2 .elementor-widget-icon-box{
    flex:1 1 calc(33.333% - 8px);max-width:calc(33.333% - 8px);
  }
  .elementor-element-ubcatsec2 .elementor-icon-box-wrapper{padding:10px 6px !important}
  .elementor-element-ubcatsec2 .elementor-icon-box-title{font-size:10px !important;letter-spacing:.04em !important}
}

/* labels wrap on whole words only, never mid-word */
.elementor-element-ubcatsec2 .elementor-icon-box-title{
  word-break:normal !important;overflow-wrap:normal !important;hyphens:none !important;
  white-space:normal !important;text-wrap:balance;
}
.elementor-element-ubcatsec2 .elementor-icon-box-content{padding:0 !important}
@media (max-width:400px){
  .elementor-element-ubcatsec2 .elementor-icon-box-wrapper{padding:10px 4px !important}
}

/* every tile the same height, whatever its label length */
.elementor-element-ubcatsec2{align-items:stretch !important}
.elementor-element-ubcatsec2 .elementor-widget-icon-box,
.elementor-element-ubcatsec2 .elementor-widget-icon-box > .elementor-widget-container{display:flex}
.elementor-element-ubcatsec2 .elementor-widget-icon-box > .elementor-widget-container{width:100%}
.elementor-element-ubcatsec2 .elementor-icon-box-wrapper{height:100%}
@media (max-width:400px){
  .elementor-element-ubcatsec2 .elementor-icon-box-title{letter-spacing:.01em !important}
}

/* ---------- HOMEPAGE SERVICE CARDS: show the whole image ----------
   Same 4:5 frame for an even grid, but fitted rather than filled so no flyer
   loses its edges on desktop, tablet or phone. */
.elementor-element-93cf035 .elementor-widget-image img{
  object-fit:contain !important;
  object-position:center !important;
  background:#0D0E1F;
}
.elementor-element-93cf035 > .e-con-inner > .elementor-element > .e-con-inner > .elementor-widget-image{
  background:#0D0E1F;
}

/* ---------- HOMEPAGE CAR RENTALS SECTION ---------- */
.elementor-element-ubcareyebrow p{
  font-family:"Poppins",sans-serif !important; font-size:12px !important;
  letter-spacing:.22em !important; text-transform:uppercase !important;
  color:var(--nc-gold) !important; font-weight:600 !important; margin:0 !important;
}
.elementor-element-ubcarhead .elementor-heading-title{
  font-family:"Archivo Black",sans-serif !important;
  font-size:clamp(26px,3.4vw,40px) !important; line-height:1.05 !important;
  color:#FFFFFF !important; letter-spacing:-.015em !important;
}
.elementor-element-ubcartext p{
  color:var(--nc-ink2) !important; font-size:15px !important; line-height:1.65 !important;
  max-width:46ch; margin:0 !important;
}
.elementor-element-ubcarbtn .elementor-button{
  border-radius:4px !important; padding:14px 26px !important;
  font-weight:600 !important; letter-spacing:.04em !important; font-size:14px !important;
  margin-top:6px;
}
.elementor-element-ubcarimg img{
  width:100% !important; height:auto !important;
  border-radius:10px !important; border:1px solid var(--nc-edge);
  object-fit:contain !important; background:#0D0E1F;
  transition:transform .25s ease, border-color .25s ease;
}
.elementor-element-ubcarimg a:hover img{transform:translateY(-3px);border-color:var(--nc-gold)}

@media (max-width:900px){
  .elementor-element-ubcarimgcol,
  .elementor-element-ubcartxtcol{width:100% !important;max-width:100% !important}
  .elementor-element-ubcarhp1{padding-left:20px !important;padding-right:20px !important}
}

/* reserve the car-rental image's shape so the lazy placeholder does not collapse
   the section to a sliver before the real file loads (also kills the layout shift) */
.elementor-element-ubcarimg img{aspect-ratio:1717 / 916 !important;height:auto !important}
.elementor-element-ubcarimg .elementor-widget-container,
.elementor-element-ubcarimg figure,
.elementor-element-ubcarimg a{display:block;width:100%}
